我正在尝试使用 libavformat 多路复用器“hlsenc.c”....查看多路复用器的代码,看起来多路复用器通过 AVOption 机制支持参数...例如,hlsenc.c 多路复用器支持 AVOption名为“hls_time”的参数...
我正在使用 av_guess_format("hls",NULL,NULL) 来查找合适的输出格式,但是如何设置这些选项?
(似乎互联网上的所有示例都在编解码器上设置选项......我想在多路复用器上设置选项)。
我正在尝试使用 libavformat 多路复用器“hlsenc.c”....查看多路复用器的代码,看起来多路复用器通过 AVOption 机制支持参数...例如,hlsenc.c 多路复用器支持 AVOption名为“hls_time”的参数...
我正在使用 av_guess_format("hls",NULL,NULL) 来查找合适的输出格式,但是如何设置这些选项?
(似乎互联网上的所有示例都在编解码器上设置选项......我想在多路复用器上设置选项)。
avformat_alloc_output_context2()
为您猜测格式。avio_open2()
打开文件。avio_open2()
是您正在寻找的“现代方式”。如您所见,它具有options
参数。
int avio_open2( AVIOContext **s,
const char *url,
int flags,
const AVIOInterruptCB *int_cb,
AVDictionary **options ); // \o/
复用器选项可以传递给第二个参数avformat_write_header