<div>Hi. I have an example dump of multi-program MPEG TS stream.</div><a href="ftp://golosimperii.org/tmp/mpts.sample.ts">ftp://golosimperii.org/tmp/mpts.sample.ts</a><div>I need to pull particular program from it (lets say, 7 or 8 or ...), transcode it to h264+aac, and save.</div>
<div>I try it with my program <a href="https://github.com/krieger-od/transcoder">https://github.com/krieger-od/transcoder</a> :</div><div>./transcoder -i mpts.sample.ts -p 7 -o out.ts</div><div>but resulting video plays badly:</div>
<div>ffplay and mplayer play it faster than normal,</div><div>vlc shows normal video with almost no sound (plays at some moments, silence all other time).</div><div>VLC says: <a href="http://pastebin.com/G5VrFhbG">http://pastebin.com/G5VrFhbG</a></div>
<div><br></div><div>It is important to say that video from other sources is processed and plays well.</div><div><div><br></div><div>I try to save it with ffmpeg util:</div><div>ffmpeg -i mpts.sample.ts -map 0:24 -map 0:22 -vcodec copy -acodec copy -f mpegts out.ts</div>
<div>1) On revision N-33316-g825dd13 it gives me good save with original codecs. Here is it: <a href="ftp://golosimperii.org/tmp/out.ts">ftp://golosimperii.org/tmp/out.ts</a></div><div>2) On revision N-33758-gc4e02d3 gives 0-length file.</div>
<div>When i try to transcode at once, with command</div><div>3) ffmpeg -i mpts.sample.ts -map 0:24 -map 0:22 -vcodec libx264 -acodec libfaac -f mpegts out.ts</div><div>I always get 0-length file, on both revisions.</div><div>
When i try to transcode out.ts from "lucky" (1) case by ffmpeg, i get 0-length file.</div><div>When i try to transcode it with my app, i get the same screwed video: <a href="ftp://golosimperii.org/tmp/outout.ts">ftp://golosimperii.org/tmp/outout.ts</a></div>
<div><br></div><div><br></div><div>But original file is played back by ffplay well:</div><div>ffplay mpts.sample.ts -vst 24</div><div><br></div><div>Can anybody direct me, what is bug in my app, and what's the trick ffplay does to accomplish playback. And why ffmpeg cant save it correctly.</div>
<div>Can it be caused by timestamp discontinuities, detected by libavformat? As i know, mpegts streams commonly contain permuted packets for error resilience. But i also heard of libav* timestamping being uberbuggy...</div>
<div>Can it be caused by a shift between video and audio streams timestamps? Like sound being late for 200 ms... My suspition comes from VLC log.</div><div><br></div>-- <br>Andrey Utkin<br><br>
</div>