[Live-devel] MJPEG stream problems

Ross Finlayson finlayson at live555.com
Thu Jul 14 23:51:45 PDT 2011


>Hello, after upgrading to the latest live libraries I noticed that both
>my H264 stream and mjpeg stream stopped working. I'm not sure what
>previous version of the live555 libraries I was using

See http://www.live555.com/liveMedia/faq.html#latest-version


>, but the only code
>change I needed to make to get things to compile was this:
>
>sinkVideo = H264VideoRTPSink::createNew(*env, rtpGroupSockVideo, 96,
>0x64001F, BuffStr);
>becomes:
>sinkVideo = H264VideoRTPSink::createNew(*env, rtpGroupSockVideo, 96);
>
>This seems to change the sprop-parameter-set string, but I have tried
>hardcoding the previously generated string directly into the constructor
>of H264RTPSink in the new version, but nothing changed.

The old signature - which took the 'sprop-parameter-set' string as a 
parameter - was just a short-term hack.  Now, the SPS and PPS NAL 
units are recognized within the input stream, and the 
'sprop-parameter-string' is generated automatically from these.

This means, of course, that the input stream needs to include SPS and 
PPS NAL units.  It's OK if these occur only once (if so, they should 
be at the beginning of the stream), but they need to be present.

You should *not* need to modify the current "H264VideoRTPSink" code.


As for JPEG - the only recent changes to the JPEG code was to add 
support for 'restart intervals' in the input stream.  To support 
this, your subclass of "JPEGVideoSource()" needs to redefine the 
"restartInterval()" virtual function.  (See 
"liveMedia/include/JPEGVideoSource.hh".)  Note that the 
"wis-streamer" code did not do this (because it was written for an 
encoder that does not generate restart intervals), so that code won't 
be much help to you here.

Note that you no longer need to fill in the 'restart marker header' 
in the outgoing RTP packet; we do that ourselves (in 
"JPEGVideoRTPSink", which you should *not* need to modify).
-- 

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


More information about the live-devel mailing list