一、直播与点播

本篇文章实现的功能就类似是点播,将本地的全景视频通过服务器传输到各个客户端。

二、实现直播或点播的关键步骤

1、搭建及配置流媒体服务器 ;

2、推流,将本地视频或直播视频以流媒体的形式推送给流媒体服务器 (可能会涉及格式转换);

3、拉流 ,从服务器中将流媒体下载到本地并播放,一般是边下载边播放的过程。

三、具体实现步骤

在搭建流媒体服务器之前需要了解在拉流时我们需要用到哪种协议;目前比较主流的流协议有:RTMP、RTSP及HLS ,其中前两种协议多用于PC,HLS可以很好的支持、IOS端。

为了更好的支持手机端观看,我选择的是HLS协议,该协议规定 视频的封装格式为TS,除了TS视频文件本身,还定义了用来控制播放的m3u8文件。

而流媒体做推流时一般会用到RTMP协议,由此本文中推流使用RTMP协议,拉流使用HLS协议。

1. 搭建系统下的流媒体服务器。

网上很多资料是基于搭建流媒体服务器,由于本人对服务器相关技术一窍不通,所以选择了尝试在系统下直接搭建流媒体服务器。

此处参考如下大神整理的步骤:

下的流媒体服务器搭建过程

2、推送本地视频到流媒体服务器

目前有两种比较主流的推流应用程序: 及 OBS

推流 :在大神整理的流媒体服务器搭建过程中有涉及到使用 中的相关

命令对本地视频进行推送;

①.exe -re -i “a.mp4” - aac -ar - copy -f flv “rtmp://193.156.0.56/live/”

以上命令,是需要将本地视频放置在的安装路径之下的,且输入命令时需要定位到该路径下,如下图所示。

② -re -i C:\\\\a.mp4 -c copy -f flv rtmp://193.156.0.56/live/

以上命令适用于为 配置好了系统环境,且视频放在对应路径(将视频拖到命令窗口即可)。

(2)OBS 推流

OBS是免费且开源的视频录制以及直播推流的软件,广泛使用于视频采集,直播等领域,且支持多种不同的语言界面,操作非常直观方便。

该软件功能强大,我只是用于本地视频推流,将本地视频添加至工作台,配置好服务器开始推流即可;

更多关于OBS软件的功能可以自行了解。

以上两种方法都可以实现将本地视频以流媒体的形式推送到流媒体服务器,且都使用了RTMP协议。

三、拉流及本地视频播放

本地的拉流的实现我是在中使用插件实现的,由于目前支持HLS协议,且将会应用于手机端,因为拉流选用HLS协议,具体设置如图所示:

之后发布安卓端,PC端,均测试成功,实现了边拉流边播放的功能。

写在最后

个人理解,无论是直播还是点播的过程,并不存在真正意义上的暂停操作,只存在直播时长的问题,点播可以通过OBS控制本地视频暂停播放的操作实现推流画面的暂停,看起来好像是视频播放暂停了,但其实推流及拉流一直在进行,只不过一直推流和拉流的画面在暂停画面时,一直是一样的。