1、目标
最近浏览网页的时候看到一个网上宣传视频不错,想下载到本地。简单记录一下处理过程。网站视频播放地址:aHR0cHM6Ly93d3cuaWxsdW1pby5jb20vcmVzb3VyY2UtY2VudGVyL2RlbW8temVyby10cnVzdA==
2、下手
首先尝试wireshark抓包,因为网站是https的,未发现视频链接。于是,打开firefox的开发者模式观察,选媒体,发现ts文件传输。
等视频全部播放完毕后,鼠标右键"将所有视频内容另存"为Archive 20-10-2117-40-59.har。然后怎么打开这个har文件呢?先尝试修改文件后缀为avi,无法播放。尝试改成xls后,可以看到是json格式文件,里面还存有视频raw。处理方法可以是python解析后提取。我嫌麻烦。so ask baidu,在github上找到har文件解析脚本har2imgs.js。在使用这个脚本前需要最小化安装node.js环境。
运行下图命令node har2imgs.js xxx.har,将har格式文件解析成多个带编号的ts格式文件。
然后尝试运行copy /b *.ts video.ts,将多个ts文件合并为一个video.ts。但是因为文件编号长度不一致,合并文件的时候会乱序,导致合并后的视频文件无法正常播放。
解决方法是修改合并文件的bat脚本,运行后得到正确的视频文件ggg.ts,然后修改文件后缀为MP4后,得到可以正常拖拽播放的ggg.mp4。
3、正确顺序合并ts文件的bat脚本
@echo off
copy /b seg-2-v1-a1.ts ggg.ts
for /l %%i in(3,1,297) do (
copy /b ggg.ts+seg-%%i-v1-a1.ts temp.ts
move /y temp.ts ggg.ts)
pause
4、har文件转ts文件脚本地址
https://github.com/dantecsm/har-parser