网络摄象机常用传输协议

多播路由是一个很好的技术,在Internet上实现了对数据的“广播”,不同于广播的是,由于广播风暴的问题,路由器是禁止广播数据跨路由传送的。而多播则很好的解决了这个问题。现在M$软件如:Netmeeting,WMS就广泛运用了多播这种技术。这里讨论的是怎么样把你的Linux架设成一个多播路由器
(一般的网关、路由器是不支持多播数据包通过的)。

1、传输协议 
    网络摄像机提供很多基于IP网络的传输协议,以尽可能地保证音视频数据,PTZ控制数据网络传输质量。实时视频流经过IP网络传输,通过多种协议组合,适应各种复杂的网络传输环境。 

    RTP(Realtime Transport Protocol),实时传输协议,其专门针对实时流媒体而设计, RTP的基本功能是将几个实时数据流复用到一个UDP分组流中,这个UDP流可以被发送给一台主机(单播模式),也可以被传送给多台目标主机(多播模式)。因为RTP仅仅封装成常规的UDP,理论上路由器不会对分组有任何特殊对待,但现在高级的路由设备都有针对RTP协议优化选项。RTP协议的时间戳机制,不仅减少了抖动的影响,而且也允许多个数据流相互之间的同步,这样可以很方便地基于I/O事件对视频图像进行字幕添加,网络摄像机往往将音视频编码数据封装成RTP分组。 

    RTCP(Realtime Transport Control Protocol)实时传输控制协议,其是RTP的姊妹协议,它处理反馈、同步和用户界面等,但是不传输任何数据。它的主要功能是用来向源端提供有关延迟、抖动、带宽、拥塞和其它网络特性的反馈信息,编码进程可以充分利用这些信息。因此当网络状况较好时,可以提高数据速率(从而达到更好的质量),而当网络状况不好时,它可以减少数据速率。通过连续的反馈信息,编码算法可以持续地作相应的调整,从而在当前条件下尽可能地提供最佳的质量

    RTSP(Real Time Streaming Protocol)实时流协议,RTSP协议利用推式服务器(push server)方法,让音视频浏览端,发出一个请求,网络摄像机只是不停地向浏览端推送封装成RTP分组的音视频编码数据,网络摄像机可以用很小的系统开销实现流媒体传输。 

    HTTP(HyperText Transfer Protocol)超文本传输协议,网络摄像机通过HTTP协议提供Web访问功能,很方便地将音视频数据经过复杂网络传输,但实时音视频支持很不理想。 

    UDP(User Datagram Protocol)数据报协议,是最基本的网络数据传输协议,利用IP协议提供网络无连接服务,常用来封装实时性强的网络音视频数据,即使网络传输过程中发生分组丢失现象,在客户端也不会影响音视频浏览。 

    TCP(Transmission Control Protocol)传输控制协议,利用IP协议提供面向连接网络服务,为在不可靠的互联网络上提供一个可靠的端到端字节流而设计。TCP协议往往要在服务端和客户端经过多次“握手”才能建立连接,因此利用TCP传输实时性较强的音视频流开销较大,如果网络不稳定,音视频抖动的现象明显。利用其可靠性常用来传输网络摄像机管理命令,如PTZ,I/O设备控制命令。 

