流媒体服务器使用手册
版本:V5.2
目 录
先锋流媒体服务器是由北京顺景科技有限公司研发的一款专业的流媒体服务平台软件,该软件系统主要实现流媒体内容的网络发布功能,可以同时向多种网络终端设备(PC、智能手机、机顶盒、网络电视、平板电脑)提供直播和录播形式的视频内容。
图1.1 先锋流媒体服务器服务控制台
- 产品概述
该产品支持多媒体内容的直播、直播转发、录播、点播和CDN内容分发功能。支持面向多终端多协议同时发布,该平台软件采用C++语言开发实现,具有超高的运行效率和超强的稳定性,适合大规模视频内容发布应用平台使用,比如新媒体网络电视台、OTT网络电视平台、大型视频直播运营平台、大型视频点播运营平台。
该产品主要实现多媒体视频内容的直播与录播发布功能。
直播内容发布支持多种发布协议,支持多种终端设备接收,支持集群式与分布式部署,可以满足超大规模运营使用。
录播内容发布支持多种发布协议,支持多种终端设备接收,支持多种视音频格式,支持集群式与分布式部署,可以满足超大规模运营使用。
在Windows操作系统环境下,以管理员身份执行安装程序包,根据提示一步步安装运行。
程序安装完成后,点击主程序右下角的“联机注册软件”按钮进行产品注册(注意:请在产品注册前确保运行该软件的主机可以连接到互联网),浏览器中会自动打开产品注册界面,如下图1.2所示:
图1.2
在用户名称、联系电话、联系人三个输入框中输入正确的信息,然后点击“开始注册”,系统会自动返回注册成功与注册失败的结果。如果注册失败,系统会将错误原因提供给终端用户。
图1.3
软件注册成功后,点击“启动”按钮将服务启动。
注意:服务启动前请确保各项参数配置正确,否则服务无法正常开启。关于媒体服务器各项参数设置方式,请参照2.3章节的说明进行。
服务启动:
点击媒体服务器管理控制台的控制属性页,出现如图2.1所示界面,在这里可以控制媒体服务器的启动与停止。点击启动【按钮】来启动媒体服务。
服务停止:
如果媒体服务已经启动,点击【停止】按钮可以停止媒体服务。对于已经启动的媒体服务,点击【重新启动】来进行一键停止并启动。
如果想在每次计算机开机后自动启动媒体服务,请将【开机后立即启动媒体服务】复选按钮选中。
注意:开启“开机后立即启动媒体服务”功能需要设置注册表,请确保你是以管理员权限运行了媒体服务器管理控制台。
状态查询:
如果媒体服务启动成功,则在【当前状态】区的图标将变成绿色指示图标,如果出现任何故障,则在【当前状态】区的图标将变成红绿交替的警报状态。出现启动不成功的原因可能如下:
- 服务器的端口设置可能存在冲突
默认的HTTP协议端口是80,如果80端口已经被其它应用程序占用,请尝试改变为其它端口再试;RTMP协议的默认端口是1935,如果配置的端口与其它应用程序冲突,请尝试改变为其它端口再试试。
- 文件目录可能不存在
如果启动了HLS服务、DASH服务或录制服务的其中某些想,请确保相应设置的目录是已经存在的目录,如果目录不存在,请预先手工创建目录,媒体服务器不会主动为你创建这些目录。
图2.1
如图2.2 所示为一个启动异常的媒体服务器,如果媒体服务器启动异常,并且尝试通过修改配置后仍旧异常,请联系产品开发商或产品供应商。
图2.2
先锋流媒体服务器是一款功能丰富的专业流媒体服务平台,由于其丰富的功能,为了便于使用者对该服务平台进行灵活操控,需要在正式运行该平台系统前对系统的关键参数进行正确配置。
通常,媒体服务器需要设置“HTTP协议”、“RTMP协议”、“HLS服务”、“DASH服务”、“录制服务”、“转发服务”、“分发服务”、“点播服务”等基础设置项,其中“转发服务器”、“分发服务”与“点播服务”为服务器功能设置项,在你需要启动该项功能时进行设置,如果你不启用相应功能,则无需设置。
- HTTP协议设置
HTTP协议设置界面如图2.3所示
图2.3
点击HTTP协议属性页,出现如图2.3所示界面。HTTP协议为国际标准的网页访问协议,媒体服务器内建了HTTP服务用来传输媒体流或者交互信息,HTTP协议设置页是媒体服务器中的重要设置项,请务必正确设置。
HTTP协议设置中的关键参数包括绑定地址与服务端口。
绑定地址:
即HTTP协议需要通过本计算机的哪个IP地址(或者网卡)进行输出,通常运行媒体服务器的计算机有多块物理网卡,如果你想让媒体服务器的HTTP服务能够通过任意一块网卡进行访问,则之间用“(全部未分配)”向即可,“(全部未分配)”表示不指定哪块网卡,需要媒体服务器对本机的所有网卡都进行监听。如果你的计算机有多块网卡,但你仅想通过某一块网卡来提供HTTP通信服务,则请从地址下拉框中选择一个需要使用的IP地址。
媒体服务器内建支持IPv6互联网协议,你可以通过选择绑定IPv6地址来使用运行在IPv6协议上的HTTP服务,如果不指定IPv6地址,你也可以通过选择“(全部未分配)”,然后复选【仅启用IPv6】来启用IPv6协议。如果选择了“(全部未分配)”但不选中【仅启用IPv6】,则媒体服务器可能会同时启用IPv4与IPv6协议,IPv6协议启用是否成功,取决于你的计算机里是否开启了IPv6协议栈。
HTTP服务端口:
网络协议的服务端口用于表示一个网络应用,HTTP协议的服务端口默认是80,如果你的媒体服务器所在的计算机上没有其它网络程序占用这个端口,请尽量采用80作为HTTP协议的服务端口,或者采用8080作为服务端口,其它端口号也是支持的,只要范围在1到65535之间即可,采用陌生数字可能妨碍记忆。
启用Web发布服务:
一般来说,接收直播节目是先通过浏览器这个入口来让用户浏览节目的,浏览器需要访问Web服务器来请求节目信息。媒体服务器内建了这项服务,该服务允许通过浏览器浏览节目列表并播放节目。如果你的应用功能比较简单,则通过内建的网页服务即可满足要求。要启用Web发布服务,请复选“启用Web发布服务”。其中“Web服务站点名”是用于用户访问Web服务的URL路径。
例如,如果你输入Web服务站点名为“live”,则可以通过如下URL地址来访问直播发布页面。
http://<当前主机任意IP地址>:8080/live,请将<当前主机任意IP地址>用当前主机的任意IP地址替换,“:8080”为HTTP服务端口,如果服务端口为80,则可以省略。你也可以将Web服务站点名设置为空,则访问地址将简化为:http://<当前主机任意IP地址>:8080。
注意:输入不为空的站点名可能有助于站点信息保护。
多码流自适应服务:
媒体服务器支持多码流自适应直播,所谓多码流就是指编码器在编码时将直播视频编码成多个不同视频尺寸、不同位率或者不同档次的节目流,便于流媒体服务器在不同网络状态下为终端设备传输不同码流的节目来适应不同的网络环境。多码流自适应技术的关键点是用于传送多码流信息的清单文件,媒体服务器支持HLS、DASH与Adobe的HTTP Dynamic Stream三种自适应技术,每种自适应技术会产生不同的清单文件。
对于单个节目向媒体服务器推送的多种规格的码流(视频分辨率、码率不同,但关键帧对齐),媒体服务器能够根据设置,自动将这些码流归集分类,自动生成适应于多码流节目传送的清单文件。
在多码流自适应输入框里输入的是用于访问多码流节目清单文件时的web站点名称,你可以自定义站点名称,例如:如果你在输入框里输入hds,则你可以通过如下地址访问自适应码流的节目。
RTMP 自适应码流 : http://<当前主机任意IP地址>:8080/hds/<live>/<stream>.f4m
HLS自适应码流 : http://<当前主机任意IP地址>:8080/hds/<live>/<stream>.m3u8
DASH自适应码流: http://<当前主机任意IP地址>:8080/hds/<live>/<stream>.mpd
注意:多码流自适应节目需要媒体服务器与客户端播放器共同完成。如果你仅仅在服务器端启用了多码流自适应,但播放器端不支持,则无法进行多码流自适应播放。如果要实现多码流自适应方式的直播应用,还需要一个能够产生多码流的视频编码器。
- RTMP协议设置
RTMP协议是专门用于直播服务的实时消息协议,它即能够用于编码器向视频服务器推送节目流,又可以用于视频服务器向观众发布节目流。RTMP是一个网络协议,它跟HTTP协议一样需要绑定地址与服务端口。RTMP协议绑定地址和端口与HTTP协议绑定地址和端口概念一致。
RTMP协议的设置如图 2.4所示。
图 2.4
绑定地址:
即RTMP协议需要通过本计算机的哪个地址(或者网卡)进行输出,通常运行媒体服务器的计算机有多块物理网卡,如果你想让媒体服务器的RTMP服务能够通过任意一块网卡进行访问,则直接选用“(全部未分配)”即可,“(全部未分配)”表示不指定哪块网卡,需要媒体服务器对本机的所有网卡都进行监听。如果你的计算机有多块网卡,但你仅想通过某一块网卡来提供RTMP通信服务,则请从地址下拉框中选择一个需要的地址。
媒体服务器内建支持IPv6互联网协议,你可以通过选择绑定IPv6地址来使用运行在IPv6协议上的RTMP服务,如果不指定IPv6地址,你也可以通过选择“(全部未分配)”,然后复选【仅支持IPv6】来启用IPv6协议。如果选择了“(全部未分配)”但不选中【仅支持IPv6】复选框,则媒体服务器可能会同时启用IPv4与IPv6协议,IPv6协议启用是否成功,取决于你的计算机里是否开启了IPv6协议栈。如何在计算机里开启IPv6协议栈,请查询操作系统的相关文档,Windows 服务器用户可以通过“控制面板\网络和 Internet\网络连接”来打开网卡设置,点击计算机上某个具体的网络连接,出现如图2.8所示界面(具体样式可能会因操作系统版本不同而有所差异):
图 2.5
在“Internet 协议版本 6 (TCP/IPv6)”项目前勾选,然后点击【确定】按钮即可启用IPv6协议栈。
RTMP服务端口:
网络协议的服务端口设置用于告知媒体服务器使用计算机的哪个网络端口来提供RTMP通信服务。RTMP协议的服务端口默认是1935,如果你的媒体服务器所在的计算机上没有其它网络程序占用这个端口,请尽量采用1935作为RTMP协议的服务端口,如果该端口已经被其它应用程序占用,你也可以使用其它未被占用的端口,只要范围在1到65535之间即可。注意:采用陌生数字可能妨碍记忆。
RTMP协议HTTP转发:
RTMP协议传输的数据只有在实现了RTMP协议的终端才能接收,支持RTMP协议的终端一般为Adobe 的Flash Player,但随着HTML5的逐渐完善与普及,Flash Player必将被淘汰,HTML5要求的传输协议为HTTP,因此媒体服务器支持HTTP传输是必备选项。
为了同时兼容RTMP协议数据和未来主流的HTML5技术,先锋流媒体服务器内建了RTMP协议→HTTP协议的转换模块,支持将RTMP协议传输的数据流转换成HTTP协议传输,通过将RTMP转换成HTTP协议,不仅能支持Flash Player播放,也能够支持最新的HTML5终端播放。
HTTP转发服务同样也需要绑定所需使用的网卡地址和网络端口,其含义与HTTP协议的设置保持一致。
RTMP 应用实例:
先锋流媒体服务器支持多种直播服务功能,例如:直播录制、HTTP协议、HLS协议与DASH协议,在RTMP应用中,为了便于将不同的直播服务功能进行区分,我们设计了RTMP应用实例,用户可以通过设置不同的应用实例来对不同直播服务进行功能控制。先锋流媒体服务器同时支持多个应用实例。
- 应用实例添加:
点击【添加】按钮添加新的应用实例;
如图2.6 所示,点击【添加】按钮,将出现如图 2.6 所示的输入框。
图 2.6
在应用实例名称输入框里输入任意合法的应用名称,状态设置为启用,并对该应用上的功能进行相应设置。
在这里可以设置应用实例名称,实例名称是由你自己定义的,你可以用任意字符与数字或者二者的组合作为应用实例名称。在输入应用实例名称时,请不要超过250个字节。应用实例名称将作为直播推流与直播接收地址的一部分,例如你输入的应用实例名称为live,绑定地址为 192.168.1.88,RTMP服务端口为1935,那么你可以用如下地址作为推流地址:
rtmp://192.168.1.88/live
在播放器端接收时,也是使用以上这个地址前缀。
不同的应用实例可以有不同的功能表现,请根据具体需要进行设置。
图 2.7
注意:
这里的HTTP协议设置、HLS协议设置、DASH协议设置、直播录制设置,所针对的都是当前的RTMP应用实例,它与全局的HTTP协议设置、HLS协议设置、DASH协议设置、直播录制设置既有区别又有联系,两者的关系是一种局部与全局的关系。
两者的区别与联系:
RTMP应用实例中的以上设置针对的仅仅是当前的RTMP应用实例,如果在全局设置中未启用以上功能,那么在局部设置中即使启用了上述功能,这些功能也不能正常运行。只有在全局设置中已经启用了上述功能的前提下,在RTMP应用实例中启用的上述功能才能生效。
【允许通过HTTP协议接收本应用的直播节目】
选中该复选框后,则推送到该RTMP应用实例上的媒体流将能够通过HTTP协议转发给终端用户,如果不选中,则终端用户无法通过HTTP协议接收推送到本应用实例的直播节目流。
【在本应用上启用Apple-HLS(HTTP Live Streaming协议)服务】
选中该复选框后,则所有推送到该RTMP应用实例上的媒体流将自动进行HLS(Http Live Streaming) 切片,客户端将能够通过HLS协议接收本应用实例的直播节目流。
启用时移直播缓存功能:
这项功能为时移直播应用设计,由于做时移直播时必须先将直播内容缓存到本地服务器上才能实现,所以如果要启用时移直播功能,必须选中该复选框,并且需要确保本地磁盘有足够大的内容缓存空间。
【在本应用上启用MPEG-DASH(HTTP动态自适应流协议)服务】
如果选中该复选框,则所有推送到该RTMP应用实例上的媒体流将自动进行DASH 切片,客户端将能够通过DASH协议接收本应用实例的直播节目流。
【允许服务器录制推送到本应用的直播节目】
先锋流媒体服务器具备直播节目录制功能,录制时支持自动模式与手工模式,自动启动录制模式是在推流发生时,服务器自动启动录制;手工启动录制模式是在推流发生时并不启动节目录制功能,只有在你调用相关接口手工启动时才能开始录制。
如要启用录制功能,请选中该复选框,并选择相应的录制模式。
注意:如果要启动录制功能,还需要设置好录制参数,请参见全局设置中的“录制服务”配置的相关说明。
- 应用实例删除:
首先选中应用实例列表中的一个实例,然后点击【删除】按钮即可删除这个应用实例;
- 应用实例修改:
双击实例列表框中的某个实例,可以对其进行编辑修改,修改操作与添加操作类似。
允许外部编码器推送节目:
如果流媒体服务器的RTMP端口已经公布,则任何知道这个端口的人员均可以连接这个端口并试图向这个端口推送节目流,也许你并不希望未经授权的主机向你的媒体服务器推送节目流,这个选项就是用来实现推流权限控制功能。
如果要允许本计算机之外的编码器向服务器推送节目流,请复选【允许外部编码器推送节目】,如果你想限制外部编码器,则在被允许的主机地址输入框中输入允许的计算机的IP地址,设置为空将允许任意外部编码器推送节目到本服务器,否则仅允许IP地址为本处地址所列的编码器进行节目码流推送。如果禁止外部编码器推流,则只有运行在本服务器主机上的编码器才能够向本服务器推送节目流。
媒体服务器并发连接数设置:
允许的最大客户端并发连接数是指媒体服务器同一时刻能够支持的最大连接的用户数,该数值可能由软件许可证进行设置,或者受限于你的计算机硬件资源。RTMP协议在Windows平台上支持的最大连接数为1024,这是软件设计所致。但软件许可证也许将这个设置值设置为更小的值,这个更小的值就是你在这里设置的并发连接数的上限。如果你想限制这台计算机能够支持的并发连接数,请在“允许的最大客户端并发连接数”中填入相应的值。
流切换时自动重起播放器:
这个复选框当前只针对Flash播放器有效。当该选项被选中后,服务器端进行流切换时,服务器将自动发送命令给Flash播放器以便于让其重启继续接收直播流。
(需要Flash播放器已经处于连接状态)
自动与空闲的推流端断开:
这个复选框用来设置自动断开空闲推流端的等待时长(以毫秒为单位)
音视频同步纠正时间戳偏差值:
这个复选框用来设置音视频同步的时间偏差(以毫秒为单位)。比如,设立设置300毫秒,那么当音视频的时间戳相差达到300毫秒时,服务器端将对音视频自动进行时间同步纠正。
下面用示例说明一下如何向媒体服务器发布直播节目
比如,我们向媒体服务器推送了一个节目流,节目流的名称为stream1(媒体服务器支持推流端自行定义流名称,定义的流名称不要与媒体服务器上已有的流名称重复),推送的服务器的绑定地址为192.168.1.200,rtmp的服务端口为1935。推流的应用实例名为live,http协议转发已经启用,http协议转发服务端口为8080,则:
推流地址为:rtmp://192.168.1.200/live,
流名称为:stream1;(有的推流软件称之为流密码)
则RTMP与HTTP的接收地址如下:
RTMP接收地址: rtmp://192.168.1.200/live/stream1
HTTP接收地址:http://192.168.1.200:8080/live/stream1
HTTP协议转发后的第二个接收地址: http://192.168.1.200:8080/live/stream1.flv
如果在http的接收地址的目录加入.flv扩展名,则表示数据采用 flv格式传输。如果没有制定,则媒体服务器采用默认的方式传输节目流。其它的扩展名包括MP4与TS。
- HLS协议设置
HLS全称为 HTTP Live Streamming,为苹果公司(Apple Inc)提出的流媒体传输协议,主要用于苹果系列设备进行流式传输,当前已经被大多数设备终端的软件所支持,无论是iOS系统、Android系统还是PC端,均能提供HLS协议的支持。
注意:由于HTTP协议的高延时性(一般10秒以上),因此建议设备只有在无其它协议可选的情况下才采用HLS协议。
媒体服务器内建支持HLS协议,媒体服务器支持将RTMP推送过来的直播节目实时切片为MPEG-2 TS片段文件(扩展名为.ts),并实时产生HLS协议的清单文件(.m3u8)。HLS协议实际上不是一个新的传输协议,它依赖于HTTP服务协议,媒体服务器产生清单文件与媒体片段后,通过任何支持HTTP协议的网络服务程序均可以传输,例如NGINX、Apache HTTP Server与lighttpd等Web服务器经过相应的设置后均可以作为媒体服务器的HTTP传输服务器。
点击“HLS设置”出现媒体服务器的HLS设置界面,如图2.10所示。
图2.10
由于HLS协议需要媒体服务器将RTMP协议的实时流切片为TS片段,因此必须提供一个媒体服务器的物理硬盘存储位置作为分片文件暂存目录。HLS分片文件保存目录尽量设置在能够高速传输的存储设备上,例如SCSI或SAS等高速接口的硬盘上,以便于媒体服务器能够支持更多的并发用户访问。
HLS访问站点是用于访问HLS媒体流的虚拟目录,此处设置的访问站点名仅用于媒体服务器内建的HTTP服务器,如果将HLS分片文件外挂到第三方HTTP服务器的虚拟目录下,则请参考相关第三方web服务器的设置文档。
媒体服务器在运行当中会实时将切片文件保存在设置目录下,媒体服务器将在该目录下自动根据设置的RTMP的应用实例名创建子目录,如果选中【为每个流创建独立的分片存放目录】复选按钮,则媒体服务器还将在各个实例名称子目录下创建每个流的子目录,子目录的名称为发布时流名称。
举例如下:如果HLS分片文件保存目录为D:\Media\hls,HLS访问站点名为hls,媒体服务器内建的HTTP服务端口为8080,媒体服务器的IP地址为192.168.1.100。
如果向媒体服务器的live应用实例推送一个名为stream1的流。
则媒体服务器会在D:\Media\hls目录里创建live目录,如果选中【为每个流创建独立的分片存放目录】复选框,则媒体服务器还将在live目录里再创建一个名为stream1的子目录。
如果没有选中【为每个流创建独立的分片存放目录】复选框,则通过以下地址接收直播:
http:// 192.168.1.100:8080/hls/live/stream1.m3u8
如果选中了【为每个流创建独立的分片存放目录】复选框,则通过以下地址接收直播:
http:// 192.168.1.100:8080/hls/live/stream1/index.m3u8
分片文件的时间长度:
代表每个TS片段文件的时间长度,分片文件的时间长度不能设置过大,过大的分片文件时间长度会影响直播的接收延时,通过也导致过大的分片文件尺寸。
清单文件中包含的分片文件数:
HLS的清单文件类型为.m3u8,里面记录了每次播放端发生请求时能够记录的分片文件信息,清单文件是动态更新的。清单文件记录的文件数目会影响接收端的播放延时,如果设置得过大,则延时越大,设置得过小,可能会在网络波动时播放卡顿,一般建议设置为3至5之间的数目。
分片文件索引编号回转周期:
媒体服务器将产生的分片文件的命名格式为stream1-XXXX.ts,其中XXXX代表分片文件的数字后缀,例如会用0001、0002、0003等数字来代替,XXXX后缀会来回循环利用,例如,录入过将回转周期设置为100,则在存储上回产生stream1-0001.ts到stream1-0100.ts这样的文件,当XXXX的值达到100时,索引后缀将重新从0001开始。过大的回转周期能够让分片文件保存更长的时间,但会占用更大的存储空间。
自动删除过期分片文件:
媒体服务器能够根据需要删除对直播不在需要的分片文件,如果不选中该项,则媒体服务器将媒体分片文件一直保存在存储设备上。保存在存储设备上的媒体文件片段可以作为后续的点播内容,如果选中【自动删除过期分片文件】,则媒体文件将在比较短的时间内删除。
禁用时移直播功能
时移直播就是将媒体文件录制为分片媒体文件,后续随时可以通过点播收看以前保存的分片文件。
- DASH设置
如下图2.11所示,DASH是一种动态自适应流传输协议,它是Dynamic Adaptive Streaming over HTTP的缩写,是国际标准组MPEG制定的技术标准。
DASH标准对目前出现的HAS技术框架进行了总结归纳,对背景、目的以及使用场景进行了介绍。该标准中定义了一系列的使用场景,如3D Video、互动3D、动态码率自适应、Peer-2-Peer以及多画面电视,同时还对如何与内容保护技术结合进行了定义。
DASH标准的制定主要为了解决以下问题:
1.更为有效地将MPEG的媒体通过HTTP协议,以自适应、渐进式、下载或流的方式进行内容分发;
2.支持直播业务;
3.更为有效地利用传统的基于HTTP的CDN网络、代理Server或防火墙等网络基础部件;
4.支持与内容保护系统的结合,完成对内容的保护。
总的来说,DASH对采用HTTP传输MPEG媒体涉及到的各方面提出了一系列的技术要求,包括了媒体内容格式、传输方式、MPD文件、业务控制、自适应以及媒体保护等。
先锋流媒体服务器对DASH协议提供了很好的支持,下面是与DASH相关的配置参数操作方式。
MPD分片文件保存目录:
这是用于保存MPD媒体描述文件的存储路径。
DASH服务应用名:
这是用于访问媒体流的HTTP虚拟目录,请以字母、数字或者两者的组合来定义。
为每个流创建独立的分片存放目录:
这个选项设置的目的是将每个流的分片存储路径分开,便于管理。
比如,将DASH服务应用名设置为“dash”,AppName为推流时的应用实例名,streamname为编码器发布节目时设置的流名称,那么接收直播节目的URL地址为:
http://192.168.1.10:8060/dash/AppName/streamName/index.mpd
每个DASH MPD分片文件时间长度:
用于设定每个MPD分片文件的时间长度,单位是秒。
DASH清单文件中包含的分片文件数:
用于设定每个DASH清单文件包含多少个分片文件。
分片文件索引编号回转周期:
这里用于设定在硬盘中存储多少个DASH MPD分片文件,这里的值最少是分片文件数的2倍。
自动删除过期分片文件:
选定该复选框后,系统将自动删除过期的分片文件,否则系统会保存过期的分片文件。在设定了回转周期的情况下,系统会按照设定的回转周期删除过期后的分片文件。
图2.11
媒体服务器接收到推送过来的节目流后能够进行录制。录制的节目将保存在媒体服务器上的存储设备里。媒体服务器录制有两种工作模式,自动录制与手动录制,自动录制任务由媒体服务器在接收到节目流时自动启动,手动录制需要人员进行操作来启动或停止录制,可以同时启用两种任务模式。
点击“录制服务”属性页,出现如图2.12所示的界面。
图2.12
启用自动录制节目服务:
自动录制服务由媒体服务器自动启动,你无法手工停止自动录制服务。
录制内容:全部表示录制节目流中的视频与音频;仅视频表示仅仅录制视频;仅音频表示仅仅录制音频;视频关键帧表示仅仅录制视频的关键帧。
文件保存格式:媒体服务器能够将节目保存为MP4或者FLV格式,由于MP4文件为当前主流的网络文件格式,因此建议将文件录制为MP4。
最大文件尺寸限制:限制录制文件的最大尺寸,当文件尺寸达到这个数值时,将自动产生一个新的文件。媒体服务器录制的MP4文件是经过优化处理的,非常适合于通过HTTP协议进行流式传输或其它协议进行网络点播。
如果不想限制文件录制的最大尺寸,请将该设置框输入0。
注意:由于当前喝多主流的移动设备支持的文件尺寸不能大于2GB,因此如果你要将文件尺寸设置为大于2GB,可能导致部分设备无法播放。
最大时间长度限制:限制录制文件的最大时间长度,如果最大时间长度超过这个值,则将重新产生新的文件。建议将时间长度控制在2小时之内。如果不限制录制时间长度,请设置为0。
录制间隔时间:设置录制文件的时间长度,即每隔多少时间产生一个新文件,与“最大时间长度限制”参数的区别是后者进一步控制了录制文件的时间长度,如果没有设置后者,则录制文件的时间长度无限制。如果录制间隔时间大于最大时间长度限制, 则取最大时间长度为文件的录制时长。
文件命名格式:
用于设定录像文件的命名格式,比如设定为“.mp4”,那么所有录像文件将以.mp4为文件后准扩展名称。
为每一个流创建独立的保存目录:
选定该选项后,系统将为每一个录制的节目流创建一个独立的存储目录。
每日创建不同的保存目录:
选定该选项后,系统将自动根据日期创建不同的保存目录,目录名以日期命名。
启用手动录制节目服务:
选定该选项后,系统将根据接收到的外部指令来启动录制节目服务。我们会在CMS管理系统中为用户提供手工启动录制节目的调用接口。
- 最大录制片段时间
用于设定手动录制服务时录像片段的最大时长。
- 文件保存目录
用于设定将录像文件保存在什么位置。
任务启动后持续不间断录制:
选定该选项后,系统将按照设定的参数持续不断地进行节目录制,只有手工停止录制服务时录制工作才会停止。
自动入库与应用系统集成:
媒体服务将在每一个文件录制开始与录制结束时向第三方媒资管理系统提交信息,用于录制的节目自动入库。媒资管理系统需要提供与本系统兼容的调用接口来处理入库信息。详情请参考媒体服务器接口开发指南。
- 启动录制回调接口:
用于设定启动录制的回调接口,回调接口规则如下:
http://<cms_server_ip>/manage/vmap.php?cid=1&fun=start
其中,<cms_server_ip>为cms服务器的IP地址或者域名,cid为栏目ID号。
比如:
http://192.168.1.201/admin/vmap.php?cid=1&fun=start
表示cms服务器IP是192.168.1.201,节目自动入库到栏目ID为1的栏目下。
- 录制完成回调接口:
用于设定录制完成的回调接口,比如:
http://192.168.1.201/admin/vmap.php?cid=1&fun=end
这里用于设定直播流的转发服务,先锋流媒体服务器可以从远程媒体服务器将直播流拉到本地,然后通过本地服务器进行直播流转发,通过启用转发服务来节省主干网络的带宽资源。当前版本支持通过RTMP协议拉流,然后通过本服务器主机进行RTMP协议的直播发布或者HLS协议的直播发布。
启用直播转发服务:
选定该选项后,系统将启用直播转发服务。
本地应用实例名:
用于为本地的转发应用实例命名。媒体服务器将创建一个新的RTMP应用实例来转发远程服务器的直播流,本地接收的网络转发流都来源于这个应用实例。例如,假定输入的实例名为“relay”,那么用户端接收本地转发直播流的地址格式为:
rtmp://<server ip><:port>/relay/streamname
streamname为添加节目流时输入的本地流名称。
图2.13
备注:考虑到单台服务器的负载能力,为了让服务器能够稳定工作,我们为其设定了最大支持32路转发的限制。
添加转发节目流:
用于添加需要转发的直播节目流,如图2.14所示:
图2.14
本地流名称:
设里需要设定本地流名称,这里的流名称将作为播放地址URL的一部分,最好输入英文字母或者数字或者两者的组合,如果输入其它非规范化字符将可能导致直播转发服务不能正常工作。
状态:
用于设定转发服务的状态,如果要使用直播转发服务,请启用它。
启动方式:
用于设定直播转发服务的启动方式,分为“自动启动”和“按需启动”两种。
在“自动启动”模式下,当媒体服务器启动后,直播转发服务就自动启动。
在“按需启动”模式下,只有在系统接收到外部的启动命令后才会启动。
该选项卡用于设定由本地服务器向远程服务器的直播分发。通过直播分发服务,可以充分利用多节点服务器的处理能力来服务于更多的终端用户。如图2.15所示:
图2.15
启用远程节目分发服务:
选定该选项后,系统将启动列表中的远程直播分发服务。
注意:
该服务隶属于全局服务控制,设定、修改或者变更该服务内容后,必须将先锋流媒体服务器重启才能生效。
- 添加服务器
用于添加直播分发直播分发服务器信息。如图2.16所示:
图2.16
转发的应用实例:
从本地已经创建的直播应用实例中进行选择。
本地流名称:
用于设定需要转发的本地直播节目流的名称,如果此处设定为空,那么该直播应用实例下的所有节目流都将被分发出去。如果指定的特定的节目流名称,那么只有该节目流才会被转发到远程服务器。
状态:
用于设定分发服务的状态。只有选定“启用”复选框时,该转发服务才能生效。
远程推流地址:
用来设定将节目流推送到远程服务器的哪个地址下。远程流推流地址构造格式如下:
rtmp://远程服务器IP:端口号/远程服务器实例名
或者是:
rtmp://远程服务器IP:端口号/远程服务器实例名/流名称
如果未指定远程服务器的流名称,那么系统将会使用本地节目的流名称作为远程节目的流名称。
如果为设定本地流名称,那么在远程流推流地址中也不能设置远程流名称。
该选项用于设定点播服务的相关参数。视频点播服务,是将本地的视频录像文件以流媒体的方式传送给用户终端,在用户端可以即点即播,无需预先对整个视频文件进行下载。
图2.17
启用点播服务:
如果要使用先锋流媒体服务器内置的点播服务,必须启用该服务才可生效。该点播服务内包含HTTP和RTMP协议的点播服务,不包含HLS与DASH协议的点播服务。
启用超级VOD服务:
超级VOD服务提供HLS与DASH协议的点播服务,如果不启用超级VOD服务,那么服务平台将只能提供HTTP和RTMP协议的点播服务。
在超级VOD服务模式下,系统会将MP4媒体文件进行实时的虚拟HLS与DASH切片(虚拟切片在服务器的内存中完成,不会将切片文件存储到物理硬盘上),这种方式可以极大地提高媒体服务器的运行效率。
启用超级VOD服务后,需要设定超级VOD服务所使用的TCP端口号,系统默认使用8088端口。
超级VOD应用添加
点击“添加应用”按钮,弹出图2.18所示编辑窗口。
图2.18
在这里添加超级VOD的应用名称和文件文件的存储目录。
VMAP(Video Media Access Protocal)协议:
该协议主要用于将本地的媒体资源文件快速导入到CMS内容管理平台数据库中。使用本协议,用户无需手工映射媒体虚拟目录,媒体服务器自动将媒体文件转换成终端能够接收的链接地址信息,并且对文件重新规范化命名,可以避免原始节目文件命名不规范、以及文件信息暴露等安全问题。使用该协议,任何存储目录下的任何媒体文件均能进行映射。
执行VMAP映射:
程序执行界面如图2.19所示。
图2.19
程序执行后将生成媒体资源文件的信息清单文件,该文件为JSON格式。
该服务用于监控服务器的实时运行状态,如图2.10所示。
图2.10
其中包括CPU占用率,内存资源占用率。
直播连接数统计,直播发布数统计,直播播放数统计;
点播连接数统计,RTMP协议的点播人数统计,HTTP协议的点播人数统计;
网络连接数统计。
服务器发送和接收到的字节数统计,服务器发送的节目码率以及接收的节目码率实时信息统计。
先锋流媒体服务器是由我公司的专业流媒体研发团队开发和维护的一套完整的流媒体发布平台软件,目前经过多年的技术改进已经升级到5.2版本,如果您在使用产品的过程中有什么意见或建议,均可以及时向我们反馈,我们会非常重视您的宝贵意见,并将尽最大努力及时对我们的产品进行改进,我们将一直跟进最新的技术进展来不断完善我们的产品,以便于更好地为用户服务。
公司地址:北京市海淀区上地信息产业基地安宁庄路26号909
电话:010-57221668
Email: support@shunjingtech.com
网址:http://www.shunjingtech.com
QQ:1918098288