这是一个创建于 2785 天前的主题,其中的信息可能已经有所发展或是发生改变。
其实,互联网视频直播,与互联网传输技术、视频编解码技术和流媒体技术是密不可分的。要想实现互联网视频直播,首先就要有以上方面的技术和经验积累。
一、直播中使用的流媒体协议
流媒体是指采用流式传输的方式在 Internet 播放的媒体格式。流媒体又叫流式媒体,它是指商家用一个视频传送服务器把节目当成数据包发出,传送到网络上。用户通过解压设备对这些数据进行解压后,节目就会像发送前那样显示出来。
1.UDP 协议:UDP 是 OSI 参考模型中一种无连接的传输层协议,它主要用于不要求分组顺序到达的传输中,分组传输顺序的检查与排序由应用层完成,提供面向事务的简单不可靠信息传送服务。UDP 提供了无连接通信,且不对传送数据包进行可靠性保证,适合于一次传输少量数据
2.RTMP 协议:是现在编码器输出的工业标准协议,基于所有的编码器(摄像头之类)都支持 RTMP 协议。RTMP 也是目前直播平台应用最多的流媒体传输协议(延时大约在 1-5 秒之内) RTMP 基于 flash 技术,无法在 iOS 的浏览器中播放,但是实时性比 HLS 要好。
3.HLS 协议:HTTP Live Streaming (缩写是 HLS )是一个由苹果公司提出的基于 HTTP 的流媒体网络传输协议,主要用于 PC 和 Apple iOS 移动终端。HLS 属于切片式传输,HLS 延时较大,大约在 10-15S 左右,目前应用在手机 WAP 页面以及微信页面观看。
二、直播的模块划分
1.视频采集和编码录制端
视频采集一般是电脑设备上的音视频输入设备和手机上的摄像头、麦克风。由于摄像头和手机功能的进步,视频采集也相对相对简单了很多。编码和录制工具通常是软件,比如 PC 端使用的“直播大师( Live Master )”,手机端使用的 ffmpeg 和 WebRTC 这类工具。
2.视频播放端
可以是电脑、手机上的视频播放器,还可以是 H5 的 video 标签等。目前以手机端的播放器为主。视频传输技术主要以 HTTP 协议为主,hls 主要面对 iOS 终端,RTMP 主要用于 PC 端视频播放,实时性较高。
3.视频服务器端
视频传输和播放用的流媒体服务器,通常是用 C 或者 C++语言开发实现,主要实现一对多的视频流发布功能。
4.内容分发系统
很多人都知道,涉及到大规模内容分发都需要用到 CDN 技术,市场上有很多提供 CDN 的服务公司,他们通过为用户提供内容的大范围分发服务来盈利。一些大的运营公司例如优酷、爱奇艺、腾讯等都是通过自建 CDN 来支撑自己的业务运营,这方面的核心技术都是很专业的,需要一个专业的团队研发多年才可以打造成一个产品化和运营级的平台。
个人自建一个直播平台几乎是不可能完成的,一个直播系统的搭建需要各部分技术人员互相配合完成的,个人自建的需要付出很大的时间精力和财力,而且难以保证后期平台运营的稳定。专业的团队会有更稳定的保障,小编建议,如果您想要搭建一个个人直播平台的话,还是找一家专业性高的直播系统开发商比较靠谱。