1.ffmpeg 源码下载
https://ffmpeg.org/releases/(根据自己需求下载对应源码)
2.编译
下载源码解压到用户目录。
执行以下命令去配置:
./configure --cross-prefix=arm-linux-gnueabihf- --enable-cross-compile --target-os=linux --cc=arm-linux-gnueabihf-gcc(编译器) --arch=arm --prefix=(安装目录) --enable-shared --enable-pic --disable-static --enable-gpl --enable-nonfree --disable-ffplay --enable-swscale --enable-pthreads --disable-armv5te --disable-armv6 --disable-armv6t2 --disable-yasm --disable-stripping
./configure --cross-prefix=arm-linux-gnueabihf- --enable-cross-compile --target-os=linux --cc=arm-linux-gnueabihf-gcc --arch=arm --prefix=/home/vmuser/ff/ --enable-shared --enable-pic --enable-static --enable-gpl --enable-nonfree --enable-libx264 --extra-cflags=”-I/home/vmuser/h264/h264_ff/include/ff” –extra-ldflags=”-L/home/vmuser/h264/h264_ff/lib/ff” --enable-swscale --enable-pthreads --disable-armv5te --disable-armv6 --disable-armv6t2 --disable-yasm --disable-stripping
-------------------------------------------------------------------------------------------------------------------------
./configure --prefix=/home/vmuser/pengshuowang/a7/Ffmpeg/libx264/x264_arm --enable-static --enable-pic --host=arm-linux-gnueabihf --cross-prefix=arm-linux-gnueabihf- --disable-asm
-------------------------------------------------------------------------------------------------------------------------
./configure --prefix=/home/vmuser/ff --enable-cross-compile --cross-prefix=arm-linux-gnueabihf- --cc=arm-linux-gnueabihf-gcc --arch=arm --target-os=linux --enable-gpl --enable-shared --enable-pic --enable-nonfree --enable-libx264 --pkg-config-flags=--static --enable-swscale --enable-pthreads --disable-armv5te --disable-armv6 --disable-armv6t2 --disable-yasm --disable-stripping --extra-cflags="-I/home/vmuser/h264/h26_ff/include" --extra-ldflags="-L/home/vmuser/h264/h26_ff/lib" --extra-libs=-ldl
./configure --prefix=/home/horo/arm/software/ffmpeg_arm --enable-cross-compile --cross-prefix=arm-none-linux-gnueabi- \
--arch=armel --target-os=linux --enable-gpl --enable-nonfree --extra-cflags="-I/home/horo/arm/software/fdkaac_arm/include \
-I/home/horo/arm/software/x264_arm/include -I/home/horo/arm/software/sdl2_arm/include/SDL2" \
--extra-ldflags="-L/home/horo/arm/software/fdkaac_arm/lib -L/home/horo/arm/software/x264_arm/lib \
-L/home/horo/arm/software/sdl2_arm/lib" --enable-libfdk-aac --enable-libx264 --pkg-config-flags=--static \
--extra-libs="-ldl -fpic -shared -lSDL2" --enable-shared
执行完成后,用make,make install进行编译安装。
3.移植
Make install 成功后,用户安装目录下出现bin,include,lib,share目录。
进入bin目录执行file ffmpeg 查看编译出的执行程序是否是ARM架构。
移植时把对应的bin,lib目录下的文件移植到对应板子上的/usr/bin,/usr/lib目录下,注意查看解压时软链接是否失效,可用ls -l查看库文件的软链接(其它目录若有调用可自行移植)。
若出现/usr/lib空间不足时,可放在/opt目录或者ext4格式的TF卡,然后指定其库文件路径。操作步骤如下:
在/etc/profile文件最后一行加入
export LD_LIBRARY_PATH=/opt/lib:$LD_LIBRARY_PATH
退出保存后执行source /etc/profile,然后执行ffmpeg -version进行验证,若无报任何错误表示移植成功。
export LD_LIBRARY_PATH=/opt/face_demo/env/opencv/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/opt/face_demo/env/sqlite3/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/opt/face_demo/lib:$LD_LIBRARY_PATH