I am trying to transcode the videos (which I receive via the javascript media recorder in streaming mode by telephone) to use the VP9 codec and also to resolve concerns about the duration of these videos, the command ffmpeg that i use is this:
ffmpeg -i video-input -map 0 -crf 40 -deadline realtime -threads 8 -cpu-used 8 -b:v 0 -movflags +faststart -row-mt 1 -c:v libvpx-vp9 video-output;
The command works for most videos, except for certain videos, the transcoded video contains very few frames compared to the input video, the input video has a size of 29MB and the output has only 80KB.
ffmpeg does not return error messages
The Output of fffmpeg command for a unsuccessful conversion:
ffmpeg version 5.1.3 Copyright (c) 2000-2022 the FFmpeg developers
built with gcc 11 (GCC)
configuration: --prefix=/usr --bindir=/usr/bin --datadir=/usr/share/ffmpeg --docdir=/usr/share/doc/ffmpeg --incdir=/usr/include/ffmpeg --libdir=/usr/lib64 --mandir=/usr/share/man --arch=x86_64 --optflags='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64-v2 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection' --extra-ldflags='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 ' --extra-cflags=' -I/usr/include/rav1e' --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libvo-amrwbenc --enable-version3 --enable-bzlib --enable-chromaprint --disable-crystalhd --enable-fontconfig --enable-frei0r --enable-gcrypt --enable-gnutls --enable-ladspa --enable-libaom --enable-libdav1d --enable-libass --enable-libbluray --enable-libbs2b --enable-libcdio --enable-libdrm --enable-libjack --enable-libjxl --enable-libfreetype --enable-libfribidi --enable-libgsm --enable-libilbc --enable-libmp3lame --enable-libmysofa --enable-nvenc --enable-openal --enable-opencl --enable-opengl --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librsvg --enable-librav1e --enable-librubberband --enable-libsmbclient --enable-version3 --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libtesseract --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libv4l2 --enable-libvidstab --enable-libvmaf --enable-version3 --enable-vapoursynth --enable-libvpx --enable-vulkan --enable-libshaderc --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-libxml2 --enable-libzimg --enable-libzmq --enable-libzvbi --enable-lv2 --enable-avfilter --enable-libmodplug --enable-postproc --enable-pthreads --disable-static --enable-shared --enable-gpl --disable-debug --disable-stripping --shlibdir=/usr/lib64 --enable-lto --enable-libmfx --enable-runtime-cpudetect
libavutil 57. 28.100 / 57. 28.100
libavcodec 59. 37.100 / 59. 37.100
libavformat 59. 27.100 / 59. 27.100
libavdevice 59. 7.100 / 59. 7.100
libavfilter 8. 44.100 / 8. 44.100
libswscale 6. 7.100 / 6. 7.100
libswresample 4. 7.100 / 4. 7.100
libpostproc 56. 6.100 / 56. 6.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/video-input':
Metadata:
major_brand : iso5
minor_version : 1
compatible_brands: isomiso5hlsf
creation_time : 2024-03-17T19:39:41.000000Z
Duration: 1988:25:02.86, start: 0.000000, bitrate: 0 kb/s
Stream #0:0[0x1](und): Video: h264 (Baseline) (avc1 / 0x31637661), yuvj420p(pc, progressive), 1280x720, 0 kb/s, 0.0001 fps, 600 tbr, 600 tbn (default)
Metadata:
creation_time : 2024-03-17T19:39:41.000000Z
handler_name : Core Media Video
vendor_id : [0][0][0][0]
Side data:
displaymatrix: rotation of -90.00 degrees
Stream mapping:
Stream #0:0 -> #0:0 (h264 (native) -> vp9 (libvpx-vp9))
Press [q] to stop, [?] for help
[swscaler @ 0x55e0f943c5c0] [swscaler @ 0x55e0f944aa40] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x55e0f943c5c0] [swscaler @ 0x55e0f9479500] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x55e0f943c5c0] [swscaler @ 0x55e0f94a7340] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x55e0f943c5c0] [swscaler @ 0x55e0f94d5980] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x55e0f943c5c0] [swscaler @ 0x55e0f9503fc0] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x55e0f943c5c0] [swscaler @ 0x55e0f9531e00] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x55e0f943c5c0] [swscaler @ 0x55e0f9560440] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x55e0f943c5c0] [swscaler @ 0x55e0f958ea80] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x55e0f943c5c0] [swscaler @ 0x55e0f95a1600] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x55e0f943c5c0] [swscaler @ 0x55e0f9554f80] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x55e0f943c5c0] [swscaler @ 0x55e0f94fe4c0] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x55e0f943c5c0] [swscaler @ 0x55e0f9588440] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x55e0f943c5c0] [swscaler @ 0x55e0f952e340] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x55e0f943c5c0] [swscaler @ 0x55e0f9462700] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x55e0f943c5c0] [swscaler @ 0x55e0f9492540] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x55e0f943c5c0] [swscaler @ 0x55e0f94c0380] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x55e0f943c5c0] [swscaler @ 0x55e0f94d6d80] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x55e0f943c5c0] [swscaler @ 0x55e0f9548d00] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x55e0f943c5c0] [swscaler @ 0x55e0f94ec540] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x55e0f943c5c0] [swscaler @ 0x55e0f9573580] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x55e0f943c5c0] [swscaler @ 0x55e0f9519380] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x55e0f943c5c0] [swscaler @ 0x55e0f944d2c0] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x55e0f943c5c0] [swscaler @ 0x55e0f947b140] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x55e0f943c5c0] [swscaler @ 0x55e0f94ab740] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x55e0f943c5c0] [swscaler @ 0x55e0f94d6d80] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x55e0f943c5c0] [swscaler @ 0x55e0f9548d00] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x55e0f943c5c0] [swscaler @ 0x55e0f94ec540] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x55e0f943c5c0] [swscaler @ 0x55e0f9573580] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x55e0f943c5c0] [swscaler @ 0x55e0f9519380] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x55e0f943c5c0] [swscaler @ 0x55e0f944d2c0] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x55e0f943c5c0] [swscaler @ 0x55e0f947b140] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x55e0f943c5c0] [swscaler @ 0x55e0f94ab740] deprecated pixel format used, make sure you did set range correctly
[libvpx-vp9 @ 0x55e0f80371c0] v1.9.0
Output #0, webm, to '/video-output.webm':
Metadata:
major_brand : iso5
minor_version : 1
compatible_brands: isomiso5hlsf
encoder : Lavf59.27.100
Stream #0:0(und): Video: vp9, yuv420p(tv, progressive), 720x1280, q=2-31, 0.0001 fps, 1k tbn (default)
Metadata:
creation_time : 2024-03-17T19:39:41.000000Z
handler_name : Core Media Video
vendor_id : [0][0][0][0]
encoder : Lavc59.37.100 libvpx-vp9
Side data:
cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A
displaymatrix: rotation of -0.00 degrees
frame= 1 fps=0.0 q=0.0 size= 1kB time=00:00:00.00 bitrate=N/A speed= 0x
frame= 2 fps=0.0 q=0.0 size= 1kB time=00:00:00.00 bitrate=N/A dup=0 drop=471 speed= 0x
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x55e0f8010cc0] DTS 14421 < 14422 out of order
frame= 2 fps=0.0 q=40.0 Lsize= 38kB time=02:43:52.83 bitrate= 0.0kbits/s dup=0 drop=725 speed=1.22e+04x
video:37kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 1.819037%
The Output of fffmpeg command for a successful conversion:
ffmpeg version 5.1.4 Copyright (c) 2000-2023 the FFmpeg developers
built with gcc 11 (GCC)
configuration: --prefix=/usr --bindir=/usr/bin --datadir=/usr/share/ffmpeg --docdir=/usr/share/doc/ffmpeg --incdir=/usr/include/ffmpeg --libdir=/usr/lib64 --mandir=/usr/share/man --arch=x86_64 --optflags='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64-v2 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection' --extra-ldflags='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 ' --extra-cflags=' -I/usr/include/rav1e' --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libvo-amrwbenc --enable-version3 --enable-bzlib --disable-crystalhd --enable-fontconfig --enable-frei0r --enable-gcrypt --enable-gnutls --enable-ladspa --enable-libaom --enable-libdav1d --enable-libass --enable-libbluray --enable-libcdio --enable-libdrm --enable-libjack --enable-libjxl --enable-libfreetype --enable-libfribidi --enable-libgsm --enable-libmp3lame --enable-libmysofa --enable-nvenc --enable-openal --enable-opencl --enable-opengl --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librsvg --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libtheora --enable-libvorbis --enable-libv4l2 --enable-libvidstab --enable-libvmaf --enable-version3 --enable-vapoursynth --enable-libvpx --enable-vulkan --enable-libshaderc --enable-libx264 --enable-libx265 --enable-libxvid --enable-libxml2 --enable-libzimg --enable-libzvbi --enable-lv2 --enable-avfilter --enable-libmodplug --enable-postproc --enable-pthreads --disable-static --enable-shared --enable-gpl --disable-debug --disable-stripping --shlibdir=/usr/lib64 --enable-lto --enable-libmfx --enable-runtime-cpudetect
libavutil 57. 28.100 / 57. 28.100
libavcodec 59. 37.100 / 59. 37.100
libavformat 59. 27.100 / 59. 27.100
libavdevice 59. 7.100 / 59. 7.100
libavfilter 8. 44.100 / 8. 44.100
libswscale 6. 7.100 / 6. 7.100
libswresample 4. 7.100 / 4. 7.100
libpostproc 56. 6.100 / 56. 6.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/video-input':
Metadata:
major_brand : iso5
minor_version : 1
compatible_brands: isomiso5hlsf
creation_time : 2024-01-19T08:29:28.000000Z
Duration: 00:00:19.47, start: 0.000000, bitrate: 9967 kb/s
Stream #0:0[0x1](und): Video: h264 (Baseline) (avc1 / 0x31637661), yuvj420p(pc, progressive), 1280x720, 9964 kb/s, 30.05 fps, 30 tbr, 600 tbn (default)
Metadata:
creation_time : 2024-01-19T08:29:28.000000Z
handler_name : Core Media Video
vendor_id : [0][0][0][0]
Side data:
displaymatrix: rotation of -90.00 degrees
Stream mapping:
Stream #0:0 -> #0:0 (h264 (native) -> vp9 (libvpx-vp9))
Press [q] to stop, [?] for help
[swscaler @ 0x5624f2cdb900] [swscaler @ 0x5624f2ce9680] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x5624f2cdb900] [swscaler @ 0x5624f2d18100] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x5624f2cdb900] [swscaler @ 0x5624f2d46740] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x5624f2cdb900] [swscaler @ 0x5624f2d74580] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x5624f2cdb900] [swscaler @ 0x5624f2da2bc0] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x5624f2cdb900] [swscaler @ 0x5624f2dd1200] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x5624f2cdb900] [swscaler @ 0x5624f2ce9680] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x5624f2cdb900] [swscaler @ 0x5624f2d00940] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x5624f2cdb900] [swscaler @ 0x5624f2d2f000] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x5624f2cdb900] [swscaler @ 0x5624f2db5d00] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x5624f2cdb900] [swscaler @ 0x5624f2d89f00] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x5624f2cdb900] [swscaler @ 0x5624f2d5bb00] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x5624f2cdb900] [swscaler @ 0x5624f2d592c0] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x5624f2cdb900] [swscaler @ 0x5624f2de3d80] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x5624f2cdb900] [swscaler @ 0x5624f2d00940] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x5624f2cdb900] [swscaler @ 0x5624f2d2f000] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x5624f2cdb900] [swscaler @ 0x5624f2db5d00] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x5624f2cdb900] [swscaler @ 0x5624f2d89f00] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x5624f2cdb900] [swscaler @ 0x5624f2d592c0] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x5624f2cdb900] [swscaler @ 0x5624f2de3d80] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x5624f2cdb900] [swscaler @ 0x5624f2d00940] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x5624f2cdb900] [swscaler @ 0x5624f2d2f000] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x5624f2cdb900] [swscaler @ 0x5624f2db5d00] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x5624f2cdb900] [swscaler @ 0x5624f2d89f00] deprecated pixel format used, make sure you did set range correctly
[libvpx-vp9 @ 0x5624f1b5e400] v1.9.0
Output #0, webm, to 'video-output.webm':
Metadata:
major_brand : iso5
minor_version : 1
compatible_brands: isomiso5hlsf
encoder : Lavf59.27.100
Stream #0:0(und): Video: vp9, yuv420p(tv, progressive), 720x1280, q=2-31, 30 fps, 1k tbn (default)
Metadata:
creation_time : 2024-01-19T08:29:28.000000Z
handler_name : Core Media Video
vendor_id : [0][0][0][0]
encoder : Lavc59.37.100 libvpx-vp9
Side data:
cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A
displaymatrix: rotation of -0.00 degrees
frame= 1 fps=0.0 q=0.0 size= 1kB time=00:00:00.00 bitrate=N/A speed= 0x
frame= 55 fps=0.0 q=31.0 size= 1kB time=00:00:01.00 bitrate= 5.1kbits/s speed=1.94x
frame= 117 fps=114 q=35.0 size= 1kB time=00:00:03.13 bitrate= 1.6kbits/s dup=0 drop=1 speed=3.06x
frame= 160 fps=105 q=40.0 size= 512kB time=00:00:04.56 bitrate= 918.2kbits/s dup=0 drop=1 speed=2.99x
frame= 223 fps=110 q=38.0 size= 512kB time=00:00:06.66 bitrate= 629.0kbits/s dup=0 drop=1 speed=3.28x
frame= 288 fps=113 q=40.0 size= 1024kB time=00:00:08.83 bitrate= 949.6kbits/s dup=0 drop=2 speed=3.48x
frame= 350 fps=115 q=40.0 size= 1024kB time=00:00:10.93 bitrate= 767.2kbits/s dup=0 drop=2 speed=3.59x
frame= 412 fps=116 q=40.0 size= 1280kB time=00:00:13.00 bitrate= 806.5kbits/s dup=0 drop=2 speed=3.66x
frame= 476 fps=118 q=40.0 size= 1280kB time=00:00:15.13 bitrate= 692.9kbits/s dup=0 drop=2 speed=3.74x
frame= 532 fps=117 q=40.0 size= 1280kB time=00:00:17.00 bitrate= 616.8kbits/s dup=0 drop=3 speed=3.74x
frame= 582 fps=116 q=40.0 Lsize= 2098kB time=00:00:19.50 bitrate= 881.4kbits/s dup=0 drop=3 speed= 3.9x
video:2093kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.227047%
Can you help me please ? Thanks a lot