2024年1月3日发(作者:)
mini2440下UVC摄像头采集视频并且用H264压缩(原创)
先上传程序框图
这里面主要涉及到几个点,一个是UVC摄像头的数据采集,另一个是X264在ARM平台下的编译,使其产生libx264.a静态链接库
UVC摄像头的视频采集就不说太多了,想了解的可以去 /detail/zhangzhenyuancs/4771678 下载。
这里出来的数据格式为YUV4:2:2
主要说说X264在ARM平台下的编译
因为在进行H264压缩时主要用到了X264编译出来的libx264.a静态链接库。
我用的X264版本为x264-snapshot-20120316-2245-stable。可以去/detail/zhangzhenyuancs/4771526下载
1.编译
解压2
#tar -xvzf 2
#cd x264-snapshot-20120316-2245-stable
# ./configure --host=arm-linux --prefix=/opt/wecam/ffmpeg --enable-shared --disable-asm
配置选项中已经添加了host的选项,所以makefile就不用再修改了,但是要修改
[plain] view plaincopy
1.
2.
3.
4.
SRCPATH=.
prefix=/opt/webcam/ffmpeg
exec_prefix=${prefix}
bindir=${exec_prefix}/bin
5. libdir=${exec_prefix}/lib
6. includedir=${prefix}/include
7. ARCH=ARM
8. SYS=LINUX
9. CC=arm-linux-gcc
10. CFLAGS=-Wshadow -O3 -fno-fast-math -Wall -I. -I$(SRCPATH) -std=gnu99 -fPIC -fomit-frame-pointer -fno-tree-vectorize
11. DEPMM=-MM -g0
12. DEPMT=-MT
13. LD=arm-linux-gcc -o
14. LDFLAGS= -lm -lpthread
15. LIBX264=libx264.a
16. AR=arm-linux-ar rc
17. RANLIB=arm-linux-ranlib
18. STRIP=arm-linux-strip
#make
#make install
x264编译也不会出现问题的,如果有,把之前安装的pc端的x264全部删掉
2.测试X264是否在ARM平台下编译好
把之前采集的.yuv视频命名为 test_ 分辨率可选,这一点很重要
然后运行./x264 -o test.H264 test_ 可执行文件在bin文件中
然后用暴风影音播放看.H264文件能否放出
主要使用其中的libx264.a库
关于把采集出的图像进行编码可以参见/detail/zhangzhenyuancs/4771445
这里每采集出一帧.yuv数据,就把它进行H264编码。


发布评论