Raspberry Pi будет выполнять аппаратное ускорение кодирования h264 при записи видео с платы камеры. Как я могу кодировать h264 (используя аппаратное ускорение), когда исходные изображения не поступают непосредственно с камеры?
Есть ли инструменты командной строки, которые поддерживают это?
Если нет, на какие API мне следует обратить внимание, чтобы сделать это возможным?
raspiyuv -o - | rpi-encode-yuv
(примерно), гдеrpi-encode-yuv
инструмент отсюда . Размер кадра жестко запрограммирован в этом инструменте, поэтому вам нужно изменить его в начале файла C и перекомпилировать. К сожалению, мне пока не удалось получить правильно выровненный вывод, так какraspiyuv
, похоже, не кодируется размер кадра в вывод. Я получаю постепенно меняющуюся картину, которая в конечном итоге превращается в мусор. Все еще работаю над этим.Ответы:
GStreamer включен в Raspbian и вместе со своим плагином OpenMAX будет использовать возможности аппаратного кодирования Raspberry Pi.
Смотрите эту ссылку для учебника о том, что вы ищете: https://www.raspberrypi.org/forums/viewtopic.php?t=72435
Если вы заинтересованы в транскодировании, я только что опубликовал ответ на другой вопрос, который может вас заинтересовать: какую скорость можно ожидать от аппаратного кодирования H264?
источник
Похоже, компилируя ffmpeg самостоятельно, на RPi3B + вы можете получить
Сценарий, помогающий добиться всего этого, находится в ветке форума .
источник