[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