如何在libavformat中设置muxer选项?

时间:2013-10-18 16:54:01

标签: ffmpeg libavformat

我正在尝试使用libavformat muxer“hlsenc.c”....查看多路复用器的代码,看起来muxers通过AVOption机制支持参数...例如,hlsenc.c muxer支持名为“hls_time”的AVOption参数......

我正在使用av_guess_format(“hls”,NULL,NULL)来查找合适的输出格式,但是如何设置这些选项呢?

(好像互联网上的所有样本都在编解码器上设置选项...我想在多路复用器上设置选项。)

2 个答案:

答案 0 :(得分:3)

  1. 使用avformat_alloc_output_context2()为您猜测格式。
  2. 然后使用avio_open2()打开文件。 avio_open2()是您正在寻找的“现代方式”。
  3. 如您所见,它具有options参数。

    int avio_open2( AVIOContext **s,
                    const char *url,
                    int flags,
                    const AVIOInterruptCB *int_cb,
                    AVDictionary **options ); // \o/
    

答案 1 :(得分:0)

Muxer选项可以传递给avformat_write_header的第二个参数