ffmpeg开发环境搭建
源码下载
http://www.ffmpeg.org/download.html
点进去下载源码即可。
编译和安装
解压文件夹后可以看到一个INSTALL.md,里面写了详细的安装过程。
这里编译静态库并安装到指定目录,方便后续开发。但是文档里好像没写怎么这样做,help一下。
./configure --help
正好可以使用–prefix指定安装目录。
# 配置
./configure --prefix=./_install --disable-x86asm
# 编译
make
# 安装
make install
测试
使用cmake写一个测试。
目录:
.
├── build
├── CMakeLists.txt
├── ffmpeg_test.c
├── include
│ ├── libavcodec
│ ├── libavdevice
│ ├── libavfilter
│ ├── libavformat
│ ├── libavutil
│ ├── libswresample
│ └── libswscale
└── lib
├── libavcodec.a
├── libavdevice.a
├── libavfilter.a
├── libavformat.a
├── libavutil.a
├── libswresample.a
├── libswscale.a
└── pkgconfig
ffmpeg_test.c:
#include "libavcodec/avcodec.h"
int main()
{
printf("avcodec_version %d\n",avcodec_version());
return 0;
}
CMakeLists.txt:
cmake_minimum_required(VERSION 3.0)
project(ffmpeg_test)
include_directories(./include)
link_directories(./lib)
set(SRC_LIST
./ffmpeg_test.c
)
add_executable(ffmpeg_test ${SRC_LIST})
target_link_libraries(ffmpeg_test avcodec avdevice avfilter avformat avutil swresample swscale)
结果:
交叉编译
海思3516交叉编译
./configure \
--prefix=./_install_35116 \
--cross-prefix=arm-himix200-linux- \
--arch=arm \
--target-os=linux \
--disable-asm \
--enable-ffmpeg \
--disable-ffplay \
--enable-pthreads \
--enable-cross-compile \
--host-os=linux \
--enable-gpl \
CMakeLists.txt样例:
cmake_minimum_required(VERSION 3.0)
project(ffmpeg_test)
set(CMAKE_C_COMPILER "arm-himix200-linux-gcc")
include_directories(./include)
link_directories(./lib)
set(SRC_LIST
./ffmpeg_test.c
)
add_executable(ffmpeg_test ${SRC_LIST})
target_link_libraries(
ffmpeg_test
pthread
avfilter
avformat
avcodec
avutil
swresample
swscale
m
z
)