Я использую RaspberryPi 1gen B+, для передачи потока в Интернет через RTMP. Но я считаю, что загрузка моего процессора достигла +90%. Вот как я это использую:

ffmpeg -re -f concat -safe 0 -i playlist.txt -vcodec copy -acodec aac -f flv "rtmp://example.com:1060"

поэтому я хочу использовать графический процессор для декодирования / кодирования. После исследования Google я нашел "h264_omx", и я реализовал h264_omx:

pi@pi:/usr/src/ffmpeg $ sudo ./configure --enable-omx --enable-omx-rpi
sudo make
sudo make install

поэтому я использую:

ffmpeg -re -f concat -safe 0 -i playlist.txt -vcodec h264_omx -acodec aac -f flv "rtmp://example.com:1060"

выход здесь:

Образ

Но загрузка процессора все еще достигает 90%+, что еще хуже, видео становится нечетким и имеет только 5 кадров в секунду.

так что со мной не так? Возможно ли для 1gen B+ аппаратный кодек?

1 ответ1

0

Я думаю, что запустил то, что вы ищете.
Я использую свою настройку для потоковой передачи с моего компьютера на скорости ~ 50000KBit ~ 720p H264 локально на мой RaspberryPi3, на котором работает сервер nginx/rtmp, и с помощью аппаратного ускорения сжимаю поток через ffmpeg и отправляю этот поток, а не дергаться на 3500KBit.
Это то, что вы ищете? На первый взгляд, я думаю, что вам не хватает ускорения декодирования.

Поток # 0:1 -> # 0:0 (h264 (натив) -> h264 (h264_omx))
Вы декодируете поток с помощью программного кодека и снова кодируете с помощью аппаратного кодека. программный кодек заставляет процессор задыхаться.

Поток # 0:1 -> # 0:0 (h264 (h264_mmal) -> h264 (h264_omx))
Таким образом, вы используете аппаратное ускорение h264_mmal для декодирования и аппаратное ускорение h264_omx для кодирования.

Я работаю над сценарием установки для этой установки и готов поделиться. Если это то, что вы ищете, я могу вам помочь.
Вы можете посмотреть результаты на моем твитч-канале https://www.twitch.tv/jeezz

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .