流媒体技术世界——分享技术,增值服务
播放VOD时,可否从特定的时间位置开始播放,并限定播放时长?
注意:这个功能只适用于Wowza Media Server® 3.0.0 及以上的版本.

如果你使用Http Live Streaming、smooth streaming 或 Flash HTTP streaming流媒体传输协议,你可以利用这个功能播放一个VOD文件的一个片段; 下面有几个方法让你可以设置一个开始时间位置和播放时长。www.ttstream.com

  • Query parameters: 所有的HTTP streaming 协议现在都支持 wowzaplaystartwowzaplayduration 参数。这两个时间参数的单位为毫秒。举例说明,如果要从30秒的位置开始播放sample.mp4,并播放40秒,然后自动结束。 你可以用下面的URL:

    iOS:
    Code:
    http://[wowza-ip-address]:1935/vod/mp4:sample.mp4/playlist.m3u8?wowzaplaystart=30000&wowzaplayduration=40000
    Flash HTTP:
    Code:
    http://[wowza-ip-address]:1935/vod/mp4:sample.mp4/manifest.f4m?wowzaplaystart=30000&wowzaplayduration=40000
    Smooth Streaming:
    Code:
    http://[wowza-ip-address]:1935/vod/mp4:sample.mp4/Manifest?wowzaplaystart=30000&wowzaplayduration=40000
    注意: 在用微软的Silverlight播放时,你可能需要对播放URL做一个小调整 (对&连接符做一个转义):

    Code:
    http://[wowza-ip-address]:1935/vod/mp4:sample.mp4/Manifest?wowzaplaystart=30000&wowzaplayduration=40000
  • Server-side API: 你可以通过IHTTPStreamerSession session API 以毫秒为单位设置playStart和playDuration的值. 例如,在你的自定义模块中,你可以按下面的方式写一段Java程序:
    Code:
    public void onHTTPSessionCreate(IHTTPStreamerSession httpSession)
    {
    	httpSession.setPlayStart(30000);
    	httpSession.setPlayDuration(40000);
    }
    
  • SMIL file: 在一个SMIL文件中,使用begindur 属性。这些属性以秒为单位:
    Code:
    <smil>
    	<head>
    	</head>
    	<body>
    		<switch>
    			<video begin="30.0" dur="40.0" src="mp4:sample.mp4" system-bitrate="450000"/>
    		</switch>
    	</body>
    </smil>
  • MediaList API: 使用MediaList API. 以毫秒为单位设置参数:
    Code:
    public class ModuleAMLSTTest extends ModuleBase implements IMediaListProvider
    {
    	public void onAppStart(IApplicationInstance appInstance)
    	{
    		appInstance.setMediaListProvider(this);
    	}
    	
    	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("mp4:sample.mp4");
    		rendition1.setBitrateAudio(128000);
    		rendition1.setBitrateVideo(400000);
    		rendition1.setWidth(320);
    		rendition1.setHeight(240);
    		rendition1.setPlayStart(30000);
    		rendition1.setPlayDuration(40000);
    				
    		return mediaList;
    	}
    }
    


注意: 在用微软的Silverlight播放时,你可能需要对播放URL做一个小调整 (对&连接符做一个转义):

Code:
http://[wowza-ip-address]:1935/vod/mp4:sample.mp4/Manifest?wowzaplaystart=30000&amp;wowzaplayduration=40000

匿名用户
评论

我们的地址


北京市朝阳区管庄西里建基商务楼423室


邮编:100024

关于我们


北京联方信科信息技术有限责任公司


官网:www.ttstream.com

联系我们


王经理:phone


柳经理:phone

京ICP备14033868号-2