youtube如何为一个上传的视频制作不同质量的视频

时间:2015-04-26 07:26:31

标签: html5 video youtube

我正在开发一个视频共享网站。我做的很好,但心中只有一个问题。

示例:我将一段720p的视频上传到youtube。好吧,问题是:

youtube在播放器中显示不同质量的视频,如360p 480p等

问题:他们会在上传到不同类型时对此视频进行编码吗?

问题:flash / html5播放器是否有能力为同一个上传的视频提供不同尺寸的不同分辨率?

BR

2 个答案:

答案 0 :(得分:3)

他们对视频进行转码。您需要在用户需要之前执行此操作,例如一个视频上传,你转码(不同的质量和格式 - 你可以选择360p,480p,1080p,1440p和4K的MP4,webm和ogg为每个),然后访问者加载页面,并评估他们的硬件和网络,你为它们选择正确的格式。

执行此操作的一个好方法是使用AWS's Elastic Transcoder服务并将视频存储在S3中 - 您需要很快存储大量存储空间。

AWS的Elastic Transcoder处理所有这些问题,这是非常合理的:

  

"仅为您使用的内容付费。没有最低费用。定价取决于   关于您输出的内容的持续时间和分辨率。"

看起来他们收费约0.15美元,将10分钟的视频转换成SD格式,并将其翻倍为HD。

他们允许您转码的格式为:

enter image description here

您应该计划多种格式的多种分辨率,具体取决于您希望支持的旧版浏览器/移动设备。

答案 1 :(得分:0)

上传后,YouTube和我知道的所有其他视频托管网站都会将源视频重新编码为多种不同的格式和分辨率,并将它们全部存储为单独的稳定blob。唯一的另一种选择(即时重新编码)绝对不可扩展且不必要地低效。是的,存储每个视频的格式和大小的笛卡尔积很重,存储方式,但存储比CPU便宜。

我建议观看this excellent YouTube video YouTube的工作方式(从高层角度来看)。它直接解决了你提出的完全相同的问题。