成功在mini2440上移植ffmpeg

http://blog.csdn.net/w7849516230/article/details/6761054

在mini2440上,整个移植过程分三个步骤:(1)编译x264;(2)编译ffmpeg;(3)移植成功后,进行测试,即使用ffmpeg录像。

(1)编译x264

官网上下了个最新的x264,地址http://www.videolan.org/developers/x264.html。我下载的文件是last_x264.tar.bz2。

120版本地址

http://pan.baidu.com/s/1jG81TSq

解压命令为#tar  -jxv  -f  last_x264.tar.bz2,解压后的目录为x264-snapshot-20130313-2245。

进入解压后的目录,执行命令./configure --disable-asm,则会生成config.mak。之后就需要修改这个config.mak文件了,改写ARCH=ARM SYS=LINUX CC=arm-linux-gcc,其中CC写成你自己的交叉编译环境位置,相应的AR、RANLIB也是,具体如下图所示。

(注意:如果不进行如下面所示的修改,编译的就是x86的264环境

http://blog.csdn.net/to_cm/article/details/7108986

我记得第10行和第11好像删除了-m32这个选项,如果后面执行make没有出错的话,可以不用管这个了。

然后执行make

再执行make install,因此x264已经编译成功了。在/usr/local/include/目录下会有个x264.h头文件,在/usr/local/lib/目录下会有个libx264.a的库文件。

(2)编译ffmpeg

官网上下载FFmpeg 0.8.14,地址:http://ffmpeg.org/download.html,解压之后tar xzvf 

1.0版本下载地址

http://pan.baidu.com/s/1nt8vNfz

配置编译
(2.1) for x86
#./configure --prefix=/usr/local/ffmpeg/

它会依懒于yasm 一些模块,可以下载yasm-1.2.0.tar.gz,下载地址

http://pan.baidu.com/s/1hqmlu7q

解压后直接./configure make和make install

  (2.2)for arm

执行下面命令:

./configure --cross-prefix=arm-linux- --enable-cross-compile --target-os=linux --cc=arm-linux-gcc --arch=arm --prefix=/usr/local/arm_ffmpeg --enable-shared --disable-static --enable-gpl --enable-nonfree --enable-ffmpeg --disable-ffplay --enable-ffserver --enable-swscale --enable-pthreads --disable-armv5te --disable-armv6 --disable-armv6t2 --disable-yasm --disable-stripping
这里没有使用ffplay,需要的可以自己加上,参考http://blog.csdn.net/liaozc/article/details/6025610中说要用到SDL库,可以试试。在--cc  --prefix根据自己的目录修改,然后就是make 和 make install ,之后在--prefix下找到自己要用到的lib include文件夹。

注意:【1】在上面这条很长的configure命令执行后,会有一个警告warning,说找不到一个arm-linux-ptkconfig,什么faile之类的提示信息。我没有截图,大概是这样的警告信息,这个可以不用管它。我换了好几个文件,重新上面的步骤,都会出现这个警告,在这里浪费了很多时间。

【2】执行make这个过程耗时很久,这个需要耐心。
【3】执行make install后,在/usr/local/下会生成一个ffmpeg文件夹,如下图所示。

(3)移植成功后,进行测试,即使用ffmpeg录像

注:因为我的mini2440开发板剩余空间不够,所示我是用nfs启动开发板,如果空间够用的话,直接把库文件放到板子里也是一样的。

将上图/usr/local/ffmpeg/lib文件下后缀名为.so和.so.*这两种库文件复制到开发板中(如果缺某个库的话,在后面执行./ffmpeg是会报错,说找不到)

上图红框中只是一部分库文件,他们都是成对出现,只是后缀名不一样。

 

因为开发板里面没有ffmpeg这条命令,需要把/usr/local/ffmpeg/bin/目录下的ffmp可执行文件拷贝到开发板上,然后增加其可执行权限(chmod +x ffmpeg)

然后再执行命令:#./ffmpeg -f video4linux2 -s 320x240 -i /dev/video0 /mnt/test.avi,执行过程如下图所示:

这个录像过程输入q,即可停止录像。生成的test.avi文件在/mnt/目录下。这个我们用普通的播放器就可以观看。

 

ffmpeg编译x86环境

./configure --target-os=linux --cc=gcc --prefix=/usr/local/ffmpeg --enable-shared --disable-static --enable-gpl --enable-nonfree --enable-ffmpeg --disable-ffplay --enable-ffserver --enable-swscale --enable-pthreads --disable-armv5te --disable-armv6 --disable-armv6t2 --disable-yasm --disable-stripping

 

  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明
FFmpeg是一个开源的跨平台音视频处理库,可以用来处理音频和视频的编码、解码、转码以及流媒体的处理等。移植FFmpegARM架构上,可以使其在具有ARM处理器的设备上运行,例如智能手机、平板电脑和嵌入式系统等。 在移植FFmpegARM上,首先需要进行代码的适配,将代码针对ARM架构进行编译和优化。ARM架构与x86架构有一些差异,所以需要进行一些相关的修改和调整,以确保FFmpeg代码可以在ARM上正常运行。 其次,需要根据ARM平台的特性和资源限制进行配置。ARM架构通常会有不同的版本和各自的特性,因此需要根据具体的ARM平台进行相应的配置,以提供最佳的性能和兼容性。 另外,还需要解决ARM平台上可能存在的一些兼容性问题。由于ARM平台的生态系统和软件环境与x86平台存在差异,在移植过程中可能会遇到一些与硬件、操作系统或其他软件的兼容性问题。需要及时解决这些问题,以确保FFmpegARM上的正常运行。 最后,还可以根据ARM平台的特性,对FFmpeg进行优化和定制,以进一步提升性能。例如,可以针对ARM的 SIMD(Single Instruction, Multiple Data)指令集进行优化,充分利用ARM处理器的并行计算能力。此外,还可以针对ARM平台使用的特定格式或编解码算法进行优化,以提升对这些格式或算法的处理速度和效率。 总之,移植FFmpegARM上是为了在ARM设备上实现音视频处理的功能。这需要进行代码的适配和优化,配置ARM平台的相关参数,并解决可能出现的兼容性问题,以提供高性能和稳定性的音视频处理能力。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值