精易论坛

标题: 分享个以前写的 m3u8 视频下载工具 [打印本页]

作者: dulang    时间: 2020-9-16 21:58
标题: 分享个以前写的 m3u8 视频下载工具
本帖最后由 dulang 于 2020-9-16 22:02 编辑



        好久没有分享源码了,今天分享个以前写的 m3u8 视频下载工具,简单整理了一下代码,发出来大家参考交流一下。


        废话不多说,先看图,有图有真相










原理:


        利用 aria2c.exe 多线程批量下载 .ts 文件到本地,然后利用 ffmpeg.exe 合并、解密转换成 .mp4 文件!


        开源免费工具就是香啊!!!


        注: aria2c.exe、ffmpeg.exe 放到程序运行目录即可,开源项目,百度一下即可找到下载链接。因为这两个文件有点大,我会打包到微云,不想百度找的可以快速下载




操作过程:


        1、取标题的 MD5 作为 key_name (即 key_name 为32位的十六进制文本);


        2、下载 .m3u8 文件,分析文件内容;


        3、生成所有 .ts 文件的下载链接,保存到本地 key_name.txt 文件中(每行一个链接,aria2c.exe 下载时用到);


        4、生成 .ts 指向本地文件的 .m3u8 文件,ffmpeg.exe 合并时用到;


        5、如果 .m3u8 中带有 key ,则下载相应的 .key 文件保存到本地 key_name.key 文件中,ffmpeg.exe 合并时用到;


        6、生成 key_name.bat 文件,用于执行下载、合并、解密、转码、更名、删除缓存文件等操作。


        以上涉及到的文件均保存在【当前运行目录】的 key_name 临时缓存文件夹下(批处理执行完成后自动强制删除)。




源码:


        源码中引用三个模块,一并打包(模块源码)


m3u8下载器.zip (27.66 KB, 下载次数: 485)
引用的三个模块源码.zip (16.83 KB, 下载次数: 339)


解压密码:[hide=d100]aria2c、ffmpeg[/hide]



补充内容 (2020-9-21 12:40):
密码:aria2c、ffmpeg,不要复制空格
作者: dulang    时间: 2020-9-16 22:13
aria2c.exe、ffmpeg.exe 下载链接补上 https://share.weiyun.com/KeVQQcjy
作者: 网络注册会员    时间: 2020-9-16 22:23
开源就支持你
作者: jinn0316    时间: 2020-9-16 22:23
大佬厉害!!!
作者: 若筱涵    时间: 2020-9-16 22:31
学习了!!!!!

作者: 易辈子    时间: 2020-9-16 22:35
看看睥呆要。是 什么?
作者: 易辈子    时间: 2020-9-16 22:36
模块密码解压密码不对
作者: dulang    时间: 2020-9-16 22:51
再放一下静态编译的成品

m3u8下载器exe.zip

346.21 KB, 下载次数: 21, 下载积分: 精币 -2 枚


作者: dulang    时间: 2020-9-16 22:52
易辈子 发表于 2020-9-16 22:36
模块密码解压密码不对

你复制空格了吧
作者: 无穷    时间: 2020-9-16 22:56

作者: 易辈子    时间: 2020-9-16 23:07
dulang 发表于 2020-9-16 22:52
你复制空格了吧

没有复制空格啊。密码不对的
作者: ezzuhao    时间: 2020-9-16 23:09
优秀        
作者: 痴情公子    时间: 2020-9-16 23:13
m3u8 视频下载

作者: 汉族    时间: 2020-9-16 23:20
支持一下  
作者: 胜屿    时间: 2020-9-17 00:51
支持一下  
作者: Best149    时间: 2020-9-17 02:18
改一下应该能下载直播视频吧
作者: TBit    时间: 2020-9-17 08:45
不错,感谢楼主分享
作者: wuqingg    时间: 2020-9-17 08:48
直播可以下载不?
作者: dulang    时间: 2020-9-17 09:33
wuqingg 发表于 2020-9-17 08:48
直播可以下载不?

没试啊,你自己动手改下试试,回头交流一下,最近没时间弄
作者: 357341051    时间: 2020-9-17 09:35
源码中引用三个模块,一并打包(模块源码)
作者: 深爱者    时间: 2020-9-17 09:56

不错,感谢楼主分享
作者: wjswzj0    时间: 2020-9-17 10:13
虽然不会用 但是还要是要支持一下
作者: 天涯阿肯    时间: 2020-9-17 10:22
给大佬递烟,感谢分享

作者: h1298284307    时间: 2020-9-17 10:55
看看 是怎么实现多线程下载的

作者: dulang    时间: 2020-9-17 12:32
wjswzj0 发表于 2020-9-17 10:13
虽然不会用 但是还要是要支持一下

8楼发了一个成品程序,1楼有用到的另外两个文件,把三个文件放到同一个文件夹下就可以使用了,非常简单
作者: dulang    时间: 2020-9-17 12:45
为啥不显示图片呢?

作者: dulang    时间: 2020-9-17 12:47
dulang 发表于 2020-9-17 12:45
为啥不显示图片呢?


