ffmpegwasm / ffmpegwasm/ffmpeg.wasm
How to get HLS stream format output files from ffmpeg?
- 主要語言
- 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 還沒有評估資料。