网络视频数据转发方案说明.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
极路由代理网络摄像头设计说明 作者:李伟 修订记录 修订日期 修订版本 部门 修订者 修改内容 2015.10.15 V0.1 操作系统部 李伟 初稿 2015.11.18 V0.2 操作系统部 李伟 方案修正 2015.12.08 V0.3 操作系统部 李伟 方案修改,添加详细设计说明 2015.12.15 V0.4 操作系统部 李伟 添加接口说明 2016.01.04 V0.5 操作系统部 李伟 接口说明添加对USB摄像头的支持 PAGE PAGE I 目录 TOC \o 1-3 \h \u 1. 序言 1 1.1. 背景说明 1 1.2. 需求说明 1 2. 技术调研 2 2.1. P2P技术说明 2 2.1.1. 中继连接 2 2.1.2. UDP穿透技术 2 2.1.3. TCP穿透技术 3 2.1.4. 开源项目介绍 4 2.2. 流媒体协议说明 4 2.2.1. RTSP 4 2.2.2. SIP 4 2.2.3. RTP 4 2.2.4. RTMP 4 2.2.5. HLS 4 2.2.6. MMS 4 2.2.7. RTMFP 5 2.2.8. 其他私有协议 5 2.2.9. 开源项目介绍 5 2.3. 可靠UDP传输 5 2.4. 移动终端测考虑 5 3. 总体设计 6 3.1. 设计思想概述 6 3.1.1. P2P方案选择 6 3.1.2. 流媒体协议选择 6 3.1.3. P2P流媒体数据传输框架设计 7 3.1.4. 软件方案选择 7 3.2. 设计思想详述 8 3.2.1. 用户操作及配置说明 8 3.2.2. 路由器端模块关系图 8 3.2.3. P2P连接参数说明 9 4. 接口设计 9 4.1. 摄像头代理与OpenAPI的接口 9 4.2. 摄像头代理与Hiwifi APP的接口 9 4.3. 摄像头代理与手机端ffplay的接口 9 5. 系统调试 9 5.1. 调试方案 9 5.2. 调试功能项 9 PAGE PAGE 11 序言 背景说明 目前市场上常见的摄网络摄像头,通过有线或wifi接入网络,通常提供厂商专有的手机端APP和P2P服务来支持用户的远程访问。 由此带来的问题是: (1)用户不方便。当用户同时使用不同厂商的摄像头时,需要安装不同的APP。 (2)P2P服务不统一。每个厂商需要自建的P2P服务。 (3)协议不统一。与自家服务连接时,使用私用协议。 好的方面是,一些网络摄像头(如爱耳目,Tiensn等)支持较通用的流媒体协议RTSP、RTP/RTCP,用于媒体播放控制和视频流传输。 RTSP:多媒体播放控制协议。TCP协议。 RTP/RTCP:实时传输/控制协议。用于传输视频流。UDP/TCP协议。 由此,可以考虑通过极路由,建立一个统一的网络摄像头管理和远程访问方案。本文提供了一个这样的方案,并说明了路由器侧的实现方案。 需求说明 极路由在网络摄像头连接后,能够发现并管理。 极路由手机APP能够远程查看和控制连接在极路由上的网络摄像头。 技术调研 P2P技术说明 中继连接 客户端A与B通过中继服务器进行数据交互。 优点:连接可靠 缺点:耗费中继服务器的计算资源和网络带宽。 UDP穿透技术 打洞简明流程: 打洞前:客户端A和B与公网服务器S通信,公网服务器S记录客户端A和B的公网IP地址和端口号。 打洞过程: 当B向A建立P2P直连时: 客户端B向服务器S发送UDP消息,请求与客户端A通信。 服务器S想客户端A发送消息,告知客户端B的公网IP和端口号。 服务器S向客户端B发送消息,告知客户端A的公网IP和端口号。 客户端A向客户端B发送UDP消息,同时客户端B向客户端A发送消息,尝试多次,UDP打洞就能成功。 打洞后:客户端A与客户端B通过双方的公网IP的端口进行双向通信。 TCP穿透技术 从协议层来看,TCP打洞与UDP打洞几乎是完全相同的过程。由于应用层API不同,所以打洞过程稍微复杂。 S启动两个网络侦听,一个叫[主连接]侦听,一个叫[协助打洞]的侦听。[主连接]侦听用于分发连接请求。[协助打洞]侦听用于获取客户端的公网IP地址和端口号。 A和B分别与S的[主连接]保持联系。 当B需要和A建立直接的TCP连接时,首先连接S的[协助打洞]端口,并发送协助连接申请。同时在该端口号上启动侦听。 注意:必须为这些套接字设置SO_REUSEADDR属性。否则侦听会失败。 S的[协助打洞]连接收到B的申请后通过[主连接]通

文档评论(0)

yuxiufeng + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档