FFmpeg fourcc Avi 编解码器支持列表?
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 fourcc
s 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
为了扩展 Darren 上面给出的答案(并且因为注释工具不允许这么多文本),这里是从 ffmpeg.org 上的 isom_8c 源文件解析的编解码器的完整列表:
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:
我不知道它是否全面,但源代码似乎包含 FourCC 列表。
看看http://ffmpeg.org/doxygen/trunk/isom_8c-source.html
有很多像这样的行
您应该能够下载最新的源代码并编写一个脚本来挑选它们。
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
You should be able to download the latest source and write a script to pick them out.
可以通过 avformat api 进行映射,而无需挖掘源代码。
函数
avformat_get_riff_video_tags
、avformat_get_riff_audio_tags
和av_codec_get_id
均在“libavformat/avformat.h”中定义。您还可以使用表
AVOutputFormat.codec_tag
或AVInputFormat.codec_tag
获取特定格式的映射It is possible to the mapping via avformat api, without digging in the source code.
The functions
avformat_get_riff_video_tags
,avformat_get_riff_audio_tags
andav_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
orAVInputFormat.codec_tag