avcodec_get_name在Ubuntu libavcodec中不可用,我应该使用什么?
我第一次尝试在Ubuntu上用ffmpeg编程。非字符看起来有点混乱,但这和libavformat、libavcodec是一样的,对吗 我可以编译并运行一个程序,在mp3文件上调用avcodec_get_name在Ubuntu libavcodec中不可用,我应该使用什么?,c,ubuntu,ffmpeg,C,Ubuntu,Ffmpeg,我第一次尝试在Ubuntu上用ffmpeg编程。非字符看起来有点混乱,但这和libavformat、libavcodec是一样的,对吗 我可以编译并运行一个程序,在mp3文件上调用avformat\u open\u input,显然很成功,现在我正试图从中获取一些信息 首先,我想调用的audio\u codec\u id成员,但在/usr/include/libav{codec,format,util}的任何头中都不会出现该名称的函数 我从GitHub查看了最新的ffmpeg,并将avcodec
avformat\u open\u input
,显然很成功,现在我正试图从中获取一些信息
首先,我想调用的audio\u codec\u id
成员,但在/usr/include/libav{codec,format,util}的任何头中都不会出现该名称的函数
我从GitHub查看了最新的ffmpeg,并将avcodec.h与我安装的版本进行了比较。这些文件显然大致相同,但除其他差异外,avcodec\u get\u name(AVCodecID)
已替换为avcodec\u get\u class(void)
,尽管两者之间似乎没有任何对应关系
令人困惑的是,省略avcodec_get_类而忽略avcodec_get_名称。看看URL,前者应该是最新版本,对应于我在GitHub中签出的内容,后者应该是过时的,但反过来似乎是正确的
有人能告诉我吗
ffmpeg
,您应该会看到随软件包一起安装的库的版本。如果软件包是健全的,它将是ffmpeg的长期版本(例如1.1.x)。然后,您可以通过从ffmpeg repo中检出相应版本来查找该版本的文档。您还可以找到tarball附带的文档。
请注意,我不确定您的Ubuntu版本附带的ffmpeg包是真正的ffmpeg还是所谓的ffmpeg的libav fork。如果你不知道这件事。不幸的是,如果你没有真正的ffmpeg,所有的赌注都没有了。libav用户可能已经删除了avcodec\u get\u name()
,您对此无能为力。还要注意的是,我刚刚尝试使用最近(<2周)的ffmpeg git签出来编译我的基于ffmpeg的应用程序,我没有收到使用avcodec\u get\u name()
的任何弃用警告。这对我来说意味着调用avcodec\u get\u name()
是当前ffmpeg的有效实践