преобразование кодека ffmpeg; не могу настроить энкодер

Я просто пытаюсь преобразовать имеющийся у меня 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 )

person PerfectChaos7    schedule 08.03.2019    source источник


Ответы (1)


В вашей сборке ffmpeg есть оболочка Video4Linux, доступная для аппаратного кодировщика VP8, но фактически аппаратный кодировщик VP8 недоступен.

Для программного кодирования VP8/VP9 вам потребуется включить и связать libvpx. Вы можете получить статический двоичный файл git с сайта https://johnvansickle.com/ffmpeg/.

person Gyan    schedule 08.03.2019