基于 ffmpeg.wasm 实现。
效果同 tss-merge-to-mkv 一样,但由于 WebAssambly 的限制,目前文件大小不能超过 2GB(未来可能会 4GB),速度方面和 PC 的也有差别(当然这可能并不影响你的使用,毕竟免安装省事)。
可以下载 ts测试 文件,解压后,尝试合并。
由于使用到 SharedArrayBuffer 的问题(详情),所以部署上需要额外添加一些 Http Header。
下面以比较简单的两种方式实现。
在构建好的文件目录,创建 server.js
,内容如下:
const express = require("express");
const app = express();
app.use((_, res, next) => {
res.setHeader("Cross-Origin-Opener-Policy", "same-origin");
res.setHeader("Cross-Origin-Embedder-Policy", "require-corp");
next();
});
app.use(express.static(__dirname));
app.listen(3000, () => {
console.log("listening on port 3000");
});
安装一下 express,执行 npm i express
。
然后执行 node server.js
就可以了。
把 index.html
重命名为 index.php
,在文件的最上方添加如下代码即可:
<?php
header('Cross-Origin-Embedder-Policy: require-corp');
header('Cross-Origin-Opener-Policy: same-origin');
?>