Page 37 - BP_202204
P. 37
缩比会直接影响整个流媒体传输的用户 置。如果是推流端与流媒体服务器间的 时,客户端会下载一个包含元数据的
体验和传输成本。常见的视频编码器 网络带宽过低,那么将导致视频出现卡 extended M3U(m3u8) playlist文
有H.264/AVC、HEVC/H.265、VP8、 顿的现象。需要调低推流端的拍摄分辨 件,用于寻找可用的媒体流。其基于
VP9、FFmpeg。音频编码器有MP3、 率和码率。同时,如果拉流端所设置的 H T T P协议的特性使其在与H5技术
AAC等。 分辨率和码率高于推流端的设置,那么 结合后具有不错的跨平台特性。对于
(4)封装 播放效果必然无法达到预期值。反之, iOS和Android上的浏览器都可实现
把编码器生成的多媒体内容(视 如果是拉流端与流媒体服务器间的网络 拉流播放。甚至在P C上亦可通过相
频,音频,字幕,章节信息等)混合封 带宽过低,那么就需要流媒体服务器提 应的插件使其支持HLS协议。当然,
装在一起。几种常见的封装格式包括 供多种码率的播流地址以供拉流端播放 其延迟较长的缺点也是比较突出的。
有:AVI格式(后缀为.avi)、DV-AVI 器切换使用。所以,流媒体服务器的转 不过综合来看,对于本系统的移动端
格式(后缀为.avi)、QuickTime File 码过程可以理解为将视频源转换成多种 需求而言,目前没有更好的直播协议
Format格式(后缀为.mov)、MPEG格 码率和分辨率的视频数据的过程。 可以选择;再者,本系统对于直播的
式(文件后缀可以是.mpg.mpeg.mpe. (2)分发 延时并没有很高的要求。所以,本系
dat.vob.asf.3gp.mp4等)、WMV格 流媒体服务器的另一个作用是负 统的移动端拉流的直播协议选择采用
式(后缀为.wmv.asf)、Real Video格 责直播流的发布和转播分发功能。根 HLS协议。
式(后缀为.rm.rmvb)、Flash Video 据前文所列需求,用户能在包括PC、 综合以上要素,考虑通用性、
格式(后缀为.flv)、Matroska格式(后 手机、平板等多种智能设备上使用, 稳定性因素,流媒体服务器将使用
缀为.mkv)、MPEG2-TS格式(后缀 实现多屏融合的需求可以看出,拉流 FFmpeg+NGINX+RTMP模块的组建
为.ts)。 终端的设备硬件、操作系统、播放软 方案。
目前,我们在流媒体传输,尤 件都存在多种可能性。那么首先是在 FFmpeg是一套可以用来记录、
其是直播中主要采用的就是F LV和 RTMP、RTSP以及HLS这三种常用流 转换数字音频、视频,并能将其转化
MPEG2-TS 格式,分别用于RTMP/ 媒体直播协议中选择合适的使用。它 为视频流的开源计算机程序。FFmpeg
HTTP-FLV和HLS协议。 们其各自都具有不同的优缺点和适用 有非常强大的功能,包括视频采集功
(5)推流 的场景。 能、视频格式转换、视频编码、视频
推流是指使用带有推流功能或软 RTMP(Real Time Message 抓图、视频加水印等。不仅可以采集
件的设备把直播内容传输到服务器的 Protocol实时信息传输协议)协议是 视频采集卡或USB摄像头的图像,还
过程。松下的AJ-PX298MC摄像机具 由Ad ob e公司提出的一种应用层的 可以进行屏幕录制,同时还支持以RTP
有RTMP直推功能,可以将广电级专 协议,用来解决多媒体数据传输流的 方式将视频流传送给支持RTSP的流媒
业视频直接推送到直播平台。大洋全 多路复用(Multiplexing)和分包 体服务器,支持直播应用。
能机eStudio Go同样也具备了RTMP (packetizing)的问题。其特点是稳 Nginx是一款轻量级服务器、反
的推流功能,可以将P G M信号推送 定性高,在PC平台上flash播放的最稳 向代理服务器及电子邮件代理服务
到流媒体服务器上。而苹果或安卓手 定方式是RTMP,而且一般主流编码 器。其特点是占用内存少,并发能力
机在安装了相应的直播推流APP后也 器都支持该协议,使用较为方便。加 强。与apache相比,其占用更少的内
可对系统的流媒体服务器进行推流。 上推流使用的协议也是RTMP,所以 存及资源。nginx处理请求是异步非阻
所以以上提到的包括采集、处理、编 在服务器端无需进行转换。做为本系 塞的,而apache则是阻塞型的,在高
码、封装、推流在内的几个流程都可 统PC机(windows系统)拉流端的协 并发下,nginx能保持低资源低消耗高
以由现有软硬件直接完成,无需再进 议是合适的。 性能,用它来做hls或者rtmp流媒体
行开发。 HLS(HTTP Live Streaming) 服务器是非常不错的选择。
2.流媒体服务器 是一个由苹果公司提出的基于HTTP 本系统的可使用范围被限定于本
流媒体服务器在本系统中的作用 的流媒体网络传输协议。是苹果公司 地的办公网,用户数和并发量都比较有
主要是转码和分发。 QuickTime X和iPhone软件系统的 限,所以没有做CDN的配置和部署。
(1)转码 一部分。它的工作原理是把整个流分 3.拉流端
视频直播拉流端的码率是根据推 成一个个小的基于HTTP的文件来下 拉流端即用户用来播放视频的移
流端决定的,即拉流端的码率在理想情 载,每次只下载一些。当媒体流正 动终端或P C。用户要获取直播视频
况下是与推流端的码率保持一致的。但 在播放时,客户端可以选择从许多 资源时,首先使用终端的浏览器或者
是在实际的应用中,如果遇到网络带宽 不同的备用源中以不同的速率下载同 微信APP访问本系统的内容发布服务
低于所选码率的最低要求网络带宽时, 样的资源,允许流媒体会话适应不同 器。在通过身份验证后,服务程序会
就需要调整拉流端或者推流端的相应设 的数据速率。在开始一个流媒体会话 返回相应的直播拉流地址与播放页面
37