ffmpegwasm / ffmpegwasm/ffmpeg.wasm

Cant get output files when running on web worker

Đang mở
#379 4 bình luận 0 reaction 0 người được giao Xem trên GitHub
Ngôn ngữ chính
C
Star
17.8k
Fork
1.1k
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Mô tả

**Describe the bug**
I'm using a web worker to extract video frames into images. when i'm trying to load the output files no files are found.
it's working great when using in default browser context, maybe the FS methods works differently when running on web worker?

sample code:
```
export const exportFrames = async (video, fps) => {
let name = "to_extract_" + Date.now()
let frames = []
if(!ffmpeg.isLoaded()){
await init()
}
console.log("ffmpeg loaded")
let file = await fetchFile(video);
let filename = name;
ffmpeg.FS('writeFile', filename, file);
console.log("file downloaded")
await ffmpeg.run('-i', filename, '-vf', `fps='${fps}'`,'-vsync', '0', '%d.png');
console.log("frames extracted")
const exportedFrames = ffmpeg.FS('readdir', '/tmp').filter((f) => f.endsWith('.png'));
console.log("frames exported", exportedFrames)
for(let i=1;i<=exportedFrames.length;i++) {

let data = ffmpeg.FS('readFile', exportedFrames[i-1]);

let f = new Blob([data.buffer], { type: 'image/png' })
frames.push({blob: f, name: exportedFrames[i-1]})
};
return frames;
}
```

