在mini2440上移植使用FFmpeg录像

发布时间:2024-06-25  

最近想在板子上插个摄像头,录个像,搞了两三天,算是能用人家的ffmpeg程序在自己的板子上摄像,然后将文件.avi格式保存到PC机上了。过程有些曲折,但是也算乱撞了。

(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下播放的),没调镜头,模糊的图凑合看下吧!


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>