將一個(gè)或多個(gè)VOD文件作為視頻源發(fā)布到一個(gè)直播頻道中,這在國內(nèi)叫做"輪播",常見于某個(gè)電影頻道,按時(shí)間點(diǎn)循環(huán)播放一些老電影。90年代遍布大街小巷的錄像廳本質(zhì)上也是這個(gè)模式。

本文向您介紹了如何使用ServerListenerStreamDemoPublisher 這個(gè)server listener 來將一個(gè)VOD文件作為視頻源發(fā)布到一個(gè)直播頻道中。這個(gè)VOD文件將循環(huán)播放,永不停止。這個(gè)配置是非常簡單和基礎(chǔ)的,其它更復(fù)雜更底層的一些方案,請(qǐng)參考我們輪播欄目下的其它文章:
在[install-dir]/conf/Server.xml文件中的列表中添加下面這個(gè):
當(dāng)然,你也可以在Wowza Streaming Engine Manager的管理界面上添加這個(gè)ServerListener。(在頂部的Server菜單下)
com.wowza.wms.module.ServerListenerStreamDemoPublisher
在[install-dir]/conf/Server.xml文件中的最下面的部分中,添加如下的property:
當(dāng)然,你也可以在Wowza Streaming Engine Manager的管理界面上添加這個(gè)property。(在頂部的Server菜單下)
streamDemoPublisherConfig
appName=live,srcStream=mp4:sample.mp4,dstStream=myStream,sendOnMetadata=true
你也可以在這個(gè)參數(shù)中發(fā)布多個(gè)直播頻道,它們之間用管道符(|)分隔開就可以了。例如:
streamDemoPublisherConfig
appName=live,srcStream=mp4:sample.mp4,dstStream=myStream,sendOnMetadata=true|appName=live,srcStream=mp4:sample.mp4,dstStream=myStream2,sendOnMetadata=true
你也可以在一個(gè)文本文件中創(chuàng)建一個(gè)多個(gè)VOD文件的索引,再將這個(gè)文件存放在[install-dir]/content目錄下,并以.m3u8作為擴(kuò)展名。在這個(gè)文件中,每一行是一個(gè)很簡單的stream name,如下所示:
mp4:sample.mp4
mp4:file2.mp4
mp4:file3.mp4
在這個(gè)例子中,這個(gè)文件被命名為filelist.m3u8。要播放這個(gè)列表,你需要按下面的格式配置streamDemoPublisherConfig參數(shù):
streamDemoPublisherConfig
appName=live,srcStream=m3u8:filelist.m3u8,dstStream=myStream,random=false,timeBetweenItems=250
如果要播放10秒,暫停2秒,然后再循環(huán),請(qǐng)?jiān)?strong>streamDemoPublisherConfig中按如下配置:
streamDemoPublisherConfig
appName=live,srcStream=mp4:sample.mp4,dstStream=myStream,random=true,publishDuration=10,publishRepeat=true,publishPauseTime=2
參數(shù)配置的詳細(xì)介紹
·appName - Application的名字,格式為application/appInstance(appInstance 可以省略)。
·vhostName - Virtual host (VHost) 的名字. 如果省略,在這個(gè)流會(huì)被加載到所有VHost中。
·dstStream - 要?jiǎng)?chuàng)建的直播流名字。
·srcStream - 視頻文件的名字(支持MP4, MP3, FLV, 以及M3U8 格式的文件)。
·sendOnMetadata - 如果是true, 會(huì)將onMetadata信息發(fā)布到直播流中。
·repeat - 如果是true, 這個(gè)列表將會(huì)循環(huán)播放。
·timeBetweenItems - 間隔時(shí)間,單位為毫秒,是這個(gè)列表中兩個(gè)文件中間的暫停時(shí)間(默認(rèn)80毫秒)。
·random - 如果是true ,并且使用的是M3U8索引,那么索引中的文件播放順序?qū)?huì)是隨機(jī)的。
·speed - 播放速度。這是一個(gè)浮點(diǎn)型的數(shù)字,可以是負(fù)數(shù),(默認(rèn)是1.0,你要小心使用它,并不是所有場(chǎng)景下都好使)。
注意: 從Wowza Streaming Engine™ 4.4.0開始,Wowza改進(jìn)了ServerListenerStreamDemoPublisher,添加了以下幾個(gè)參數(shù):
·將repeat 改名為 playlistRepeat (當(dāng)然,repeat也依然保留著,是支持的)。如果是true,文件或文件列表會(huì)循環(huán)播放。
·添加了publishDuration - 是一個(gè)時(shí)長,單位為精確到秒,是這個(gè)直播頻道的總時(shí)長(格式為: HH:MM:SS.mmm)。
·添加了publishRepeat - 如果是true,在到達(dá)publishDuration約定的時(shí)間后,這個(gè)直播繼續(xù)循環(huán)發(fā)布(publishDuration 必須大于0,默認(rèn)是false)。
·添加了publishPauseTime - 是一個(gè)時(shí)長,單位為秒,如果publishRepeat被設(shè)置為true,它是在這個(gè)直播流被再次發(fā)布前暫停的時(shí)間(格式為: HH:MM:SS.mmm,默認(rèn)是1秒)。
Wowza Streaming Engine 4是業(yè)界功能強(qiáng)大、API接口豐富的流媒體Server產(chǎn)品,采用它作為流媒體服務(wù)器產(chǎn)品的案例很多,直播、在線教育、IPTV都有它的用武之地。
京ICP備09015132號(hào)-996 | 違法和不良信息舉報(bào)電話:4006561155
© Copyright 2000-2026 北京哲想軟件有限公司版權(quán)所有 | 地址:北京市海淀區(qū)西三環(huán)北路50號(hào)豪柏大廈C2座11層1105室
北京哲想軟件集團(tuán)旗下網(wǎng)站:哲想軟件 | 哲想動(dòng)畫