m3u8download.js

download m3u8 URL to mp4 下载m3u8视频合成一个完整的mp4
源码:https://github.com/ccjy88/m3u8download.js

功能

m3u8downloader是在chrome浏览器中运行的html和js,用于下载m3u8视频。
当视频链接比如是https://test-streams.mux.dev/x36xhzz/x36xhzz.m3u8
m3u8download可以自动分析m3u8文件,下载多个ts文件,视频是AES-128加密的,
m3u8downloader进行解密后存为ts文件。并生成ffmepg用于concat的文件,可以
用ffmpeg命令合成一个完整的mp4文件。

特征

  • 输入m3u8 URL,下载分析m3u8。
  • 下载m3u8中的嵌套的playlist,下载相关的m3u8 URL.
  • 下载m3u8中的ts视频文件。
  • 支持ts视频AES-128解密
  • 生成ffmpeg命令需要的f.txt文件清单文件。
  • 方便用ffmpeg命令将所有ts文件按f.txt的次序合成一个mp4文件。
  • 提供python文件检查下载失败的ts,可在文件名callback中定义,只下载指定的缺失文件。

使用方法

将m3u8index.html和dist目录copy到nginx的html目录。
比如nginx安装在本地d:\nginx-1.80.0
运行deploy.cmd
copy m3u8*.html D:\nginx-1.18.0\html
xcopy /E /Y dist D:\nginx-1.18.0\html\dist

启动nginx,用chrome访问http://127.0.0.1/m3u8index.html, 在URL地址输入相关的m3u8地址。
比如搜到电影《极限逃生》,在Chrome浏览器中按F12,看Network中m3u8URL是
https://dbx5.tyswmp.com/20190910/oKHsD3EG/900kb/hls/index.m3u8,
把这个地址复制到m3u8index.html页面中,点击"下载"钮就可以。

chrome浏览器配置

下载目录设置:chrome://settings/downloads 比如为d:\downloads
自动下载设置: chrome://settings/content/automaticDownloads 必须允许http://127.0.0.1自动下载。

合成mp4的方法:

安装ffmepeg for windows
运行cmd。
cd d:\downloads
ffmpeg -f concat -i f.txt -c copy -y full.mp4
这样就把所有的ts文件生成一个完整的full.mp4。

错误处理

如果下载过程中f.txt文件中有而实际下载失败,可以运行python checktsfile.py
将缺失文件定义到m3u8index.html中的 check_list_cb函数中filelist,再下载一次缺失文件就可以。

编译方法:

cnpm install
cnpm run build

参数调整

m3u8index.html中options.maxthreadcount并行几个xhr同时下载ts文件。默认为5。
writetimeout为写入文件的定时器间隔,默认200毫秒。如果机器慢文件大这个值调大。

