La Raspberry Pi realizará una codificación h264 acelerada por hardware al grabar video desde la placa de la cámara. ¿Cómo puedo codificar h264 (usando aceleración de hardware) cuando las imágenes de origen no provienen directamente de la cámara?
¿Hay alguna herramienta de línea de comando que soporte esto?
Si no, ¿qué API debería considerar para que esto sea posible?
raspiyuv -o - | rpi-encode-yuv
(aproximadamente) de dónde es larpi-encode-yuv
herramienta desde aquí . El tamaño del marco está codificado en esta herramienta, por lo que debe cambiarlo al comienzo del archivo C y volver a compilarlo. Desafortunadamente, aún no he logrado obtener una salida correctamente alineada, yaraspiyuv
que no parece codificar el tamaño del cuadro en su salida. Obtengo una imagen que cambia gradualmente y que finalmente se convierte en basura. Sigo trabajando en eso.Respuestas:
GStreamer está incluido en Raspbian y con su complemento OpenMAX utilizará las capacidades de codificación de hardware de Raspberry Pi.
Consulte este enlace para obtener un tutorial sobre cómo hacer lo que está buscando: https://www.raspberrypi.org/forums/viewtopic.php?t=72435
Si está interesado en la transcodificación, acabo de publicar una respuesta a otra pregunta que podría interesarle: ¿Qué velocidad puedo esperar de la codificación por hardware H264?
fuente
Parece que compilando ffmpeg usted mismo, en RPi3B + puede obtener
El script para ayudar a lograr todo esto está en un hilo del foro .
fuente