Как наложить видео webm с прозрачным поверх другого видео или изображения, используя nodejs fluent-ffmpeg с массивом complexfilter - PullRequest
0 голосов
/ 20 июня 2019

«Я пытаюсь наложить вебм с прозрачным поверх другого видео или изображения, мой результат получился, что вебм поверх, как я хочу, но фон черный».

I 'мы уже пробовали

, что я должен использовать -vcodec libvpx, но это то, что находится в командной строке.

отсюда Наложение webm с прозрачностью на изображение с FFMpeg

или там https://video.stackexchange.com/questions/14959/merge-two-transparent-webm-videos-with-ffmpeg

Но я не знаю, как использовать его в своем коде.

ffmpeg('video.webm')
    .input('public/video/trans.webm')
    .complexFilter([
        "[0:v]scale=1080:1080[video]",
        "[1:v]scale=1080:1080[trans]",
        "[video][trans]overlay=0:0:enable='between(t,0,3)'[tmp]",
    ], 'tmp')
    .output('edited.mp4')
    .videoCodec('libvpx')
    .on('progress', function (progress) {
        console.log('Processing ' + progress.percent)
    })
    .on('error', function (err) {
        console.log('An error occurred: ' + err.message);
    })
    .on('end', function () {
        let endtime = new Date();
        console.log('Finished !');
        console.log("Start : " + starttime + " " + starttime.getSeconds() + " " +         starttime.getMilliseconds());
        console.log("End : " + endtime + " " + endtime.getSeconds() + " " + endtime.getMilliseconds());
        console.log("Used : " + Math.abs(starttime - endtime) + " miliseconds");
    })
    .run();

фактический результат

Я пыталсяиспользуйте .videoCodec('libvpx'), затем запустите, но ниже возвращается ошибка.

An error occurred: ffmpeg exited with code 1: Error initializing complex filters. Invalid argument

ожидаемый результат

видеофайл - video.webm в качестве фонового видео - trans.webmontop video.webm

при условии, что в video.webm есть кот, а trans.web - это дом, в котором открыта дверь, что означает, что вы должны видеть кота, когда дверь открыта.

...