您好,欢迎访问三七文档
⼀一、直播的技术架构:直播视频采集SDK(PC/IOS/Anddroid)——直播CDN(直播流分发加速)——直播视频播放器器SDK(PC/IOS/Android)⼆二、⾳音视频处理理的⼀一般流程:数据采集→数据编码→数据传输(流媒体服务器器)→解码数据→播放显示1、数据采集:摄像机及拾拾⾳音器器收集视频及⾳音频数据,此时得到的为原始数据涉及技术或协议:摄像机:CCD、CMOS拾拾⾳音器器:声电转换装置(咪头)、⾳音频放⼤大电路路2、数据编码:使⽤用相关硬件或软件对⾳音视频原始数据进⾏行行编码处理理(数字化)及加⼯工(如⾳音视频混合、打包封装等),得到可⽤用的⾳音视频数据涉及技术或协议:编码⽅方式:CBR、VBR编码格式视频:H.265、H.264、MPEG-4等,封装容器器有TS、MKV、AVI、MP4等⾳音频:G.711µ、AAC、Opus等,封装有MP3、OGG、AAC等3、数据传输:将编码完成后的⾳音视频数据进⾏行行传输,早期的⾳音视频通过同轴电缆之类的线缆进⾏行行传输,IP⽹网络发展后,使⽤用IP⽹网络优传输涉及技术或协议:传输协议:RTP与RTCP、RTSP、RTMP、HTTP、HLS(HTTPLiveStreaming)等控制信令:SIP和SDP、SNMP等4、解码数据:使⽤用相关硬件或软件对接收到的编码后的⾳音视频数据进⾏行行解码,得到可以直接显示的图像/声⾳音涉及技术或协议:⼀一般对应的编码器器都会带有相应的解码器器,也有⼀一些第三⽅方解码插件等5、播放显示:在显示器器(电视、监视屏等)或扬声器器(⽿耳机、喇喇叭等)⾥里里,显示相应的图像画⾯面或声⾳音涉及技术或协议:显示器器、扬声器器、3D眼镜等三、常⻅见的视频直播相关协议:1、RTMP(RealTimeMessagingProtocol,实时消息传送协议)RTMP是AdobeSystems公司为Flash播放器器和服务器器之间⾳音频、视频和数据传输开发的开放协议。它有三种变种:1)、⼯工作在TCP之上的明⽂文协议,使⽤用端⼝口1935;2)、RTMPT封装在HTTP请求之中,可穿越防⽕火墙;3)、RTMPS类似RTMPT,但使⽤用的是HTTPS连接;RTMP协议是被Flash⽤用于对象、视频、⾳音频的传输。这个协议建⽴立在TCP协议或者轮询HTTP协议之上。RTMP协议就像⼀一个⽤用来装数据包的容器器,这些数据既可以是AMF格式的数据,也可以是FLV中的视⾳音频数据。⼀一个单⼀一的连接可以通过不不同的通道传输多路路⽹网络流,这些通道中的包都是按照固定⼤大⼩小的包传输的。2、RTSP(RealTimeStreamingProtocol,实时流传输协议)RTSP定义了了⼀一对多应⽤用程序如何有效地通过IP⽹网络传送多媒体数据。RTSP提供了了⼀一个可扩展框架,数据源可以包括实时数据与已有的存储的数据。该协议⽬目的在于控制多个数据发送连接,为选择发送通道如UDP、组播UDP与TCP提供途径,并为选择基于RTP上发送机制提供⽅方法。RTSP语法和运作跟HTTP/1.1类似,但并不不特别强调时间同步,所以⽐比较能容忍⽹网络延迟。代理理服务器器的缓存功能也同样适⽤用于RTSP,并且因为RTSP具有重新导向功能,可根据实际负载情况来切换提供服务的服务器器,以避免过⼤大的负载集中于同⼀一服务器器⽽而造成延迟。3、RTP(Real-timeTransportProtocol,实时传输协议)RTP是针对多媒体数据流的⼀一种传输层协议,详细说明了了在互联⽹网上传递⾳音频和视频的标准数据包格式。RTP协议常⽤用于流媒体系统(配合RTCP协议),视频会议和⼀一键通系统(配合H.323或SIP),使它成为IP电话产业的技术基础。RTP是建⽴立在UDP协议上的,常与RTCP⼀一起使⽤用,其本身并没有提供按时发送机制或其它服务质量量(QoS)保证,它依赖于低层服务去实现这⼀一过程。RTP并不不保证传送或防⽌止⽆无序传送,也不不确定底层⽹网络的可靠性,只管发送,不不管传输是否丢包,也不不管接收⽅方是否有收到包。RTP实⾏行行有序传送,RTP中的序列列号允许接收⽅方重组发送⽅方的包序列列,同时序列列号也能⽤用于决定适当的包位置,如在视频解码中,就不不需要顺序解码。4、RTCP(Real-timeTransportControlProtocol,实时传输控制协议)RTCP是RTP的配套协议,为RTP媒体流提供信道外的控制。RTCP和RTP⼀一起协作将多媒体数据打包和发送,定期在多媒体流会话参与者之间传输控制数据。RTCP的主要功能是为RTP所提供的服务质量量(QoS)提供反馈,收集相关媒体连接的统计信息,例例如传输字节数,传输分组数,丢失分组数,单向和双向⽹网络延迟等等。⽹网络应⽤用程序可以利利⽤用RTCP所提供的信息来提⾼高服务质量量,⽐比如限制流量量或改⽤用压缩⽐比⼩小的编解码器器。四、视频直播的基本要素1、码率(bitrate)码率即⽐比特率,指单位时间内产⽣生的数据位,单位bps(bitpersecond),1Mbps=1024kbps=1048576bps。⼀一般的,分辨率⼀一定的情况下,码率越⾼高,视频质量量越好。(*注意bps与B/s的区别,1B/s=8bps。)通常,720P的码流码率在2~4Mbps左右,1080P的码流码率在4~8Mbps左右,对于⽤用户来说则是宽带要求,要看720P的视频需要⾄至少2M的带宽,要看1080P的视频需要⾄至少4M的带宽,当前国内的⽹网络环境下,上下⾏行行速率不不对等,如果主播要使⽤用⾼高清视频,还得确保主播上⾏行行带宽⾜足够。编码⽅方式有两种,⼀一种叫定码率CBR,指按照固定的码率来进⾏行行编码,⼀一种叫变码率VBR,指依照实际数据量量⼤大⼩小变化的码率来进⾏行行编码。2、分辨率(resolution)分辨率指的是画⾯面的尺⼨寸⼤大⼩小,分辨率越⾼高,图像越⼤大。⼀一般的,在码率⼀一定的情况下,分辨率越⾼高,视频质量量越差。分辨率有图像分辨率与显示分辨率两种,图像分辨率指图像的尺⼨寸⼤大⼩小,显示分辨率指屏幕分辨率。对于视频⽽而⾔言,有⼀一些固定尺⼨寸的分辨率标准,如D1(720×576)、4CIF(704×576)、VGA(640×480)、SVGA(800×600)、VXGA(1600×1200)等,后来对于固定⽐比例例(16`9)的画⾯面,分辨率的的表示⽅方法为纵向⾼高度加扫描⽅方式,如720P(1280×720,逐⾏行行扫描)、1080P(1920×1080,逐⾏行行扫描)、1080I(1920×1080,隔⾏行行扫描),再到后⾯面,使⽤用横向像素描述,如2K(2048×1536或2560×1440或2560×1600)、4K(4096×2160或3840×2160)、8K(7680×4320)。720P以下的分辨率称为标清(400线左右,如480P),720P称为⾼高清,1080P/1080I称为全⾼高清,之上称为超⾼高清。3、帧率(framerate)帧指的是码流中的单张画⾯面,帧率指单位时间内码流的帧数,单位fps(framepersecond)。帧率的骤变最容易易给⼈人造成画⾯面卡顿掉帧的感觉,稳定的⾼高帧率能保证视频的流畅感。因为⼈人眼存在视觉暂停效应,对于时间相差较短的变化较⼩小的画⾯面,⼈人会认为画⾯面是连续的,通常情况下,视频帧率稳定在30fps以上时,⼈人会觉得基本流畅,60fps会让⼈人感觉很流畅,但是⾼高于75fps后,⼈人眼就不不太能察觉出流畅度的提升。电影院放映的电影帧率通常为24帧每秒,但⼈人依然觉得很流畅,原因是电影的帧是动态模糊的,⼈人眼会忽略略掉这些模糊差异,⽽而计算机上显示的每⼀一帧都是清晰的,所以显示器器上对于帧率的要求会⽐比电影院⾼高。4、丢包率(packetlossrate)丢包率指传输中所丢失的数据包数量量占全部发送数据包数量量的⽐比率。丢包率越⼤大,画⾯面卡顿越厉害,甚⾄至⽆无画⾯面。⼀一般来说,丢包率超过2%时,画⾯面会出现明显的掉帧。检查丢包率的⽅方法⼀一般通过⻓长ping或者tracert(或traceroute)来检测,也有⼀一些⼯工具软件可以⽤用来检测或模拟丢包情况,如iperf、netperf等。5、时延(delay)通俗来讲指的是数据从产⽣生到接收的过程中耗费的时间,⼀一般指的是⽹网络传输延时。影响⽹网络延时的因素有很多,传输过程有丢包、⽹网关转换慢、节点处理理慢等等都有可能对⽹网络延时产⽣生影响,⽹网络环境中存在不不稳定的延时时,极易易造成跳帧、卡帧等情况。通常,局域⽹网内延时要求在400ms以下,⼴广域⽹网或互联⽹网延时要求在3~5s以内。
本文标题:直播技术解释
链接地址:https://www.777doc.com/doc-5870859 .html