Не удается найти устройство x264 с кодом c для транскодирования FFmpeg - PullRequest
0 голосов
/ 13 февраля 2020

Я возиться с учебником по транскодированию FFmpeg (источник: https://ffmpeg.org/doxygen/trunk/transcoding_8c-example.html)

Я использую FFmpeg 4.0.5 и успешно его построил следующим образом:

$ sudo apt-get install libx264-dev
$ cd ffmpeg-4.0.5
$ ./configure --prefix=buildout --enable-shared --disable-static --disable-doc  --enable-gpl --disable-opencl --enable-libx264
$ make
$ sudo make install
$ sudo ldconfig

Я также искал статью для руководства. (http://www.programmersought.com/article/71051173025/;jsessionid=2D01469BCFABF65530FCC81DBC04E9C0)

Транскодирование . c Исходный файл компилируется:

$ gcc transcoding.c -o out -lavformat -lavcodec -lavutil -lavfilter

Вызов исполняемого файла прост. :

$ ./out $INPUT_VIDEO $OUTPUT_VIDEO

, где $ INPUT_VIDEO - это контейнер mp4 (h264 / aa c)

До этого момента все работало на моем Debian 10 ВМ (если это актуально). Однако я получаю следующий ошибочный вывод:

[h264_v4l2m2m @ 0x564f664eebc0] Could not find a valid device
[h264_v4l2m2m @ 0x564f664eebc0] can't configure encoder
Cannot open video encoder for stream #0
Error occurred: Invalid argument

В статье, которую я прикрепил, сказано, что мне нужно добавить ее при компиляции FFmpeg, поэтому я изменил строку . / Configure , как указано выше, но безрезультатно. Буду признателен за любую помощь или руководство.

1 Ответ

0 голосов
/ 14 февраля 2020

Решено! Мои параметры ./configure были неверными.

Пришлось использовать:

$ ./configure --enable-shared --enable-libx264 --enable-gpl
...