我想在播放器中传输音频/视频文件。播放器可以是HTML5或Flash播放器,具体取决于客户端浏览器是否支持HTML5 audio()这一事实?我正在考虑的流媒体服务器是AMAZON Cloudfront。我已经浏览了亚马逊http://docs.amazonwebservices.com/AmazonCloudFront/latest/DeveloperGuide/RTMPStreaming.html#d0e4668的指南,但它只讨论了Flash播放器。是否可以将HTML5播放器与Amazon Cloudfront中的流媒体结合使用?
答案 0 :(得分:7)
ACF(Amazon CloudFront)发行版将 Flash Media Server 用于 RTMP流,因此,CF发行版本身并不是一个完整的解决方案关于为非Flash 播放器/设备提供流媒体功能的问题!
这让你有两个选择;
无论哪种方式,都可以使用播放器的模式[] var 来实现,您可以在其中提供不同的设置参数,例如路径/文件和其他变量,例如< strong>流光&amp; 播放列表/播放器中的提供商。
示例强> 我们假设您有以下设置;
要在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,小部件,插件或模块来管理您的播放器,您可能可以访问&amp;在管理屏幕中编辑这些参数,或者以编程方式设置它们。
需要注意的一点是, 对象在模式[]数组中的顺序是JW播放器尝试加载的顺序。< / p>
有关详细信息,请参阅JW Embedder Modes here。
提供双流 如果您想使用HTML5提供流媒体,您可以使用相同的方法,相应地更改html5类型对象中的流媒体,提供程序属性。
希望这有用!
盖孜
答案 1 :(得分:1)
JWplayer将非常轻松地从Cloudfront执行html5和flash流式传输。
有关详细信息,请参阅以下内容...... http://www.longtailvideo.com/support/jw-player/jw-player-for-flash-v5/49/using-cloudfront
乔恩