野火imx6ull开发板手工移植FFmpeg

移植FFmpeg

有两种方法:

  • 下载源码,手工编译
  • 使用Buildroot,配置选择ffmpeg,直接编译生成映象文件

准备

  • 开发板野火imx6ull
  • USB免驱摄像头
  • 交叉编译工具为arm-linux-gnueabihf
  • debian文件系统

编译x264

x264 是一个免费的软件库和应用程序,用于将视频流编码为 H.264/MPEG-4 AVC压缩格式,

链接:http://www.videolan.org/developers/x264.html

在这里插入图片描述

或者

git clone https://code.videolan.org/videolan/x264.git

下载好文件后,创建编译目标文件

 mkdir x264_install

在这里插入图片描述

进入x264文件,执行以下命令

./configure --prefix=/home/xfy/FFmpeg/x264_install --enable-shared --host=arm-none-linux-gnueabi --cross-prefix=arm-linux-gnueabihf- --disable-asm

参数说明:
–prefix=/home/xfy/FFmpeg/x264_install :指定编译后存放路径.

–host=arm-linux-gnueabihf :指定交叉编译链,用户需要修改为自己的交叉编译器

–cross-prefix=arm-linux-gnueabihf-:交叉编译链地址

–enable-shared :创建动态库

–disable-asm:跳过汇编

在这里插入图片描述

然后选择编译器,进行编译

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- 
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- install

在这里插入图片描述

查看x264_install文件夹

在这里插入图片描述

在这里插入图片描述

将x264_install 下的库文件/lib拷贝到开发板的/lib/目录下


编译 FFmpeg

下载地址:http://ffmpeg.org/download.html

或者

git clone https://git.ffmpeg.org/ffmpeg.git ffmpeg

然后创建ffmpeg_install 编译的目标文件

进入文件夹,修改Makefile文件vi Makefile

在第39行:添加内容, 这是说明我们要进行编译动态文件库:

CFLAGS += -fPIC

在这里插入图片描述

配置编译选项,执行以下命令:

./configure --cross-prefix=arm-linux-gnueabihf- --enable-cross-compile --target-os=linux --cc=arm-linux-gnueabihf-gcc --arch=arm --prefix=/home/xfy/FFmpeg/ffmpeg_install --enable-shared --disable-static --enable-gpl --enable-nonfree --disable-ffplay --enable-swscale --enable-pthreads --disable-armv5te --disable-armv6 --disable-armv6t2 --disable-x86asm --disable-stripping --enable-libx264 --extra-cflags=-I/home/xfy/FFmpeg/x264_install/include --extra-ldflags=-L/home/xfy/FFmpeg/x264_install/lib --extra-libs=-ldl

–cross-prefix=arm-linux-gnueabihf- :配置为自己的交叉编译工具

–enable-cross-compile :允许使用交叉编译

–target-os=linux

–cc=arm-linux-gnueabihf-gcc :配置为自己的交叉编译工具

–arch=arm

–prefix=/home/xfy/FFmpeg/ffmpeg_install :你刚刚创建的编译目标文件

–enable-shared :编译动态库

–disable-static :不编译静态库

–enable-gpl :允许使用GPL(默认关闭)

–enable-nonfree

–disable-ffplay :禁用生成ffplay

–enable-swscale :启用计数器支持(默认关闭)

–enable-pthreads :用pthreads(多线程)(默认关闭)

–disable-armv5te :禁用armv5te

–disable-armv6

–disable-armv6t2

–disable-x86asm :跳过汇编阶段

–disable-stripping : 禁用剥离可执行程序和共享库

–enable-libx264 :启用H.264编码(默认关闭)

–extra-cflags=-I/home/xfy/FFmpeg/x264_install/include :x264编译成功的头文件

–extra-ldflags=-L/home/xfy/FFmpeg/x264_install/lib :x264编译成功的动态库文件

–extra-libs=-ldl:显式加载动态库的动态函数库

跟多参数可参考:https://www.cnblogs.com/azraelly/archive/2012/12/31/2840541.html

在这里插入图片描述

make
make install

编译需要等待的一段时间,编译完成后进行拷贝即可

在这里插入图片描述

将ffmpeg_install/lib 下的 so 库文件全部拷贝到开发板的/lib/目录下
开发板端:

sudo cp ./ffmpeg_install/lib/*so* /lib

将ffmpeg_install/bin/目录下的 ffmpeg 拷贝到开发板的/bin/目录下
开发板端:

sudo cp ./ffmpeg_install/bin/ffmpeg /bin

测试

在开发板上安装好ffmpeg后:

  • 执行命令:ffmpeg -f video4linux2 -s 320x240 -i /dev/video0 /mnt/my.avi
  • 它会把摄像头的数据录制为my.avi
  • 把my.avi复制到PC机,播放
  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值