您当前的位置:首页 > 计算机 > 软件应用 > 反汇编工具

下载视频时,m3u8文件里面分段视频文件格式是图片(png)的解决办法

时间:11-07来源:作者:点击数:

在你访问一个视频网站会有这样的,m3u8直接变成0的图片了

在这里插入图片描述
在这里插入图片描述

这时需要我们进入断点

在这里插入图片描述
在这里插入图片描述

这里可以看出这个请求是用来获取 hls流 的 index 文件的, 格式是 application/vnd.apple.mpegurl ,而且可以看出response payload 的 String 是 被 gzip压缩过的,解压缩过后,可以看出是标准的 m3u8 文件格式:

在这里插入图片描述

这里我想起来之前论坛说的 批量修改 ts 文件后缀 为 png 上传公共图床的帖子,我下载了其中一个 png 文件下来 ,用Linux hexdump 命令查看文件头,发现确实有 png 文件头,说明不是简单改个后缀名完事的。 但是, 之后的内容就非常可疑了, 很类似 MPEG-TS 文件的packet格式

在这里插入图片描述

作为对比, 下面是一个标准的 mpeg-ts 文件头:

在这里插入图片描述

可以看到 png 文件除了开头的 212 字节以外, 其他都是符合 ts 文件的格式的,于是尝试 dd 命令删掉前面 212 字节:

dd if=0.1 of=output.ts bs=4 skip=53

打开 output.ts 文件,可以正常播放, ffmpeg 查看也是标准 mpegts 文件:

在这里插入图片描述

对于其他的 png 文件,发现也是同样的有 212 bytes 的无效headers,去掉之后同样可以播放。

在这里插入图片描述

总结: 所以网站是给 ts 视频文件添加 长度为 212 bytes 的文件头,把它伪装成 png 格式 ,然后客户端再以 二进制处理这个文件,去掉开头的 212 bytes,还原成标准的 ts 文件后,再在播放器里播放。

使用这个下载器,可自动去除图片混淆头,解决这个问题并合成mp4

在这里插入图片描述

下载地址:https://xyyx.lanzouw.com/i9hcAwj48be

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门