Seventeen people were burned to death and 32 injured after a public bus went up in flames in a suspected arson attack in China, state media said.

Police have captured a man suspected of starting the fire. 

Authorities cornered the man at a construction site after flames engulfed the vehicle in Yinchuan, according to a post on a verified social media account of state broadcaster CCTV.

Images posted online showed the bus engulfed in flames and a short video of police in yellow rain jackets gathering around the smoking and charred remains.

The city's mayor told a press conference the local public security bureau was collecting DNA samples to identify the dead, according to an official social media account for the city.

CCTV posted a list of the names of 32 injured, ranging in age from 20 to 65, adding that eight had suffered serious injuries.

Authorities did not give any indication of a motive.

Unverified pictures on social media showed what appeared to be the Yinchuan suspect perched on top of a half-finished building, as though preparing to jump.

Police negotiated with him for four hours before arresting him, CCTV said in a post that included a picture of a man in handcuffs being led away.

The broadcaster had previously posted pictures of the 33-year-old along with personal information, including the fact that he was a graduate of a technical college.

It said police were "investigating and pursuing" him for his role in "a serious crime".

There have been several cases of attacks on Chinese public transport, especially buses, in recent years. 

In 2013 a suicidal man started a fire on a vehicle in Xiamen in the eastern province of Fujian that killed 47 people including himself.