-
-
Notifications
You must be signed in to change notification settings - Fork 339
Open
Description
What I want
- Send a 1s webm file to node (works)
- Take the ArrayBuffer pass it to ffmpgegjs (works-ish, if I add -f webm to the output I do get 1 element in
process.MEMFS
) - Turn the webm into N frames (possibly 30 max) in any format: bmp, jpg, png (preferable the fastest)
- Get an array of Uint8Array of the frames created. (out of ```process`` object somehow?)
I'm making an assumption here, I assume that all N frames that are created should be in process.MEMFS
or somewhere in the process
object each as a Uint8Array ?
Nice to have
- It would be ideal to get each frame as they are generated and not have to wait for all frames to be completed.
Issue
let process = new ffmpegjs({
MEMFS: [{name: "test.webm", data: webmData}],
arguments: ['-i' , 'test.webm', 'image-%03d.png']
});
Results in: Unable to find a suitable output format for 'image-%03d.png'
image-%03d.png: Invalid argument
Output
ffmpeg version n4.2.2 Copyright (c) 2000-2019 the FFmpeg developers
built with emcc (Emscripten gcc/clang-like replacement) 1.39.11
configuration: --cc=emcc --ranlib=emranlib --enable-cross-compile --target-os=none --arch=x86 --disable-runtime-cpudetect --disable-asm --disable-fast-unaligned --disable-pthreads --disable-w32threads --disable-os2threads --disable-debug --disable-stripping --disable-safe-bitstream-reader --disable-all --enable-ffmpeg --enable-avcodec --enable-avformat --enable-avfilter --enable-swresample --enable-swscale --disable-network --disable-d3d11va --disable-dxva2 --disable-vaapi --disable-vdpau --enable-decoder=vp8 --enable-decoder=h264 --enable-decoder=vorbis --enable-decoder=opus --enable-decoder=mp3 --enable-decoder=aac --enable-decoder=pcm_s16le --enable-decoder=mjpeg --enable-decoder=png --enable-demuxer=matroska --enable-demuxer=ogg --enable-demuxer=mov --enable-demuxer=mp3 --enable-demuxer=wav --enable-demuxer=image2 --enable-demuxer=concat --enable-protocol=file --enable-filter=aresample --enable-filter=scale --enable-filter=crop --enable-filter=overlay --enable-filter=hstack --enable-filter=vstack --disable-bzlib --disable-iconv --disable-libxcb --disable-lzma --disable-sdl2 --disable-securetransport --disable-xlib --enable-zlib --enable-encoder=libvpx_vp8 --enable-encoder=libopus --enable-muxer=webm --enable-muxer=ogg --enable-muxer=null --enable-libopus --enable-libvpx --extra-cflags='-s USE_ZLIB=1 -I../libvpx/dist/include' --extra-ldflags=-L../libvpx/dist/lib
libavutil 56. 31.100 / 56. 31.100
libavcodec 58. 54.100 / 58. 54.100
libavformat 58. 29.100 / 58. 29.100
libavfilter 7. 57.100 / 7. 57.100
libswscale 5. 5.100 / 5. 5.100
libswresample 3. 5.100 / 3. 5.100
[vp8 @ 0x6aa480] Warning: not compiled with thread support, using thread emulation
[opus @ 0x6ab030] Warning: not compiled with thread support, using thread emulation
Input #0, matroska,webm, from 'test.webm':
Metadata:
encoder : Chrome
Duration: N/A, start: 0.000000, bitrate: N/A
Stream #0:0(eng): Video: vp8, yuv420p, 640x480, SAR 1:1 DAR 4:3, 31 fps, 31 tbr, 1k tbn, 1k tbc (default)
Metadata:
alpha_mode : 1
Stream #0:1(eng): Audio: opus, 48000 Hz, mono, fltp (default)
[NULL @ 0x6fb6a0] Unable to find a suitable output format for 'image-%03d.png'
image-%03d.png: Invalid argument
Metadata
Metadata
Assignees
Labels
No labels