導語
這段時間接了個專案,是給WordPress編寫全景影片播放外掛,客戶的影片來源是YouTube。
但是我發現了一個很有意思的問題:
做過全景影片的同學應該一眼就看出來這種不是常見的影片格式。
事實上,這個是谷歌最新研發的 “等角度立方體貼圖 (EAC) ”,這種格式目前只有YouTube可以正常解析。
當然,YouTube也提供了常見的“等效柱狀投影”的全景影片,下面看獲取方法。
YouTube上等效柱狀投影全景影片的獲取方法
核心思想就是改變瀏覽器的User Agent,讓YouTube識別不出你所用的瀏覽器,這樣他就不能確定你的瀏覽器是否支援解析“等角度立方體貼圖”格式的影片,所以會返回最普通的“等效柱狀投影”的影片。這樣即便是直接展示影片的原始樣式而不做全景播放處理也依然可以勉強觀看。
效果如下:
修改User Agent可以使用各個瀏覽器的外掛實現,比如FireFox可以使用User-Agent Switcher外掛,將UserAgent修改為curl或者為空都可以。之後就可以使用常用的扒影片工具從這個網頁上提取連結下載了。
我也是和樓下兩位同樣的問題,瀏覽器是FireFox,用你推薦的那個外掛更改了User-Agent,YouTube上的360度的影片也變成了等效柱狀投影的格式,結果下載下來後,還是EAC格式的,這就搞不懂了,我是個小白,博主不要笑我,已經加你QQ了,希望抽空給解答一下,感謝感謝~
下載需要用瀏覽器外掛從那個網頁上下載,你不能用第三方下載工具。否則User-Agent就不是你設定的那個了
麻煩你能幫我看一下這個嗎?
請求網址:https://www.youtube.com/watch?v=CIn-TjElcGw
請求方法:GET
遠端地址:0.0.0.0:443
狀態碼:
200
版本:HTTP/2
響應頭 (541 位元組)
原始頭
alt-svc
quic=”:443″; ma=2592000; v=”46…00,h3-Q043=”:443″; ma=2592000
cache-control
no-cache
content-encoding
br
content-type
text/html; charset=utf-8
date
Thu, 19 Mar 2020 05:48:14 GMT
expires
Tue, 27 Apr 1971 19:44:06 GMT
server
YouTube Frontend Proxy
strict-transport-security
max-age=31536000
x-content-type-options
nosniff
X-Firefox-Spdy
h2
x-frame-options
SAMEORIGIN
x-xss-protection
0
請求頭 (528 位元組)
原始頭
Accept
text/html,application/xhtml+xm…ml;q=0.9,image/webp,*/*;q=0.8
Accept-Encoding
gzip, deflate, br
Accept-Language
zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Cache-Control
max-age=0
Connection
keep-alive
Cookie
PREF=f1=10000000&f5=30; VISITO…XNeMA==; AST=MTU4NDU5NjMyMQ==
Host
http://www.youtube.com
Upgrade-Insecure-Requests
1
User-Agent
curl
請求裡的user agent應該是變化了的,然後您說的之後就可以使用常用的扒影片工具從這個網頁上提取連結下載了,是直接複製網頁連結到下載工具裡就可以了吧,我用Get Youtube下載後還是EAC的,打擾了,真是不好意思了
沒事,加我qq給你看看吧1642491905
你好,請問你是用什麼影片下載軟體的呢,我按照您的方法下載下來的影片還是EAC格式的,謝謝了!
重點不是用什麼軟體下載,而是如何設定user agent。你下載的格式不對應該就是user agent設定的不對。可以f12看下http報文