[FFmpeg-user] Same number of frames dropped and duplicated; What does that mean?
Paul B Mahol
onemda at gmail.com
Sun Oct 29 19:53:38 EET 2023
On Sun, Oct 29, 2023 at 6:08 PM Ulf Zibis <Ulf.Zibis at cosoco.de> wrote:
>
> Am 29.10.23 um 17:04 schrieb Paul B Mahol:
> > On Sun, Oct 29, 2023 at 4:52 PM Ulf Zibis <Ulf.Zibis at cosoco.de> wrote:
> >
> >> Am 29.10.23 um 16:00 schrieb Paul B Mahol:
> >>> On Sun, Oct 29, 2023 at 3:29 PM Ulf Zibis <Ulf.Zibis at cosoco.de> wrote:
> >>>
> >>>> Hi,
> >>>>
> >>>> so 18.3 % of the frames were dropped and duplicated at same time.
> >>>>
> >>>> Does that mean, that 8063 frames of the input were dropped and then
> same
> >>>> (or other) 8064 frames were duplicated to the output?
> >>>>
> >>> Probably variable frame rate input.
> >> When I use "-fps-mode passthroug", then I get messages of frames with
> the
> >> same timestamp, so ffmpeg seems to drop them in normal mode and then
> fills
> >> in duplicates.
> >>
> >> Am I right?
> >>
> >> So maybe it would be better to correct the timestamps than dropping the
> >> frames?
> >>
> > Could use vfrdet video filter on original input to find minimum, average
> > and maximum delay between frames.
>
> So I get this:
>
> [null @ 0x55a6d94fca80] Application provided invalid, non monotonically
> increasing dts to muxer in stream 0: 147394 >= 147394
> [null @ 0x55a6d94fca80] Application provided invalid, non monotonically
> increasing dts to muxer in stream 0: 147416 >= 147416
> [null @ 0x55a6d94fca80] Application provided invalid, non monotonically
> increasing dts to muxer in stream 0: 147417 >= 147417
> [null @ 0x55a6d94fca80] Application provided invalid, non monotonically
> increasing dts to muxer in stream 0: 147418 >= 147418
> [null @ 0x55a6d94fca80] Application provided invalid, non monotonically
> increasing dts to muxer in stream 0: 147422 >= 147422
> [null @ 0x55a6d94fca80] Application provided invalid, non monotonically
> increasing dts to muxer in stream 0: 147430 >= 147430
> Last message repeated 1 times
> [null @ 0x55a6d94fca80] Application provided invalid, non monotonically
> increasing dts to muxer in stream 0: 147441 >= 147441
> [null @ 0x55a6d94fca80] Application provided invalid, non monotonically
> increasing dts to muxer in stream 0: 147443 >= 147443
> Last message repeated 1 times
> [null @ 0x55a6d94fca80] Application provided invalid, non monotonically
> increasing dts to muxer in stream 0: 147468 >= 147468
> Last message repeated 1 times
> [null @ 0x55a6d94fca80] Application provided invalid, non monotonically
> increasing dts to muxer in stream 0: 147469 >= 147469
> [null @ 0x55a6d94fca80] Application provided invalid, non monotonically
> increasing dts to muxer in stream 0: 147478 >= 147478
> [null @ 0x55a6d94fca80] Application provided invalid, non monotonically
> increasing dts to muxer in stream 0: 147492 >= 147492
> Last message repeated 1 times
> [null @ 0x55a6d94fca80] Application provided invalid, non monotonically
> increasing dts to muxer in stream 0: 147493 >= 147493
> [null @ 0x55a6d94fca80] Application provided invalid, non monotonically
> increasing dts to muxer in stream 0: 147518 >= 147518
> Last message repeated 1 times
> [null @ 0x55a6d94fca80] Application provided invalid, non monotonically
> increasing dts to muxer in stream 0: 147519 >= 147519
> [null @ 0x55a6d94fca80] Application provided invalid, non monotonically
> increasing dts to muxer in stream 0: 147532 >= 147532
> [null @ 0x55a6d94fca80] Application provided invalid, non monotonically
> increasing dts to muxer in stream 0: 147542 >= 147542
> Last message repeated 1 times
> [null @ 0x55a6d94fca80] Application provided invalid, non monotonically
> increasing dts to muxer in stream 0: 147543 >= 147543
> [null @ 0x55a6d94fca80] Application provided invalid, non monotonically
> increasing dts to muxer in stream 0: 147568 >= 147568
> Last message repeated 1 times
> [null @ 0x55a6d94fca80] Application provided invalid, non monotonically
> increasing dts to muxer in stream 0: 147569 >= 147569
> [null @ 0x55a6d94fca80] Application provided invalid, non monotonically
> increasing dts to muxer in stream 0: 147573 >= 147573
> [null @ 0x55a6d94fca80] Application provided invalid, non monotonically
> increasing dts to muxer in stream 0: 147574 >= 147574
> [null @ 0x55a6d94fca80] Application provided invalid, non monotonically
> increasing dts to muxer in stream 0: 147588 >= 147588
> [null @ 0x55a6d94fca80] Application provided invalid, non monotonically
> increasing dts to muxer in stream 0: 147593 >= 147593
> Last message repeated 1 times
> [null @ 0x55a6d94fca80] Application provided invalid, non monotonically
> increasing dts to muxer in stream 0: 147599 >= 147599
> [null @ 0x55a6d94fca80] Application provided invalid, non monotonically
> increasing dts to muxer in stream 0: 147600 >= 147600
> [null @ 0x55a6d94fca80] Application provided invalid, non monotonically
> increasing dts to muxer in stream 0: 147614 >= 147614
> [null @ 0x55a6d94fca80] Application provided invalid, non monotonically
> increasing dts to muxer in stream 0: 147617 >= 147617
> frame=147619 fps=244 q=-0.0 Lsize=N/A time=01:38:24.96 bitrate=N/A
> speed=9.76x
> video:69196kB audio:1107184kB subtitle:0kB other streams:0kB global
> headers:0kB muxing overhead: unknown
> [Parsed_vfrdet_0 @ 0x55a6d9979b80] VFR:0.232174 (34273/113345) min: 900
> max: 14400 avg: 4892
>
> What do the numbers mean, are this nano seconds ? (the ffmpeg docs don't
> outline this)
>
https://ffmpeg.org/ffmpeg-filters.html#toc-vfrdet
At end it will output number of frames detected as having variable delta
pts, and ones with constant delta pts. If there was frames with variable
delta, than it will also show min, max and average delta encountered.
You can increase output framerate for constant frame rate video until
errors about dropped frames disappear. Or save it to container that support
variable frame rate.
Could also inspect those frames and see if they have any real info and are
not dupes of some other frames, either manually or using some filters.
> -Ulf
>
> _______________________________________________
> ffmpeg-user mailing list
> ffmpeg-user at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-user
>
> To unsubscribe, visit link above, or email
> ffmpeg-user-request at ffmpeg.org with subject "unsubscribe".
>
More information about the ffmpeg-user
mailing list