当前您所在的位置:首页>新闻中心>新品发布
新品发布
行业动态
营销活动

Wowza技术:如何将一个或多个VOD文件作为视频源发布到一个直播频道中

发布时间:2020/10/18 浏览量:2082

将一个或多个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都有它的用武之地。

北京哲想软件有限公司