在ubuntu linux下,开发一个简单的ffmpeg程序,也就是编译通过,可以运行一个av_register_all();
万事开头难,跨出这一步,需要:
编译好的ffmpeg库和头文件
一个简单的c文件
一个makefile文件
现在ffmpeg早已静静躺在/usr/local/include ;/usr/local/lib里面了;
一个简单测c文件(本来是想用c++的,但是编译会报错误,所以先用c文件吧)
#include <stdio.h>
//#ifdef __cplusplus
//extern "C" {
//#endif
#include <libavutil/avutil.h>
#include <libavcodec/avcodec.h>
#include <libavformat/avformat.h>
//#ifdef __cplusplus
//} // endof extern "C"
//#endif
//using namespace std;
int main()
{
printf("Hello World!\n");
av_register_all();
return 0;
}
内容很简单,包含三个头文件,一个main函数,打印hello world,然后调用第一个ffmpeg注册函数;
makefile文件
all:helloFF
CC=gcc
CLIBSFLAGS=-l avutil -l avcodec -l avformat
helloFF:helloFF.o
$(CC) -o helloFF helloFF.o $(CLIBSFLAGS)
helloFF.o:helloFF.c
$(CC) -o helloFF.o -c helloFF.c $(CLIBSFLAGS)
clean:
rm helloFF helloFF.o
makefile简介:
当它make以后,展开是这样的:
my@007-pc:~/projects/HelloFF$ make
gcc -o helloFF.o -c helloFF.c -l avutil -l avcodec -l avformat
gcc -o helloFF helloFF.o -l avutil -l avcodec -l avformat