Skip to content

Unable to find a suitable output format for 'image-%03d.png' #150

@w3evolutions

Description

@w3evolutions

What I want

  1. Send a 1s webm file to node (works)
  2. 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)
  3. Turn the webm into N frames (possibly 30 max) in any format: bmp, jpg, png (preferable the fastest)
  4. 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

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions