2017-04-18 21 views
0

对于我的应用程序的欢迎屏幕,我们试图提供一个web视图中的一个网页,包括视频和一些文本。 (我们想要走这条路线,以便我们可以快速更新欢迎屏幕并随时测试更改,而不必每次提交并获得批准。)最佳的流媒体服务为MP4到webview

视频只有8.6mB,目前正在播放HTML5,托管在S3上并通过CloudFront提供服务。但是,播放时间往往会有点波动。有没有人有任何建议,以主办和提供视频,使其顺利播放的最佳方式?有人会推荐可以帮助的S3或CloudFront的特定设置吗?

在此先感谢任何人可以提供的帮助。

回答

1

目前最常见的技术是将ABR与CDN并行使用以提供流畅的播放。

ABR(自适应比特率)包括以不同比特率从低到高制作视频的多个副本,并在服务器上托管这些副本。

客户端接收视频的索引文件,例如,一个m3u8清单文件,然后为当前条件选择最佳比特率,以便无缓冲地平滑播放。

如果网络状况改善,客户端将会'提升'比特率,如果情况变得更糟,它会'降低'比特率。

通常选择低或中等比特率作为第一个比特率,以便快速平稳地启动。

您可以在Netflix等服务启动时看到这种效果,如果您右键点击视频并选择'Nerds Stats',您也可以在YouTube上看到它。

AWS中的一些ABR链接Elastic transcoding - 您可以设置您想要的比特率,例如,请参阅以下常见问题HLS作业中的说明:

指定转码作业创建引用输出的播放列表。您应该将您的比特率从低到高排序,只有音频流保持最后一次,因为此顺序将保留在生成的播放列表文件中。转码作业完成后,输出存储区将包含主要和个别M3U8播放列表以及MPEG-2 TS媒体流片段的正确排列。

看看这个页面上的样品要求在这里,其中包括两种不同的比特率(视频服务提供商一般都会有超过2个,但是这给你的感觉的方法):

+0

Mick,谢谢你的回应。那么在AWS上,ABR是否与Elastic Transcoder服务相同?我开始使用它,但是如果我已经正确设置了它,并且遇到了一些麻烦,那么实际的HTML代码是什么样的(在

+1

Elastic Transcode是AWS转码服务的一个术语,但它支持ABR - 如果您搜索ABR和HLS比特率以及AWS弹性转码,您应该看到一些示例,但我也会在答案中添加一个。正如你注意到的,.m3u8路径就是你用作视频标签的src的地方。 – Mick

+0

对不起,在我走的时候仍然在想这个。有没有我创建播放列表的输出时应该选择什么输出(以什么顺序)的列表?我开始使用HLS Video - 2M,但不确定究竟需要哪些(以及多少)输出。 – jmarx34