2

我正在为我的网站实现类似 Youtube 的场景——上传视频,以便所有人都能观看。我的问题是,我认为我们需要在上传后对视频进行编码,然后其他人才能远程播放,但编码过程非常慢(我尝试使用 Microsoft Expression Encoder 和 mplayer,编码一个 20 分钟的视频大约需要 10 分钟)。令我惊讶的是,即使我们将一个非常大的视频上传到 Youtube,其他人似乎可以立即选择并播放,看起来编码过程几乎花费了零时间。

请问有人有什么想法吗?Youtube 是如何神奇地进行如此快速的编码过程的?或者 Youtube 完全跳过了编码过程——但是如果跳过编码过程,Youtube 怎么能确保所有上传的视频都是可播放的(即视频遵循一些参数,比如比特率、图片大小等等)?

提前谢谢,乔治

4

4 回答 4

3

不要忘记 YouTube 归 Google 所有,因此拥有450,000台服务器可能会有所帮助!

(我承认,这是一个有点滑稽的回答。显然,YouTube 无法访问所有这些内容。但重点仍然是他们将有大量资源来解决这个问题)

于 2009-04-04T13:20:18.897 回答
1

此外,youtube 可能使用了硬件编码器。

而且,只有在编码比播放快的情况下才可以在编码时播放。

于 2009-04-04T14:09:51.460 回答
1

在做任何其他事情之前,先获得一个更好的编码器。有很多可用的编码器。有些是开源的,有些是专有的。Apple 有一些非常非常好的编码器,速度快但价格昂贵。

查看http://www.ffmpegx.com/了解最新的开源编码器技术。它们集成了多种技术。

于 2009-04-04T13:30:33.833 回答
1

Youtube 是如何神奇地进行如此快速的编码过程的?

在没有任何特定内部知识的情况下,我希望(1)将输入视频切成更短的片段以发送到多个编码器,以及(2)在您上传的同时对流进行编码,而不是等到您上传整个文件开始。

或者 Youtube 完全跳过编码过程

不可以,所有内容都必须转换为 FLV 才能播放。

于 2009-04-04T15:14:11.680 回答