流媒体技术世界——分享技术,增值服务
JW Palyer 6如何与Wowza Media Server配合实现码率自适应?
这篇文章详细介绍了如何从一个服务端的同步多媒体集成语言(SMIL)文件、Wowza Transcoder的Stream Name Group (ngrp) 或者是 MediaList (amlst)生成一个JW Player 的Flash 动态流媒体实现 所需要的RSS或SMIL文件。 www.ttstream.com

同时,请阅读JW Player的 QualityMonitor plugin.

注意:
  • jwplayer.smil (JW Player 6+)需要Wowza Media Server® 3.5.0 及更高版本。jwplayer.rss (JW Player 5)需要 Wowza Media Server 3.0.3.08 及更高版本。

  • 类似于在origin/edge架构下,用origin上的Wowza Transcoder Stream Name Group (ngrp) 或 MediaList (amlst) origin 在缘服务器上生成SMIL文件的技术,请阅读 如何用Wowza Transcoder插件创建的SMIL文件并播放对应的媒体流.
请按照下面的步骤进行:

  1. 针对Wowza Media Server 3.5.0以前的版本: 在/conf/VHost.xml文件的/HostPort /Port "1935" /HTTProviders 中添加下面的HTTP Provider(将它放在倒数第二个,在server version HTTP Provider的上面):
    Code:
    <HTTPProvider>
         <BaseClass>com.wowza.wms.http.HTTPProviderMediaList</BaseClass>
         <RequestFilters>*jwplayer.rss</RequestFilters>
         <AuthenticationMethod>none</AuthenticationMethod>
    </HTTPProvider>
    这个HTTP Provider已经被包含在Wowza Media Server 3.5.0 及更高版本中了,并支持更多的RequestFilters.

  2. 重启服务器,以让对VHost.xml的修改生肖。

  3. 下面的URL将依据SMIL 文件、Wowza Transcoder Stream Name Group (ngrp), 或者 MediaList (amlst)为JW player生成一个它所需要的RSS文件:
    Code:
    http://[wowza-ip-address]:1935/[application]/[prefix]:[stream-name]/jwplayer.rss
    例如, 在content文件夹下有一个名字为sample.smil的文件以及sample.mp4 和 sample_250.mp4两个视频文件:
    Code:
    <smil>
         <head>
         </head>
         <body>
              <switch>
                   <video src="mp4:sample_250.mp4" system-bitrate="250000"/>
                   <video src="mp4:sample.mp4" system-bitrate="450000"/>
              </switch>
         </body>
    </smil>
    对于JW Player 5,你可以将RSS地址设置为下面的URL:
    Code:
    http://[wowza-ip-address]:1935/vod/smil:sample.smil/jwplayer.rss
    对于JW Player 6, 它可以用下面的URL获得客户端的.smil文件:
    Code:
    http://[wowza-ip-address]:1935/vod/smil:sample.smil/jwplayer.smil
  4. 根据JW Player在这里的操作指南, 跳过本地的XML文件部分,你将使用上面的URL:
    Code:
    <script type='text/javascript' src='/jwplayer/jwplayer.js'></script>
    
    <div id='mediaplayer'></div>
    
    <script type="text/javascript">
      jwplayer('mediaplayer').setup({
        'flashplayer': 'player.swf',
        'id': 'playerID',
        'width': '720',
        'height': '306',
        'playlistfile': 'http://[wowza-ip-address]:1935/vod/smil:sample.smil/jwplayer.rss',
        'plugins': {
           'qualitymonitor-2': {}
        }
      });
    </script>

下面的URL:
Code:
http://[wowza-ip-address]:1935/vod/smil:sample.smil/jwplayer.rss
生成下面的RSS:
Code:
<rss xmlns:media="http://search.yahoo.com/mrss/" xmlns:jwplayer="http://developer.longtailvideo.com/" version="2.0">
<channel>
<item>
<title>sample.smil</title>
<description>sample.smil</description>
<jwplayer:streamer>rtmp://[wowza-ip-address]:1935/vod/_definst_</jwplayer:streamer>
<media:group>
<media:content url="mp4:sample_250.mp4" bitrate="250"/>
<media:content url="mp4:sample.mp4" bitrate="450"/>
</media:group>
</item>
</channel>
</rss>
下面的URL:
Code:
http://[wowza-ip-address]:1935/vod/smil:sample.smil/jwplayer.smil
生成下面的SMIL文件:
Code:
<smil>
<head>
<meta base="rtmp://localhost:1935/vod/_definst_"/>
</head>
<body>
<switch>
<video src="mp4:sample_250.mp4" system-bitrate="250"/>
<video src="mp4:sample.mp4" system-bitrate="450"/>
</switch>
</body>
</smil>
如果你在Wowza Transcoder的配置模版中定义了一个Stream Name Group (ngrp: stream name prefix) 或者 MediaList (amlst: stream name prefix),那也可以使用这个技术。

例如:
Code:
http://[wowza-ip-address]:1935/vod/ngrp:myStream_all/jwplayer.rss

http://[wowza-ip-address]:1935/vod/amlst:sample/jwplayer.rss
点击Wowza Transcoder Tutorial,有关于Stream Name Groups (ngrp)的详细介绍。

点击API for resolving MediaList (SMIL file requests) through Java API,有关于如何创建一个MediaList (amlst)的介绍。

匿名用户
评论

我们的地址


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


邮编:100024

关于我们


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


官网:www.ttstream.com

联系我们


王经理:phone


柳经理:phone

京ICP备14033868号-2