【问题标题】:FFmpeg fourcc Avi codec support list?FFmpegfourcc Avi编解码器支持列表?
【发布时间】:2012-02-02 10:06:07
【问题描述】:

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

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

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

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

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

【问题讨论】:

  • 我在 FFMpeg 特定论坛上问过这个问题,并被告知没有这样的列表。这对我来说听起来很奇怪......

标签: ffmpeg codec avi


【解决方案1】:

可以通过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 获取特定格式的映射

【讨论】:

    【解决方案2】:

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

    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
    

    【讨论】:

      【解决方案3】:

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

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

      这样的行很多

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-05-21
        • 1970-01-01
        • 2011-04-10
        • 2017-03-30
        • 2013-03-31
        • 1970-01-01
        • 2013-01-11
        • 1970-01-01
        相关资源
        最近更新 更多