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

[复制链接]
查看: 4153|回复: 0
发表于 2019-10-10 17:09:17 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
技术架构上:
直播视频采集SDK(PC/iOS/Android)——直播CDN
(直播流分发加速)——直播视频播放器SDK(PC/IOS/Android)
v2-4c8025a9412068af66f58b7adecca66b_hd.jpg
音视频处理:
数据采集—数据编码—数据传输—解码数据—播放
数据采集:
摄像机和拾音器收集视频及音频数据,涉及技术摄像机为CCD、CMOS,拾音器为声电转换装置、音频放大电路
数据编码:
使用相关硬件或软件对音视频原始数据进行编码处理及加工,得到可用的音视频数据。编码方式通常为:CBR、VBR,编码格式视频常用H.264、AVI、MP4等,音频为AAC、MP3等。
数据传输:
将编码完成后的音视频进行传输,现在传输方式多为CDN选择距离用户最近的服务器进行传输。
解码:
使用相关硬件或软件对接收到的编码后的音视频数据进行解码,得到可以直接显示的图像/视频。
播放显示:
在显示器或扬声器里,显示相应的图像画面或声音。
v2-f2605074f5150734c72b4fe93e12268c_hd.jpg
常见的视频直播协议:
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所提供的信息来提高服务质量,比如限制流量或改用压缩比小的编解码器。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

 
 
工作时间:
8:00-18:00
客服热线:
15368564009
客服微信