1、创建C代码文件名叫hello.c,填入下面的代码内容:
1
2
3
4
5
|
#include <libavutil/avutil.h>
int main(int argc, char* argv[]) {
av_log(NULL, AV_LOG_INFO, "hello world\n");
}
|
2、保存并退出该文件,执行以下命令编译hello.c:
1
|
gcc hello.c -o hello -I/usr/local/ffmpeg/include -L/usr/local/ffmpeg/lib -lavformat -lavdevice -lavfilter -lavcodec -lavutil -lswscale -lswresample -lpostproc -lm
|
3、运行编译好的hello程序,也就是执行以下命令:
发现控制台回显日志信息“hello world”,表示测试程序运行正常,说明FFmpeg开发环境已经成功搭建。
4、刚才的测试程序hello.c采用C语言编写,并且使用gcc编译。若要采用C++编程的话,则需改成下面的hello.cpp代码:
1
2
3
4
5
6
7
8
9
10
11
|
#include <iostream>
// 因为FFmpeg源码使用C语言编写,所以在C++代码中调用FFmpeg的话,要使用标记“extern "C"{……}”把FFmpeg的头文件包含进来
extern "C"
{
#include <libavutil/avutil.h>
}
int main(int argc, char* argv[]) {
av_log(NULL, AV_LOG_INFO, "hello world\n");
}
|
鉴于C++代码采用g++编译,于是hello.cpp的编译命令变成下面这样:
1
|
g++ hello.cpp -o hello -I/usr/local/ffmpeg/include -L/usr/local/ffmpeg/bin -lavformat -lavdevice -lavfilter -lavcodec -lavutil -lswscale -lswresample -lpostproc -lm
|
编译完毕,同样生成名叫hello的可执行程序,如此就实现了C++代码集成FFmpeg函数的目标了。