老婆学校的老师有什么问题就救助过来,比如下载视频网站的教学资料视频,以前是直接扔过去神器flvcd,支持大部分网站,但是不支持360影视,上手分析吧!
浏览器F12网络监控发现360影视是5s一个分段的ts数据,一个一个下载比较麻烦,而且下载下来后还需要合并.
step1 获取分段地址
可以容易分析出,360影视通过请求http://g.play.tvfanqie.com/video/getplay.+来获取播放地址:
结果类似:
Request URL:http://g.play.tvfanqie.com/video/getplay?mid=09e99d75c71e6ebf05daf61585da5b3c&dtype=non&stype=m3u8&_rate=hd&sid=fanqie_web&source=1&ts=1510879599&_sign=bbc8c9ad146bc90a1867be03ba6433a3
Request Method:GET
Status Code:200 OK
Remote Address:106.38.193.20:80
Referrer Policy:no-referrer-when-downgrade
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-ALLOW-CACHE:YES
#EXT-X-QIHU-RUID:a4961e90762bf3c84dc197090d21c3d8
#EXT-X-CDN_DOMAIN:y.play.360kan.com
#EXT-X-TARGETDURATION:10
#EXT-X-QIHU-SZ:453832
#EXTINF:5.000,
http://y.play.360kan.com/vod/760/74/a4961e90762bf3c84dc197090d21c3d8/09e99d75c71e6ebf05daf61585da5b3c_960_480_600_128_a4961e90762bf3c84dc197090d21c3d8_mp4_3g8q98e59_0.ts?time=1510879600&sign=864ce6cf5b18d2f815ad52aa7045ad29
#EXT-X-QIHU-SZ:1114840
#EXTINF:9.750,
http://y.play.360kan.com/vod/760/74/a4961e90762bf3c84dc197090d21c3d8/09e99d75c71e6ebf05daf61585da5b3c_960_480_600_128_a4961e90762bf3c84dc197090d21c3d8_mp4_3g8q19124_1.ts?time=1510879600&sign=d424d0061c5dbffed470875dbf286908
#EXT-X-QIHU-SZ:617956
step2 提取出分段地址
使用正则http://y.play.360kan.com/.+提取出所有地址,然后存到一个文本文件filelist.txt。
step3 wget下载
G:\>wget -i filelist.txt
--2017-11-17 08:50:22-- http://y.play.360kan.com/vod/760/74/a4961e90762bf3c84dc197090d21c3d8/09e99d75c71e6ebf05daf61585da5b3c_960_480_600_128_a4961e90762bf3c84dc197090d21c3d8_mp4_3g8q98e59_0.ts?time=1510879600&sign=864ce6cf5b18d2f815ad52aa7045ad29
Resolving y.play.360kan.com (y.play.360kan.com)... 60.169.6.150, 180.97.249.107, 180.97.249.106
Connecting to y.play.360kan.com (y.play.360kan.com)|60.169.6.150|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 453832 (443K) [video/MP2T]
Saving to: '09e99d75c71e6ebf05daf61585da5b3c_960_480_600_128_a4961e90762bf3c84dc197090d21c3d8_mp4_3g8q98e59_0.ts@time=1510879600&sign=864ce6cf5b18d2f815ad52aa7045ad29'
step4 合并
获取文件列表,文件比较多,所有-tr按时间排序
ls *.ts* -tr | gawk '{print "file " $1}' > video_list.txt
ffmpeg合并
ffmpeg.exe -f concat -i video_list.txt result.ts
发现ts手机播放不支持,转下码
ffmpeg.exe -i result.ts result.mp4
PS: windows系统请自行安装cygwin使用ls、wget等命令