We study peer-to-peer multicast streaming, where a source distributes real-time video to a large population of hosts by making use of their forwarding capacity rather than relying on dedicated media servers. We present a distributed streaming protocol which builds and maintains multiple multicast trees. The protocol is combined with an adaptive scheduling algorithm which ensures packets destined to a large number of peers, or particularly important to decode the video, are sent in priority. Experiments carried out over a simulated network of up to 3000 peers illustrate the performance of the protocol. For low latency video streaming, the prioritization algorithm offers large performance gains, especially for large audiences.