On 12/13/18, Kieran O'Leary <kieran.ole...@irishfilm.ie> wrote:
> Hi,
>
> I have encountered some DPX that has an fps of 18. It seems that ffmpeg
> skips every few frames when decoding - at least when I performed a framemd5
> analysis. I noticed that 30522 frames were decoded, 10172 were dropped.
>
> It seems that adding -framerate 18 to as an input option resolves the issue,
> but should ffmpeg not auto-detect the FPS?
>
> I can replicate the issue with just a few frames (I will see if I can share
> the samples) - here's 17 frames decoded with nullm followed by the md5 muxer
> where only 14 frames are processed.:
>
> $ ./ffmpeg -i ffmpeg-1-01_%06d.dpx -f null -
>
> ffmpeg version N-92683-g32601fb821 Copyright (c) 2000-2018 the FFmpeg
> developers
>
>   built with Apple LLVM version 8.0.0 (clang-800.0.42.1)
>
>   configuration:
>
>   libavutil      56. 24.101 / 56. 24.101
>
>   libavcodec     58. 42.100 / 58. 42.100
>
>   libavformat    58. 24.100 / 58. 24.100
>
>   libavdevice    58.  6.101 / 58.  6.101
>
>   libavfilter     7. 46.101 /  7. 46.101
>
>   libswscale      5.  4.100 /  5.  4.100
>
>   libswresample   3.  4.100 /  3.  4.100
>
> Input #0, image2, from 'ffmpeg-1-01_%06d.dpx':
>
>   Duration: 00:00:00.68, start: 0.000000, bitrate: N/A
>
>     Stream #0:0: Video: dpx, gbrp10le, 3840x2160, 18 tbr, 25 tbn, 18 tbc
>
> Stream mapping:
>
>   Stream #0:0 -> #0:0 (dpx (native) -> wrapped_avframe (native))
>
> Press [q] to stop, [?] for help
>
> Output #0, null, to 'pipe:':
>
>   Metadata:
>
>     encoder         : Lavf58.24.100
>
>     Stream #0:0: Video: wrapped_avframe, gbrp10le, 3840x2160, q=2-31, 200
> kb/s, 18 fps, 18 tbn, 18 tbc
>
>     Metadata:
>
>       encoder         : Lavc58.42.100 wrapped_avframe
>
> [null @ 0x7f88d3000600] Application provided invalid, non monotonically
> increasing dts to muxer in stream 0: 1 >= 1
>
> [null @ 0x7f88d3000600] Application provided invalid, non monotonically
> increasing dts to muxer in stream 0: 4 >= 4
>
> [null @ 0x7f88d3000600] Application provided invalid, non monotonically
> increasing dts to muxer in stream 0: 6 >= 6
>
> [null @ 0x7f88d3000600] Application provided invalid, non monotonically
> increasing dts to muxer in stream 0: 9 >= 9
>
> frame=   17 fps=0.0 q=-0.0 Lsize=N/A time=00:00:00.72 bitrate=N/A speed=
> 1.1x
>
> video:9kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing
> overhead: unknown
>
>
> $ ./ffmpeg -i ffmpeg-1-01_%06d.dpx -f md5  -
>
> ffmpeg version N-92683-g32601fb821 Copyright (c) 2000-2018 the FFmpeg
> developers
>
>   built with Apple LLVM version 8.0.0 (clang-800.0.42.1)
>
>   configuration:
>
>   libavutil      56. 24.101 / 56. 24.101
>
>   libavcodec     58. 42.100 / 58. 42.100
>
>   libavformat    58. 24.100 / 58. 24.100
>
>   libavdevice    58.  6.101 / 58.  6.101
>
>   libavfilter     7. 46.101 /  7. 46.101
>
>   libswscale      5.  4.100 /  5.  4.100
>
>   libswresample   3.  4.100 /  3.  4.100
>
> Input #0, image2, from 'ffmpeg-1-01_%06d.dpx':
>
>   Duration: 00:00:00.68, start: 0.000000, bitrate: N/A
>
>     Stream #0:0: Video: dpx, gbrp10le, 3840x2160, 18 tbr, 25 tbn, 18 tbc
>
> Stream mapping:
>
>   Stream #0:0 -> #0:0 (dpx (native) -> rawvideo (native))
>
> Press [q] to stop, [?] for help
>
> Output #0, md5, to 'pipe:':
>
>   Metadata:
>
>     encoder         : Lavf58.24.100
>
>     Stream #0:0: Video: rawvideo (G3[0][10] / 0xA003347), gbrp10le,
> 3840x2160, q=2-31, 4478976 kb/s, 18 fps, 18 tbn, 18 tbc
>
>     Metadata:
>
>       encoder         : Lavc58.42.100 rawvideo
>
> frame=    5 fps=0.0 q=-0.0 size=       0kB time=00:00:00.27 bitrate=
> 0.0kbits/frame=    9 fps=7.5 q=-0.0 size=       0kB time=00:00:00.50
> bitrate=   0.0kbits/frame=   12 fps=7.0 q=-0.0 size=       0kB
> time=00:00:00.66 bitrate=   0.0kbits/MD5=123fb3ff58ca94c842453b518aeb6a9a
>
> frame=   14 fps=6.6 q=-0.0 Lsize=       0kB time=00:00:00.77 bitrate=
> 0.4kbits/s dup=0 drop=3 speed=0.364x

Here it says it dropped 3 frames.

>
> video:680400kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB
> muxing overhead: unknown

This is because null does not need timestamps so it pass all frames no
matter which timestamps are there, on other hand md5 drops frames with
same timestamps.
_______________________________________________
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to