Sao Paulo riot police fired tear gas and rubber bullets to disperse thousands of people demonstrating Friday against a rise in public transport fares.

A local reporter was wounded when he was struck in the leg by a rubber bullet, the O Estado de Sao Paulo newspaper said, in just the latest protest against a hike in fares. Four people were detained.

The demonstration was organized by "Passe Livre" (Free Fare Movement), the same campaign group behind the protests that overshadowed the football Confederations Cup in 2013 and spread into a nationwide movement that rattled the government in Brasilia.

Organizers said 15,000 people, many of them students, took part in Friday's march through downtown Sao Paulo, though police put the number at 1,200.

Police told AFP that they resorted to tear gas and rubber bullets only after several protesters lobbed homemade devices at them.

At least one bank was smashed up when the trouble flared toward the end of the rally.