作者: gaoqing    时间: 2020-9-17 12:57
谢谢分享!
作者: wjswzj0    时间: 2020-9-17 13:53
dulang 发表于 2020-9-17 12:32
8楼发了一个成品程序,1楼有用到的另外两个文件,把三个文件放到同一个文件夹下就可以使用了,非常简单

嗯,我试试
作者: kike    时间: 2020-9-17 15:56
支持一个。
作者: 伍田田    时间: 2020-9-17 16:08

支持一个。
作者: 外星星人    时间: 2020-9-17 16:26
这个我需要
作者: 人在边缘    时间: 2020-9-17 16:41
咔咔咔咔咔咔扩

作者: h1298284307    时间: 2020-9-17 18:34
密码错误啊 不对
作者: zzzzzzzz88    时间: 2020-9-17 19:43
下一个看看!!!!
作者: 小桥流水34    时间: 2020-9-17 21:50
看看好不好用

作者: 89391311    时间: 2020-9-17 22:27
看到 利用 aria2c.exe 和 ffmpeg.exe 感觉这个工具应该很好用

作者: 噢噢    时间: 2020-9-17 23:34
感谢分享,很给力!~
作者: 陈琦    时间: 2020-9-18 01:58
[易语言纯源码] [分享源码] 分享个以前写的 m3u8 视频下载工具 [复制链接]
作者: clearlove    时间: 2020-9-18 06:43
m3u8 视频下载工具

作者: ngrjsc    时间: 2020-9-18 06:47
不得了,。好

作者: la123789    时间: 2020-9-18 09:38
谢谢楼主开源,学习一下,这个工具放在现在也很好用。

作者: 铅笔刀    时间: 2020-9-18 10:12
不错啊 看看再说

作者: 韦贝贝    时间: 2020-9-18 10:25
        支持开源~!感谢分享
作者: hello123321    时间: 2020-9-18 10:25
这种带aes加密的要怎么解密

#EXT-X-KEY:METHOD=AES-128,URI="/20200402/O6f19L45/1063kb/hls/key.key"
作者: huxian    时间: 2020-9-18 10:51
感觉没有什么用的啊
作者: okeyzero    时间: 2020-9-18 11:07
RE: 分享个以前写的 m3u8 视频下载工具



作者: 疯狂的追寻者    时间: 2020-9-18 12:30
看到M3U8就有种莫名的亲切感  哈哈哈哈

作者: 一粒红尘    时间: 2020-9-18 13:18
可以                  

作者: 洪兴鸡哥    时间: 2020-9-18 19:20
不错支持一下
作者: ♂隐    时间: 2020-9-18 19:43
大牛666!没技术,只能给你喊666!

作者: ♂隐    时间: 2020-9-18 19:46
解压密码错误呢!?哥啊!
作者: ♂隐    时间: 2020-9-18 19:48
好几个密码错误呢!?
作者: 2533    时间: 2020-9-18 20:15
看看               

作者: dulang    时间: 2020-9-18 22:11
♂隐 发表于 2020-9-18 19:46
解压密码错误呢!?哥啊!

不要复制空格
作者: dulang    时间: 2020-9-18 22:11
♂隐 发表于 2020-9-18 19:48
好几个密码错误呢!?

不要复制空格
作者: 娛樂    时间: 2020-9-18 22:46
学习了  谢谢 大佬分享
作者: ErrorCodes    时间: 2020-9-19 08:43
看看是什么好东西

作者: 土豆拌螃蟹    时间: 2020-9-19 09:28
m3u8 视频下载工具

作者: impkq    时间: 2020-9-19 10:21
看看是什么好东西


作者: 1991,    时间: 2020-9-19 11:11
看看还能用吗

作者: kuaibeyond2012    时间: 2020-9-19 12:16
谢谢楼主分享
作者: 玄易    时间: 2020-9-19 12:38
学习,学习一下

作者: 最帅    时间: 2020-9-19 14:00
顶楼主啦..希望楼主多发精品好帖啦.....
作者: fhj123    时间: 2020-9-19 15:53
学习一下学习一下

作者: phon    时间: 2020-9-19 17:46
看看是什么好东西
作者: 塔利班的蛋糕    时间: 2020-9-19 19:24
还有这操作??

作者: police0909    时间: 2020-9-19 22:21
回复拿金币

作者: 1720138548    时间: 2020-9-19 23:08
看看!!!

作者: 来此一游    时间: 2020-9-20 10:14
本帖最后由 来此一游 于 2020-9-20 10:21 编辑

不要整太多英文

作者: F17各种绝    时间: 2020-9-20 12:22
感谢分享!!

作者: 99无敌    时间: 2020-9-20 15:10
直接百d云转存它也香啊,,,
作者: wmv520    时间: 2020-9-20 18:47
666666666666
作者: AK48    时间: 2020-9-20 21:02
支持开源~!感谢分享
作者: aidijy    时间: 2020-9-20 22:20
其实吧,直接用 ffmpeg 合成下载就行了啊,整这多东西干啥

