Hi everyone :) I have a tricky source video: ==================== It's an MPEG TS file, that regardless of what I try to transcode it to, the resulting file has its duration doubled. The resulting file plays back to slow (at only half the normal speed).
I've tried transcoding to FFV1, and Huffyuv: Same behavior - so I presume it's the source. The exact details of how the source was created are not known, but I'm pretty sure it was done using some "regular" tool designed for home video editing. No "AV-nerd" or expert involved. Mediainfo says 25fps for the source, but when I transcode it to e.g. FFV1, Mediainfo shows no value for framerate at all and says it's variable framerate. Whereas VLC or ffprobe say it's 25fps... Seems odd. If I rewrap to MKV in an extra step before, and then transcode (using same command!), timing seems to be fine. Any ideas what's happening here, and how to skip that extra rewrapping step? Thank you very much in advance for any ideas/help :) Peter B. I've created a sample (with "dd") of the first few MB to recreate the issue: http://download.das-werkstatt.com/pb/contribs/files/bad_timing-MPEGTS.tar.bz2 Commandline and complete, uncut console output here: Original Transcode (produces wrong timing in target): // ----------------------------------- $ ffmpeg-git -i bad_timing.ts -c:v ffv1 -c:a copy out/too_slow.mkv // ----------------------------------- ffmpeg version N-93022-g260f196 Copyright (c) 2000-2019 the FFmpeg developers built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.10) 20160609 configuration: --prefix=/usr/local --enable-gpl --enable-nonfree --enable-version3 --enable-postproc --enable-ffplay --enable-swscale --enable-avfilter --enable-pthreads --enable-bzlib --enable-zlib --enable-decoder=png --enable-encoder=png --samples=../fate-suite --enable-libfreetype --enable-libopenjpeg --disable-decoder=jpeg2000 --enable-libvpx --enable-libvorbis --enable-libx264 --enable-libx265 libavutil 56. 26.100 / 56. 26.100 libavcodec 58. 44.100 / 58. 44.100 libavformat 58. 26.100 / 58. 26.100 libavdevice 58. 6.101 / 58. 6.101 libavfilter 7. 48.100 / 7. 48.100 libswscale 5. 4.100 / 5. 4.100 libswresample 3. 4.100 / 3. 4.100 libpostproc 55. 4.100 / 55. 4.100 Input #0, mpegts, from 'bad_timing.ts': Duration: 00:00:07.28, start: 0.000000, bitrate: 9114 kb/s Program 1 Metadata: service_name : Service01 service_provider: FFmpeg Stream #0:0[0x100]: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002), yuv420p(tv, top first), 1920x1080 [SAR 1:1 DAR 16:9], 25 fps, 25 tbr, 90k tbn, 50 tbc Stream #0:1[0x101]: Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, stereo, fltp, 256 kb/s Stream mapping: Stream #0:0 -> #0:0 (mpeg2video (native) -> ffv1 (native)) Stream #0:1 -> #0:1 (copy) Press [q] to stop, [?] for help Output #0, matroska, to 'out/too_slow.mkv': Metadata: encoder : Lavf58.26.100 Stream #0:0: Video: ffv1 (FFV1 / 0x31564646), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 200 kb/s, 25 fps, 1k tbn, 25 tbc Metadata: encoder : Lavc58.44.100 ffv1 Stream #0:1: Audio: mp2 (P[0][0][0] / 0x0050), 48000 Hz, stereo, fltp, 256 kb/s [mpeg2video @ 0x381e3c0] ac-tex damaged at 114 400:00:12.68 bitrate=10608.3kbits/s speed=8.32x [mpeg2video @ 0x381e3c0] Warning MVs not available [mpeg2video @ 0x381e3c0] concealing 3296 DC, 3296 AC, 3296 MV errors in P frame frame= 182 fps= 88 q=-0.0 Lsize= 36255kB time=00:00:14.36 bitrate=20681.3kbits/s speed=6.98x video:36024kB audio:226kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.013793% Rewrapping intermediate step: // -------------------------------- $ ffmpeg-git -i bad_timing.ts -c copy rewrap.mkv // -------------------------------- ffmpeg version N-93022-g260f196 Copyright (c) 2000-2019 the FFmpeg developers built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.10) 20160609 configuration: --prefix=/usr/local --enable-gpl --enable-nonfree --enable-version3 --enable-postproc --enable-ffplay --enable-swscale --enable-avfilter --enable-pthreads --enable-bzlib --enable-zlib --enable-decoder=png --enable-encoder=png --samples=../fate-suite --enable-libfreetype --enable-libopenjpeg --disable-decoder=jpeg2000 --enable-libvpx --enable-libvorbis --enable-libx264 --enable-libx265 libavutil 56. 26.100 / 56. 26.100 libavcodec 58. 44.100 / 58. 44.100 libavformat 58. 26.100 / 58. 26.100 libavdevice 58. 6.101 / 58. 6.101 libavfilter 7. 48.100 / 7. 48.100 libswscale 5. 4.100 / 5. 4.100 libswresample 3. 4.100 / 3. 4.100 libpostproc 55. 4.100 / 55. 4.100 Input #0, mpegts, from 'bad_timing.ts': Duration: 00:00:07.28, start: 0.000000, bitrate: 9114 kb/s Program 1 Metadata: service_name : Service01 service_provider: FFmpeg Stream #0:0[0x100]: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002), yuv420p(tv, top first), 1920x1080 [SAR 1:1 DAR 16:9], 25 fps, 25 tbr, 90k tbn, 50 tbc Stream #0:1[0x101]: Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, stereo, fltp, 256 kb/s Output #0, matroska, to 'rewrap.mkv': Metadata: encoder : Lavf58.26.100 Stream #0:0: Video: mpeg2video (Main) (mpg2 / 0x3267706D), yuv420p(tv, top first), 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 25 fps, 25 tbr, 1k tbn, 90k tbc Stream #0:1: Audio: mp2 (P[0][0][0] / 0x0050), 48000 Hz, stereo, fltp, 256 kb/s Stream mapping: Stream #0:0 -> #0:0 (copy) Stream #0:1 -> #0:1 (copy) Press [q] to stop, [?] for help frame= 182 fps=0.0 q=-1.0 Lsize= 7891kB time=00:00:07.22 bitrate=8948.3kbits/s speed= 159x video:7660kB audio:226kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.061223% Transcoding from intermediate, rewrapped MKV (produces correct timing): // -------------------------------- $ ffmpeg-git -i rewrap.mkv -c:v ffv1 -c:a copy out/rewrap.mkv // -------------------------------- ffmpeg version N-93022-g260f196 Copyright (c) 2000-2019 the FFmpeg developers built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.10) 20160609 configuration: --prefix=/usr/local --enable-gpl --enable-nonfree --enable-version3 --enable-postproc --enable-ffplay --enable-swscale --enable-avfilter --enable-pthreads --enable-bzlib --enable-zlib --enable-decoder=png --enable-encoder=png --samples=../fate-suite --enable-libfreetype --enable-libopenjpeg --disable-decoder=jpeg2000 --enable-libvpx --enable-libvorbis --enable-libx264 --enable-libx265 libavutil 56. 26.100 / 56. 26.100 libavcodec 58. 44.100 / 58. 44.100 libavformat 58. 26.100 / 58. 26.100 libavdevice 58. 6.101 / 58. 6.101 libavfilter 7. 48.100 / 7. 48.100 libswscale 5. 4.100 / 5. 4.100 libswresample 3. 4.100 / 3. 4.100 libpostproc 55. 4.100 / 55. 4.100 Input #0, matroska,webm, from 'rewrap.mkv': Metadata: ENCODER : Lavf58.26.100 Duration: 00:00:07.28, start: 0.000000, bitrate: 8879 kb/s Stream #0:0: Video: mpeg2video (Main), yuv420p(tv, top first), 1920x1080 [SAR 1:1 DAR 16:9], 25 fps, 25 tbr, 1k tbn, 50 tbc (default) Metadata: DURATION : 00:00:07.280000000 Stream #0:1: Audio: mp2, 48000 Hz, stereo, s16p, 256 kb/s (default) Metadata: DURATION : 00:00:07.248000000 Stream mapping: Stream #0:0 -> #0:0 (mpeg2video (native) -> ffv1 (native)) Stream #0:1 -> #0:1 (copy) Press [q] to stop, [?] for help Output #0, matroska, to 'out/rewrap.mkv': Metadata: encoder : Lavf58.26.100 Stream #0:0: Video: ffv1 (FFV1 / 0x31564646), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 200 kb/s, 25 fps, 1k tbn, 25 tbc (default) Metadata: DURATION : 00:00:07.280000000 encoder : Lavc58.44.100 ffv1 Stream #0:1: Audio: mp2 (P[0][0][0] / 0x0050), 48000 Hz, stereo, s16p, 256 kb/s (default) Metadata: DURATION : 00:00:07.248000000 [mpeg2video @ 0x3dea640] ac-tex damaged at 114 400:00:06.52 bitrate= 1.1kbits/s speed=4.25x [mpeg2video @ 0x3dea640] Warning MVs not available [mpeg2video @ 0x3dea640] concealing 3296 DC, 3296 AC, 3296 MV errors in P frame frame= 182 fps= 92 q=-0.0 Lsize= 36255kB time=00:00:07.24 bitrate=41017.0kbits/s speed=3.66x video:36024kB audio:226kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.013798% _______________________________________________ ffmpeg-user mailing list [email protected] http://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email [email protected] with subject "unsubscribe".
