> I’d like to encode a live video stream using FFMPEG API’s using the VP8 and 
> VP9 codecs and make the stream available using Live555 as RTSP.

Yes, VP8 encoding (using FFMPEG/libvpx) and streaming (using our 
“VP8VideoRTPSink”) works fine.  (In fact, I do this in our WebRTC demo (still 
offline, unfortunately) to transcode incoming H.264, MPEG-4, or JPEG RTSP/RTP 
streams into outgoing VP8 RTP streams.)  I haven’t yet tested 
encoding/streaming VP9, but I have no reason to believe that it won’t work.


> 1.       Do I need to parse the output (similar to the H264 NAL parsing) of 
> the VP8/VP9 AVPacket?
> 2.       Do I need some type of discrete framer for VP8/VP9?
No, as long as your VP8 or VP9 encoder gives you
        a) complete, discrete frames (i.e., one frame at a time; not partial 
frames or multiple frames at a time), and
        b) an accurate ‘presentation time’ (i.e., setting “fPresentationTime”).
Bot are true for me for VP8 encoded using “libvpx” (I have’t yet tried VP9).  
For each frame, I just set “fPresentationTime” using “gettimeofday(), and set 
“fDurationInMicroseconds” to 1000000/<frames-per-second>.  (Actually, because 
I’m encoding from a live source, rather than from pre-recorded data, I could 
have just left “fDurationInMicroseconds” at its default value of 0.)

> 3.       Is libvpx just too slow for 30fps real-time encoding? (Probably 
> should have asked this first…)

This obviously depends on your computer.


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


_______________________________________________
live-devel mailing list
live-devel@lists.live555.com
http://lists.live555.com/mailman/listinfo/live-devel

Reply via email to