2017-06-20 80 views
0

是否有可能添加备用(备用)流到HLS使用Java API以产生动态播放列表(AMLST)当在Wowza体现。冗余HLS流在Wowza

我有这样的,我动态添加不同的比特率的编码,但我想补充一个备份流。 (我尝试添加第二个MediaListSegment,但它似乎不起作用)。

package com.wowza.wms.plugin.test.module; 

import com.wowza.wms.medialist.*; 
import com.wowza.wms.module.*; 
import com.wowza.wms.stream.*; 
import com.wowza.wms.application.*; 

public class ModuleAMLSTTestLive extends ModuleBase 
{ 
class MyMediaListProvider implements IMediaListProvider 
{ 
    public MediaList resolveMediaList(IMediaListReader mediaListReader, IMediaStream stream, String streamName) 
    { 
     MediaList mediaList = new MediaList(); 

     MediaListSegment segment = new MediaListSegment(); 
     mediaList.addSegment(segment); 

     MediaListRendition rendition1 = new MediaListRendition(); 
     segment.addRendition(rendition1); 

     rendition1.setName(streamName+"_400"); 
     rendition1.setBitrateAudio(128000); 
     rendition1.setBitrateVideo(400000); 
     rendition1.setWidth(320); 
     rendition1.setHeight(240); 
     rendition1.setAudioCodecId("mp4a.40.2"); 
     rendition1.setVideoCodecId("avc1.66.12"); 

     MediaListRendition rendition2 = new MediaListRendition(); 
     segment.addRendition(rendition2); 

     rendition2.setName(streamName+"_800"); 
     rendition2.setBitrateAudio(128000); 
     rendition2.setBitrateVideo(800000); 
     rendition2.setWidth(640); 
     rendition2.setHeight(480); 
     rendition2.setAudioCodecId("mp4a.40.2"); 
     rendition2.setVideoCodecId("avc1.77.31"); 

     return mediaList; 
    } 
} 

public void onAppStart(IApplicationInstance appInstance) 
{ 
    appInstance.setMediaListProvider(new MyMediaListProvider()); 
} 

}

回答

0

虽然这在API中不支持,我终于找到了一个解决方案:

有可能通过与绝对路径specifing流定义主备流URI或DOMAIN cupertino标记中的流。

样品SMIL:

<body> 
    <switch> 
     <video src="mp4:foo.mp4" system-bitrate="300000"> 
    <param name="videoCodecId" value="avc1.66.30" valuetype="data"/> 
    <param name="audioCodecId" value="mp4a.40.2" valuetype="data"/> 
    <param name="cupertinoTag.URI" value="http://serverwowza1.foo.com:1935/vod/mp4:foo.mp4/chunklist.m3u8" valuetype="data"/> 
     </video> 
     <video src="mp4:foo.mp4" system-bitrate="300000" > 
    <param name="videoCodecId" value="avc1.66.30" valuetype="data"/> 
    <param name="audioCodecId" value="mp4a.40.2" valuetype="data"/> 
    <param name="cupertinoTag.URI" value="http://serverwowza2.foo.com:1935/vod/mp4:sample.mp4/chunklist.m3u8" valuetype="data"/> 
     </video> 
...