3

libav* 形式の完全なリストはどこで入手できますか?

4

3 に答える 3

16

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, "%s\n", codec->long_name);
    codec = av_codec_next(codec);
}

フォーマットのリストを取得するには、同じ方法でav_format_nextを使用します。

AVOutputFormat * oformat = av_oformat_next(NULL);
while(oformat != NULL)
{
    fprintf(stderr, "%s\n", oformat->long_name);
    oformat = av_oformat_next(oformat);
}

特定の形式で推奨されるコーデックも確認したい場合は、コーデックタグリストを繰り返すことができます。

AVOutputFormat * oformat = av_oformat_next(NULL);
while(oformat != NULL)
{
    fprintf(stderr, "%s\n", 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, "    %d\n", cid);
        }
    }
    oformat = av_oformat_next(oformat);
}
于 2012-06-12T09:52:35.203 に答える
3

これは、構成方法によって異なります。libavformat をビルドすると一覧が表示されます。ffmpeg -formatsffmpeg がビルドされている場合は、入力してリストを表示することもできます。サポートされているすべての形式のリストもここにあります

于 2010-05-30T22:18:45.477 に答える