我想使用HTML5视频播放器来流式传输视频。这在S3/CloudFront中是否可行?我知道亚马逊使用RTMP流媒体协议,而HTML5的video
标签不支持RTMP。有没有办法用HTML5播放器来流式传输视频?
我想使用HTML5视频播放器来流式传输视频。这在S3/CloudFront中是否可行?我知道亚马逊使用RTMP流媒体协议,而HTML5的video
标签不支持RTMP。有没有办法用HTML5播放器来流式传输视频?
关于一些流媒体服务器提供的其他功能,有许多竞争性的服务器已经实现了“H264流媒体”或MPEG-DASH的元素,作为对RTMP和FMS兼容服务器的替代品。许多基于Flash的播放器支持这些功能,这些功能超越了简单的查找。JWPlayer和Flowplayer是支持部分或全部功能的两个例子,然而HTML5的视频播放器没有支持任何这些功能。您可以通过http://h264.code-shop.com/trac#H264StreamingModuleIntroductionversion2了解更多信息。
如果这还不够混乱,苹果公司实现了他们自己的“HTTP直播流”协议,有时也称为m3u8,在iOS和QuickTime中支持。我之所以提到这一点,是因为经常有人想要一种支持各种不同设备的方式。
希望这能稍微澄清一些东西。
我最近成功地做的一件事就是使用Video.js(开源)HTML5播放器和托管在S3上的视频。基本上,你只需要将视频上传到S3存储桶中,然后在页面上包含Video.js CSS和JS文件后,代码看起来像这样:
<video id="example_video_1" class="video-js vjs-default-skin"
controls preload="auto" width="1600" height="900"
poster="http://mys3bucket.s3.amazonaws.com/videoImage.jpg"
data-setup='{"example_option":true}'>
<source src="http://mys3bucket.s3.amazonaws.com/myvideofile.mp4" type='video/mp4' />
<source src="http://mys3bucket.s3.amazonaws.com/myvideofile.webm" type='video/webm' />
</video>
poster
是在视频加载或未播放时显示在视频播放器上的静态图像。至于<source>
标签,您可以链接任意数量的视频格式。使用更多的格式可以获得更好的跨不同平台的支持(例如,某些基本的Linux发行版可能无法播放MP4等格式)。
请查看Video.js快速入门指南此处。
当决定使用S3还是CloudFront时:在我看来,总体而言,对于视频,S3更为适用,因为当您存储大量数据时,成本更便宜(因为CloudFront将所有内容的副本分发到其所有边缘服务器,尽管您可以通过选项来限制这种情况)。但有些人确实更喜欢CloudFront,因为它速度更快,尽管请记住,CloudFront主要被用作内容交付网络,需要超快的响应时间(例如,网站图形、样式表、JS文件等),因此这是一种权衡取舍,取决于您的需求。如果您的视频都非常小,则可能会发现CloudFront实际上适合您的需求。
要更明确地分析成本,您可以使用亚马逊的月度成本计算器。
@user2352370:JWplayer..我还没决定。我刚购买了中间层会员,但是在阅读Wayne Koorts的评论后,我认为JSvideo因多种原因更好,如果我能退款,我将使用它。除了提供视频样式外,我没有看到JWvideo的任何即时价值。我至少认为JWvideo对我来说其价值有限。我可以使用JSVideo轻松创建多个设备和浏览器类型的多个回退选项。我甚至可以样式化JSVideo,但也许简单的JWvideo也有其优点。在未来几个月里,我可能需要用它来处理一系列视频帖子。
JWVideo和JSVideo都可以胜任
我认为JWVideo和JSvideo都可以胜任这项工作,我目前在我的网站上使用两者播放不同的视频,它们都做得很好,虽然我还没有深入测试过浏览器。
请创建一个免费的AWS账户并免费使用其服务。如果您已经与RackSpace或Host Gator等提供商打交道一段时间,这将非常令人震惊。
AWS Free Tier HomePage
我在寻找使用VideoJS在自己的网站上托管视频的AS3方案时,发现了你的问题。但是当我查看VideoJS的示例代码时,我注意到链接指向一个名为ZenCoder的公司 - http://video-js.zencoder.com/oceans-clip.mp4。
我与Zencoder没有任何关联,但如果您正在寻找基于云的视频托管服务,这可能值得考虑。