[Live-devel] Layered video with Live555
Tim Stabrawa
stabrawa at stanford.edu
Fri Feb 23 00:15:36 PST 2007
For an academic demonstration, I'm planning on extending Live555 to
support RTP transport of scalable H.264 video and was hoping someone
with a reasonable amount of experience with Live555 could help steer me
in the direction of least pain ...
Basically, I'll be using the reference codec for H.264 SVC (currently in
development) to generate a file containing H.264 NAL units. The
important difference between the output of this codec and a standard
H.264 stream is the addition of two NAL unit types (20 & 21), which
carry information about which layer of video is described in the
preceding/current NAL unit. For now, assume I know how to parse this
file and determine which NAL units belong to which layers. My intention
is to send each layer out either multiplexed in the same RTP stream (the
easy way) or in separate RTP streams (the hard / interesting way),
according to this draft RFC:
http://www.ietf.org/internet-drafts/draft-ietf-avt-rtp-svc-00.txt
So, from everything I've read so far, there doesn't seem to be any Real
Code I have to write in the H.264 RTP classes - aside from setting up
the correct SDP parameters, etc. What I'm not sure about though is how
to hook up a single file parser class (that I'd have to write) to one or
more RTP Sink classes. Is it as simple as just instantiating multiple
instances of the H264VideoRTPSink class and including them as separate
sub-sessions in my ServerMediaSession? How would I indicate to the
Live555 framework which sub-session a given NAL unit belongs to?
Does it sound like I'm on the right path here, or am I missing something
huge? I'd appreciate any direction I could get on this.
Thanks,
- Tim
More information about the live-devel
mailing list