命令行

ffmpeg  -y -i file.m3u8 -c copy file.mp4

搞定!
其它皆是浮云~~~~

易语言调用

str= ffmpeg  -y -i file.m3u8 -c copy file.mp4

运行(str,真,1)
收工!
作者: 周sir    时间: 2020-9-20 23:25
aidijy 发表于 2020-9-20 22:20
其实吧,直接用 ffmpeg 合成下载就行了啊,整这多东西干啥

命令行

他这个我没试,感觉有点麻烦
不过,哥们,我不知道你操作过没有,直接用ffmpeg下载,那速度慢的能吓死人

20分钟的斗罗高清视频,下载了27分钟,一共500多M
3个小时的电影,下载了55分钟,一共1.2G
这是我实际测试的结果

我下载TS文件,然后调用ffmpeg合并
20分钟的斗罗高清视频,一共500多M,耗时5分钟
3个小时的电影,一共1.2G,耗时8分钟
下载TS文件还没有使用多线程,使用多线程的话,我估计时间缩小一半应该是没问题的

作者: lila    时间: 2020-9-21 06:48
支持开源~!感谢分享
作者: 251855753    时间: 2020-9-21 09:29
支持开源~!感谢分享
作者: dulang    时间: 2020-9-21 12:57
aidijy 发表于 2020-9-20 22:20
其实吧,直接用 ffmpeg 合成下载就行了啊,整这多东西干啥

命令行

你以为我没试过?ffmpeg单线程下载(一个接一下的下载,其中一个卡了,后面的都得等),这也是我为什么使用aria2c.exe下载了。aria2c.exe多线程下载,速度直接秒杀ffmpeg。ffmpeg用作合并、解密可以,下载速度实在无法忍受……

而且我这个是一键下载合并的,多线程下载完.ts文件(我设置的是可以同时下载10个.ts文件,每个文件最多可以10个线程下载,简单粗爆点说理论上是ffmpeg.exe下载速度的100倍,实际可能没这么厉害,那也是几十倍速度)后,自动合并(有加密的自动解密)直接出 .mp4文件,并删除缓存文件
作者: dulang    时间: 2020-9-21 13:00
来此一游 发表于 2020-9-20 10:14
不要整太多英文

就那么几个变量是英文命名的,其它都是汉字,也是没办法的呀,.net程序员
作者: dulang    时间: 2020-9-21 13:06
一周网络科技 发表于 2020-9-20 23:25
他这个我没试,感觉有点麻烦
不过,哥们,我不知道你操作过没有,直接用ffmpeg下载,那速度慢的能吓死人 ...

我的原理也很简单啊,就是aria2c.exe多线程下载全部.ts文件,然后用ffmpeg.exe合并。只是我把这一系列操作都写成了一个批处理,一键生成.bat并执行(1、获取.m3u8文件分析内容->2、批量下载.ts文件->3、ffmpeg.exe合并成.mp4文件->4、删除缓存文件)
作者: 1147828541    时间: 2020-9-21 13:50
分享个以前写的 m3u8 视频

作者: jwt8899    时间: 2020-9-21 13:57
密码                             z
作者: shisanage    时间: 2020-9-21 14:54
支持开源~!感谢分享
作者: muyiyang    时间: 2020-9-21 15:14
谢谢分享!~

作者: 1234811    时间: 2020-9-21 15:25
支持一下下   

作者: mythleng    时间: 2020-9-21 16:13
谢谢分享谢谢分享
作者: 意思    时间: 2020-9-21 17:27
谢谢大佬分享
作者: clocks    时间: 2020-9-22 00:23
谢谢楼主分享了!
作者: 智明    时间: 2020-9-22 11:28
谢谢楼主分享了!
作者: 小马爱吃鱼    时间: 2020-9-22 13:20
dulang 发表于 2020-9-17 09:33
没试啊,你自己动手改下试试,回头交流一下,最近没时间弄

这种方式是下载不了直播的,理轮上行不通,FFMPEG可以下载直播。aria2c下视频确实比FFMPEG稳定,支持
作者: tangai17    时间: 2020-9-22 16:26
支持开源~!感谢分享
作者: 倾慕风月    时间: 2020-9-22 19:41
牛逼,鼓励一下
作者: 枫眼    时间: 2020-9-23 11:31
十分感谢分享

[易语言纯源码]
[分享源码]
分享个以前写的 m3u8 视频下载工具

作者: hy945    时间: 2020-9-23 11:33
看看长啥样

作者: x520520    时间: 2020-9-23 13:46
下来看看。。。

作者: police0909    时间: 2020-9-23 15:47
大佬6666啊
作者: ♂隐    时间: 2020-9-24 10:38
我并没有复制空格,我甚至直接手打的两个密码,都不行呢!?尴尬。
作者: srchentao    时间: 2020-9-25 00:21
很好 就是网页访问模块有问题 换成精易的就可以了 速度秒杀用ffmpeg下载
作者: 噢噢    时间: 2020-10-5 14:21
支持开源~!感谢分享




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4