Thousands of migrants and refugees have arrived by train and bus in cities across Germany overnight.

Police say a special train with 570 people on board arrived in the Thuringian town of Saalfeld late Saturday. More than half of them were taken onward to Dresden, where a school for German army officers has been cleared to provide temporary shelter for 350 newcomers.

Trains also took migrants to Hamburg in the north and Dortmund in the west of the country, while buses brought more than 300 people to the capital Berlin.

Thousands more people, mainly Syrians, Iraqis and Afghans fleeing war and persecution, are expected to arrive in Germany and Austria from Hungary on Sunday.

The refugees were allowed to leave Hungary Saturday after the country opened its borders with Austria.