Hi, I'm analyzing/converting video from DVD .iso and I use dvd2concat for this. For at least 2 DVD, when using dvd2concat, ffmpeg return a video that is 1.5 x longer then the original. ffmpeg report the good duration in the stream info at the start, but the wrong duration at the end of the process. The problem is not present if I don't use dvd2concat (by specifying .iso directly as the input or by specifying .VOB of the mounted .iso). Also, video converted with the concat file will have the same frame repeated for the extra duration (almost 5 min. in the case below).
00:09:55 is the good duration (or 595 seconds) and 00:14:52.67 is wrong. ------------------------------------------------ I'm producing the concat file like this: /usr/local/bin/dvd2concat -title 1 /home/mmac/iso/mountpoint > /tmp/dvd_concat.txt ------------------------------------------------ The dvd_concat.txt content (looks fine to me): ffconcat version 1.0 stream exact_stream_id 0x1E0 stream exact_stream_id 0x80 file 'subfile,,start,0,end,312870912,,:/home/mmac/iso/mountpoint/VIDEO_TS/VTS_01_1.VOB' duration 00:04:57.734 file 'subfile,,start,312870912,end,625534976,,:/home/mmac/iso/mountpoint/VIDEO_TS/VTS_01_1.VOB' duration 00:04:57.433 ------------------------------------------------ The command with the concat file (duration is wrong at end): ffmpeg -f concat -safe 0 -i /tmp/dvd_concat.txt -f null -af ebur128=peak=true:framelog=verbose -vf idet,cropdetect=0.14:2:1 -y /dev/nullffmpeg version N-75845-g079d553 Copyright (c) 2000-2015 the FFmpeg developers built with gcc 4.4.3 (Ubuntu 4.4.3-4ubuntu5.1) configuration: --enable-gpl --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-nonfree libavutil 55. 2.100 / 55. 2.100 libavcodec 57. 4.100 / 57. 4.100 libavformat 57. 3.100 / 57. 3.100 libavdevice 57. 0.100 / 57. 0.100 libavfilter 6. 10.100 / 6. 10.100 libswscale 4. 0.100 / 4. 0.100 libswresample 2. 0.100 / 2. 0.100 libpostproc 54. 0.100 / 54. 0.100 Input #0, concat, from '/tmp/dvd_concat.txt': Duration: 00:09:55.17, start: 0.228411, bitrate: 0 kb/s Stream #0:0: Video: mpeg2video (Main), yuv420p(tv), 720x480 [SAR 8:9 DAR 4:3], 8000 kb/s, 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc Stream #0:1: Audio: ac3, 48000 Hz, stereo, fltp, 256 kb/s Output #0, null, to '/dev/null': Metadata: encoder : Lavf57.3.100 Stream #0:0: Video: rawvideo (I420 / 0x30323449), yuv420p, 720x480 [SAR 8:9 DAR 4:3], q=2-31, 200 kb/s, 29.97 fps, 29.97 tbn, 29.97 tbc Metadata: encoder : Lavc57.4.100 rawvideo Stream #0:1: Audio: pcm_s16le, 48000 Hz, stereo, s16, 1536 kb/s Metadata: encoder : Lavc57.4.100 pcm_s16le Stream mapping: Stream #0:0 -> #0:0 (mpeg2video (native) -> rawvideo (native)) Stream #0:1 -> #0:1 (ac3 (native) -> pcm_s16le (native)) Press [q] to stop, [?] for help [null @ 0x40b5400] Encoder did not produce proper pts, making some up. [Parsed_cropdetect_1 @ 0x40b8900] x1:719 x2:0 y1:479 y2:0 w:-718 h:-478 x:720 y:480 pts:6006 t:0.066733 crop=-718:-478:720:480 [Parsed_cropdetect_1 @ 0x40b8900] x1:719 x2:0 y1:479 y2:0 w:-718 h:-478 x:720 y:480 pts:9009 t:0.100100 crop=-718:-478:720:480 [Parsed_cropdetect_1 @ 0x40b8900] x1:719 x2:0 y1:479 y2:0 w:-718 h:-478 x:720 y:480 pts:12012 t:0.133467 crop=-718:-478:720:480 [Parsed_cropdetect_1 @ 0x40b8900] x1:719 x2:0 y1:479 y2:0 w:-718 h:-478 x:720 y:480 pts:15015 t:0.166833 crop=-718:-478:720:480 ... [Parsed_cropdetect_1 @ 0x40b8900] x1:719 x2:0 y1:479 y2:0 w:-718 h:-478 x:720 y:480 pts:80331005 t:892.566722 crop=-718:-478:720:480 [Parsed_cropdetect_1 @ 0x40b8900] x1:719 x2:0 y1:479 y2:0 w:-718 h:-478 x:720 y:480 pts:80334008 t:892.600089 crop=-718:-478:720:480 [Parsed_cropdetect_1 @ 0x40b8900] x1:719 x2:0 y1:479 y2:0 w:-718 h:-478 x:720 y:480 pts:80337011 t:892.633456 crop=-718:-478:720:480 frame=17837 fps=348 q=-0.0 Lsize=N/A time=00:14:52.67 bitrate=N/A video:1672kB audio:111594kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown [Parsed_idet_0 @ 0x40b8220] Repeated Fields: Neither: 17837 Top: 0 Bottom: 0 [Parsed_idet_0 @ 0x40b8220] Single frame detection: TFF: 66 BFF: 43 Progressive: 1031 Undetermined: 16697 [Parsed_idet_0 @ 0x40b8220] Multi frame detection: TFF: 34 BFF: 7 Progressive: 17604 Undetermined: 192 [Parsed_ebur128_0 @ 0x40c8280] Summary: Integrated loudness: I: -23.6 LUFS Threshold: -34.9 LUFS Loudness range: LRA: 15.0 LU Threshold: -44.8 LUFS LRA low: -35.7 LUFS LRA high: -20.7 LUFS True peak: Peak: -9.4 dBFS ------------------------------------------------ And the command calling the .VOB directly (duration is good at end): ffmpeg -i /home/mmac/iso/mountpoint/VIDEO_TS/VTS_01_1.VOB -f null -af ebur128=peak=true:framelog=verbose -vf idet,cropdetect=0.14:2:1 -y /dev/null ffmpeg version N-75845-g079d553 Copyright (c) 2000-2015 the FFmpeg developers built with gcc 4.4.3 (Ubuntu 4.4.3-4ubuntu5.1) configuration: --enable-gpl --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-nonfree libavutil 55. 2.100 / 55. 2.100 libavcodec 57. 4.100 / 57. 4.100 libavformat 57. 3.100 / 57. 3.100 libavdevice 57. 0.100 / 57. 0.100 libavfilter 6. 10.100 / 6. 10.100 libswscale 4. 0.100 / 4. 0.100 libswresample 2. 0.100 / 2. 0.100 libpostproc 54. 0.100 / 54. 0.100 Input #0, mpeg, from '/home/mmac/iso/mountpoint/VIDEO_TS/VTS_01_1.VOB': Duration: 00:09:55.14, start: 0.228411, bitrate: 8408 kb/s Stream #0:0[0x1bf]: Data: dvd_nav_packet Stream #0:1[0x1e0]: Video: mpeg2video (Main), yuv420p(tv), 720x480 [SAR 8:9 DAR 4:3], 8000 kb/s, 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc Stream #0:2[0x80]: Audio: ac3, 48000 Hz, stereo, fltp, 256 kb/s Output #0, null, to '/dev/null': Metadata: encoder : Lavf57.3.100 Stream #0:0: Video: rawvideo (I420 / 0x30323449), yuv420p, 720x480 [SAR 8:9 DAR 4:3], q=2-31, 200 kb/s, 29.97 fps, 29.97 tbn, 29.97 tbc Metadata: encoder : Lavc57.4.100 rawvideo Stream #0:1: Audio: pcm_s16le, 48000 Hz, stereo, s16, 1536 kb/s Metadata: encoder : Lavc57.4.100 pcm_s16le Stream mapping: Stream #0:1 -> #0:0 (mpeg2video (native) -> rawvideo (native)) Stream #0:2 -> #0:1 (ac3 (native) -> pcm_s16le (native)) Press [q] to stop, [?] for help [null @ 0x2f52800] Encoder did not produce proper pts, making some up. [Parsed_cropdetect_1 @ 0x2f57a00] x1:719 x2:0 y1:479 y2:0 w:-718 h:-478 x:720 y:480 pts:6006 t:0.066733 crop=-718:-478:720:480 [Parsed_cropdetect_1 @ 0x2f57a00] x1:719 x2:0 y1:479 y2:0 w:-718 h:-478 x:720 y:480 pts:9009 t:0.100100 crop=-718:-478:720:480 [Parsed_cropdetect_1 @ 0x2f57a00] x1:719 x2:0 y1:479 y2:0 w:-718 h:-478 x:720 y:480 pts:12012 t:0.133467 crop=-718:-478:720:480 ... [Parsed_cropdetect_1 @ 0x2f57a00] x1:719 x2:0 y1:479 y2:0 w:-718 h:-478 x:720 y:480 pts:53555502 t:595.061133 crop=-718:-478:720:480 [Parsed_cropdetect_1 @ 0x2f57a00] x1:719 x2:0 y1:479 y2:0 w:-718 h:-478 x:720 y:480 pts:53558505 t:595.094500 crop=-718:-478:720:480 [Parsed_cropdetect_1 @ 0x2f57a00] x1:719 x2:0 y1:479 y2:0 w:-718 h:-478 x:720 y:480 pts:53561508 t:595.127867 crop=-718:-478:720:480 frame=17837 fps=351 q=-0.0 Lsize=N/A time=00:09:55.16 bitrate=N/A video:1672kB audio:111594kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown [Parsed_idet_0 @ 0x2f57320] Repeated Fields: Neither: 17837 Top: 0 Bottom: 0 [Parsed_idet_0 @ 0x2f57320] Single frame detection: TFF: 66 BFF: 43 Progressive: 1031 Undetermined: 16697 [Parsed_idet_0 @ 0x2f57320] Multi frame detection: TFF: 34 BFF: 7 Progressive: 17604 Undetermined: 192 [Parsed_ebur128_0 @ 0x345bde0] Summary: Integrated loudness: I: -23.6 LUFS Threshold: -34.9 LUFS Loudness range: LRA: 15.0 LU Threshold: -44.8 LUFS LRA low: -35.7 LUFS LRA high: -20.7 LUFS True peak: Peak: -9.4 dBFS Regards, Etienne Desautels _______________________________________________ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user