Como a libavformat pode ser usada sem usar outras bibliotecas libav?

Eu gostaria de um exemplo simples de trabalho usando apenas libavformat para mux video. Existem bons exemplos (doc / examples / muxing.c) que mostram codificação com libavcodec, muxing com libavformat e salvando os dados com libavio. No entanto, não há nenhum exemplo que eu saiba que use libavformat por si só, alimentando dados codificados em um buffer e obtendo dados muxed em um buffer.

A dificuldade é dupla: uma, adicionando um fluxo comavformat_new_stream(AVFormatContext *s, const AVCodec *c) requer uma referência ao codec; e dois, a saída do muxing é passada paraAVFormatContext->pb que é umAVIOContext*. Assim, parece não haver nenhuma maneira (óbvia) de liberar o libavformat das outras bibliotecas libav.

Veja também: Esta questão menciona uma maneira de não usar o libavio:Obter pacotes TS no buffer do libavformat

questionAnswers(1)

yourAnswerToTheQuestion