關於Twitch視訊回放錄影的下載

網上似乎有很多下載方法,但似乎都不怎麼奏效,今天筆者分享個實測好用的下載方法
首先安裝個chrome(能安裝外掛的瀏覽器就可以,火狐,360極速也行),安裝個有解析線上視訊功能的外掛,進入你想下載的頁面,這時候解析外掛基本上開始解析了,如圖(我也不知道自己用的啥外掛,反正都能用)
這裡寫圖片描述

下載類似index-muted-wpa4u1xhad.m3u8的檔案(這裡最好把這個檔案的下載地址貼上到一個記事本里,等下會用到,為方便敘述,就當下載地址是https://vod=false),檔名可能有區別,大體上是index-***.m3u8
下載好後,用記事本開啟index-**.m3u8,類似下圖就對了
這裡寫圖片描述

再下載ffmpeg,我準備了64位windows的下載地址(連結:https://pan.baidu.com/s/1bo5h8nH 密碼:p6sc),其他的就去官網下載吧
網址是 http://ffmpeg.org/ ,懂點英文應該能下載吧(macos和Linux的還是下載原始碼自己編譯吧,也方便以後寫程式用)

常用ffmpeg的,建議設定個環境變數,不常用就算了
這裡寫圖片描述
設定好環境變數後,開啟cmd,找到剛才讓記下的m3u8檔案的下載地址(https://vod*=false),在cmd中輸入

ffmpeg -i "https://vod*=false" -c copy out.mkv
//此處注意地址儘量加雙引號,避免轉義字元的干擾

這時候,會出現如下圖
這裡寫圖片描述

把紅線畫出的部分複製下來(單引號不用,引號之內的複製,假設此處複製的是https://vod/0.ts

開啟迅雷,點新建任務的那個” “
這裡寫圖片描述
點新增批量任務
出現如下圖
這裡寫圖片描述

然後在"通過URL過濾”中輸入
https://vod/(*).ts
你複製的地址如下的情況下輸入如上,即把序號用(*)代替
https://vod/0.ts
萬用字元填1,從0到9,點確定,並開始下載
萬用字元填2,從10到99,點確定,並開始下載
萬用字元填3,從100到999,點確定,並開始下載(具體結束項數看m3u8檔案)
關於1000以上的下載方法,比如下載1000.ts到1999.ts
可以在"通過URL過濾”中輸入 https://vod/1(*).ts
萬用字元填3,從100到999,點確定,並開始下載
其餘的類似
需要注意的一點如下:
由於版權問題,涉及到未授權的音樂片段Twitch會予以靜音
被靜音的分段會加上muted 如1824-muted.ts
假設1821-1927被靜音
可以在"通過URL過濾”中輸入 https://vod/1(*)-muted.ts
萬用字元填3,從821到927,點確定,並開始下載

下圖說明怎麼看結束項和被靜音的分段
這裡寫圖片描述

下載完成後會有一系列ts檔案,例如1.ts-1000.ts,但中間還有些,例如21到28為21-muted.ts一直到28-muted.ts這樣的靜音分段,那我們就先把這些檔案複製到一個資料夾(假設為D:\1\)裡,開啟cmd並進入這個資料夾,再輸入

dir /b *.ts>1.txt

操作如圖
這裡寫圖片描述

這時候資料夾裡出現了一個1.txt檔案,開啟它
這裡寫圖片描述

全選->複製(快捷鍵操作問crtl a–>crtl c),新建一個Excel表格檔案並開啟,在A列第一格中右鍵,選擇性貼上(只保留文字)
效果如下(以Excel2016為例)

這裡寫圖片描述

然後在B列第一格輸入21.ts(由於A列第一格為21-muted.ts,具體情況具體分析),然後用自動填充柄填充完(自動填充柄不會的自己度娘吧),再在C1中輸入

="ren "&A1&" "&B1

用自動填充柄填充C列,效果如下
這裡寫圖片描述

然後選中C列中的所有有文字的項,複製並貼上到一個新的記事本中
如下圖所示

這裡寫圖片描述

儲存,並把檔名重新命名為1.bat(字尾名一定要改),把這個批處理檔案也放到D:\1\ 這個資料夾(存放靜音分段檔案的資料夾)中,雙擊執行,黑框一閃,檔名全變成了例如21.ts等,將這些檔案剪下回原來存放分段檔案(0.ts-1000.ts)的資料夾中,現在ts檔案的命名順序就為0.ts-1000.ts(假設有1001個檔案)

下面執行”生成批處理”程式(連結:https://pan.baidu.com/s/1mh6lenm 密碼:lhsx)

程式是筆者自己用C語言寫的,由於不知道ts檔案的數目,而且直接用
copy /b *.ts out.ts
實測是不行的,windows會按開頭數字排序,像2.ts會在10.ts後面,覺得程式有病毒的,我下面貼上原始碼,你自己編譯吧`

原始碼如下:

#include <stdio.h>
#include <stdlib.h>
int main()
{
printf("輸入ts檔案的最大序號:");
int n=0;
scanf("%d",&n);
FILE *f;
f=fopen("combine_ts.bat","w");
fprintf(f,"copy /b ");
int i=0;
for(i=0; i<n; i  )
{
fprintf(f,"%d.ts ",i);
}
fprintf(f,"%d.ts combine.ts\n",i);
fclose(f);
FILE *f1;
f1=fopen("convert.bat","w");
fprintf(f1,"ffmpeg.exe –i combine.ts –acodec copy –vcodec copy –absf aac_adtstoasc combine.mp4\[email protected]");
printf("操作完成,複製combine_ts.bat和convert.bat到含很多ts的資料夾下執行!!\n");
fclose(f1);
system("pause");
return 0;
}

接下來把combine_ts.bat和convert.bat到含很多ts的資料夾下執行,先執行combine_ts.bat,再執行convert.bat,convert.bat執行不行的話,直接在含combine.ts的資料夾裡開啟CMD,輸入

ffmpeg.exe –i combine.ts –acodec copy –vcodec copy –absf aac_adtstoasc combine.mp4

輸入這個的前提是你設定了ffmpeg的環境變數,如果沒設定,那就輸入(假設ffmpeg在D:\ffmpeg\bin\ 中)

D:\ffmpeg\bin\ffmpeg.exe –i combine.ts –acodec copy –vcodec copy –absf aac_adtstoasc combine.mp4

這一步是把ts檔案轉化為mp4檔案,既減少了檔案的容量,也讓播放變得流暢,雖然ts檔案能直接播放,

好了,做了這麼多事情,最後combine.mp4就是下載到的視訊,修改下檔名就能儲存了,其他的無關檔案全刪了吧!!

再次放上所有附件的下載地址
連結:https://pan.baidu.com/s/1bUSbb4 密碼:0so7

純手打,有效的話大家給個評論,如果有什麼問題,或者連結失效之類的,也在評論區給我留言吧,關於其他網站的視訊下載方法,以後有機會再分享(打一篇部落格太累了(lll¬ω¬))