优酷、youtube 这类视频网站,当你切换[普清]、[高清]时,是要对应多个视频源文件吗?

2016-07-02 14:35:54 +08:00
 nikoo
比如一个片子上传至优酷,他会将片子压缩成多个不同码率的文件对应[普清]、[高清]的播放
还是只有一个文件,在用户选择[普清]、[高清]时即时转换成不同码率的流?
2746 次点击
所在节点    问与答
10 条回复
abelyao
2016-07-02 14:46:33 +08:00
那很多用户同时看的时候,全部都在即时转码?那复杂得多大
abelyao
2016-07-02 14:47:17 +08:00
更正:负载
crystom
2016-07-02 14:52:46 +08:00
youku 不是即时转码,
你上传过视频就知道了。上传完毕开始只有标清版本能看到
nikoo
2016-07-02 14:54:33 +08:00
@abelyao @crystom 谢谢

也就是说,我要提供给用户[普清] [高清] [超清] 三个选择的话,一个视频要储存三份对应的文件?
shoaly
2016-07-02 14:57:19 +08:00
都是 一次性输出成多个视频, 然后剩下的时候交给 cdn 去保证客户那边看着爽
New2016
2016-07-02 15:23:38 +08:00

youtube 的音、视频都压成很多种
notgod
2016-07-02 15:31:36 +08:00
@nikoo

理解正確,
YTB 的工作模式:

1. 用戶上傳視頻
2. Youtube 轉碼集群 接收文件 預定義規則 開始檢查內容 ID 和是不是有重複,生成視頻縮略圖
(這裡的集群是分攤的 一個文件 N 台服務器開始轉碼 每個機器轉碼一部分)
3. 開始轉碼 普通清晰度, 完成後寫入數據庫告知已完成
(這個時候 你在前台可以看到 360P 或 480P 的視頻 而 720P/1080P 的沒)
4. 根據片源的清晰度 看看是不是需要轉為其他版本
5. 如果有需求 繼續轉碼 (這個轉碼優先級比普通的低)
6. 完成 告訴數據庫 全部轉碼完成
7. 清除轉碼產生的緩存

Youtube 轉碼是分離的
TheCure
2016-07-02 16:18:30 +08:00
@New2016 这个`list`是什么工具?

对视频而言,资源可能会使用多种比特率编码和存储,然后切割为多个部分(比 如,YouTube 视频会分成多个 5~10 s 的块)。然后,在客户端下载视频流期间,客 户端或服务器可以监控每个视频块的下载速度,必要时根据带宽的变化调整要下 载的下一个视频块的比特率。事实上,现实中的视频服务,开始一般是低比特率 的视频块,以便视频播放能更快开始。然后,再根据可用带宽的动态变化调整后 续视频块的比特率。
每个资源要分别创建多少个比特率版本呢?取决于你的应用!不过,我可以告诉 你,Net ix 为适应不同的屏幕大小和可用带宽,为每个视频流都创建了超过 120 个版本!让用户有流畅感、实时感,可真不是件简单的事儿。
摘自 web 高性能权威指南
New2016
2016-07-02 16:24:00 +08:00
@callofmx
就是 youtube-dl
我给“ youtube-dl --list-formats ”设置的别名
nikoo
2016-07-02 22:31:16 +08:00
@callofmx 一个视频 120 个版本。。。硬盘是真不值钱啊

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/289800

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX