ts文件解析_如何抓取、下载和播放ts、har格式的网站视频文件?【原创】

1、目标

     最近浏览网页的时候看到一个网上宣传视频不错,想下载到本地。简单记录一下处理过程。网站视频播放地址:aHR0cHM6Ly93d3cuaWxsdW1pby5jb20vcmVzb3VyY2UtY2VudGVyL2RlbW8temVyby10cnVzdA==

a427cf51d586751c0a6edeb32e7bf63b.png

2、下手

      首先尝试wireshark抓包,因为网站是https的,未发现视频链接。于是,打开firefox的开发者模式观察,选媒体,发现ts文件传输。

134f90ecc2fb24a115968b52a2089501.png

等视频全部播放完毕后,鼠标右键"将所有视频内容另存"为Archive 20-10-2117-40-59.har。然后怎么打开这个har文件呢?先尝试修改文件后缀为avi,无法播放。尝试改成xls后,可以看到是json格式文件,里面还存有视频raw。处理方法可以是python解析后提取。我嫌麻烦。so ask baidu,在github上找到har文件解析脚本har2imgs.js。在使用这个脚本前需要最小化安装node.js环境。

e0021eb0a2cf26a60327294f804f610d.png

32c74acc5f3dafceb1054dcb0eaf25ea.png

运行下图命令node har2imgs.js xxx.har,将har格式文件解析成多个带编号的ts格式文件。

66d43b371c40fff51ffd4421cd39dca9.png

然后尝试运行copy /b *.ts video.ts,将多个ts文件合并为一个video.ts。但是因为文件编号长度不一致,合并文件的时候会乱序,导致合并后的视频文件无法正常播放。

6eea71b976ac012b83d5f6c66d170eb9.png

解决方法是修改合并文件的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