¿Cómo se puede utilizar libavformat sin usar otras bibliotecas libav?

Me gustaría un ejemplo simple de uso de solo libavformat para mux video. Hay buenos ejemplos (doc / examples / muxing.c) que muestran la codificación con libavcodec, muxing con libavformat y guardando los datos con libavio. Sin embargo, no hay ningún ejemplo que conozca que use libavformat por sí mismo, alimentando datos codificados en un búfer y obteniendo datos en un búfer.

La dificultad es doble: una, agregando un flujo conavformat_new_stream(AVFormatContext *s, const AVCodec *c) requiere una referencia al codec; y dos, la salida de muxing se pasa aAVFormatContext->pb que es unAVIOContext*. Por lo tanto, parece que no hay una forma (obvia) de extraer el formato libav de las otras bibliotecas libav.

Vea también: Esta pregunta menciona una manera de no usar libavio:Obtener paquetes de TS en el búfer de libavformat

Respuestas a la pregunta(1)

Su respuesta a la pregunta