远程监控系统项目总结
来源:互联网 发布:淘宝网招聘在家工作 编辑:程序博客网 时间:2024/04/30 08:25
想要做一个牛叉的视频监控系统,结果不尽人意,但不是总结一下吧!先体验了一把这个项目:网眼v2000+V4L(2.6.29)+T264+UDP+LinuxClient。
可是mini2440上现在用的内核是2.6.32版本的,为了体验一把,内核,bootloader,交叉工具链统统换掉,才得以体验。体验之后就立刻想把这个项目升级一下。最终定为:任意V4L2摄像头+V4L2(2.6.32)+H264(X264)+RTP(ORTP)+Client(VLC)。这个也不是当时一下子想起来的,一步步逼近,再得以此结果。选V4L2是因为趋势,先X264是因为T264早以不再更新维护,选RTP是因为UDP传输不专业且客户端要自己写,选ORTP是因为JRTPLIB是C++写的,ORTP是C写的,选VLC(Client)只是一个工具,平常看视频用它,就选了它,只要支持RTP流,就可以。
到写此总结为止能做到的从左到右是到了x264了,从右到左是到了vlc了。具体说来是V4L2采集,X264压缩是可以了。VLC播放RTP流也体验了。中间的RTP(ORTP库)是卡壳了。这样说来做的东西并不多,按照流程图上是不多,但是还有流程图以外的东西。为了学习整个监控系统的整个流程学习编译的《基于v4l2的webcam应用, 本地预监(编译过程)》和ARM版本的《基于v4l2 ffmpeg x264的视频远程监控(附上编译好的库文件)》,中间接触了FFMPEG,就深深的被它给吸引了,研究它的使用就花费了5天时间,也留下的这么一点点东西《ffmpeg在嵌入式中的使用》。
V4L2的攻破是参考官方的例子capture.c,用eclipse反复调试10遍后,使我达到的恶心地步,不过我也深深的记住了整个工作流程。
X264编码是基于网友羽龍飛《V4L2视频采集与H.264编码源码大放送:Linux视频采集与编码(三)》里边的源码分析学习的,不过它这要锁定x264库的版本为20120101的,高一步的会出现彩色空间的错误面不进行编码。
RTP实时流的学习是直接练习ortp中的例子,rtpsend留下的这个《 ortp中的rtpsend发送vlc播放》。也只留下的这个。实时流要难倒我的时候也想回头用普通的UDP传输,但是V4L2采集试了7个摄像头都是640x480大小的,这样用X264压出来的有每桢有0--3096大小,这样传输起来就有点不安全,容易丢包。后来经过测试确实如此。不过在压缩前可以进行拉伸用ffmpeg里边的函数,但我没有去深入了。
VLC体验流的魅力是这篇文章《用vlc搭建简单流媒体服务器(UDP和TCP方式)》介绍的,也感觉到了。
说了一堆,在这个项目之前的前两件事一帆风顺,这次实现给了我一记耳光。
参考文档:编译x264-《arm mini2440 基于v4l2 ffmpeg x264的视频远程监控》
0 0
- 远程监控系统项目总结
- 远程监控系统项目总结
- Linux-视频监控系统(14)-项目总结
- 远程实时监控系统DIY
- 远程实时监控系统DIY
- 城市消防远程监控系统
- android 远程视频监控系统
- 基于Z301P摄像头 H.264OK6410的远程视频web监控 项目阶段1总结篇
- (基本功能全部实现)HuaXinIM聊项目阶段总结八(表情发送与远程监控的实现)
- 远程查验系统总结
- 远程查验系统总结
- Jprofiler远程连接linux项目监控
- SMS在远程监控系统中的应用
- 自己动手实现纯Web远程监控系统
- 基于android的远程视频监控系统
- 基于android的远程视频监控系统
- 基于android的远程视频监控系统
- 基于android的远程视频监控系统
- QtCreator支持C++11的设置方法
- 控制Loading时间的AsyncTask
- 协议和block的区别
- AFNetworking
- LightOJ 1004 - Monkey Banana Problem
- 远程监控系统项目总结
- 不使用border-radius实现圆角框
- 上线审核规则
- HDU题目分类
- 上线流程
- MPMediaPlayerController
- 基于S3C2440的Linux-3.6.6移植——基于UVC的USB摄像头移植及视频显示
- iOS开发系列--音频播放、录音、视频播放、拍照、视频录制
- 小米推送服务iOS客户端SDK使用指南