1
SunsetShimmer 2023-11-25 18:37:12 +08:00
|
2
a8Fy37XzWf70G0yW 2023-11-25 20:20:10 +08:00 3
YT 邏輯是這樣的:
1.使用者打開一個頁面要觀看影片 2.播放器根據內容 ID 去重定向伺服器上獲取最近有此內容的 CDN 列表 3.播放器嘗試連接列表中的 CDN ,如成功,則獲取 CDN 上私有格式編寫的相應格式元數據訊息 4.以分段方式,同時嘗試獲取元數據中顯示的影像流和音頻流(如分辨率大於 1080P 獲取的是兩個流) 5.開始載入播放器進行播放,並定期 post 使用者的播放進度到伺服器(這麼做的目的是減少帶寬消耗,並實現自動調節畫質的功能) |
3
estk 2023-11-25 22:26:02 +08:00 via iPhone
m3u8 和 mpd 都是视频分片技术
油管用的好像是 mpd ,可以做到音频和视频分开调节码率 只知道点皮毛和关键词,细节没深究,等大神解答 |
4
vituralfuture 2023-11-26 11:06:21 +08:00 via Android
blob url 好像通常不会显示在浏览器开发者工具中
另外提到私有格式的,我有一个疑问,私有格式是否影响硬件视频解码? |
5
siknet 364 天前
油管 1080P 以上的码率才是音视频分开的
|
6
SunsetShimmer 364 天前
@vituralfuture #4 私有格式的核心应该还是标准的视频,交给浏览器之前通过 js 修改一下。
|
7
Satelli 364 天前
@viberconnection
@siknet 1080p 不是限定条件,只是音频 + 视频包在一起的最高限定为 1080p 而已,并且 YouTube 网页版也不再提供 1080p 的单文件音频 + 视频了。以 DASH 方式载入的视频下到 144p 上到 8K 都有的。 https://gist.github.com/MartinEesmaa/2f4b261cb90a47e9c41ba115a011a4aa @estk HLS 也可以分开调节音频和视频码率。如 https://events-delivery.apple.com/2409nbcxymeynatwojbbrjuhryomtudb/m3u8/vod_index-oXZvssLWyjfQDEQuVuCBHPWDywaNEipk.m3u8 @vituralfuture 要硬件解码需要走平台的硬解 API ,即 Windows 仅限 PlayReady (原生、Edge 、IE ),苹果平台仅限 FairPlay (原生、Safari )。Chrome 只有在 ChromeOS 上才有 Widevine 硬解,否则为软解。 |