前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >浏览器javascript 下载m3u8视频合成mp4

浏览器javascript 下载m3u8视频合成mp4

作者头像
全栈程序员站长
发布2022-08-18 20:13:35
1.6K0
发布2022-08-18 20:13:35
举报

大家好,又见面了,我是你们的朋友全栈君。

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毫秒。如果机器慢文件大这个值调大。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/135463.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年5月3,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • m3u8download.js
    • 功能
      • 特征
        • 使用方法
          • chrome浏览器配置
            • 合成mp4的方法:
              • 错误处理
                • 编译方法:
                  • 参数调整
                  领券
                  问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档