友善之臂视频监控方案源码学习(4)
来源:互联网 发布:2017手机淘宝修改差评 编辑:程序博客网 时间:2024/05/21 06:47
转载于http://blog.csdn.net/tandesir/article/details/8435162
【问题描述】在 友善之臂视频监控方案源码学习(1) - 架构分析一文中,对主程序架构进行了分析。其实,了解视频监控的源码,关键是了解3个问题:
(1)数据从何而来;
(2)数据如何处理;
(3)数据往何处去。
本文对数据的流向进行解析。
【解析】
1 shell脚本
- ./mjpg_streamer -o "output_http.so -w ./www" -i "input_uvc.so -y -d /dev/video2"
shell脚本指明了输入和输出参数。输入参数为
- "input_uvc.so -y -d /dev/video2"
输入参数指明了输入控制依赖的动态链接库和输入设备。输出参数为:
- "output_http.so -w ./www"
输出参数指明了输出的目录。
2 视频信息的采集
视频信息的采集涉及的文件包含在plugins/Input_uvc目录中。该目录涉及视频流的读取、压缩编码。其大致过程如下:
(1)主程序调用input_uvc.c中的函数接口:input_init和input_run。
(2)input_init主要完成参数解析,视频设备初始化操作。
(3)input_run主要开辟了抓取视频信息的线程。
3 视频信息压缩编码
视频压缩采用JPEG技术。
4 视频信息的传输
视频信息的传输涉及的文件包含在plugins/output_http目录中。其大致过程如下:
(1)主程序调用output_http.c中的函数接口:output_init和output_run。
(2)output_init完成参数解析,服务器端口初始化等操作。
(3)output_run主要是开辟了传输视频流的线程。
(4)视频传输采用的TCP/IP协议。
(5)视频流实际上是连续发送的图片。
5 网页抓取
- <body>
- <center>
- <img src="/?action=stream" />
- </center>
- </body>
后续文章,将进行详细解析。
【源码下载】
http://download.csdn.net/detail/tandesir/4915905
转载请标明出处,仅供学习交流,勿用于商业目的
Copyright @ http://blog.csdn.net/tandesir
- 友善之臂视频监控方案源码学习(4)
- 友善之臂视频监控方案源码学习(1)
- 友善之臂视频监控方案源码学习(2)
- 友善之臂视频监控方案源码学习(3)
- 友善之臂视频监控方案源码学习(5)
- 友善之臂视频监控方案源码学习(6)
- 友善之臂视频监控方案源码学习(4) - 数据流向
- 友善之臂视频监控方案源码学习(4) - 数据流向
- 友善之臂视频监控方案源码学习(4) - 数据流向
- 友善之臂视频监控方案源码学习(6) - 视频采集
- 友善之臂视频监控方案源码学习(6) - 视频采集
- 友善之臂视频监控方案源码学习(6) - 视频采集
- 友善之臂视频监控方案源码学习(1) - 架构分析
- 友善之臂视频监控方案源码学习(3) - 守护进程
- 友善之臂视频监控方案源码学习(2) - 主程序实现细节
- 友善之臂视频监控方案源码学习(5) - 输入控制
- 友善之臂视频监控方案源码学习(1) - 架构分析
- 友善之臂视频监控方案源码学习(2) - 主程序实现细节
- Ubuntu服务器安装 NVIDIA 显卡报错 和处理
- Unity3d 技巧(1)-摄像机层级设置
- 实现简单静态AOP
- Yii2加载自定义类或命名空间
- ThinkPHP在Nginx上的URL配置
- 友善之臂视频监控方案源码学习(4)
- java加载
- 九、声明式 REST 客户端-Feign 的各种调用
- ORB-SLAM2在window下的配置 (7)[END]
- 友善之臂视频监控方案源码学习(5)
- java学习中关于继承的理解
- Ajax技术--实时显示聊天内容($.post(url,data,success()))
- A
- C 语言restrict 关键字的使用浅谈