直播开发需要什么样的开发环境

技术架构上:

直播视频采集SDK(PC/iOS/Android)——直播CDN

(直播流分发加速)——直播视频播放器SDK(PC/IOS/Android)

音视频处理:

数据采集—数据编码—数据传输—解码数据—播放

数据采集:

摄像机和拾音器收集视频及音频数据,涉及技术摄像机为CCD、CMOS,拾音器为声电转换装置、音频放大电路

数据编码:

使用相关硬件或软件对音视频原始数据进行编码处理及加工,得到可用的音视频数据。编码方式通常为:CBR、VBR,编码格式视频常用H.264、AVI、MP4等,音频为AAC、MP3等。

数据传输:

将编码完成后的音视频进行传输,现在传输方式多为CDN选择距离用户最近的服务器进行传输。

解码:

使用相关硬件或软件对接收到的编码后的音视频数据进行解码,得到可以直接显示的图像/视频。

播放显示:

在显示器或扬声器里,显示相应的图像画面或声音。

常见的视频直播协议:

RTMP(real time messaging protocol,实时消息传输协议)

RTMP是Adobe Systemsg公司为flash播放器和服务器之间音频、视频和数据传输开发的开发协议。

RTMP协议是被Flash用于对象、音频、视频的传输。这个协议建立在TCP协议或者轮询HTTP协议之上。RTMP协议就像一个用来装数据包的容器,这些数据既可以是AMF格式的数据,也可以是FLV中的视音频数据,一个单一的连接可以通过不同的通道传输多路网络流,这些通道中的包都是按照固定大小包传输的。

RTSP(real time streaming protocol,实时流传输协议)

RTSP定义了一对多应用程序如何有效的通过IP网络传送多媒体数据,RTSP提供了一个可扩展框架,数据源可以包括实时数据与已有的存储的数据,该协议目的在于控制多个数据发送连接,为选择发送通道如:UDP、组播UDP与TCP提供途径,并为选择基于RTP上发送之际提供方法。

RTP(real transport protocol,实时传输协议)

RTP是针对多媒体数据流的一种传输层协议,详细说明了在互联网上传递音频和视频的标准数据包格式。RTP协议常用于流媒体系统(配合RTCP协议使用),视频会议和一键通系统,使它成为IP电话产业的技术基础。

RTP是建立在UDP协议上的,常与RTCP一起使用,其本身没有提供按时发送机制或其它服务质量保证,它依赖于底层服务去实现这一过程。

RTP并不保证传送或防止无序传送,也不确定底层网络的可靠性,只管发送,不管传输是否丢包,也不管接收方是否收到包。RTP实行有序传送,RTP中的序列号允许接收方重组发送方的包序列,同时序列号也能用于决定适当的包位置,如在视频解码中,就不需要顺序解码。

RTCP(real transport control protocol,实时传输控制协议)

RTCP是RTP的配套协议,为RTP媒体流提供信道外的控制,RTCP和RTP一起协作将多媒体数据打包和发送,定期在多媒体流会话参与者之间传输控制数据。

RTCP的主要功能是为RTP所提供的服务质量提供反馈,收集相关媒体连接的统计信息,例如传输字数节数,传输分组数,丢失分组数,单向和双向网络延迟等。网络应用程序可以利用RTCP所提供的信息来提高服务质量,比如限制流量或改用压缩比小的编解码器。

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券