A defiant President Bashar al-Assad has called for national mobilisation in a "war to defend the nation", describing rebels fighting him as terrorists and agents of foreign powers with whom it was impossible to negotiate.

Appearing in an opera house in central Damascus packed with cheering supporters, the Syrian leader delivered his first speech to an audience since June last year, and his first public comments since a television interview in November.

He unveiled what he described as a peace initiative to end the 21-month-old uprising. But the proposal, including a reconciliation conference that would exclude "those who have betrayed Syria", was certain to be rejected by enemies who have already said they will not negotiate unless he leaves power.

He spoke confidently for about an hour before a crowd of cheering loyalists, who occasionally interrupted him to shout and applaud, at one point raising their fists and chanting: "With blood and soul we sacrifice for you, O Bashar!"

At the end of the speech, supporters rushed to the stage, mobbing him and shouting: "God, Syria and Bashar is enough!" as a smiling Assad waved and was escorted from the hall.

"We are now in a state of war in every sense of the word," Assad said in the speech. "This war targets Syria using a handful of Syrians and many foreigners. Thus, this is a war to defend the nation."

"We meet today and suffering is overwhelming Syrian land. There is no place for joy while security and stability are absent on the streets of our country," Assad said. "The nation is for all and we all must protect it."

The United Nations says 60,000 people have been killed in the civil war in Syria, which has brought fighting to the edge of the capital.