当前位置: 首页 > news >正文

智慧家居中的视频监控系统-------1、视频监控

方案一

1、适用场景

        适用在一些成本较低的玩具、智能家居上面

2、使用原理

假设在A地有一个摄像头接在可以运行,他会录制东西,在B地我们可以通过手机连接一个wifi热点进行观看摄像头可以拍摄到的东西,如果AB距离近可以用局域网来连接。

3、程序框架:

         开发板上至少有两个线程,一个摄像头线程:打开摄像头初始化,从摄像头读取数据

                                                  另一个是网络线程,等待别人连接他,如果有人连接他,他就把摄像头数据发送给手机这边

        手机那边至少两个线程,一个网络线程,去连接另一边网络线程之后得到数据

                                               另一个显示线程将得到的数据在屏幕上显示出来

我们可以自己写,但也可以用一些开源的工具,比如mjpg_streamer,它可以运行在Linux的板子上面,读取摄像头数据发给手机。

手机方面可以自己写程序,也可以用浏览器直接访问mjpg_streamer观看视频。

对于mjpg_streamer我有几点说明:

4、优缺点

方案二:使用流媒体

1、什么是流媒体

我们之前看视频需要下载下来然后用播放软件播放,现在可以边加载边播放,这得益于流媒体。

2、适用场景:要给成千上万人使用,例如现在火爆的主播。

介绍:

        AB两地离得比较远,想用手机观看家里摄像头视频,这就涉及互联网连接服务器;

3、系统框架:

        推流端:带有Linux的ARM板子读取摄像头,推送給服务器;可以用现成的开源的软件ffmpeg通过RTMP协议推送;

       流媒体服务器: 服务器接受推送上来的数据,然后处理一下放在里面等待拉取;可以用现成的开源的软件Nginx;

        拉流端:手机端拉取服务器里面处理好的数据,并且显示出来;可以用浏览器、播放器通过HTTP_FLV协议获取视频流据

4、流媒体协议:

        常见的协议有adobe公司的RTMP、HYP_FLY协议,或者苹果公司的HLS协议        ;

        4.1、RTMP协议

4.11、原理及其连接方式:

                在服务器上面有一个很大的文件, 手机一旦连接到服务器之后,就可以持续不断的获得这些文件,获得多少就可以播放多少,也可以拖动进度条,从某处开始获得并且播放;连接方式:为TCP连接

4.12、特点:

                1)TCP连接易被拦截

                2)服务器实时播放,可以方便的拖动进度条 

                3)延时小,可以用来做直播

                4)配套的插件很垃圾,但可用B站的插件挽救

        4.2、HTTP_FLV协议

4.21、原理及其连接方式:

                在服务器上面把那些文件分为一个一个非常小的FLV数据包,手机通过HTTP连接下载到本地然后播放。

4.22、特点:

                1)容易被盗取

                2)只要有网络就可以上网,不会被拦截

                3)延时小,可以用来做直播

                4)配套的插件很垃圾,但可用B站的插件挽救

        4.3、HLS协议

4.31、原理及其连接方式:

                将文件切片成一个一个TS文件,手机连接到服务器之后就可以把TS文件一个一个下载下来播放;区别HTTP_FLV的是,手机得到的是一个M3U8格式的文件,里面列有一个一个播放文件组成的播放列表。

4.32、特点:

                1)下载到本地,容易被盗取

                2)只要有网络就可以上网,不会被拦截

                3)延时大,长达5~20秒

                4)配套的插件很垃圾

4.33、过程:

                首先将播放的文件汇集起来,然后保存并且更新一个M3U8列表。

5、总结:后续会详细介绍他们的移植

                

        

相关文章:

  • 通过恒定带宽服务器调度改进时间敏感网络(TSN)流量整形
  • 【Java 多线程基础 - 上篇】
  • fps动作系统4.1:移动系统
  • nginx代理后502
  • 运维Crontab面试题及参考答案
  • linux 编辑器
  • hackmyvm-buster
  • 消息中间件的开源实现
  • 在 MySQL 的 InnoDB 存储引擎中,脏页(Dirty Page)的刷盘(Flush)时机
  • Deepseek开源周第一天:FlashMLA来袭
  • 从单片机的启动说起一个单片机到点灯发生了什么下——使用GPIO点一个灯
  • CentOS 9/10 Stream / RockyLinux 8 上安装 Oracle database 19c
  • C++ day5 练习
  • QT:paintEvent、QPainter、QPaintDevice
  • Matlab——图像保存导出成好看的.pdf格式文件
  • 存储引擎、索引(MySQL笔记第四期)
  • 指令模型VS推理模型
  • 复现win7永恒之蓝漏洞
  • angular日历
  • 常用视频格式及其编码方式对比
  • 韦尔股份拟更名豪威集团:更全面体现公司产业布局,准确反映未来战略发展方向
  • 花旗回应减员传闻:持续评估人力资源战略,将为受影响的个人提供支持
  • 聚焦中华文明精神标识,多校专家学者跨学科对话交流
  • 国际博物馆日|航海博物馆:穿梭于海洋神话与造船工艺间
  • 浙江理工大学传播系原系主任刘曦逝世,年仅44岁
  • 香港特区政府强烈谴责美参议员恐吓国安人员