FFmpeg学习笔记(一)

FFmpeg学习笔记(一)

最近准备开发一个视频播放器,以此来记录自己的学习过程。

FFmpeg的安装

我实在Manjor系统下安装使用的。

参考了如下资料:
https://www.jianshu.com/p/5c159d3721d4
http://blog.yundiantech.com/?log=blog&id=33

一、 下载ffmpeg
源代码地址:http://ffmpeg.org/releases/
我下的是最新版的3.3.9
下载地址:http://ffmpeg.org/releases/ffmpeg-3.3.9.tar.gz

二、安装ffmpeg
将下载到的ffmpeg-3.3.9.tar.gz 复制到linux下并解压。

然后打开终端编译:

1.进入ffmpeg目录
cd ffmpeg-3.3.9
2.配置生成makefile文件
./configure --prefix=/home/ffmpeg --enable-shared
–prefix=/home/ffmpeg 表示最后编译生成的文件的存放路径。
3.依次执行
make
make install

三、配置

执行命令: vim /etc/ld.so.conf.d/ffmpeg.conf

添加内容到文件: /home/ffmpeg/lib ,然后保存并退出

执行 sudo ldconfig 使配置生效

四、Qt中使用FFmpeg
我参考的的是这个:https://blog.csdn.net/gatieme/article/details/20904547

我的配置是这样的:
INCLUDEPATH += /home/ffmpeg/include

LIBS +=-L/home/ffmpeg/lib/ -lavcodec
-L/home/ffmpeg/lib/ -lavdevice
-L/home/ffmpeg/lib/ -lavfilter
-L/home/ffmpeg/lib/ -lavformat
-L/home/ffmpeg/lib/ -lavutil
-L/home/ffmpeg/lib/ -lswresample
-L/home/ffmpeg/lib/ -lswscale

可能还是会出现链接不到的情况,这时候:

打开终端,切到之前编译生成的ffmpeg所在的目录(home目录下),执行如下命令:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:ffmpeg/lib

这句话的意思,给LD_LIBRARY_PATH这个变量添加一个 ffmpeg/lib

这样程序在运行的时候,就能链接到相应的库文件了。

五、运行
测试代码:

#include
#include

extern “C”
{
#include “libavcodec/avcodec.h”

#include “libavformat/avformat.h”

#include “libswscale/swscale.h”

#include “libavdevice/avdevice.h”
}

int main(int argc, char *argv[])
{
av_register_all();
unsigned int ver = avcodec_version();
std::cout << ver << std::endl;
}

成功以后就会显示如下:
FFmpeg学习笔记(一)_第1张图片

你可能感兴趣的:(学习笔记)