m3u8格式下载合并mp4视频
m3u8解析、ts视频块解密合并mp4
- 今天客户有个批量下载视频得需求、拿到链接一顿分析、发现视频是m3u8文件分块、然后有KEY加密、aes-128
下面开始处理流程:
1 先取出key链接、这里得key是需要携带token才能获取、具体token怎么获取不在本次讨论范围~.~2 下载key文件、二进制文件打开是乱码、字节保存就好3 上图最后一行*.ts***,这是个加密得视频分块、拼装好url也下载下来4 一个m3u8里面肯定会有很多ts分块得![在这里插入图片描述](https://img-blog.csdnimg.cn/20201228170550279.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3poZW5namlhbnlhbmcx,size_16,color_FFFFFF,t_70)5 一般一个m3u8 用的都是统一个key、不过也要根据实际情况,这次得是用得同一个key、只需要下载一次Key文件就可以、6 把所有得 ts 视频分块全部下载下来、这里有个验证必须要带来路、headers~,记得给名字划分好、后面要用到、现在得名字全是一样得~7 把这个m3u8得格式处理一下保存下来7.1 把所有key链接换成第 2 步得文件名7.2 #EXT-X-KEY:METHOD=AES-128,URI="key.key",IV=0x000000000000000000000000000000007.3 IV不用在意、怎么加得怎么解就好了7.4 把第 6 步所有得 *.***ts* 、ts文件替换成刚才下载所有ts文件名比如:1.ts2.ts.....7.5 保存m3u8文件后缀是m3u87.6 脚本处理![在这里插入图片描述](https://img-blog.csdnimg.cn/20201228170536792.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3poZW5namlhbnlhbmcx,size_16,color_FFFFFF,t_70)8 上面我们就把一个视频得所有分块和解密key以及m3u8文件给保存好了、然后就是解密部分9 解密我们借助 ffmpeg 、这里我就不提供了、需要的还是大家取官网下载比较友好10 把所有ts、key、m3u8文件和 ffmpeg 放在同一个目录11 .\ffmpeg.exe -allowed_extensions ALL -protocol_whitelist "file,http,crypto,tcp" -i xxx.m3u8 -c copy 1.mp412 xxx.m3u8、保存得m3u8文件名13 1.mp4、要解密、合并、生成得mp4文件名、即最终文件14 正常解码播放~安逸了15 其中还是有一些小坑得、比如token得生成啊、视频来路啊、不同站点带来得坑肯定不一样、这个还是要根据实际情况分析
这样一个视频就完整得解密合并成mp4了、客户要下载七十个视频、一个一个来?
肯定是不可能得、下面分享一部分自动话得代码、毕竟站点不一样、实际情况也不一样
自动处理下载
1 取视频id![在这里插入图片描述](https://img-blog.csdnimg.cn/20201228170657582.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3poZW5namlhbnlhbmcx,size_16,color_FFFFFF,t_70)1.1 我这里用信号量限制了并发数为1,我也不晓得ffmpeg能不能多进程、会不会出错、索性就慢慢跑、反正也不多、才几十个视频1.2 我是把所有id全部取出来丢到了json中得、没得加密、没得验证、安逸~2 取出视频名一个一些需要得参数![在这里插入图片描述](https://img-blog.csdnimg.cn/20201228170708517.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3poZW5namlhbnlhbmcx,size_16,color_FFFFFF,t_70)3 拼接 ts 文件链接得一些参数然后加入到循环策略批量下载保存并存下文件名![在这里插入图片描述](https://img-blog.csdnimg.cn/20201228170716598.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3poZW5namlhbnlhbmcx,size_16,color_FFFFFF,t_70)4 整理 m3u8 得格式为上面说的格式![在这里插入图片描述](https://img-blog.csdnimg.cn/20201228170735170.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3poZW5namlhbnlhbmcx,size_16,color_FFFFFF,t_70)5 解密、合并mp4视频文件![在这里插入图片描述](https://img-blog.csdnimg.cn/20201228170743371.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3poZW5namlhbnlhbmcx,size_16,color_FFFFFF,t_70)6 上一步有两个 chdir 操作切换目录、第一次是为了执行ffmpeg、第二次是为了保存文件新的、防止目录错乱而出错7 加延时是为了防止文件占用、实际用不了那么久、合并视频也就一两秒、删除就更快了、以防万一得设置久一点
然后就可以安逸得等待全部下载完毕啦~
打完收工.
m3u8格式下载合并mp4视频相关推荐
- 在线视频下载-猫抓+M3U8批量下载合并
1.猫抓 猫抓是一款目前比较好用的网页视频嗅探插件. 对于一些播放大型视频的网站,视频通常是分段的,猫抓只能嗅探出一个m3u8文件 将猫抓嗅探出的m3u8地址复制,粘贴到"M3U8批量下载器 ...
- 如何将m3u8格式转成MP4以及可播放格式
如何将m3u8格式转成MP4以及可播放格式 今天在下载视频做视频剪辑的时候,下载到了一个不常用的视频格式m3u8格式,不得不说我也很迷惑,自己搜集了许多资料才写了这篇文章: 接下来我来介绍如何将m3u ...
- 使用FFmpeg合并MP4视频
使用FFmpeg合并MP4视频 1. 使用mpeg拼接 2. ==使用ts拼接== 使用FFmpeg合并MP4视频 windows/linux下均可用 1. 使用mpeg拼接 速度慢,文件大 将 mp ...
- 使用ffmpeg下载m3u8并转化为MP4视频格式
因为网页视频下载的需要,需要把m3u8文件转换为MP4文件进行观看,于是发现了好用的ffmpeg. ffmpeg是一个开源的音视频转码工具,它提供了录制.转换以及流化音视频的完整解决方案,可以转码.压 ...
- 手机浏览器下载的m3u8格式的多个视频文件合并成一个视频(Java实现)
最近手机下载了几个视频,在浏览器上播放无异常,但是当我想把视频复制到电脑上时,发现该视频格式为m3u8,仔细一看,原来还有一个以"."开头的隐藏文件夹,里面有好多大约10s的视频文 ...
- 手机UC浏览器下载的视频m3u8格式如何转换为mp4
在某浏览器下载的m3u8文件如何转换成mp4问价相信许多老伙伴都很苦恼吧,今天教你一个简单易懂的方法. 不废话,直接来硬货 下载手机QQ浏览器 里面有m3u8直接转化为mp4文件的插件,(在QQ浏览器 ...
- 如何使用m3u8格式下载快手直播回放的视频?自动转换MP4
大家好今天给大家分享一个下载快手直播回放的方法: 第一步 首先咱们打开电脑网页上的快手:在你要下载的播主的直播回看列表里点开你要下载的回放视频:(回放有记录可以正常观看的才可以下载)然后复制上方的地址 ...
- m3u8转换到mp4 python_如何把m3u8格式转换成mp4格式?
展开全部 步骤如下: 1.手机上面找到m3u8格式文件的存储位置,在打开方式里边选择"HTML查看器"查看,此62616964757a686964616fe59b9ee7ad943 ...
- m3u8手机批量转码_手机怎么把m3u8格式转换成mp4格式?
展开全部 转换步骤如下: 一.手机上面找62616964757a686964616fe4b893e5b19e31333431373834到m3u8格式文件的存储位置,在打开方式里边选择"HT ...
最新文章
- chrome安装或者重装 【windows】
- rocketmq 初探(二)
- Mapillary发布世界最大交通标志数据集,用于自动驾驶研究
- dispatch类 java_WebWork2中ServletDispatch类中的service方法
- 20191011:冒泡排序的改良版--Shaker排序
- 【图像隐写】基于matlab分层自嵌入数字水印内容认证与恢复【含Matlab源码 1641期】
- 软考论文写作方法及规范
- 汽车销售管理系统 c语言版 课程设计,《汽车销售管理系统 C语言版》.doc
- SMPP协议,CMPP协议是啥子
- 吴家坟女子专修学院郭杜校区计算机分院的学年总结
- python爬虫selenium操作下拉框详解
- 数论作业 —— 公约数公倍数问题
- 敏捷这么久,你知道如何开敏捷发布火车吗?
- 数据库查询时出现 unknown column
- 香港科技大学计算机实验室,香港科技大学机器人实验室科研项目
- 大学生读书计划800字计算机专业,大学生读书计划范文3篇
- Excel如何批量修改工作簿名称为标题
- FileCounter文件统计小工具
- Python开源项目目录结构参考
- win98老机子安装linux,Windows 98 安装全过程(转)
热门文章
- AJAX的全称是什么? 介绍一下AJAX
- pipeline(管道)设计模式
- 【Python】PermissionError: [Errno 13] Permission denied: ‘xxx.xlsx‘问题解决
- 百度涉嫌干涉以色列广播虚假新闻被黑
- ant-design实现主题暗黑主题 和 亮色主题的 切换(实现网站黑白皮肤)
- 天邑ty1208z海思3798刷版本_[FJ]安徽电信天邑ty1208z_mv100机顶盒刷全网通教程
- MySQL理论:脏读、不可重复读、幻读
- 计算机二级c语言应该使用什么软件进行编译
- 双开应用和主分身空间
- C#高效编程 改进C#代码的50个行之有效的办法(第2版)