ffmpegwasm / ffmpegwasm/ffmpeg.wasm

HLS: Hook on closing a chunk/file

未关闭
#268 1 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
主要语言
C
星标
17.8k
派生
1.1k
PR 合并指标
30 天内没有已合并 PR

描述

Hello. I'm using ffmpeg.wasm to create a HLS playlist from a given input.
I want to upload the individual chunks/files (`stream0.ts`, `stream1.ts`, `...`) asynchronously - to be more precise - as soon as ffmpeg has finished writing them.

I'm unsure on how to achieve this. ffmpeg doesn't seem to log when it's closing a file, only when opening:

> [fferr] [hls @ 0x1a7b5c0] Opening '/output/stream1.ts' for writing

This of course isn't the information I need because I may only start uploading a file once it's done being written to. I could infer that if I encounter the log message

> [fferr] [hls @ 0x1a7b5c0] Opening '/output/stream1.ts' for writing

that `stream0.ts` (`n-1`) is ready for upload, but this is quite hacky in my opinion plus there are edge cases like the playlist files and so on.

I also thought about continiously reading the FS with

```js
ffmpeg.FS('readdir' as FSMethodNames, '/output')
```

But I have the same problem. files appear as soon as ffmpeg opens them for writing.

Looking through the Emscripten FS API [this](https://emscripten.org/docs/api_reference/Filesystem-API.html#FS.trackingDelegate[callback%20name]) seems to be exactly what I need:

```js
FS.trackingDelegate['onCloseFile'] = function(path) {
out('Closed ' + path);
};
```

However, I don't really understand an how to use that inside my React application. This is my first time working with ffmpeg and WASM in general. I'd appreciate any help.

Thanks.

贡献指南

打开贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。