2012-03-12 92 views
6

我想在播放器中传输音频/视频文件。播放器可以是HTML5或Flash播放器,具体取决于客户端浏览器是否支持HTML5 audio()。我正在考虑的流媒体服务器是AMAZON Cloudfront。我已经通过亚马逊http://docs.amazonwebservices.com/AmazonCloudFront/latest/DeveloperGuide/RTMPStreaming.html#d0e4668的指导,但它只谈论Flash播放器。 Amazon Cloudfront的流媒体可以使用HTML5播放器吗?用于从Amazon Cloudfront进行流式传输的HTML5或Flash播放器

回答

7

ACF(亚马逊CloudFront的)分布利用闪存介质为RTMP服务器所以,在自己,CF分布麦凯纳t提供了一个完整的解决方案,提供非闪存播放器/设备的流媒体功能!

这给你留下2个选择;

  1. 报价流只闪存用户/有规律的, 渐进式下载使用HTML5的选项或
  2. 设置一个WOWZA媒体服务器与内容设备以流如果HTML 模式。

无论哪种方式,这可以通过使用播放器的模式来实现[] VAR在那里你可以提供不同的设置参数,如路径/文件和其它变量,例如流光 & 提供商在您的播放列表/播放器


让我们假设你有以下的设置;

  1. 一桶,'my-music.s3.amazonaws.com/'。这是您存储您的 媒体的地方。例如,对于视频,用于音频 和'my-music.s3.amazonaws.com/video/'的'my-music.s3.amazonaws.com/audio/'。
  2. RTMP流媒体发布与您的 “my-music.s3.amazonaws.com/”桶作为源。这将是您的流光闪存 ,类似于 'XXXXXXXXXXX.cloudfront.net/cfx/st/'。
  3. 位于'/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,插件,插件或模块来管理你的球员,你可能可以将这些参数在管理界面或可替代访问&编辑,以编程方式设置它们。

有一点要注意,就是顺序您将类型模式[]数组对象是在JW播放器将尝试加载顺序。


欲了解更多信息,请参阅JW Embedder Modes here

提供双数据流 如果你想提供使用HTML5的流,你会使用同样的方法,改变了流光,供应商在HTML5类型的对象相应的属性。

希望这有帮助!

盖孜

+0

@gentrobot假设您不介意在** HTML5 **模式下使用渐进式下载(即非流式传输)提供内容,是的,* CloudFront **将独自完成这项工作。但是,如果您想要使用Flash或HTML5传输内容,则需要查看另一种基于非Flash的技术,如wowza。无论哪种方式,我的答案都解释了如何实现这一点。祝你好运,Gez – MyBO 2012-05-03 14:51:56

+0

Gr8回答!非常感谢。我正在浏览Wowza网站和他们的服务,看看是否适合我的需求。 – gentrobot 2012-05-04 14:20:34

+0

嗨@gentrobot,没有probs ... Wowza可能不是唯一的选择,但你一定要得到一个非基于闪存的媒体服务器/服务来为他们服务。同时,您可以通过使用html5来测试播放器模式,如示例中所示。至少你知道逻辑/播放器在你的环境中工作。祝你好运,Gez – MyBO 2012-05-04 15:37:08

1

JWplayer将很容易地从Cloudfront同时完成html5和flash流式传输。

详情请见以下... http://www.longtailvideo.com/support/jw-player/jw-player-for-flash-v5/49/using-cloudfront

乔恩

+0

2个问题:1。 我可以用我自己的HTML5和Flash播放器? 2.我是否需要分别购买Amazon S3和Amazon CloudFront服务? – gentrobot 2012-03-13 05:03:18

+2

只要他们支持rtmp流媒体协议,那么你可以使用任何你喜欢的东西,只需将源指向云端连接/播放字符串即可。 您不必单独购买S3/Cloudfront,它们就在您注册的单个AWS账户下。 有一个有用的流测试器,我用它来检查连接字符串。 http://d1k5ny0m6d4zlj.cloudfront.net/diag/CFStreamingDiag.html Cloudberry S3浏览器也是一个非常非常有用的工具,在你的武库。 – JonLovett 2012-03-14 12:45:38

+0

非常感谢JonLovett。你有很大的帮助。 – gentrobot 2012-03-14 13:02:47

相关问题