Я возиться с учебником по транскодированию 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 , как указано выше, но безрезультатно. Буду признателен за любую помощь или руководство.