[Live-devel] H.264 SVC Stream

Jesús Rosa Velázquez jrv at gti.ssr.upm.es
Mon Jun 2 02:52:57 PDT 2008


Ross Finlayson escribió:
>> 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.)
>
Hi Ross,

Thanks for your quick answer.

I don't understand very well what  you want to say about the payload 
format code on the same RTP port number. On the server point of view, I 
am trying to send each layer on his own RTSP stream . If I changed RTP 
and RTCP port on each RTSP stream (I could configure this  more or less 
easly), should I have problems?. It will be implemented if I create a 
new RTP Sink(s) for the enhancement layer(s)

I am trying to send a SVC file with my AVC implemented solution. It runs 
perfectly. But on this way we don't have the SVC advantages.We can't 
manage the stream if I don't have enough throughput to receive the 
complete stream (and despite I won't develop the client, I must really 
think about it).

I want to ask you another question about the library. I implemented 
STAP-A Aggregation with a subclass derived from H264VideoStreamFramer. I 
can't aggregate the first NAL units in the file (SPS -Type 7-  PPS-Type 
6- NAL units). However, I can aggregate the NALU type 1 without 
problems. I don't really know why is it, can you bring some light about you?

Thakns for all.


More information about the live-devel mailing list