2、传输协议组合 
    网络摄像机往往应用RTSP、RTP、RTCP、HTTP、UDP、TCP协议的不同组合来传输实时性较强的音视频流。常见的协议组合如下。 

    RTP+RTSP协议组合,这种协议组合(RTP可以用TCP、UDP协议封装,RTSP用TCP协议封装),在正常网络环境里,可以保证客户端浏览实时音视频,厂商往往推荐网络摄像机采用这种协议组合。一些网络设备也常常支持RTP+RTSP多播模式。 

    RTP/RTSP协议组合,RTP分组封装成RTSP分组,有些网络防火墙只让RTSP协议分组通过。但网络摄像机又要以RTP协议提供实时音视频。这种组合方式在没有办法的情况下增加了网络负载和客户端管理系统的复杂度。 

    RTP/RTSP/HTTP协议组合,在RTP/RTSP的数据基础上增加了HTTP封装,这种协议组合主要是为了适应网络防火墙只允许使用HTTP协议的网络环境。虽然网络负载加大,但网络摄像机可以适应更复杂的互联网环境。 

    UDP(TCP)协议,一些网络摄像机为了适应国内网络带宽状况不佳的状况,没有利用RTP+RTSP应用层协议封装音视频数据,对音视频流只采用UDP或TCP传输层协议封装。这样音视频流就可以利用很小的网络带宽传输流媒体。这种协议组合也可以提供类似RTP+RTSP高级功能,但对网络路由设备基于RTP+RTSP组合优化特性不能利用。 

    UDP(TCP)/HTTP协议组合,将音视频流数据封装成HTTP数据分组,然后用UDP(TCP)协议传输到客户端。这种协议方式可适应复杂的互联网环境,可以穿透大多数网络防火墙。 

    各种传输层协议组合保证了音视频和PTZ数据实时传输的可靠性,但网络摄像机内置的处理器计算能力限制,导致并发访问的用户数量有限。这样往往不能满足并发访问要求较高的应用环境,网络摄像机往往利用具备多播功能的网络传输设备,响应更多的并发访问要求。有些网络摄像机客户端软件功能强大,利用数据转发机制,充当可以响应更多并发访问用户的“虚拟网络摄像机”,这种方式适应于也适应PTZ网络摄像机。对大规模数字化视频监控网络建设有重要意义。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/253410.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CIS关键工艺技术概览

相机作为一种媒介,可以记录光所体现的物体,使人们能够主观或客观地表达各种情感和思想。当代人类身处于一个所谓的“数字游牧时代”,人们携带各类移动数码设备,生活不受时空的限制。在当今时代,相较于胶片相机&#xf…

Properties

Properties配置文件说明 Properties类对应.properties文件。文件内容是键值对,键值对之间使用""或空格隔开。开头是"#"的表示注释Properties类在加载.properties文件时使用的iso8859-1的编码。所以这个文件中的中文要特殊处理:如果这…

1215 - Cannot add foreign key constraint

2019独角兽企业重金招聘Python工程师标准>>> 参考网页 https://blog.csdn.net/yiwangxiblog/article/details/52269527 https://blog.csdn.net/ytm15732625529/article/details/53729155 原因--亲测 两张表的存储引擎不一致。主键所在表和外键所在表的存储引擎改成一…

陈敏敏-130242014024-实验一

实验报告一 课程 软件体系结构与设计 实验名称 软件设计的网络环境 第 页 专业 软件工程 班级 1班 学号 130242014024 姓名 陈敏敏 实验日期: 2017 年 9 月 14 日 报告退发 (订正 、 重做) 一、实验目的 1.复习软件工程的重要概念&…

音频编码

http://jsjdmtjs.jpk.dlpu.edu.cn/jxzy/kecheng/4-2.html

jquery 滚动条位置的

