#9210: Concat images produces wrong timings when duration is in milliseconds -------------------------------------+------------------------------------- Reporter: demet64 | Owner: (none) Type: defect | Status: new Priority: normal | Component: | undetermined Version: unspecified | Resolution: Keywords: | Blocked By: Blocking: | Reproduced by developer: 0 Analyzed by developer: 0 | -------------------------------------+------------------------------------- Description changed by demet64: Old description:
This issue was also mentioned here: https://www.reddit.com/r/ffmpeg/comments/e1o3hv/ffconcat_filter_with_millise... and here: https://forum.videohelp.com/threads/397470-Converting-a -sequence-of-images-to-video-with-variable-framerate
Summary of the bug: How to reproduce: {{{ % ffmpeg -i input ... output ffmpeg version built on ... }}} Patches should be submitted to the ffmpeg-devel mailing list and not this bug tracker.
New description: This issue was also mentioned here: https://www.reddit.com/r/ffmpeg/comments/e1o3hv/ffconcat_filter_with_millise... and here: https://forum.videohelp.com/threads/397470-Converting-a -sequence-of-images-to-video-with-variable-framerate Summary of the bug: How to reproduce: A concat file like this {{{ file 000000.jpg duration 116ms file 000001.jpg duration 116ms file 000002.jpg duration 116ms file 000003.jpg duration 116ms file 000004.jpg duration 116ms file 000005.jpg duration 116ms file 000006.jpg duration 116ms file 000007.jpg duration 116ms file 000008.jpg duration 116ms file 000009.jpg duration 1002ms file 000010.jpg duration 116ms file 000011.jpg duration 116ms file 000012.jpg duration 116ms file 000013.jpg duration 1129ms file 000014.jpg duration 73ms file 000015.jpg duration 73ms file 000016.jpg duration 116ms file 000017.jpg duration 116ms file 000018.jpg duration 2184ms file 000018.jpg }}} The output: {{{ ffprobe -f concat -i concat.txt -show_frames | findstr "pkt_pts" pkt_pts=0 pkt_pts_time=0.000000 pkt_pts=3 pkt_pts_time=0.120000 pkt_pts=6 pkt_pts_time=0.240000 pkt_pts=9 pkt_pts_time=0.360000 pkt_pts=12 pkt_pts_time=0.480000 pkt_pts=15 pkt_pts_time=0.600000 pkt_pts=17 pkt_pts_time=0.680000 pkt_pts=20 pkt_pts_time=0.800000 pkt_pts=23 pkt_pts_time=0.920000 pkt_pts=26 pkt_pts_time=1.040000 pkt_pts=51 pkt_pts_time=2.040000 pkt_pts=54 pkt_pts_time=2.160000 pkt_pts=57 pkt_pts_time=2.280000 pkt_pts=60 pkt_pts_time=2.400000 pkt_pts=88 pkt_pts_time=3.520000 pkt_pts=90 pkt_pts_time=3.600000 pkt_pts=92 pkt_pts_time=3.680000 pkt_pts=95 pkt_pts_time=3.800000 pkt_pts=98 pkt_pts_time=3.920000 pkt_pts=152 pkt_pts_time=6.080000 }}} The output looks correct at first, but timestamps are rounded, and for some reasons the duration here {{{ pkt_pts_time=0.600000 pkt_pts=17 pkt_pts_time=0.680000 }}} is 80ms instead of 120ms (and expected 116ms) It's not the problem of ffprobe, when converting to webm, for example, or gif {{{ ffmpeg -i concat.txt -c:v libvpx-vp9 -lossless 1 out.webm }}} timings would be like showed above. The other case: {{{ file 000000.jpg duration 50ms file 000001.jpg duration 60ms file 000002.jpg duration 50ms file 000003.jpg duration 60ms file 000004.jpg duration 50ms file 000005.jpg duration 60ms file 000006.jpg duration 50ms file 000007.jpg duration 60ms file 000008.jpg duration 60ms file 000009.jpg duration 50ms file 000010.jpg duration 60ms file 000011.jpg duration 50ms file 000012.jpg duration 60ms file 000013.jpg duration 50ms file 000014.jpg duration 60ms file 000015.jpg duration 50ms file 000016.jpg duration 60ms file 000017.jpg duration 60ms file 000018.jpg duration 50ms file 000019.jpg duration 60ms file 000020.jpg duration 50ms file 000021.jpg duration 60ms file 000022.jpg duration 50ms file 000023.jpg duration 60ms file 000023.jpg }}} Output: {{{ pkt_pts=0 pkt_pts_time=0.000000 pkt_pts=1 pkt_pts_time=0.040000 pkt_pts=3 pkt_pts_time=0.120000 pkt_pts=4 pkt_pts_time=0.160000 pkt_pts=6 pkt_pts_time=0.240000 pkt_pts=7 pkt_pts_time=0.280000 pkt_pts=8 pkt_pts_time=0.320000 pkt_pts=10 pkt_pts_time=0.400000 pkt_pts=11 pkt_pts_time=0.440000 pkt_pts=13 pkt_pts_time=0.520000 pkt_pts=14 pkt_pts_time=0.560000 pkt_pts=15 pkt_pts_time=0.600000 pkt_pts=17 pkt_pts_time=0.680000 pkt_pts=18 pkt_pts_time=0.720000 pkt_pts=19 pkt_pts_time=0.760000 pkt_pts=21 pkt_pts_time=0.840000 pkt_pts=22 pkt_pts_time=0.880000 pkt_pts=24 pkt_pts_time=0.960000 pkt_pts=25 pkt_pts_time=1.000000 pkt_pts=26 pkt_pts_time=1.040000 pkt_pts=28 pkt_pts_time=1.120000 pkt_pts=29 pkt_pts_time=1.160000 pkt_pts=31 pkt_pts_time=1.240000 pkt_pts=32 pkt_pts_time=1.280000 pkt_pts=33 pkt_pts_time=1.320000 }}} -- -- Ticket URL: <https://trac.ffmpeg.org/ticket/9210#comment:1> FFmpeg <https://ffmpeg.org> FFmpeg issue tracker