Я просто пытаюсь преобразовать имеющийся у меня webm vp9 в webm vp8. это команда, которую я использую.
ffmpeg -i in.webm -c:v vp8 out.webm
кодировщик vp8 возвращает странную ошибку
Input #0, matroska,webm, from 'in.webm':
Metadata:
encoder : google
Duration: 00:02:34.60, start: 0.000000, bitrate: 404 kb/s
Stream #0:0(eng): Video: vp9 (Profile 0), yuv420p(tv, bt709/unknown/unknown), 640x360, SAR 1:1 DAR 16:9, 30 fps, 30 tbr, 1k tbn, 1k tbc (default)
Stream mapping:
Stream #0:0 -> #0:0 (vp9 (native) -> vp8 (vp8_v4l2m2m))
Press [q] to stop, [?] for help
[vp8_v4l2m2m @ 0x56195db9f9f0] Could not find a valid device
[vp8_v4l2m2m @ 0x56195db9f9f0] can't configure encoder
Error initializing output stream 0:0 -- Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height
Conversion failed!
На случай, если у меня возникнут вопросы о том, установлены ли у меня правильные кодировщики и декодеры, вот вывод ffmpeg -codecs | grep "vp[8-9]":
DEV.L. vp8 On2 VP8 (decoders: vp8 vp8_v4l2m2m vp8_cuvid ) (encoders: vp8_v4l2m2m )
D.V.L. vp9 Google VP9 (decoders: vp9 vp9_v4l2m2m vp9_cuvid )





В вашей сборке ffmpeg есть оболочка Video4Linux, доступная для аппаратного кодировщика VP8, но фактически аппаратный кодировщик VP8 недоступен.
Для программного кодирования VP8/VP9 вам потребуется включить и связать libvpx. Вы можете получить статический двоичный файл git из https://johnvansickle.com/ffmpeg/.
Вы можете доверять двоичным файлам из источников, перечисленных в ffmpeg.org/download.html, одним из которых является johnvansickle.com.
Не доверяйте сторонним исполняемым файлам, работающим на вашем компьютере. Используйте фактическое зеркало ffmpeg на github и соберите его самостоятельно: github.com/FFmpeg/FFmpeg