玩转直播系列之从 0 到 1 构建简单直播系统(1) (3)

FLV(Flash Video)是一种网络视频格式,是一种流媒体格式,目前主流的一些直播网络使用的流媒体格式比较多的都是flv,它能够不需要安装任何插件即可进行播放。

3.3.1 小试牛刀:使用VLC工具观看

VLC 是一款音视频播放器,可以播放本地媒体,也可以播放网络上的媒体,到官网… 下载对应的安装包安装即可。

点击“媒体”tab下的“打开网络串流”选项,然后网络地址设置为:rtmp://localhost:1935/live/movie ,点击“确定”后就可以看到OBS推流的视频啦。

玩转直播系列之从 0 到 1 构建简单直播系统(1)

玩转直播系列之从 0 到 1 构建简单直播系统(1)

使用VLC主要是方便开发同学进行观看测试,例如观看卡顿的问题,分辨率查看,时延问题的定位,VLC算是一个比较专业的工具,能够方便我们去定位问题和解决问题的

3.3.2 使用flv.js进行浏览器端的观看

flv.js是目标最为流行的html5的纯的javascript,也是目前国内比较主流的浏览器终端播放flv格式的解决方案,本小节我们就使用flv.js进行简单的播放,打开如下的网址:bilibili.github.io/flv.js/demo…。

玩转直播系列之从 0 到 1 构建简单直播系统(1)

 可以看到如图所示的,将如下streamURL的输入框输入:7001/live/movie.flv 后,点击switch to MediaDataSource后Load即可播放如下的画面。 

玩转直播系列之从 0 到 1 构建简单直播系统(1)

3.3.3 直播协议的简单介绍

玩转直播系列之从 0 到 1 构建简单直播系统(1)

到目前为止,我们已经成功的搭建了RTMP小框架,了解了整个推拉流的完整过程,接下来我们就需要对与RTMP协议几个强相关的直播网络传输协议有一个入门的了解。

国内常见的直播协议有几个:

RTMP

HLS

HTTP-FLV

HLS全称是 HTTP Live Streaming。这是 Apple 提出的直播流协议。目前,IOS 和 高版本 Android 都支持 HLS,HLS 主要的两块内容是 .m3u8 文件和 .ts 播放文件。接收服务器会将接收到的视频流进行缓存,然后缓存到一定程度后,会将这些视频流进行编码格式化,同时会生成一份 .m3u8 文件和其它很多的 .ts 文件,HLS的优点是跨平台性比较好,HTML5可以直接打开播放,移动端兼容性良好,缺点也是比较明显,就是时延比较高,如果有些直播,例如互动性不高的直播,可以使用该协议,HLS网络传输格式是非常适合用于点播的场景。

RTMP全称 Real Time Messaging Protocol,即实时消息传送协议,对于开发者来说,我们先明确RTMP是应用层协议,底层是使用的TCP传输协议,这边我们知道RTMP是音视频相关领域的协议,所以这块使用TCP作为主要的传输层协议也给后续RTMP关于网络的各种各样的演进,留下了很多的空间,在直播行业,特别是在推流端,RTMP协议是名副其实的霸主,基本上所有主流的直播网站都是支持rtmp协议进行推流的,关于RTMP的具体协议细节,后续文章有具体的分析。

FLV(Flash Video)是 Adobe 公司推出的另一种视频格式,是一种在网络上传输的流媒体数据存储容器格式。其格式相对简单轻量,不需要很大的媒体头部信息。整个 FLV 由 The FLV Header, The FLV Body 以及其它 Tag 组成。因此加载速度极快。采用 FLV 格式封装的文件后缀为 .flv。

玩转直播系列之从 0 到 1 构建简单直播系统(1)

流媒体协议 RTMP, HTTP-FLV, HLS 简单对比: 

玩转直播系列之从 0 到 1 构建简单直播系统(1)

3.3.4 直播中的消息

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwdsgp.html