如何下载斗鱼回放视频(纯手工)
需要使用的工具:python3.x,python模塊:requests庫(pip install requests)
?斗魚平臺主播的直播回放在網(wǎng)頁端是沒有下載方式,不知道客戶端或者app有沒有。打開瀏覽器開發(fā)者工具(F12),監(jiān)聽網(wǎng)絡(luò),選擇媒體,然后打開需要下載的直播回放頁面。
?通過觀察網(wǎng)絡(luò)活動(dòng)情況可以得知,斗魚平臺的直播回放視頻是將原視頻分為了幾秒或者幾十秒一個(gè)的ts流片段。
?將視頻拉到最后幾秒,即可找到最后一個(gè)ts流文件。
?
至此,可以得出,本場回放視頻是分為了000-729的ts流文件,顯然,只要將這729個(gè)流文件全部下載并合并即可得到視頻文件。接下來可以用python來替我們完成下載的過程。
?首先,導(dǎo)入requests庫,因?yàn)槊總€(gè)ts流文件都比較小,直接使用requests即可實(shí)現(xiàn)下載。
import requests import osurl = 'https://play-tx-recpub.douyucdn2.cn/live/super_live-7261911rcjksRSiB--20211102155530/transcode_live-7261911rcjksRSiB--20211102155530_128441_0000%s.ts?tlink=61824e31&tplay=6182dad1&exper=0&nlimit=5&us=77b76c28d3bf8fba279062bc14357d3d&sign=9b6e2ffef900064a50835762492458ee&u=0&d=77b76c28d3bf8fba279062bc14357d3d&ct=&vid=25801156&pt=1&cdn=tx' def download(url1,ints):urls = url1%intsr = requests.get(urls) # create HTTP response objectname = ints+'.ts'with open(name,'wb') as f:f.write(r.content)start = 0 stop = input('結(jié)束斷點(diǎn):') stop = int(stop)for i in range(start,stop):i = str(i)if len(i) < 2:i = '00'+ielif len(i) < 3:i = '0'+ielse:passdownload(url,i) os.system('copy /b *.ts new1.ts')# new1.ts是生成的合并后的ts文件先貼上完整代碼,整個(gè)代碼很簡單,將URL變量中的字符串換成你需要下載的視頻流的地址,將.ts前的三位數(shù)字替換為%s。
https://play-tx-recpub.douyucdn2.cn/live/super_live-7261911rcjksRSiB--20211102155530/transcode_live-7261911rcjksRSiB--20211102155530_128441_0000%s.ts?tlink=61824e31&tplay=6182dad1&exper=0&nlimit=5&us=77b76c28d3bf8fba279062bc14357d3d&sign=9b6e2ffef900064a50835762492458ee&u=0&d=77b76c28d3bf8fba279062bc14357d3d&ct=&vid=25801156&pt=1&cdn=tx
?像我這樣把圖片中找到的0000729換成0000%s即可,手動(dòng)找到最后一個(gè)ts視頻的地址,執(zhí)行python腳本,輸入即可,此處需要注意的是range函數(shù)的a,b是不包括b的,所以如果有729個(gè)視頻,輸入729是下載不了第729個(gè)視頻的,需要輸入730.
?
?當(dāng)所有的ts視頻下載完畢后,直接使用DOS將所有的視頻合成為一個(gè)即可。(不需要手動(dòng)輸入,我上面貼出的python代碼中已經(jīng)在最后用os模塊直接使用python執(zhí)行了這段dos命令)
copy /b *.ts new1.ts至此,斗魚主播直播回放的下載就完成了,下載的所有文件和生成的新文件都會與python文件在同一目錄。上述貼出的代碼中不能刪除那幾百個(gè)ts流視頻,可以自己在后面加上刪除的代碼,這樣執(zhí)行完畢后文件夾中將只有一個(gè)new1.ts的視頻文件。我是下載的原畫畫質(zhì)的視頻,通過PR看到視頻的幀率是60fps,非常GOOD。整個(gè)下載過程的思路適用于所有這類的視頻網(wǎng)站,可能某些下載器可以直接下載,不過知道原理也是件不錯(cuò)的事情吧。
?
總結(jié)
以上是生活随笔為你收集整理的如何下载斗鱼回放视频(纯手工)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 关于split与StringTokeni
- 下一篇: ARM(IMX6U)裸机C语言版本LED