@zackdk/m3u8tomp4

a convenient tool merge m3u8 to mp4

Usage no npm install needed!

<script type="module">
  import zackdkM3u8tomp4 from 'https://cdn.skypack.dev/@zackdk/m3u8tomp4';
</script>

README

Welcome to m3u8tomp4 👋

Version Documentation Maintenance

一个便利的工具,从 m3u8 转换到 mp4文件,并且可以在浏览器端使用!

感谢

基于优秀的FFMPEG ffmpeg.wasm,简单封装了下。

demo 演示

见 demo 文件夹下。

在线体验

安装

In Browser

<script src="https://unpkg.com/@zackdk/m3u8tomp4@1.0.2/dist/m3u8tomp4.browser.mini.js"></script>

npm

npm i @zackdk/m3u8tomp4

使用


//import m3u8tomp4 from 'm3u8tomp4'; ES Module
const m3u8tomp4 = require('m3u8tomp4');
const fs = require('fs');


//返回一个promise, data 是一个 Unit8Array。
const data = await m3u8tomp4.default(m3u8Url);

//node端可以
fs.promises.writeFile('./test.mp4', data);

//浏览器内可以
//const url = URL.createObjectURL(new Blob([res.buffer], { type: 'video/mp4' }));



//log信息
m3u8tomp4.setLogger((msg)=>console.log);

限制

具体请参照ffmpeg.wasm的FAQ.

  1. 只能在支持SharedArrayBuffer的浏览器种运行.(目前看来只有PC端的谷歌浏览器可以用)

  2. 由于WebAssembly的限制,最大支持2GB文件的输入.

支持一下

如果该库对你有帮助,可以点一下 ⭐️!