ffmpegwasm / ffmpegwasm/ffmpeg.wasm

HLS: Hook on closing a chunk/file

オープン
#268 コメント 1 件 リアクション 0 件 担当者 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 を短くまとめたダイジェスト。