当前位置: 首页 > 工具软件 > libav > 使用案例 >

痛苦的ffmpeg libav编译安装过程

奚昌胤
2023-12-01

最近学习音视频,打算编译一下ffmpeg,然后用c++写一些小demo,结果编译过程中遇到了几个问题,记录一下

1 根据教程安装

链接: ffmpeg编译指南

2 遇到的问题和解决办法

2.1 安装libaom
     可能是因为某种原因,这个库下载不了,只能将后面安装ffmpeg时的–enable-libaom改为–disable-libaom
2.2
    中间有几个忘了,想起来再写
2.3 使用过程中的坑
    1,按上面的教程会修改环境变量(上面链接有解释为什么要这样做),导致在使用ffmpeg命令行工具的时候,会出现“找不到libdav1d.so.5”类似这样的错误,同时之后写程序的时候编译可以通过但是不能运行,这个错误有两点需要改:一个是取消修改过的环境变量,二是将生成的动态库所在目录添加到/etc/ld.so.conf中
    2,链接时如果只添加用到的libavformat.a或者libavcodec.a这样的静态库,而不添加依赖,就会出现很多undefined reference错误,在编译ffmpeg之后,之前创建的ffmpeg_build/lib目录下有一个pakconfig目录,其中有以各个库名为头,以.pc为后缀的文件,打开能开到每个库的依赖,需要将其按顺序添加到编译选项中,主要放到对应库的后面,里面有很多重复的,不要修改,因为有循环依赖之类的。具体我也不太懂。
    3,用c++编译器编译时,include头文件的时候要用extern “C” {}包起来,不然会报undefined reference错误
    遇到了挺多问题的,但是到写文章的时候有些问题反倒想不起来了,以后再说吧。

 类似资料: