解压:
$ cd ffmpeg
设置环境变量:
$ source /home/myzr/my-work/03_toolchain/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu.env
(注意:都要编译都要设置环境变量)
编译:
配置configure脚本
$ ./configure --prefix=/home/myzr/my-work/source_tar/ffmpeg/install --enable-shared --disable-static --enable-gpl --enable-cross-compile --arch=arm64 --disable-stripping --target-os=linux --cc=aarch64-linux-gnu-gcc --enable-swscale --extra-ldflags=-L/home/myzr/my-work/source_tar/ffmpeg/install/lib --extra-cflags=-I/home/myzr/my-work/source_tar/ffmpeg/install/include
./configure的配置非常重要,没有配置正确都有可能编译不通过,每个应用的配置都有可能是不同的。(注意:配置的时候要使用绝对路径)
配置的参数:
–prefix=/home/myzr/my-work/source_tar/ffmpeg/install64 此条是为了确定编译安装的路径,不确定好路径会导致安装编译完不知道编译去了哪。
–enable-shared 使能编译后会链接成共享对象,即是编译成动态链接库
–disable-static 不使能编译后生成静态对象,即是不会编译成静态库
–enable-gpl 使能必须以GPL发布
–enable-cross-compile 使能交叉编译
–arch=arm 指定架构,一般是arm,32位的。如果是64位的,请更改为arm64
–disable-stripping 禁用剥离可执行程序和共享库
–target-os=linux 指定目标操作系统
–cc=aarch64-linux-gnu-gcc 指定编译使用的交叉编译工具,如果开发板不支持此款交叉编译工具是不可使用的,一般为平时所用平台的交叉编译工具。
–enable-swscale
–extra-ldflags=-L/home/myzr/my-work/source_tar/ffmpeg/install64/lib 指定将应用的库函数放入此目录
–extra-cflags=-I/home/myzr/my-work/source_tar/ffmpeg/install64/include 指定将应用的include文件放入此目录下
$ make<–正式编译
$ make install<–安装
打包安装目录:
$ cd …/install
$ sudo tar -cjf ffmpeg.tar.bz2 ./* ----将其压缩打包
把打包好的压缩包ffmpeg.tar.bz2利用tftp移动到开发板根目录进行解压:
$ tftp -g -r ffmpeg.tar.bz2 192.168.137.99
$ tar -xvf ffmpeg.tar.bz2 -C / 解压到根目录下对应的lib,bin,share等目录下
最后输入以下命令查看,ffmpeg的命令帮助,证明已经移植成功。
$ ffmpeg -h