将一个或多个VOD文件作为视频源发布到一个直播频道中,这在国内叫做"轮播",常见于某个电影频道,按时间点循环播放一些老电影。90年代遍布大街小巷的录像厅本质上也是这个模式。
本文向您介绍了如何使用ServerListenerStreamDemoPublisher 这个server listener 来将一个VOD文件作为视频源发布到一个直播频道中。这个VOD文件将循环播放,永不停止。这个配置是非常简单和基础的,其它更复杂更底层的一些方案,请参考我们轮播栏目下的其它文章:
在[install-dir]/conf/Server.xml文件中的列表中添加下面这个:
当然,你也可以在Wowza Streaming Engine Manager的管理界面上添加这个ServerListener。(在顶部的Server菜单下)
com.wowza.wms.module.ServerListenerStreamDemoPublisher
在[install-dir]/conf/Server.xml文件中的最下面的部分中,添加如下的property:
当然,你也可以在Wowza Streaming Engine Manager的管理界面上添加这个property。(在顶部的Server菜单下)
streamDemoPublisherConfig
appName=live,srcStream=mp4:sample.mp4,dstStream=myStream,sendOnMetadata=true
你也可以在这个参数中发布多个直播频道,它们之间用管道符(|)分隔开就可以了。例如:
streamDemoPublisherConfig
appName=live,srcStream=mp4:sample.mp4,dstStream=myStream,sendOnMetadata=true|appName=live,srcStream=mp4:sample.mp4,dstStream=myStream2,sendOnMetadata=true
你也可以在一个文本文件中创建一个多个VOD文件的索引,再将这个文件存放在[install-dir]/content目录下,并以.m3u8作为扩展名。在这个文件中,每一行是一个很简单的stream name,如下所示:
mp4:sample.mp4
mp4:file2.mp4
mp4:file3.mp4
在这个例子中,这个文件被命名为filelist.m3u8。要播放这个列表,你需要按下面的格式配置streamDemoPublisherConfig参数:
streamDemoPublisherConfig
appName=live,srcStream=m3u8:filelist.m3u8,dstStream=myStream,random=false,timeBetweenItems=250
如果要播放10秒,暂停2秒,然后再循环,请在streamDemoPublisherConfig中按如下配置:
streamDemoPublisherConfig
appName=live,srcStream=mp4:sample.mp4,dstStream=myStream,random=true,publishDuration=10,publishRepeat=true,publishPauseTime=2
参数配置的详细介绍
·appName - Application的名字,格式为application/appInstance(appInstance 可以省略)。
·vhostName - Virtual host (VHost) 的名字. 如果省略,在这个流会被加载到所有VHost中。
·dstStream - 要创建的直播流名字。
·srcStream - 视频文件的名字(支持MP4, MP3, FLV, 以及M3U8 格式的文件)。
·sendOnMetadata - 如果是true, 会将onMetadata信息发布到直播流中。
·repeat - 如果是true, 这个列表将会循环播放。
·timeBetweenItems - 间隔时间,单位为毫秒,是这个列表中两个文件中间的暂停时间(默认80毫秒)。
·random - 如果是true ,并且使用的是M3U8索引,那么索引中的文件播放顺序将会是随机的。
·speed - 播放速度。这是一个浮点型的数字,可以是负数,(默认是1.0,你要小心使用它,并不是所有场景下都好使)。
注意: 从Wowza Streaming Engine™ 4.4.0开始,Wowza改进了ServerListenerStreamDemoPublisher,添加了以下几个参数:
·将repeat 改名为 playlistRepeat (当然,repeat也依然保留着,是支持的)。如果是true,文件或文件列表会循环播放。
·添加了publishDuration - 是一个时长,单位为精确到秒,是这个直播频道的总时长(格式为: HH:MM:SS.mmm)。
·添加了publishRepeat - 如果是true,在到达publishDuration约定的时间后,这个直播继续循环发布(publishDuration 必须大于0,默认是false)。
·添加了publishPauseTime - 是一个时长,单位为秒,如果publishRepeat被设置为true,它是在这个直播流被再次发布前暂停的时间(格式为: HH:MM:SS.mmm,默认是1秒)。
Wowza Streaming Engine 4是业界功能强大、API接口丰富的流媒体Server产品,采用它作为流媒体服务器产品的案例很多,直播、在线教育、IPTV都有它的用武之地。
京ICP备09015132号-996 | 网络文化经营许可证京网文[2017]4225-497号 | 违法和不良信息举报电话:4006561155
© Copyright 2000-2023 北京哲想软件有限公司版权所有 | 地址:北京市海淀区西三环北路50号豪柏大厦C2座11层1105室