ffmpeg移植到arm上
来源:互联网 发布:移动怎么接网络电视 编辑:程序博客网 时间:2024/04/30 11:21
最近想在板子上插个摄像头,录个像,搞了两三天,算是能用人家的ffmpeg程序在自己的板子上摄像,然后将文件.avi格式保存到PC机上了。过程有些曲折,但是也算乱撞了。
推荐阅读:ARM-Linux开机自启动设置-mini2440开发板 http://www.linuxidc.com/Linux/2011-05/36109.htm
(1)编译x264
官网上下了个最新的x264,地址在这里。解压之后,参考【1】用了个./configure --disable-asm,改写了下config.mak,改写ARCH=ARM SYS=LINUX CC=arm-linux-gcc,其中CC写成你自己的交叉编译环境位置,相应的AR、RANLIB也是,我的部分修改的config.mak如下:
prefix=/usr/local
exec_prefix=${prefix}
bindir=${exec_prefix}/bin
libdir=${exec_prefix}/lib
includedir=${prefix}/include
ARCH=ARM
SYS=LINUX
CC=arm-linux-gcc
CFLAGS=-Wshadow -O3 -ffast-math -Wall -I. -std=gnu99 -fomit-frame-pointer -fno-tree-vectorize
DEPMM=-MM -g0
DEPMT=-MT
LD=arm-linux-gcc -o
LDFLAGS= -lm -lpthread
LIBX264=libx264.a
AR=arm-linux-ar rc
RANLIB=arm-linux-ranlib
然后,make make install一下。
(2)编译ffmpeg
官网上下载FFmpeg 0.8.2,地址:http://ffmpeg.org/download.html,然后参考【2】编译使用。将下载的包解压之后运行./configure,后面的记不清了,从config.log中复制出来,如下:
./configure --cross-prefix=arm-linux- --enable-cross-compile --target-os=linux --cc=arm-linux-gcc --arch=arm --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
这里没有使用ffplay,需要的可以自己加上,参考【2】中说要用到SDL库,可以试试。在--cc --prefix根据自己的目录修改,然后就是make 和 make install ,之后在--prefix下找到自己要用到的lib include文件夹。
(3)使用ffmpeg录像
将生成的ffmpeg库拷贝到mini2440上,我是用nfs的TCP(参数上加个-o -tcp就可以了,默认是UDP的会断)拷贝的,还好板子闪存够大,近30M东西啊(有空了看能不能精简下)!我是把lib目录下的库文件拷到了板子的默认lib下,所以也就省了export。当然还有ffmpeg程序,保持着nfs,用如下命令试下:#./ffmpeg -f video4linux2 -s 320x240 -i /dev/video0 /mnt/test.avi
补充说明下,我用的是USB摄像头,mini2440支持,生成的是/dev/video0,nfs到主机的跟目录,所以/mnt/test.avi是在主机根目录下生成的。
好了,运行之后看以看到传输,终止程序,能看到生成的test.avi,播放一下(我的是复制到windows下播放的),没调镜头,模糊的图凑合看下吧!
最后想说下的是,我下的ffmpeg中怎么没有网上说的Output_example.c等例程,希望知道的人告诉我一下,谢谢!
出现如下错误:
arm-linux-pkg-config not found, library detection may fail.直接或略
- ffmpeg移植到arm上
- 移植 ffmpeg 到 ARM 平台
- ffmpeg 移植到 arm s3c2410
- ----ffmpeg ---sdl在arm上的移植
- OpenCV ffmpeg移植到ARM平台
- SSH 移植到ARM上
- libzdb移植到ARM上
- glib移植到ARM上
- 将SQLite移植到ARM上
- SDL移植到ARM-linux上
- 20130704 移植apache2到arm Linux上
- wxX11移植到arm板上
- 将SQLite移植到ARM上
- 将SQLite移植到ARM板上
- openwrt libubox 移植到ARM上
- openwrt ubus 移植到ARM上
- qt移植到arm上的过程
- 移植openssh服务器到ARM处理器上
- openwrt MW4530R 用物理按键恢复系统
- 【转】std::string.assign()的用法
- 常用JDBC连接数据库方式
- 10个精妙的Java编码最佳实践
- 国内数据库技术大牛:牛新庄博士自传(附:项目经验)
- ffmpeg移植到arm上
- java 实现图片截取
- 比例合同分保与非比例合同分保的差别
- 安装openssl
- android listview 去掉阻尼效果
- 第二章 高速乘法器
- Mac版 有道云笔记登陆出现问题 (使用用户名密码方式登陆)
- [Liferay]Portlet 之间使用 PortletSession 进行通信
- Linux定时器的使用