浏览器javascript 下载m3u8视频合成mp4相关推荐

  1. android 转码工具下载,m3u8视频转码工具

    m3u8视频转码工具是一款非常好用的个m3u8视频工具可以帮助我们对视频进行很好的处理.M3u8视频合并软件支持各种短视频.Mp4文件,通过M3u8合并工具可以快速将这些视频合并在一起.软件操作简单, ...

  2. m3u8链接地址_FFmpeg下载m3u8视频

    绪言 近日在上网课,便想尝试把网课回放扒下来备用,结果是不好下载的m3u8格式.网上看了很多关于m3u8下载的文章,大多比较麻烦,我今日试验出一种较为方便的方式,运用FFmpeg直接转码m3u8视频为 ...

  3. java下载m3u8视频,解密并合并ts(二)

    上一篇 java下载m3u8视频,解密并合并ts(一)--m3u8概述 下一篇java下载m3u8视频,解密并合并ts(三)--代码实现 m3u8链接的获取 样例一:两个m3u8无key 首先在浏览器 ...

  4. nodejs使用fluent-ffmpeg下载m3u8视频

    nodejs使用 fluent-ffmpeg下载m3u8视频 在使用fluent-ffmpeg之前,要确保电脑上已经安装了ffmpeg 安装包 fluent-ffmpeg npm install fl ...

  5. java下载m3u8视频,解密并合并ts(三)

    上一篇 java下载m3u8视频,解密并合并ts(二)--获取m3u8链接 编写代码 加载jar包 由于java不支持AES/CBC/PKCS7Padding模式解密,所以我们要借助第一篇下载好的ja ...

  6. PHP下载m3u8视频及解析下载ts资源文件

    上一篇写了PHP生成合并ts脚本,后来又想直接下载m3u8里面的ts,又码了一段. <?php /** PHP下载m3u8视频和及解析下载ts资源文件** @file m3u8download. ...

  7. 使用 ffmpeg 下载 m3u8 视频,linux 后台运行 ffmpeg

    使用 ffmpeg 下载 m3u8 视频,linux 后台运行 ffmpeg 下载 m3u8 现在的视频大多数都是 m3u8 格式,网上的介绍也不少,那我直接记录一下下载的方法 方法 1 M3U8-D ...

  8. Java合并m3u8_m3u8Download java 下载 m3u8 视频,解密并合并 ts java download m3u8 vide @codeKK Android开源站...

    java 下载 m3u8 视频,解密并合并 ts m3u8 链接获取方式以及代码分析请参见: https://blog.csdn.net/qq494257084/article/details/103 ...

  9. 下载m3u8视频及在Linux下将ts合并为mp4格式

    背景 在爬取视频时偶尔会遇见m3u8格式的视频链接,视频下载后为多个ts文件,下面分享如何下载m3u8格式视频以及在Linux下将ts文件合成mp4 文件. m3u8格式链接解析 url = xxxx ...

  10. Fiddler 抓包下载 M3U8 视频

    导航 工具准备 安装 Fiddler 下载视频 最近看了几个钉钉群直播,但只看一次的话很多知识来不及消化啊,所以想要下载直播回放视频到本地看. 可是钉钉群的管理员设置了不能下载直接回放视频,这就比较讨 ...

最新文章

  1. mysql隐藏用户名_系统默认的MySQL用户名消失的解决方法(修正版)
  2. 林华达视角-概率图模型与计算机视觉
  3. 定义一个 圆形 Circle类 , 定义其中的长度length属性,定义一个求面积getArea()的方法。 并编写一个测试类,进行长度的赋值和展示,并调用求面积方法展示面积值。
  4. 练习7.28、7.29、7.30
  5. 搜狐视频怎么开启青少年模式
  6. Magento教程 7:客制化网站
  7. 包子和饺子之扫地机器人_扫地机器人:行业发展放缓,市场暗藏潜力
  8. 教你轻松搞定javascript中的正则
  9. poj 1039 Pipe (判断 直线和 线段 是否相交 并 求交点)
  10. 电气工程学计算机,麻省理工学院电气工程与计算机科学专业解读
  11. win7和win8双系统的问题
  12. 贝塔斯曼龙宇:李斌能征善战 提前七年兑现了自己的承诺
  13. plsql 破解|oracle plsql 破解
  14. 目前见过最好的豆瓣电台第三方程序
  15. C++ 很难找工作了???
  16. 鸿蒙harmonyOS 方舟框架ARK使用ets的页面间转场动画的使用
  17. 局部动态地图(LDM)的介绍
  18. linux下为eclipse添加YaHei和Consolas混合字体
  19. MySQL中复制表的方式你知道几种
  20. 程序员提前下班的福音来了!GitHub、OpenAI 联手推出 AI 代码生成神器

热门文章

  1. 预付费售电管理系统基础知识
  2. 基于Java毕业设计医院药品管理系统源码+系统+mysql+lw文档+部署软件
  3. 基于Springboot的医院药品管理系统的设计与实现.zip(论文+项目源码)
  4. 射频通信接收机设计的主要结构
  5. 2021最新银行卡bin码
  6. VB程序设计练习题(一)
  7. html设置css字体样式表,HTML 学习笔记 CSS样式(字体)
  8. C语言如何调用REFPROP软件,coolprop调用refprop计算流体的热力学性质和传输特性
  9. 热释电红外传感器电路
  10. Web组态—低代码物联网组态平台