¿Cuál es la cantidad mínima de metadatos para transmitir solo el video usando LIBX264 para codificar en el servidor y libffmpeg para decodificar en el cliente?

StackOverflow https://stackoverflow.com//questions/9710471

Pregunta

Quiero transmitir video (sin audio) de un servidor a un cliente.Codearé el video usando LIBX264 y la decodificaré con FFMPEG.Planeo usar la configuración fija (al menos, se conocerán por adelantado tanto por el cliente como por el servidor).Me preguntaba si puedo evitar envolver el video comprimido en un formato de contenedor (como MP4 o MKV).

ahora mismo puedo codificar mis marcos usando x264_encoder_ENCODE.Recibo un marco comprimido, y puedo hacerlo por cada marco.Qué información adicional (en su caso) necesito enviar al cliente para que FFMPEG pueda decodificar los marcos comprimidos y, lo que es más importante, ¿cómo puedo obtenerlo con LIBX264?Supongo que es posible que necesite generar información nal (x264_Nal_Encode?).Tener una idea de cuál es el mínimo necesario para llevar el video, y cómo juntar las piezas serían realmente útiles.

¿Fue útil?

Solución

Descubrí que la cantidad mínima de información son las unidades nal de cada cuadro, esto me dará una corriente cruda H264.Si tuviera que escribir esto en un archivo, podría verlo usando VLC si agrega un .h264 También puedo abrir dicho archivo usando FFMPEG, pero si quiero transmitirlo, entonces tiene más sentido usar RTSP, y una buena biblioteca de código abierto para eso es LIVE555: http://www.live555.com/livemedia/

En sus preguntas frecuentes, mencionan cómo enviar la salida de su codificador a LIVE555, y hay una fuente tanto para un cliente como para un servidor.Todavía tengo que terminar de codificar esto, pero parece una solución razonable

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top