12345
影片使用的文檔如下
# 關於HLS
HTTP Live Streaming Explained
https://www.youtube.com/watch?v=5eGtF2kb2sc
How to Decrypt HLS Content
https://www.youtube.com/watch?v=723GGLHGDS0
# 準備工具
1. FFmpeg - 下載及解密 HLS影片,也可以合併、分割影片
http://ffmpeg.org/
安裝教學
https://www.youtube.com/watch?v=Hff6RtsEuU4
2. HLS Stream 探測器 - 其他能探測的也可以
HLS Stream Capture (edge擴充元件)
https://microsoftedge.microsoft.com/addons/detail/hls-stream-capture/degfdiljllaajjkldokdnbmjncibpdbd
或
The Stream Detector (firefox擴充元件)
https://addons.mozilla.org/en-US/firefox/addon/hls-stream-detector/
3. VPN
# 注意事項
網站有Adblock偵測器,需要視情況停用擋廣告功能,可能需要關閉三個地方,我是先從1開始關
1. adblocker擴充元件
2. 瀏覽器本身阻擋廣告
3. 防毒軟體阻擋廣告! (這一項滿容易漏掉)
# 流程
1. 打開要下載的網頁,開始播放影片,HLS Stream Capture會抓到幾個m3u8連結
分別打開介紹一下 m3u8檔可以視為影片播放清單
master.m3u8 會提供不同頻寬相對應畫質的m3u8
打開master.m3u8會看到,這個網站命名為master_1.m3u8, master_2.m3u8 ...
主要會下載這幾項
master_1 1080P畫質的視訊(無聲音)
master_7_0 原音音訊
master_7_2 俄語解說音訊(不一定有提供)
打開這些m3u8,可以看到裡面提供的是很多片段的ts檔,也就是影片或是聲音,並且這些片段都是加密過的,無法直接下載之後播放。
這行代表有加密
#EXT-X-KEY:METHOD=AES-128,URI="67362270-b43f-4136-8c5e-65c6657479a2/e4363af7-b1d6-4bfc-867f-5b7cfbcad3c6.key"
利用ffmpeg將這些ts片段解密合併成完整時間長度的視訊、音訊。
複製 HLS Stream Capture 自動建立的ffmepg指令
加入參數 -protocol_whitelist file,tls,tcp,https,crypto -allowed_extensions ALL
可以先改要存檔檔名避免搞混
到要下載檔案的資料夾,開啟CMD,可多開CMD視窗進行多線程下載
# 1080P視訊
ffmpeg -protocol_whitelist file,tls,tcp,https,crypto -allowed_extensions ALL -user_agent "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.107 Safari/537.36 Edg/92.0.902.55" -i "https://vodc1rtoka.ovpobs.tv/out/vod/valias/tok1000218/u/ch42/hdntl=ip=92.101.39.252~exp=1627464662~acl=%2fout%2fvod%2fvalias%2ftok1000218%2fu%2fch42%2f*~id=140-0nsme4rd~data=hdntl~hmac=a0e828f3afd55bbe9efc608684dcdc1cb1010bf1cf74edc65b6825a489ac203f/master_1.m3u8?m=1625191181" -c copy "POL-ITA, FRA-TUN.ts"
# 音訊 副檔名改成.aac
ffmpeg -user_agent "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.107 Safari/537.36 Edg/92.0.902.55" -i "https://vodc1rtoka.ovpobs.tv/out/vod/valias/tok1000218/u/ch42/hdntl=ip=92.101.39.252~exp=1627464662~acl=%2fout%2fvod%2fvalias%2ftok1000218%2fu%2fch42%2f*~id=140-0nsme4rd~data=hdntl~hmac=a0e828f3afd55bbe9efc608684dcdc1cb1010bf1cf74edc65b6825a489ac203f/master_7_0.m3u8?m=1625191181" -c copy "POL-ITA, FRA-TUN.aac"
正在下載,有crypto字樣表示有解密
因為檔案下載時間會比較久,後面的流程用之前下載好的來示範
下載完成後,檔案應可正常播放,把這些視訊和音訊檔案合併成單一個檔案,之後切割檔案減少檔案大小
我個人是用Avidemux來做。
這裡的操作,只是單純的合併、切割,速度都會很快,如果有轉檔的行為表示操作方式不對。
建議存成mkv檔案,要加入音軌和章節比較方便
切割的起始點一定要是i frame,如果不是i frame會往前推到上一個 i frame
設置好切割範圍之後存檔
video, audio 都要是copy, format選mkv
如果影音不同步,可以試著用shift來調整音軌對應的時間
影片最後剛好弄出一個BUG,片長在播放器顯示錯誤...不過沒關係,用別的播放器開過就好了