[Live-devel] H.264 SVC Stream

Ross Finlayson finlayson at live555.com
Fri May 30 17:15:53 PDT 2008


>I am developing a video streaming server to play H.264 SVC stream. 
>This codec has a base layer (similar to the H.264 AVC one) and one 
>or more enhancement layers.
>
>I've just created a server to play H.264 AVC stream (an extension of 
>live555MediaServer.exe), with my own H264StreamFramer and 
>H264VideoFileServerMediaSubsession classes. I've introduced NAL 
>packetizer and STAP-A Aggregation to the library too.
>
>Follow to the "RTP Payload Format of SVC Video" draft, I suppose I 
>have to create a new RTSP session for each layer. Then, I must send 
>each layer as an independient RTP stream. I dont' know how to start 
>more than one RTP stream in a single RTSP request, and how to 
>indicate the receivers that they must download all the streams (I 
>imagine that the last task will be related with SDP file). I don't 
>really know what changes do I have to make in the library,  and what 
>classes should I modify.

First, be warned that the SVC video RTP payload format draft is still 
that - a draft.  It won't become stable until sometime after the next 
IETF meeting (July, in Dublin).

To support SVC video at the server end, you would probably need to 
create a new "ServerMediaSubsession" (subclass) object for each layer 
- but these would share a single "ServerMediaSession".  I.e., you 
would need to define two new "ServerMediaSubsession" subclasses - one 
for the base layer, and one for the enhancement layer(s).

One issue that you'll encounter is that we currently don't support 
multiplexing more than one payload format code on the same RTP port 
number.  Fixing this at the server end (which is where you're 
working) may not be particularly difficult.  (Fixing it at the client 
end would be significantly harder.)

Apart from this, I haven't yet thought much about what would need to 
be done.  (Unfortunately I don't have a source of SVC video (not even 
a file) available, so right now I can't do any work on this myself.)

-- 

Ross Finlayson
Live Networks, Inc.
http://www.live555.com/


More information about the live-devel mailing list