[Live-devel] Live555 with ffmpeg's MJPEG codec

Ross Finlayson finlayson at live555.com
Mon Jul 14 14:59:05 PDT 2008


>>Don't forget to also set "fPresentationTime".
>Ok I am setting it properly now, using gettimeofday(), however why 
>is it needed in the case of a jpeg frame?

Because you're not streaming just one frame; you're streaming a 
sequence of frames, and the receiver needs to know when to display 
each one.


>>I can't help you with codec (or VLC) problems.  However, I suggest 
>>that you first use "openRTSP" with the "-m" option to receive each 
>>frame as a separate file.  If your server code is correct, then 
>>each such received file should be a single JPEG image, which you 
>>can try viewing with image viewing software.  That may help you 
>>debug your problem.
>
>If I don't use live555 it works just fine: i.e. encode to a memory 
>block, decode from a memory block.  I tried comparing the original 
>jpeg compressed data with the received data and it seems that the 
>jpeg header is broken. Could it be that JPEGVideoRTPSink fails to 
>reconstruct the original JPEG header for some reason?

"JPEGVideoRTPSink" (which is used by the RTP sender) doesn't 
reconstruct the JPEG header.  (Remember that the JPEG header is not 
sent in the RTP packet.)  It's the RTP *receiver* 
("JPEGVideoRTPSource" in our case) that reconstructs a JPEG header 
(from the parameters in the RTP payload format header).
-- 

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


More information about the live-devel mailing list