哪里可以获得libav *格式的完整列表?

哪里可以获得libav *格式的完整列表?     
已邀请:
既然你要求libav *格式,我猜你是在代码示例之后。 要获取所有编解码器的列表,请使用av_codec_next api迭代可用编解码器列表。
/* initialize libavcodec, and register all codecs and formats */
av_register_all();

/* Enumerate the codecs*/
AVCodec * codec = av_codec_next(NULL);
while(codec != NULL)
{
    fprintf(stderr, "%sn", codec->long_name);
    codec = av_codec_next(codec);
}
要获取格式列表,请以相同的方式使用av_format_next:
AVOutputFormat * oformat = av_oformat_next(NULL);
while(oformat != NULL)
{
    fprintf(stderr, "%sn", oformat->long_name);
    oformat = av_oformat_next(oformat);
}
如果您还想查找特定格式的推荐编解码器,可以迭代编解码器标签列表:
AVOutputFormat * oformat = av_oformat_next(NULL);
while(oformat != NULL)
{
    fprintf(stderr, "%sn", oformat->long_name);
    if (oformat->codec_tag != NULL)
    {
        int i = 0;

        CodecID cid = CODEC_ID_MPEG1VIDEO;
        while (cid != CODEC_ID_NONE) 
        {
            cid = av_codec_get_id(oformat->codec_tag, i++);
            fprintf(stderr, "    %dn", cid);
        }
    }
    oformat = av_oformat_next(oformat);
}
    
这取决于它的配置方式。构建libavformat时会显示一个列表。如果你有ffmpeg,你也可以输入
ffmpeg -formats
来查看列表。 此处还列出了所有支持的格式     

要回复问题请先登录注册