arm mini2440 基于v4l2 ffmpeg x264的视频远程监控
2013-07-15 16:05
267 查看
http://blog.sina.com.cn/s/blog_af1b6f4801017no5.html
网络上盛传的基于mini2440的摄像头监控一般是基于 MJPEG-Streamer。这种方法利用的是V4L2的底层驱动,然后配合mjpeg这种格式的流传输,然后通过浏览器浏览视频和控制。
下面用一个更接近真实的IP-camera的方案来实现。
参考:http://www.linuxidc.com/Linux/2013-04/83108.htm
文本照搬他的代码,只是将他的webcam_server交叉编译到arm上,webcam_shower编译到pc上。
这种方案是用的V4L2的视频驱动,然后配合ffmpeg、x264的软件编解码,通过udp上传至pc显示,视频的编解码真的非常麻烦,幸好有很多开源的编解码库可以使用,几百行的代码就可以实现h.264的流编码与传输。
usb摄像头得到的数据格式一般是YUV422,如果用的是cmos 摄像头可能是raw原始数据格式,YUV422,是在raw基础上色彩抽点编码,因为人眼对亮度的敏感大于对色彩的敏感,所以并非对所有的色彩编码,这样的数据量会非常的大,视频编解码格式就不讨论了,很多很复杂,当然,你会了,就不会觉得难。
ffmpeg和x264的作用是将YUV422再编码成H.264
上图看效果,这是在linux中接的图,窗口中显示的是从2440usb摄像头上传上来的视频
这是实物图,手机拍的
废话少说,一步一步实现
1、平台
硬件:arm mini2440,usb摄像头
软件:Fedora14,arm-linux-gcc v4.4.3
2、源文件
ffmpeg-0.10.1.tar.gz
last_x264.tar.bz2
zlib-1.2.5.tar.gz (mini2440中没有libz.so,但是程序运行时需要这个库支持,所以下载源文件交叉编译)
以上文件只要会搜索的人都能找到
最后是webcam应用程序,下载地址:http://www.linuxidc.com/Linux/2013-04/83108p7.htm 的2.zip
网络上盛传的基于mini2440的摄像头监控一般是基于 MJPEG-Streamer。这种方法利用的是V4L2的底层驱动,然后配合mjpeg这种格式的流传输,然后通过浏览器浏览视频和控制。
下面用一个更接近真实的IP-camera的方案来实现。
参考:http://www.linuxidc.com/Linux/2013-04/83108.htm
文本照搬他的代码,只是将他的webcam_server交叉编译到arm上,webcam_shower编译到pc上。
这种方案是用的V4L2的视频驱动,然后配合ffmpeg、x264的软件编解码,通过udp上传至pc显示,视频的编解码真的非常麻烦,幸好有很多开源的编解码库可以使用,几百行的代码就可以实现h.264的流编码与传输。
usb摄像头得到的数据格式一般是YUV422,如果用的是cmos 摄像头可能是raw原始数据格式,YUV422,是在raw基础上色彩抽点编码,因为人眼对亮度的敏感大于对色彩的敏感,所以并非对所有的色彩编码,这样的数据量会非常的大,视频编解码格式就不讨论了,很多很复杂,当然,你会了,就不会觉得难。
ffmpeg和x264的作用是将YUV422再编码成H.264
上图看效果,这是在linux中接的图,窗口中显示的是从2440usb摄像头上传上来的视频
这是实物图,手机拍的
废话少说,一步一步实现
1、平台
硬件:arm mini2440,usb摄像头
软件:Fedora14,arm-linux-gcc v4.4.3
2、源文件
ffmpeg-0.10.1.tar.gz
last_x264.tar.bz2
zlib-1.2.5.tar.gz (mini2440中没有libz.so,但是程序运行时需要这个库支持,所以下载源文件交叉编译)
以上文件只要会搜索的人都能找到
最后是webcam应用程序,下载地址:http://www.linuxidc.com/Linux/2013-04/83108p7.htm 的2.zip
相关文章推荐
- arm mini2440 基于v4l2 ffmpeg x264的视频远程监控 .
- 基于v4l2 ffmpeg x264的视频远程监控(附上编译好的库文件)
- 基于v4l2 ffmpeg x264的视频远程监控
- arm mini2440 基于v4l2 ffmpeg x264的视频远程监控
- 2440 基于v4l2 ffmpeg x264的视频远程监控
- 基于v4l2 ffmpeg x264的视频远程监控(附上编译好的库文件)
- mini2440 基于v4l2 ffmpeg x264的视频远程监控
- arm mini2440 基于v4l2 ffmpeg x264的视频远程监控
- mini2440 基于v4l2 ffmpeg x264的视频远程监控
- arm mini2440 基于v4l2 ffmpeg x264的视频远程监控 ----fwqlzz love is for ever
- 基于v4l2 ffmpeg x264的视频远程监控(附上编译好的库文件)
- 基于opencl的ffmpeg视频优化处理设计与实现
- iOS 基于FFmpeg的移动端Demo:IOS 视频转码器
- 基于V4L2的视频驱动开发(1)
- javaCV开发详解之4:转流器实现(也可作为本地收流器、推流器,新增添加图片及文字水印,视频图像帧保存),实现rtsp/rtmp/本地文件转发到rtmp流媒体服务器(基于javaCV-FFMPEG)
- 基于Linux的v4l2视频架构驱动编写(二)
- 基于ffmpeg的 视频解码 音频解码.播放等
- 基于V4L2的视频驱动开发(1)
- 基于V4L2的视频驱动开发(4)
- 基于Ubuntu交叉编译X264, FFmpeg Windows SDK详细教程