$(#fixedHead).width()//div的宽度 $(#fixedHead)[0].scrollWidth//滚动条的宽度 两者的差为滚动条的宽度var b1$("#div1").height();//div的高度 var b2$(this)[0].scrollTop;//滚动条距离顶端的位置 var b3$(this)[0].scrollHeight;//滚动区的高度 b3b1b2滚动条到底…

Css3实现波浪线效果1

一、波浪线 ,常用 .info::before {content: ;position: absolute;top: 30px;width: 100%;height: 0.25em;background:linear-gradient(135deg, transparent, transparent 45%, #008000, transparent 55%, transparent 100%),linear-gradient(45deg, transparent, tr…

ZZUOJ 10508: 数列游戏IV

题目链接&#xff1a;http://acm.zzu.edu.cn:8000/problem.php?id10508 题目大意&#xff1a;给定一个序列&#xff0c;长度为N&#xff0c;每次询问为一组区间[Li,Ri],输出Li到Ri中出现恰好两次的不同数的个数. N,M<2*10^5&#xff0c;序列中元素<10^9 解题思路&#x…

dm368ipnc 重写架构中的swosd 实现中文osd

appro的ipnc中只实现了英文的osd叠加&#xff0c;就连小小的ascii码表都没有覆盖全&#xff0c;而且该swosd架构灰常凌乱。 其实无非就是两个功能&#xff0c;一是叠加文字&#xff0c;而是叠加图片&#xff0c;由于考虑到兼容不同的分辨率的视频流&#xff0c;所以处理的分支相…

JAVA加密算法系列-AesCBC

package ***;import javax.crypto.Cipher; import javax.crypto.spec.IvParameterSpec; import javax.crypto.spec.SecretKeySpec;import sun.misc.BASE64Decoder; import sun.misc.BASE64Encoder;/** * AES 是一种可逆加密算法&#xff0c;对用户的敏感信息加密处理 * 对原始数…

dubbo系列(一)

进入官网之后&#xff0c;找到 http://dubbo.apache.org/en-us/docs/user/quick-start.html 有一个链接跳转到这里 http://dubbo.apache.org/en-us/docs/admin/install/provider-demo.html 使用git将项目下载下来 修改如下Service实现类 1 /*2 * Licensed to the Apache Softw…

基于Flask实现后台权限管理系统 - 表设计

1.1. 设计 1.1.1. 用户表 用户表记录系统中的所有用户&#xff0c;是权限管理系统最基本的部分&#xff0c;和其他权限表都有一定的关联关系&#xff0c;同时&#xff0c;一个还有一个重要的功能&#xff1a;系统登陆。 名称 数据类型 允许空值 默认值 描述 ID VARCHAR …

DM8168的McSPI/McASP/McBSP接口

McSPI接口 SPI管脚&#xff1a; 管脚 类型 描述 SPI_SCLK I/O SPI串行时钟&#xff08;MASTER时&#xff1a;输出&#xff1b;SLAVE&#xff1a;输入&#xff09; SPI_D0 I/O 能被配置为输入或输出&#xff08;MOSI&#xff1a;master out&#xff0c;slave in或MISO&…

Sencha ID的注册

sencha id的注册用不着翻墙&#xff0c;直接访问下面的地址https://www.sencha.com/forum/register.php输入你的个人信息敞开来注册&#xff0c;我的注册名为charlie2018w非常顺利的过程你免费注册的id只能用30天。拥有这个id你就可以在eclipse或者sencha artchitect3或者webst…

ansible安装

1、简介 ansible是新出现的自动化运维工具&#xff0c;基于Python开发&#xff0c;集合了众多运维工具&#xff08;puppet、cfengine、chef、func、fabric&#xff09;的优点&#xff0c;实现了批量系统配置、批量程序部署、批量运行命令等功能。ansible是基于模块工作的&#…

《大道至简》第一章伪代码

o愚公移山伪代码 Import.java Import.java Punlic class yugongyishan { Public static void main (string [] args) { while(山不平&#xff0c;&#xff0c;) {毕力平险&#xff0c;指通豫南&#xff0c;达于汉阴&#xff1b;叩石垦壤&#xff0c;箕㮥于渤海之尾&#xff1b;…

Verilog Matlab 联合仿真

一、概述 在进行仿真时&#xff0c;有时候一部分参考模型&#xff08;reference model&#xff09;来自于Matlab&#xff0c;这就需要通过某种方法调用并运行Matlab的参考模型。verilog并不支持直接调用Matlab&#xff0c;但是可以通过DPI接口调用C函数&#xff0c;而Matlab又预…

转 alsa录音放音执行流程详解

前言&#xff1a; linux中&#xff0c;无论是oss还是alsa体系&#xff0c;录音和放音的数据流必须分析清楚。先分析alsa驱动层&#xff0c;然后关联到alsa库层和应用层。 链接分析&#xff1a; core/pcm_native.c文件中.mmap snd_pcm_mmap调用snd_pcm_mmap_data(substream, fi…

jenkins之qq企业邮箱配置

一、配置qq企业邮箱 1、登录jenkins后台管理&#xff0c;选择 系统管理 ☞ 系统设置 2、SMTP server配置 3、邮件通知配置 配置ssl等参数 点击 高级 4、发送邮件测试 总结&#xff1a;邮箱配置不成程分析 1、管理员账号和默认发送账号不一致。2、smtp服务器设置不正确;qq企业…

关于iOS里的做动画方法的差别与注意事项

CoreAnimation与UIView.animation... 这两个方式的主要差别在于&#xff0c;前者如果不主动设置&#xff0c;那么在动画做完以后&#xff0c;会恢复原状。后者则不会&#xff0c;动画做完后是什么样&#xff0c;控件就是什么样。 UIView.animation...是什么 首先我们来做一个动…