<html><head><meta http-equiv="Content-Type" content="text/html charset=iso-8859-1"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div><blockquote type="cite"><div><ul><li><font size="2" face="Arial">I receive a MP4 video stream over MPEG TS:</font>
<ul>
<li><font size="2" face="Arial">I use test program
<em>testMPEG2TransportReceiver</em> and It works fine. </font></li></ul>
</li><li><font size="2" face="Arial"><span class="178175411-03032014"></span></font><font size="2" face="Arial">Now I need to write an AVI file containing the MPG4 video Frames. </font>
<ul>
<li><font size="2" face="Arial">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.</font></li></ul></li></ul></div></blockquote><div>Unfortunately we don't provide any 'demultiplexor' for Transport Streams, so you can't do this using our software.</div></div><div><br><blockquote type="cite"><div><ul><li>
</li><li><font size="2" face="Arial">I also need to stream these AVI files using MPEG TS:</font>
<ul>
<li><font size="2" face="Arial">I think to use <em>testMPEG2TransportStreamer</em> test program </font>
</li><li><font size="2" face="Arial">But I don't find which filter i need to use in order to convert MP4V frames to MPEG TS packets.</font></li></ul></li></ul></div></blockquote><div>You could do this using our software by</div><div><span class="Apple-tab-span" style="white-space:pre"> </span>1/ Creating a "MPEG2TransportStreamFromESSource" object</div><div><span class="Apple-tab-span" style="white-space:pre"> </span>2/ Calling "addNewVideoSource()" on this "MPEG2TransportStreamFromESSource" object, with the input MPEG-4 video source as parameter, and with a "mpegVersion" parameter of 4.</div><div><span class="Apple-tab-span" style="white-space:pre"> </span>(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.)</div><div><span class="Apple-tab-span" style="white-space:pre"> </span>3/ Creating a "FileSink" object (for the output Transport Stream file)</div><div><span class="Apple-tab-span" style="white-space:pre"> </span>4/ Calling "startPlaying()" on the "FileSink" object, with the "MPEG2TransportStreamFromESSource" object as source.</div><div><span class="Apple-tab-span" style="white-space:pre"> </span>5/ Call "doEventLoop()" to enter the LIVE555 event loop (if you're not already in it).</div><div><br></div><div>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</div><div><span class="Apple-tab-span" style="white-space:pre"> </span>- You would use "MPEG4VideoStreamFramer" rather than "H264VideoStreamFramer".</div><div><span class="Apple-tab-span" style="white-space:pre"> </span>- The "addNewVideoSource()" call would use a "mpegVersion" parameter of 4 rather than 5.</div></div><br><br><div apple-content-edited="true">
<span class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px;"><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; ">Ross Finlayson<br>Live Networks, Inc.<br><a href="http://www.live555.com/">http://www.live555.com/</a></span></span>
</div>
<br></body></html>