ffmpegwasm / ffmpegwasm/ffmpeg.wasm

How to get HLS stream format output files from ffmpeg?

未關閉
#218 6 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視
主要語言
C
星號
17.8k
分支
1.1k
PR 合併指標
30 天內沒有已合併 PR

描述

I want to convert a input file into HLS stream format and then for each part of the file upload it to IPFS. The problem is I can't just call ` ffmpeg.FS('readFile', 'part_001.ts') `because I don't know how many `part_xxx.ts` files there will be. So how to do in this case?

```

//navigator.serviceWorker.register('/ffmpeg.min.js');
//navigator.serviceWorker.register('/ffmpeg-core.js');

const { createFFmpeg, fetchFile } = FFmpeg;
const ffmpeg = createFFmpeg({
corePath: 'https://unpkg.com/@ffmpeg/core@0.10.0/dist/ffmpeg-core.js',
log: true,
});

ffmpeg.setLogger(({ type, message }) => {
console.log(type, message);
});

const transcode = async ({ target: { files } }) => {
console.log('Running ffmpeg')
const { name } = files[0];
await ffmpeg.load();
ffmpeg.FS('writeFile', name, await fetchFile(files[0]));
await ffmpeg.run('-i', name, '-hls_time', '10', '-hls_playlist_type', 'vod', '-hls_segment_filename', 'part_%03d.ts', 'master.m3u8');
// ffmpeg -i name -hls_time 10 -hls_playlist_type vod -hls_segment_filename part_%03d.ts master.m3u8

}
document.getElementById('uploader').addEventListener('change', transcode);

```

貢獻指南

開啟貢獻指南

評估

這個 Issue 還沒有評估資料。

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。