Как использовать аппаратное кодирование в ffmpeg (h264_omx) на Raspberry Pi 4 под управлением Ubuntu

Я почти закончил миграцию моего RPi4 4GB на Ubuntu 19.10 с помощью Gnome - он работает лучше, чем я ожидал.

На данный момент у меня осталось одно препятствие: использование аппаратного кодировщика h264_omx с ffmpeg (в настоящее время работает с программным кодировщиком h264). По сути, я пытаюсь транслировать одну из своих камер на Youtube, который раньше хорошо работал с Raspbian.

Я выполняю эту команду:

ffmpeg -nostdin -r 14.5 -i http://192.168.1.250:8080/html/cam_pic_new.php?pDelay=66666 -f lavfi -i anullsrc -b: v 2M -b: a 128k -c: v h264_omx -ar 22050 -f flv rtmp: //a.rtmp.youtube.com/live2/

Результат:

[h264_omx @ 0xaaaac8884580] libOMX_Core.so not found
[h264_omx @ 0xaaaac8884580] libOmxCore.so not found
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

Я много погуглил сегодня устанавливаю / компилирую разные вещи.

Я пытался установить libomxil-bellagio-dev и libomxil-bellagio-bin , а также многочисленные руководства по компиляции ffmpeg на RPi, но безрезультатно. Кажется, я никогда не смогу пройти первоначальный тест компилятора C ... он терпит неудачу с такими ошибками, как gcc: error: missing argument to '-mcpu =' .

У кого-нибудь есть какие-то мысли ... меня это действительно беспокоит, потому что сейчас у меня нет потока на Youtube без загрузки процессора более чем на 70%!

1
задан 5 April 2020 в 22:54

1 ответ

Возможно, вам потребуется создать пользовательскую версию FFmpeg, чтобы использовать аппаратный кодировщик на Raspberry Pi. Убедитесь, что флаг --enable-omx и --enable-omx-rpi включен при настройке сборки FFmpeg (см. ссылки ниже для шагов сборки). Эти флаги указывают на то, что сборка FFmpeg выполняется с кодировщиком OpenMAX, специфичным для Raspberry Pi, который незначительно отличается от обычной версии кодировщика OpenMAX (например, они зависят от разных библиотек .so).

См. также

Шаги по сборке FFmpeg для RPi с кодировщиком h264_omx:

http://www.redhenlab.org/home/the-cognitive-core-research-topics- in-red-hen/the-barnyard/hardware-encoding-with-the-raspberry-pi

Почему двоичный файл FFmpeg из репозитория Raspbian не поддерживает кодеки MMAL и OpenMAX:

https://www. raspberrypi.org/forums/viewtopic.php?t=184425#p1166882

1
ответ дан 9 June 2020 в 10:05

Другие вопросы по тегам:

Похожие вопросы: