Kagami / ffmpeg.js

Port of FFmpeg with Emscripten
Other
3.24k stars 329 forks source link

Video to images not working #170

Closed ccambournac closed 2 years ago

ccambournac commented 2 years ago

Hello!

I am facing the same issue as in https://github.com/Kagami/ffmpeg.js/issues/29 trying to convert a video to images.
However, it does not seem to work, even using version 4.2.9003 with the webm worker version.

Using a simple webm sample and the following onmessage handler:

worker.onmessage = function (e) {
    const msg = e.data;
    switch (msg.type) {
        case 'ready':
            worker.postMessage({
                type: 'run',
                MEMFS: [{
                    name: 'dog.webm',
                    data: new Uint8Array(videoData)
                }],
                arguments: ['-i', 'dog.webm', '-vf', 'fps=25', 'dog_%03d.jpg']
            });
            break;
        case 'stdout':
            stdout += msg.data + '\n';
            break;
        case 'stderr':
            stderr += msg.data + '\n';
            break;
        case 'error':
            errdsp += msg.data + '\n';
            break;
        case 'done':
            console.log('DONE\n', msg.data.MEMFS);
            break;
        case 'exit':
            console.log('Process exited with code ' + msg.data);
            console.log('stdout: \n' + stdout);
            console.log('stderr: \n' + stderr);
            console.log('error: \n' + errdsp);
            break;
    }
};

I get the following browser log in Chrome:

Process exited with code 1
stdout: 

stderr: 
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
[vorbis @ 0x6ac8b0] Warning: not compiled with thread support, using thread emulation
Input #0, matroska,webm, from 'dog.webm':
  Metadata:
    COMPATIBLE_BRANDS: mp41mp42isom
    MAJOR_BRAND     : mp42
    MINOR_VERSION   : 1
    ENCODER         : Lavf58.29.100
  Duration: 00:00:13.45, start: 0.000000, bitrate: 115 kb/s
    Stream #0:0: Video: vp9, none(tv, smpte170m/smpte170m/bt709, progressive), 500x280, SAR 1:1 DAR 25:14, 29.97 fps, 29.97 tbr, 1k tbn, 1k tbc (default)
    Metadata:
      ENCODER         : Lavc58.54.100 libvpx-vp9
      DURATION        : 00:00:13.446000000
    Stream #0:1: Audio: vorbis, 22050 Hz, stereo, fltp (default)
    Metadata:
      ENCODER         : Lavc58.54.100 libvorbis
      DURATION        : 00:00:13.430000000
[NULL @ 0x6b0820] Unable to find a suitable output format for 'dog_%03d.jpg'
dog_%03d.jpg: Invalid argument

error: 

DONE []