[Live-devel] Modifying testMPEG1or2VideoStreamer to Stream m4e Files

Russell, Michael (mrusse05) mrusse05 at harris.com
Thu Jun 4 17:07:31 PDT 2009


Hello,

I am using Live555 under Ubuntu Linux 9.04, streaming over a simple
private LAN to a VLC client running under Windows.  Just cables and a
switch.  No router, no firewalls.

I modified testMPEG1or2VideoStreamer to stream unicast to a VLC client
and it works well.  I now want to modify this application to read from
an elementary stream video (.m4e/.m4v) file instead and stream that
(still unicast).  The testOnDemandRTSPServer works well for this
purpose, but I do not want the "on-demand" behavior of it.  I accept the
fact that my VLC client must be listening before the stream starts .

I thought that this would be easy to do by modifying the
testMPEG1or2VideoStreamer source code as follows:

Replace:

1    MediaSource* videoSource;
2    RTPSink*     videoSink; 
          ...
3    videoSink = MPEG1or2VideoRTPSink::createNew(*env, &rtpGroupsock);
          ...
4    videoSource = MPEG1or2VideoStreamFramer::createNew(*env, videoES,
iFramesOnly);


With:

5    MPEG4VideoStreamFramer*  videoSource;
6    RTPSink*                 videoSink;
         ...
7    videoSink = MPEG4ESVideoRTPSink::createNew(*env, &rtpGroupsock,
96);
         ...
8    videoSource = MPEG4VideoStreamFramer::createNew(*env, videoES);



Unfortunately, this does not seem to work.  All I get is garbage video
at the VLC display, if I get any display at all. Wireshark's RTP
analyzer can interpret some of the data, but it is mostly invalid.

I also tried various combinations of using the value "32" instead of
"96" on line 7, and using MPEG4VideoStreamDiscreteFramer::createNew() on
line 8.

Am I going about this the wrong way?

Thanks,
Mike.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.live555.com/pipermail/live-devel/attachments/20090604/340769a2/attachment.html>


More information about the live-devel mailing list