FFmpeg fourcc Avi 编解码器支持列表?

发布于 2024-12-24 16:53:50 字数 400 浏览 3 评论 0原文

stackoverflow 上有几个类似的问题,但我无法弄清楚这个确切的问题。

我想要获取 FFMpeg 可以解码的 avi 编解码器的 fourcc 列表。

我知道如何获取所有格式 ffmpeg -formats 和编解码器 ffmpeg -codecs 但两个列表都没有给我提供可访问的 fourccs 列表。我能找到的文档也没有。

我需要这个列表,以便我的应用程序可以访问 avi 文件的 fourcc 并确定是使用 ffmpeg 还是 VfW< /code> (或 DirectX)尝试解码文件。

是否有一些 ffmpeg 命令可以给我这个列表?

A couple of similar questions are on stackoverflow, but I haven't been able to figure this exact problem out.

I want to get a list of the fourccs for the avi codecs that FFMpeg can decode.

I know how to get all the formats ffmpeg -formats and codecs ffmpeg -codecs but neither list gives me an accessible list of fourccs. Neither does the documentation I can find.

I need this list, so that my application can access the fourcc of an avi file and determine whether to use ffmpeg or VfW (or DirectX) to try decode the file.

Is there some ffmpeg command that can give me this list?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

平安喜乐 2024-12-31 16:53:50

为了扩展 Darren 上面给出的答案(并且因为注释工具不允许这么多文本),这里是从 ffmpeg.org 上的 isom_8c 源文件解析的编解码器的完整列表:

raw     yuv2    2vuy    yuvs    L555    L565    B565    24BG
BGRA    RGBA    ABGR    b16g    b48r    bxbg    bxrg    bxyv
NO16    DVOO    R420    R411    R10k    R10g    r210    AVUI
AVrp    SUDS    v210    bxy2    v308    v408    v410    Y41P
yuv4    jpeg    mjpa    AVDJ    AVRn    dmb1    mjpb    SVQ1
svq1    svqi    SVQ3    mp4v    DIVX    XVID    3IV2    h263
s263    dvcp    dvc     dvpp    dv5p    dv5n    AVdv    AVd1
dvhq    dvhp    dvh1    dvh2    dvh4    dvh5    dvh6    dvh3
VP31    rpza    cvid    8BPS    smc     rle     WRLE    qdrw
WRAW    avc1    ai5p    ai5q    ai52    ai53    ai55    ai56
ai1p    ai1q    ai12    ai13    ai15    ai16    m1v1    mpeg
m1v     m2v1    hdv1    hdv2    hdv3    hdv4    hdv5    hdv6
hdv7    hdv8    hdv9    hdva    mx5n    mx5p    mx4n    mx4p
mx3n    mx3p    xd54    xd55    xd59    xd5a    xd5b    xd5c
xd5d    xd5e    xd5f    xdv1    xdv2    xdv3    xdv4    xdv5
xdv6    xdv7    xdv8    xdv9    xdva    xdvb    xdvc    xdvd
xdve    xdvf    xdhd    xdh2    AVmp    mjp2    tga     tiff
gif     png     MNG     vc-1    avs2    drac    AVdn    H263
3IVD    AV1x    AVup    sgi     dpx     exr     apch    apcn

To extend the answer given above by Darren (and because the comment facility doesn't allow this much text) here is the full list of codecs parsed from the isom_8c-source file on ffmpeg.org:

raw     yuv2    2vuy    yuvs    L555    L565    B565    24BG
BGRA    RGBA    ABGR    b16g    b48r    bxbg    bxrg    bxyv
NO16    DVOO    R420    R411    R10k    R10g    r210    AVUI
AVrp    SUDS    v210    bxy2    v308    v408    v410    Y41P
yuv4    jpeg    mjpa    AVDJ    AVRn    dmb1    mjpb    SVQ1
svq1    svqi    SVQ3    mp4v    DIVX    XVID    3IV2    h263
s263    dvcp    dvc     dvpp    dv5p    dv5n    AVdv    AVd1
dvhq    dvhp    dvh1    dvh2    dvh4    dvh5    dvh6    dvh3
VP31    rpza    cvid    8BPS    smc     rle     WRLE    qdrw
WRAW    avc1    ai5p    ai5q    ai52    ai53    ai55    ai56
ai1p    ai1q    ai12    ai13    ai15    ai16    m1v1    mpeg
m1v     m2v1    hdv1    hdv2    hdv3    hdv4    hdv5    hdv6
hdv7    hdv8    hdv9    hdva    mx5n    mx5p    mx4n    mx4p
mx3n    mx3p    xd54    xd55    xd59    xd5a    xd5b    xd5c
xd5d    xd5e    xd5f    xdv1    xdv2    xdv3    xdv4    xdv5
xdv6    xdv7    xdv8    xdv9    xdva    xdvb    xdvc    xdvd
xdve    xdvf    xdhd    xdh2    AVmp    mjp2    tga     tiff
gif     png     MNG     vc-1    avs2    drac    AVdn    H263
3IVD    AV1x    AVup    sgi     dpx     exr     apch    apcn
凹づ凸ル 2024-12-31 16:53:50

我不知道它是否全面,但源代码似乎包含 FourCC 列表。

看看http://ffmpeg.org/doxygen/trunk/isom_8c-source.html

有很多像这样的行

{ CODEC_ID_AAC,             MKTAG('m', 'p', '4', 'a') }

您应该能够下载最新的源代码并编写一个脚本来挑选它们。

I don't know if it's comprehensive but the source code seems to contain a list of FourCCs.

Look at http://ffmpeg.org/doxygen/trunk/isom_8c-source.html

There are lots of lines like this

{ CODEC_ID_AAC,             MKTAG('m', 'p', '4', 'a') }

You should be able to download the latest source and write a script to pick them out.

青衫负雪 2024-12-31 16:53:50

可以通过 avformat api 进行映射,而无需挖掘源代码。

 uint32_t tag = MKTAG('H', '2', '6', '4');
 const struct AVCodecTag *table[] = { avformat_get_riff_video_tags(), 0 };
 enum AVCodecID vcodec = av_codec_get_id(table, tag );

函数 avformat_get_riff_video_tagsavformat_get_riff_audio_tagsav_codec_get_id 均在“libavformat/avformat.h”中定义。

您还可以使用表 AVOutputFormat.codec_tagAVInputFormat.codec_tag 获取特定格式的映射

It is possible to the mapping via avformat api, without digging in the source code.

 uint32_t tag = MKTAG('H', '2', '6', '4');
 const struct AVCodecTag *table[] = { avformat_get_riff_video_tags(), 0 };
 enum AVCodecID vcodec = av_codec_get_id(table, tag );

The functions avformat_get_riff_video_tags, avformat_get_riff_audio_tags and av_codec_get_id are all defined in "libavformat/avformat.h".

you can also get the mapping for a specific format using the table AVOutputFormat.codec_tag or AVInputFormat.codec_tag

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文