C ffmpeg-缺少AVM格式头

C ffmpeg-缺少AVM格式头,c,ffmpeg,C,Ffmpeg,我遵循这些步骤 没有问题。它工作得很好。但我不明白。 我的主目录下有两个文件夹。 --FFU源 --FFU构建 ffmpeg_源代码/libavi格式的插入有多个标头 aiff.h apetag.h argo_asf.h asfcrypt.h asf.h ast.h av1.h avc.h avformat.h avi.h avio.h avio_internal.h avlanguage.h ogg.h ... 但是ffmpeg_build/avformat有3个头 avformat.h a

我遵循这些步骤 没有问题。它工作得很好。但我不明白。 我的主目录下有两个文件夹。 --FFU源 --FFU构建

ffmpeg_源代码/libavi格式的插入有多个标头

aiff.h
apetag.h
argo_asf.h
asfcrypt.h
asf.h
ast.h
av1.h
avc.h
avformat.h
avi.h
avio.h
avio_internal.h
avlanguage.h
ogg.h
...
但是ffmpeg_build/avformat有3个头

avformat.h
avio.h
version.h
顺便说一句,这是我的usr/include/x86_64-linux-gnu/libavformat

avformat.h
avio.h
version.h
为什么不是所有的头都在这两个文件中?
例如:我想使用“ogg_read_packet”,但当我尝试
包含
时,我得到
无法打开源文件“libavformat/oggdec.h”C/C++(1696)
错误。

构建和使用库不是一回事

看一看,看一看。您应该已经意识到,没有办法直接使用
ogg\u read\u packet
功能

  • 头文件中没有声明
  • 该函数在源文件中声明为静态
  • 如果您想使用特定的编解码器(这里是ogg)进行编码/解码,您必须找到一个编码器(or)或解码器(or),并将其链接到一个过孔

    然后使用所述的“编码”功能进行编码,并对所述的“解码”功能进行解码

    有关更多信息:

    简而言之,使用公共接口。只有“上帝”知道FFmpeg的内部结构