libav* 形式の完全なリストはどこで入手できますか?
質問する
4335 次
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 -formats
ffmpeg がビルドされている場合は、入力してリストを表示することもできます。サポートされているすべての形式のリストもここにあります
于 2010-05-30T22:18:45.477 に答える