[Live-devel] TR: MP4 Video over Transport Stream

Bonnet, Jean-Luc jeanluc.bonnet at barco.com
Mon Mar 3 08:07:20 PST 2014


Thanks Ross for the quick reply,

    In fact I have the choice of the stream protocol, may be it is more simple to use MP4 video stream over RTP.

  *
For receiving:
     *
I can use testMPEG2TransportReceiver and replace SimpleRTPSource with MPEG4ESVideoRTPSource.
     *
But I need to use MPEG4VideoStreamFramer in order to extract the MP4V frames.
     *
Is it right?
  *
For streaming:
     *
I can use testMPEG2TransportStreamer and replace SimpleRTPSink with MPEG4ESVideoRTPSink.
     *
But which filter I need to use in order to convert MP4V frames to MP4V-ES packets?

thanks for your help

best regards

Jean-Luc Bonnet
________________________________
De : live-devel-bounces at ns.live555.com [mailto:live-devel-bounces at ns.live555.com] De la part de Ross Finlayson
Envoyé : lundi 3 mars 2014 16:19
À : LIVE555 Streaming Media - development & use
Objet : Re: [Live-devel] TR: MP4 Video over Transport Stream


  *   I receive a MP4 video stream over MPEG TS:
     *   I use test program testMPEG2TransportReceiver and It works fine.
  *   Now I need to write an AVI file containing the MPG4 video Frames.
     *   But I don't find which filter i need to use in order to convert MPEG TS packets to MP4V frames and how I can detect key frames inside this stream.

Unfortunately we don't provide any 'demultiplexor' for Transport Streams, so you can't do this using our software.


  *
  *   I also need to stream these AVI files using MPEG TS:
     *   I think to use  testMPEG2TransportStreamer test program
     *   But I don't find which filter i need to use in order to convert MP4V frames  to MPEG TS packets.

You could do this using our software by
1/ Creating a "MPEG2TransportStreamFromESSource" object
2/ Calling "addNewVideoSource()" on this "MPEG2TransportStreamFromESSource" object, with the input MPEG-4 video source as parameter, and with a "mpegVersion" parameter of 4.
(If the MPEG-4 video comes from a MPEG-4 Video Elementary Stream file - *not* an AVI file - then you must first pass this file through a "MPEG4VideoStreamFramer" object.  Unfortunately, however, we don't support reading from AVI files.)
3/ Creating a "FileSink" object (for the output Transport Stream file)
4/ Calling "startPlaying()" on the "FileSink" object, with the "MPEG2TransportStreamFromESSource" object as source.
5/ Call "doEventLoop()" to enter the LIVE555 event loop (if you're not already in it).

In short, if your input file is a MPEG-4 Video Elementary Stream file - *not* an AVI file - then you could use the code for the "testH264VideoToTransportStream" demo application (in the "testProgs" directory), except that
- You would use "MPEG4VideoStreamFramer" rather than "H264VideoStreamFramer".
- The "addNewVideoSource()" call would use a "mpegVersion" parameter of 4 rather than 5.


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

This message is subject to the following terms and conditions: MAIL DISCLAIMER<http://www.barco.com/en/maildisclaimer>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.live555.com/pipermail/live-devel/attachments/20140303/602bcb3c/attachment.html>


More information about the live-devel mailing list