我想在播放器中流式传输音频/视频文件。该播放器可以是HTML5播放器,也可以是Flash播放器,具体取决于客户端的浏览器是否支持HTML5 audio()?我正在考虑的流服务器是AMAZON Cloudfront。我已经阅读了亚马逊http://docs.amazonwebservices.com/AmazonCloudFront/latest/DeveloperGuide/RTMPStreaming.html#d0e4668上的指南,但只谈论Flash Player。是否可以将HTML5播放器与Amazon Cloudfront的流媒体一起使用?
请您参考如下方法:
ACF(Amazon CloudFront)发行版将Flash Media Server用于RTMP流,因此就为非Flash播放器/设备提供流功能而言,CF发行版本身也不是一个完整的解决方案!
这给您两个选择。
仅向具有定期,
通过HTML5进行渐进式下载的选项,或者
使用您的内容设置WOWZA媒体服务器,以HTML格式进行流式传输
模式。
无论哪种方式,都可以使用播放器的modes [] var实现,您可以在播放列表/播放器中相应地提供不同的设置参数,例如路径/文件,以及其他变量,例如流媒体和提供者。
例
假设您具有以下设置;
一个水桶,“ my-music.s3.amazonaws.com/”。这是你存储你的东西的地方
媒体。例如,“ my-music.s3.amazonaws.com/audio/”用于音频
和“ my-music.s3.amazonaws.com/video/”以获取视频。
您的RTMP流媒体分发
源为“ my-music.s3.amazonaws.com/”。这将是你的
流式Flashvar,类似
'XXXXXXXXXXX.cloudfront.net/cfx/st/'。
位于位置“ /audio/song.mp3”中的MP3。
要在Flash(带有RTMP流)或HTML5(作为渐进式下载)中进行操作,您需要进行如下播放器设置...
<script type="text/javascript">
/* set var baseURL to your media BUCKET
NOT your streaming distribution */
var baseURL = "https://my-music.s3.amazonaws.com/";
jwplayer('mediaplayer').setup({
'id': 'playerID',
'width': '480',
'height': '270',
'file': 'audio/song.mp3', /* change to your song/video path */
'provider': 'rtmp',
'streamer': 'rtmp://XXXXXXXXXXX.cloudfront.net/cfx/st/',
'modes': [
{
type: 'flash',
/* set the location of your SWF object */
src: 'https://my-player.s3.amazonaws.com/plugins/jwplayer/player.swf'
},
{
type: 'html5',
config: {
/* prepend your BUCKET URL (baseURL var) to the file path */
'file': baseURL + 'audio/song.mp3',
/* set provider */
'provider': 'video'
}
}
]
});
</script>
当然,如果您使用CMS,小部件,插件或模块来管理播放器,则可能可以在管理屏幕中访问和编辑这些参数,或者以编程方式进行设置。
要注意的一件事是,将类型对象放置在mode []数组中的顺序是JW Player尝试加载的顺序。
有关更多信息,请参见 JW Embedder Modes here。
提供双流
如果要使用HTML5提供流传输,则可以使用相同的方法,相应地更改html5类型对象中的流媒体,提供程序属性。
希望这会有所帮助!
盖兹