and the log output:
```
ffmpeg loaded
createFFmpeg.js:41 [info] run FS.writeFile /tmp/to_extract_1660572244186 <24038689 bytes binary file>
ffmpeg.js:23 file downloaded
createFFmpeg.js:41 [info] run ffmpeg command: -i /tmp/to_extract_1660572244186 -vf fps='5' -vsync 0 %d.png
createFFmpeg.js:41 [fferr] ffmpeg version 9e96b1c Copyright (c) 2000-2020 the FFmpeg developers
createFFmpeg.js:41 [fferr] built with emcc (Emscripten gcc/clang-like replacement) 2.0.8 (d059fd603d0b45b584f634dc2365bc9e9a6ec1dd)
createFFmpeg.js:41 [fferr] configuration: --target-os=none --arch=x86_32 --enable-cross-compile --disable-x86asm --disable-inline-asm --disable-stripping --disable-programs --disable-doc --disable-debug --disable-runtime-cpudetect --disable-autodetect --extra-cflags='-O3 --closure 1 -I/src/build/include -s USE_PTHREADS=1' --extra-cxxflags='-O3 --closure 1 -I/src/build/include -s USE_PTHREADS=1' --extra-ldflags='-O3 --closure 1 -I/src/build/include -s USE_PTHREADS=1 -L/src/build/lib' --pkg-config-flags=--static --nm=llvm-nm --ar=emar --ranlib=emranlib --cc=emcc --cxx=em++ --objcc=emcc --dep-cc=emcc --enable-gpl --enable-nonfree --enable-zlib --enable-libx264 --enable-libx265 --enable-libvpx --enable-libwavpack --enable-libmp3lame --enable-libfdk-aac --enable-libtheora --enable-libvorbis --enable-libfreetype --enable-libopus --enable-libwebp --enable-libass --enable-libfribidi
createFFmpeg.js:41 [fferr] libavutil 56. 51.100 / 56. 51.100
createFFmpeg.js:41 [fferr] libavcodec 58. 91.100 / 58. 91.100
createFFmpeg.js:41 [fferr] libavformat 58. 45.100 / 58. 45.100
createFFmpeg.js:41 [fferr] libavdevice 58. 10.100 / 58. 10.100
createFFmpeg.js:41 [fferr] libavfilter 7. 85.100 / 7. 85.100
createFFmpeg.js:41 [fferr] libswscale 5. 7.100 / 5. 7.100
createFFmpeg.js:41 [fferr] libswresample 3. 7.100 / 3. 7.100
createFFmpeg.js:41 [fferr] libpostproc 55. 7.100 / 55. 7.100
createFFmpeg.js:41 [fferr] Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'to_extract_1660572244186':
createFFmpeg.js:41 [fferr] Metadata:
createFFmpeg.js:41 [fferr] major_brand : mp42
createFFmpeg.js:41 [info] ffmpeg-core loaded
createFFmpeg.js:41 [fferr] minor_version : 1
createFFmpeg.js:41 [fferr] compatible_brands: isommp41mp42
createFFmpeg.js:41 [fferr] creation_time : 2022-08-01T10:19:25.000000Z
createFFmpeg.js:41 [fferr] Duration: 00:00:21.52, start: 0.000000, bitrate: 8935 kb/s
createFFmpeg.js:41 [fferr] Stream #0:0(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 125 kb/s (default)
createFFmpeg.js:41 [fferr] Metadata:
createFFmpeg.js:41 [fferr] creation_time : 2022-08-01T10:19:25.000000Z
createFFmpeg.js:41 [fferr] handler_name : Core Media Audio
createFFmpeg.js:41 [fferr] Stream #0:1(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709, progressive), 1280x720, 8759 kb/s, SAR 1:1 DAR 16:9, 23.98 fps, 23.98 tbr, 24k tbn, 48k tbc (default)
createFFmpeg.js:41 [fferr] Metadata:
createFFmpeg.js:41 [fferr] creation_time : 2022-08-01T10:19:25.000000Z
createFFmpeg.js:41 [fferr] handler_name : Core Media Video
createFFmpeg.js:41 [fferr] Stream mapping:
createFFmpeg.js:41 [fferr] Stream #0:1 -> #0:0 (h264 (native) -> png (native))
createFFmpeg.js:41 [fferr] [swscaler @ 0x560e200] No accelerated colorspace conversion found from yuv420p to rgb24.
createFFmpeg.js:41 [fferr] Output #0, image2, to '%d.png':
createFFmpeg.js:41 [fferr] Metadata:
createFFmpeg.js:41 [fferr] major_brand : mp42
createFFmpeg.js:41 [fferr] minor_version : 1
createFFmpeg.js:41 [fferr] compatible_brands: isommp41mp42
createFFmpeg.js:41 [fferr] encoder : Lavf58.45.100
createFFmpeg.js:41 [fferr] Stream #0:0(und): Video: png, rgb24, 1280x720 [SAR 1:1 DAR 16:9], q=2-31, 200 kb/s, 5 fps, 5 tbn, 5 tbc (default)
createFFmpeg.js:41 [fferr] Metadata:
createFFmpeg.js:41 [fferr] creation_time : 2022-08-01T10:19:25.000000Z
createFFmpeg.js:41 [fferr] handler_name : Core Media Video
createFFmpeg.js:41 [fferr] encoder : Lavc58.91.100 png
createFFmpeg.js:41 [fferr] frame= 13 fps=0.0 q=-0.0 size=N/A time=00:00:01.00 bitrate=N/A speed=1.93x
createFFmpeg.js:41 [fferr] frame= 28 fps= 27 q=-0.0 size=N/A time=00:00:04.00 bitrate=N/A speed=3.89x
createFFmpeg.js:41 [fferr] frame= 43 fps= 28 q=-0.0 size=N/A time=00:00:07.00 bitrate=N/A speed=4.57x
createFFmpeg.js:41 [fferr] frame= 56 fps= 27 q=-0.0 size=N/A time=00:00:09.60 bitrate=N/A speed= 4.6x
createFFmpeg.js:41 [fferr] frame= 70 fps= 27 q=-0.0 size=N/A time=00:00:12.40 bitrate=N/A speed=4.79x
createFFmpeg.js:41 [fferr] frame= 85 fps= 27 q=-0.0 size=N/A time=00:00:15.40 bitrate=N/A speed=4.92x
createFFmpeg.js:41 [fferr] frame= 101 fps= 27 q=-0.0 size=N/A time=00:00:18.60 bitrate=N/A speed=4.99x
createFFmpeg.js:41 [fferr] frame= 108 fps= 27 q=-0.0 Lsize=N/A time=00:00:21.60 bitrate=N/A speed= 5.3x
createFFmpeg.js:41 [fferr] video:94140kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
createFFmpeg.js:41 [ffout] FFMPEG_END
ffmpeg.js:25 frames extracted
createFFmpeg.js:41 [info] run FS.readdir /
ffmpeg.js:27 frames exported (0) []
```

- OS: mac os m1
- Browser: chrome
- Version latest

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.