不用交叉编译,make ffmpeg通常没有多少问题。但若是是用交叉编译,配置ffmpeg就显得比较重要,若是配置不正确,编译就没法经过。linux
通常状况下 ./configure --helpspa
配置选项比较多,这也是ffmpeg比较灵活的地方。编译老是出现以下问题:code
配置选项通常以下:
[root@tanyc-linux ffmpeg-checkout-2009-08-10]# ./configure --enable-cross-compile --cc=arm-linux-gcc --enable-gpl --arch=armv4l --enable-shared --target-os=linux --disable-mmx --disable-network --enable-armv6t2 --enable-armvfp --disable-yasmorm
2.LIB库的使用:get
通常编译完成后,使用编译好的lib库编译链接另外一个程序时,须要设置lib 的搜索路径。通常能够把库拷贝到系统的lib路径下(usr/lib 或lib),或者设置本身的lib路径,可经过LD_LIBRARY_PATH设置:如export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/xxx/lib 。也能够将库的路径/home/xxx/lib 添加到/etc/ld.so.conf文件中,再经过命令ldconfig 更新到/etc/ld.so.cache中.it
3.命令asm
./configure --disable-yasm --enable-cross-compile --cc=arm-hisiv200-linux-gnueabi-gcc --enable-gpl --enable-shared --arch=arm --enable-shared --target-os=linux --prefix=/usr/local/ffmpeg编译
4.使用form
arm-hisiv200-linux-gnueabi-gcc -Wall -g -I/usr/local/ffmpeg/include -o segmenter m3u8-segmenter.c -L/usr/local/ffmpeg/lib -Wl,-rpath=/usr/local/ffmpeg/lib/ -lavformat -lavcodec -lavutil -lmtest
5.使用segmenter切片
./segmenter -i test.ts -d 10 -p onedemo -m test.m3u8 -u ./