ffmpegwasm / ffmpegwasm/ffmpeg.wasm

How to get HLS stream format output files from ffmpeg?

Open
#218 6 comments 0 reactions 0 assignees View on GitHub
Dominant language
C
Stars
17.8k
Forks
1.1k
PR merge metrics
No merged PRs in 30d

Description

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);

```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.