|
马上注册登陆,结交更多好友,享用更多功能,让你轻松玩转社区
您需要 登录 才可以下载或查看,没有账号?用户注册
x
在国内,视频开发所需要了解的基础知识,总结起来,可以归纳为:一标准五协议二类库。下面我们就分别看看他们都指什么。本文转载自微信「活在信息时代」,作者活在信息时代。转载本文请联活在信息时代。 子域名查询的相关问题可以到网站了解下,我们是业内领域专业的平台,您如果有需要可以咨询,相信可以帮到您,值得您的信赖!
随着络带宽的日益扩大,基于络的视频流越来越成为很多应用内置的功能。因此,对于视频相关开发的技术需求也越来越多。因此,对于很多程序员来说,掌握一些基础的视频流开发知识,就成为了解决很多问题的关键。但是视频开发相关的知识很多,一些开发人员,尤其是中途转行的技术人员,不知道如何开始,因此,本文就为大家介绍一些视频开发的基础知识,从而让大家少走些弯路。
在国内,视频开发所需要了解的基础知识,总结起来,可以归纳为:一标准五协议二类库。下面我们就分别看看他们都指什么。
一、标准一标准指得是是标准GBT28181—2022《公共安全视频监控联系统信息传输、交换、控制技术要求》,该标准规定了公共安全视频监控联系统的互联结构,传输、交换、控制的基本要求和安全性要求,以及控制、传输流程和协议接口等技术要求,是视频监控领域的标准。
GB28181协议信令层面使用的是SIP(SIP)协议,流媒体传输层面使用的是时传输协议(R-TP,RTP)协议。
GB28181可以理解为在国际通用标准的基础之上进行了私有化定制以满足视频监控联系统互联传输的标准化需求。它的协议会话通道际上使用的是SIP协议,并且在SIP协议的基础之上做了些私有化处理。
GB28181标准中具体通信协议结构图如下图所示:
二、协议五协议指得是SIP、RTP、RTCP、RTSP和RTMP。
1、SIPSIP(SP,会话初始协议)是一个由IETFMMUSIC工作组开发的协议,作为标准被提议用于创建,修改和终止包括视频,语音,即时通信,在线游戏和虚拟现等多种多媒体元素在内的交互式用户会话。
SIP中一个比较重要的概念是用户代理(UA),指的是一个SIP逻辑络端点,用于创建、发送、接收SIP消息并管理一个SIP会话。
SIP用户代理又可分为用户代理客户端UAC(UAC)和用户代理服务端UAS(UAS)。UAC创建并发送SIP请求,UAS接收处理SIP请求,发送SIP响应。SIP协议会与许多其它的协议协同工作,如SIP报文内容发送会话描述协议(SDP,SDP),SDP协议描述了会话所使用流媒体细节,如:使用哪个IP端口,采用哪种编解码器等等。
SIP的一个典型用途是:SIP会话传输一些简单的经过报文的时传输协议流,RTP本身才是语音或视频的载体。
在前文所述的GB28181协议中,联系统在进行视音频传输及控制时应建立两个传输通道:会话通道和媒体流通道。会话通道用于在设备之间建立会话并传输系统控制命令;媒体流通道用于传输视音频数据,经过压缩编码的视音频流采用流媒体协议RTPRTCP传输。
2、RTPRTP(R-TP)时传输协议是用于I上针对多媒体数据流的一种传输层协议。
RTP协议和RTP控制协议RTCP一起使用,而且它是建立在UDP协议上的。
和UDP一样,RTP并不提供任何传输可靠性的保证和流量的拥塞控制机制,法保证时业务的服务质量。在际应用中,RTP协议和UDP两者共同完成传输层协议传输。UDP只是负责传输数据包,RTP提供时间标志戳及其他技术来保证流媒体在时传输时的时间正确性。RTP具有延时低和支持多播两个特点。
多播功能在络视频会议方面有着很广泛的应用,它主要应用于这样一种环境
假设红色的圆为存放有视频数据的流媒体服务器,其他的圆为连接到该服务器的各个客户端,当所有的绿色的客户端要求同时观看红色服务器上的某一个视频时,如果服务器为每一路客户端单独建立连接进行数据的传输,这样明显不太合理浪费带宽,因此,多播技术可以很好地解决这种问题,即同一份数据,由服务器发送到公共的多播地址,各个客户端均监听同一个多播地址来获取数据,这样,既节省了带宽,同时也保证了各个客户端所观看的视频的同步。RTP协议在比较初就是为了现类似的视频会议的应用而诞生的。
3、RTCPRTCP(R-CP,时传输控制协议)与RTP共同定义在1996年提出的RFC1889中,它是和RTP一起工作的控制协议。RTCP单独运行在低层协议上,由低层协议提供数据与控制包的复用。在RTP会话期间,每个会话参与者周期性地向所有其他参与者发送RTCP控制信息包。
4、RTSPRTSP(RTSP,时流协议),是传输层之上的应用层协议(RTP是传输层),它可选择UDP、组播UDP、TCP、RTP为传输机制。RTSP定义了双向多应用程序如何有效地通过IP络传送多媒体数据。
RTSP充当多媒体服务器的络远程控制,使时数据如音频与视频的进退、中止、播放成为可能。
和RTP相比,应用场景上RTSP是一种双向时数据传输协议,它允许客户端向服务器端发送请求,如回放、进、倒退等操作。协议上,RTSP是应用层协议,可基于RTP来传送数据,还可以选择TCP、UDP、组播UDP等通道来发送数据,具有很好的扩展性。这里就比较清晰了,运营商的IPTV直播业务,没有任何回放、倒退等操作,所以可以直接采用UDP+RTP+组播现。
5、RTMPRTMP(RTMP,时消息传送协议)是AS为F播放器和服务器之间音频、视频和数据传输开发的开放协议。
RTMP协议从属于应用层,被设计用来在适合的传输协议(如TCP)上复用和打包多媒体传输流(如音频、视频和互动内容)。RTMP提供了一套全双工的可靠的多路复用消息服务,类似于TCP协议[RFC0793],用来在一对结点之间并行传输带时间戳的音频流,视频流,数据流。通常情况下,不同类型的消息会被分配不同的先级,当络传输能力受限时,先级用来控制消息在络底层的排队顺序。
除了以上五种协议之外,直播协议HLS、SRT以及苹果的HLS协议也是经常会用到的技术。
、类库二类库是指G开源的WRTC、以讯的视频SDK为代表的在线视频SDK。
1、WRTC2022年5月,G以6820万美元收购VIP软件开发商GIPS的GIPS引擎,并改为为“WRTC”。
WRTC可通过简单的API为浏览器和移动应用程序提供时通信(RTC)功能。WRTC组件已经过化,可以比较好地满足此目的。
借助WRTC,用户可以在基于开放标准的应用程序中添加时通信功能。它支持在同级之间发送视频,语音和通用数据,从而使开发人员能够构建功能强大的语音和视频通信解决方案。该技术可在所有现代浏览器以及所有主要平台的本机客户端上使用。WRTC背后的技术被现为一个开放的W标准,并在所有主要浏览器中均以常规JSAPI的形式提供。国内提供音视频PS和SS服务的厂商都是基于WRTC开发的,包括QQ、微信,以及从讯和YY出来创业的各种团队。
2、讯直播SDK直播SDK是讯云视立方产品家族的子产品之一。讯直播SDK支持直播推流、拉流、主播观众互动连麦、主播跨房PK等能力。
除了讯直播SDK以外,YY的声、钉钉的等,也提供类似的在线直播平台SDK。可以不用自己做太多的开发。
四、视频形式及常见解决方案从交互方式来看,流媒体分为点播(VOD)和直播(LIVE)两种。直播(LIVE):HLS,RTMP,+MP4,+,RTP+RTSP
点播(VOD):+MP4,+,HLS,DASH
从业务场景来看,常见的应用方案可以归纳为以下几种。直播:RTMP,HLS,+
音视频通话:(RTP),SIP+RTP
视频点播:+MP4,+,
IPTV:RTSP(信令)+RTP(媒体)
会议电视:RTP(媒体)+SIP(信令),H323(信令)+RTP(媒体)
视频监控:国标SIP(信令)+RTP(媒体),RTSP(媒体)+RTP(媒体)
VOIP:SIP(信令)+RTP(媒体)
当然,以上只是一个简单的介绍,具何如何应用,还要看自己的业务需求。 |
|