[FFmpeg-user] Same number of frames dropped and duplicated; What does that mean?

Paul B Mahol onemda at gmail.com
Sun Oct 29 17:00:15 EET 2023


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.


>
> What is the sense of this?
>
> Maybe the original didn't have the exact framerate of 25 fps ?
>
> Would it make sense to find the original frame rate and set the output
> frame rate to that value to avoid the duplicates?
>
>
> ffmpeg -i Raik\ Garve\ -\ Sinn\ des\ Lebens\ -\ Berufung\ -\ Aufgabe\ der\
> Deutschen.mp4 -vf scale=iw/2:ih/2 -c:v libx265 -c:a libopus -movflags
> +faststart Raik\ Garve\ -\ Sinn\ des\ Lebens\ -\ Berufung\ -\ Aufgabe\ der\
> Deutschen_265.mp4
> ffmpeg version 6.0-0ubuntu1~22.04.sav3.1 Copyright (c) 2000-2023 the
> FFmpeg developers
>    built with gcc 11 (Ubuntu 11.4.0-1ubuntu1~22.04)
>    configuration: --prefix=/usr --extra-version='0ubuntu1~22.04.sav3.1'
> --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu
> --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl
> --disable-stripping --enable-amf --enable-gnutls --enable-ladspa
> --enable-lcms2 --enable-libaom --enable-libass --enable-libbluray
> --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2
> --enable-libdav1d --enable-libflite --enable-libfontconfig
> --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm
> --enable-libjack --enable-libmp3lame --enable-libmysofa
> --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse
> --enable-librabbitmq --enable-librubberband --enable-libshine
> --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libsrt
> --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab
> --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265
> --enable-libxml2 --enable-libxvid --enable-libzimg
> --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal
> --enable-opencl --enable-opengl --enable-sdl2 --enable-sndio
> --enable-pocketsphinx --enable-librsvg --enable-avisynth --enable-libilbc
> --enable-libjxl --enable-librist --enable-vapoursynth --enable-libvmaf
> --enable-crystalhd --enable-libmfx --enable-libsvthevc --enable-libsvtav1
> --enable-libdc1394 --enable-libdrm --enable-libiec61883
> --enable-chromaprint --enable-frei0r --enable-libx264 --enable-libplacebo
> --enable-librav1e --enable-shared
>    WARNING: library configuration mismatch
>    avcodec     configuration: --prefix=/usr
> --extra-version='0ubuntu1~22.04.sav3.1' --toolchain=hardened
> --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu
> --arch=amd64 --enable-gpl --disable-stripping --enable-amf --enable-gnutls
> --enable-ladspa --enable-lcms2 --enable-libaom --enable-libass
> --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio
> --enable-libcodec2 --enable-libdav1d --enable-libflite
> --enable-libfontconfig --enable-libfreetype --enable-libfribidi
> --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame
> --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt
> --enable-libopus --enable-libpulse --enable-librabbitmq
> --enable-librubberband --enable-libshine --enable-libsnappy
> --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh
> --enable-libtheora --enable-libtwolame --enable-libvidstab
> --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265
> --enable-libxml2 --enable-libxvid
> --enable-libzimg --enable-libzmq --enable-libzvbi --enable-lv2
> --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2
> --enable-sndio --enable-pocketsphinx --enable-librsvg --enable-avisynth
> --enable-libilbc --enable-libjxl --enable-librist --enable-vapoursynth
> --enable-libvmaf --enable-crystalhd --enable-libmfx --enable-libsvthevc
> --enable-libsvtav1 --enable-libdc1394 --enable-libdrm --enable-libiec61883
> --enable-chromaprint --enable-frei0r --enable-libx264 --enable-libplacebo
> --enable-librav1e --enable-shared --enable-version3 --disable-doc
> --disable-programs --enable-libaribb24 --enable-libopencore_amrnb
> --enable-libopencore_amrwb --enable-libtesseract --enable-libvo_amrwbenc
> --enable-libshaderc --enable-liblensfun --enable-libsmbclient
>    avfilter    configuration: --prefix=/usr
> --extra-version='0ubuntu1~22.04.sav3.1' --toolchain=hardened
> --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu
> --arch=amd64 --enable-gpl --disable-stripping --enable-amf --enable-gnutls
> --enable-ladspa --enable-lcms2 --enable-libaom --enable-libass
> --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio
> --enable-libcodec2 --enable-libdav1d --enable-libflite
> --enable-libfontconfig --enable-libfreetype --enable-libfribidi
> --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame
> --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt
> --enable-libopus --enable-libpulse --enable-librabbitmq
> --enable-librubberband --enable-libshine --enable-libsnappy
> --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh
> --enable-libtheora --enable-libtwolame --enable-libvidstab
> --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265
> --enable-libxml2 --enable-libxvid
> --enable-libzimg --enable-libzmq --enable-libzvbi --enable-lv2
> --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2
> --enable-sndio --enable-pocketsphinx --enable-librsvg --enable-avisynth
> --enable-libilbc --enable-libjxl --enable-librist --enable-vapoursynth
> --enable-libvmaf --enable-crystalhd --enable-libmfx --enable-libsvthevc
> --enable-libsvtav1 --enable-libdc1394 --enable-libdrm --enable-libiec61883
> --enable-chromaprint --enable-frei0r --enable-libx264 --enable-libplacebo
> --enable-librav1e --enable-shared --enable-version3 --disable-doc
> --disable-programs --enable-libaribb24 --enable-libopencore_amrnb
> --enable-libopencore_amrwb --enable-libtesseract --enable-libvo_amrwbenc
> --enable-libshaderc --enable-liblensfun --enable-libsmbclient
>    libavutil      58.  2.100 / 58.  2.100
>    libavcodec     60.  3.100 / 60.  3.100
>    libavformat    60.  3.100 / 60.  3.100
>    libavdevice    60.  1.100 / 60.  1.100
>    libavfilter     9.  3.100 /  9.  3.100
>    libswscale      7.  1.100 /  7.  1.100
>    libswresample   4. 10.100 /  4. 10.100
>    libpostproc    57.  1.100 / 57.  1.100
> Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'Raik Garve - Sinn des Lebens -
> Berufung - Aufgabe der Deutschen.mp4':
>    Metadata:
>      major_brand     : isom
>      minor_version   : 512
>      compatible_brands: isomiso2avc1mp41
>    Duration: 01:38:24.98, start: 0.000000, bitrate: 1377 kb/s
>    Stream #0:0[0x1](und): Video: h264 (Main) (avc1 / 0x31637661),
> yuv420p(tv, bt709, progressive), 1280x720 [SAR 1:1 DAR 16:9], 1134 kb/s, 25
> fps, 300 tbr, 90k tbn (default)
>      Metadata:
>        handler_name    : VideoHandler
>        vendor_id       : [0][0][0][0]
>    Stream #0:1[0x2](und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz,
> stereo, fltp, 233 kb/s (default)
>      Metadata:
>        handler_name    : VideoHandler
>        vendor_id       : [0][0][0][0]
> Stream mapping:
>    Stream #0:0 -> #0:0 (h264 (native) -> hevc (libx265))
>    Stream #0:1 -> #0:1 (aac (native) -> opus (libopus))
> Press [q] to stop, [?] for help
> [libopus @ 0x5592096a2540] No bit rate set. Defaulting to 96000 bps.
> x265 [info]: HEVC encoder version 3.5+1-f0c1022b6
> x265 [info]: build info [Linux][GCC 11.2.0][64 bit] 8bit+10bit+12bit
> x265 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.1 Cache64
> x265 [info]: Main profile, Level-2.1 (Main tier)
> x265 [info]: Thread pool created using 2 threads
> x265 [info]: Slices                              : 1
> x265 [info]: frame threads / pool features       : 1 / wpp(6 rows)
> x265 [warning]: Source height < 720p; disabling lookahead-slices
> x265 [info]: Coding QT: max CU size, min CU size : 64 / 8
> x265 [info]: Residual QT: max TU size, max depth : 32 / 1 inter / 1 intra
> x265 [info]: ME / range / subpel / merge         : hex / 57 / 2 / 3
> x265 [info]: Keyframe min / max / scenecut / bias  : 24 / 250 / 40 / 5.00
> x265 [info]: Lookahead / bframes / badapt        : 20 / 4 / 2
> x265 [info]: b-pyramid / weightp / weightb       : 1 / 1 / 0
> x265 [info]: References / ref-limit  cu / depth  : 3 / off / on
> x265 [info]: AQ: mode / str / qg-size / cu-tree  : 2 / 1.0 / 32 / 1
> x265 [info]: Rate Control / qCompress            : CRF-28.0 / 0.60
> x265 [info]: tools: rd=3 psy-rd=2.00 early-skip rskip mode=1 signhide tmvp
> x265 [info]: tools: b-intra strong-intra-smoothing deblock sao
> Output #0, mp4, to 'Raik Garve - Sinn des Lebens - Berufung - Aufgabe der
> Deutschen_265.mp4':
>    Metadata:
>      major_brand     : isom
>      minor_version   : 512
>      compatible_brands: isomiso2avc1mp41
>      encoder         : Lavf60.3.100
>    Stream #0:0(und): Video: hevc (hev1 / 0x31766568), yuv420p(tv, bt709,
> progressive), 640x360 [SAR 1:1 DAR 16:9], q=2-31, 25 fps, 14762200.00 tbn
> (default)
>      Metadata:
>        handler_name    : VideoHandler
>        vendor_id       : [0][0][0][0]
>        encoder         : Lavc60.3.100 libx265
>      Side data:
>        cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A
>    Stream #0:1(und): Audio: opus (Opus / 0x7375704F), 48000 Hz, stereo,
> flt, 96 kb/s (default)
>      Metadata:
>        handler_name    : VideoHandler
>        vendor_id       : [0][0][0][0]
>        encoder         : Lavc60.3.100 libopus
> [vost#0:0/libx265 @ 0x5592095da1c0] More than 1000 frames duplicated
> 152.3kbits/s dup=1000 drop=997 speed=1.21x
> Starting second pass: moving the moov atom to the beginning of the file
> frame=147620 fps= 29 q=36.0 Lsize=  117163kB time=01:38:24.97 bitrate=
> 162.5kbits/s dup=8064 drop=8063 speed=1.15x
> video:52009kB audio:61035kB subtitle:0kB other streams:0kB global
> headers:2kB muxing overhead: 3.644031%
> x265 [info]: frame I:    593, Avg QP:24.72  kb/s: 5707.20
> x265 [info]: frame P:  36702, Avg QP:29.79  kb/s: 153.03
> x265 [info]: frame B: 110325, Avg QP:35.62  kb/s: 13.89
> x265 [info]: Weighted P-Frames: Y:0.1% UV:0.0%
> x265 [info]: consecutive B-frames: 1.9% 6.0% 9.4% 59.4% 23.2%
>
> encoded 147620 frames in 5117.43s (28.85 fps), 71.35 kb/s, Avg QP:34.13
>
> $ ffprobe -hide_banner -select_streams v:0 -count_frames -show_entries
> stream=nb_read_frames Raik\ Garve\ -\ Sinn\ des\ Lebens\ -\ Berufung\ -\
> Aufgabe\ der\ Deutschen.mp4
> Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'Raik Garve - Sinn des Lebens -
> Berufung - Aufgabe der Deutschen.mp4':
>    Metadata:
>      major_brand     : isom
>      minor_version   : 512
>      compatible_brands: isomiso2avc1mp41
>    Duration: 01:38:24.98, start: 0.000000, bitrate: 1377 kb/s
>    Stream #0:0[0x1](und): Video: h264 (Main) (avc1 / 0x31637661),
> yuv420p(tv, bt709, progressive), 1280x720 [SAR 1:1 DAR 16:9], 1134 kb/s, 25
> fps, 300 tbr, 90k tbn (default)
>      Metadata:
>        handler_name    : VideoHandler
>        vendor_id       : [0][0][0][0]
>    Stream #0:1[0x2](und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz,
> stereo, fltp, 233 kb/s (default)
>      Metadata:
>        handler_name    : VideoHandler
>        vendor_id       : [0][0][0][0]
> [STREAM]
> nb_read_frames=147619
> [/STREAM]
>
> -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