President Donald Trump has praised the US military in a speech at an Independence Day event in Washington DC.

The Salute to America event featured military flyovers and fireworks, drawing crowds despite the rainy weather.

Opponents accused Mr Trump of wasting money and politicising the holiday ahead of his re-election campaign.