开发板使用迅为i.MX6ULL终结者和USB免驱摄像头,交叉编译工具为arm-linux-gnueabihf,yocto Qt5文件系统。 ffmpeg -f video4linux2 -s 320x240 -i /dev/video2 /mnt/topeet.avi
1.编译x264获取x264源码,可以从网站http://www.videolan.org/developers/x264.htm下载,进入如图1.1界面,点击下载;或者用我们已经下载压缩包(与文档同一目录下的x264-master.tar.bz2);
将压缩包放到ubuntu并解压,tar -vxf x264-master.tar.bz2 ,创建文件夹_x264_install用来存放编译后生成的文件,mkdir _x264_install:
进入解压后的路径x264-master,执行以下命令:./configure --enable-shared --prefix=/home/ubuntu/work/ffmpeg/_x264_install/ --host=arm-linux-gnueabihf --disable-asm参数说明:--prefix=/home/ubuntu/work/ffmpeg/_x264_install/ :指定编译后存放路径
--host=arm-linux-gnueabihf :指定交叉编译链,用户需要修改为自己的交叉编译器
--enable-shared :允许共享--disable-asm:跳过汇编修改配置文件config.mak,vi config.mak,修改为自己的路径和交叉编译工具(本文档用的arm-linux-gnueabihf-gcc),SYS_ARCH=ARM
SYS=LINUX
CC= arm-linux-gnueabihf-gcc
LD=arm-linux-gnueabihf-gcc -o
AR= arm-linux-gnueabihf-ar rc
RANLIB= arm-linux-gnueabihf-ranlib执行make,成功后如图
执行make install,成功后如图
查看文件夹_x264_install,发现生成的库文件已经在此目录下:
2.编译FFmpegFFmpeg下载地址:http://ffmpeg.org/download.html,已经把下载好的压缩包放在了文档同一目录下。下载后解压:tar -vxf ffmpeg-snapshot.tar.bz2 ,创建文件夹_ffmpeg_install存放生成的文件:
进入解压后的ffmpeg文件夹,修改Makefile,添加编译选项:CFLAGS += -fPIC,
配置编译选项,执行以下命令:./configure --cross-prefix=arm-linux-gnueabihf- --enable-cross-compile --target-os=linux --cc=arm-linux-gnueabihf-gcc --arch=arm --prefix=/home/ubuntu/work/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/ubuntu/work/ffmpeg/_x264_install/include --extra-ldflags=-L/home/ubuntu/work/ffmpeg/_x264_install/lib --extra-libs=-ldl参数说明:--cross-prefix=arm-linux-gnueabihf-:配置为自己的交叉编译工具--cc=arm-linux-gnueabihf-gcc:配置为自己的交叉编译工具--arch=arm --prefix=/home/ubuntu/work/ffmpeg/_ffmpeg_install:
--extra-cflags=-I/home/ubuntu/work/ffmpeg/_x264_install/include :改为
--extra-ldflags=-L/home/ubuntu/work/ffmpeg/_x264_install/lib :配置成功后如图
执行make开始编译,完成后如图
执行make install,成功后生成的文件在我们创建好的_ffmpeg_install目录下:
3.移植到ARM开发板将_x264_install下的库文件拷贝到开发板的/lib/目录下, cp *x264* /lib/;将_ffmpeg_install/lib下的so库文件全部拷贝到开发板的/lib/目录下,如有警告可忽略;
将_ffmpeg_install/bin/目录下的ffmpeg拷贝到开发板的/bin/目录下:
4.测试插上USB免驱摄像头,设备节点为/dev/video2,在开发板终端执行以下命令:
会出现如下所示:开发板的/mnt/目录下会出现topeet.avi文件,
将此文件拷贝到windows上,用视频播放设备打开:
能看到录像说明移植成功。
共2条
1/1 1 跳转至页
FFmpeg移植-迅为IMX6ULL开发板

FFmpeg(Fast Forward Mpeg)是一种可以用来记录、转换数字音频、视频,并能将其转化为流的多媒体视频处理工具,拥有视频采集功能、视频格式转换、视频抓图等功能。本文介绍如何将ffmpeg移植到ARM平台。
共2条
1/1 1 跳转至页
回复
打赏帖 | |
---|---|
C语言函数宏的三种封装方式被打赏50分 | |
嵌入式LinuxC语言程序调试和宏使用技巧被打赏50分 | |
让代码中包含最新的编译时间信息被打赏50分 | |
【分享开发笔记,赚取电动螺丝刀】STM32F769LVGL优化显示被打赏26分 | |
rtthread硬件加密--2crc加密分析被打赏10分 | |
【分享开发笔记,赚取电动螺丝刀】STM32F769驱动ST7789以及显示优化被打赏36分 | |
【分享开发笔记,赚取电动螺丝刀】S32K146 PAL模拟I2C驱动适配被打赏23分 | |
我想要一部加热台+电源硬件设计规范被打赏16分 | |
我想要一部加热台+LED背光驱动芯片RT9293知识被打赏18分 | |
【分享开发笔记,赚取电动螺丝刀】S32K146 ADC 模块配置使用被打赏24分 |