Понимание / контроль слайд-шоу расплава MLT?

Существует более стабильная функция, также избавляется от сгибания строк.

// Add to C++ source
bool string_equal (const char* arg0, const char* arg1)
{
    /*
     * This function wraps string comparison with string pointers
     * (and also works around 'string folding', as I said).
     * Converts pointers to std::string
     * for make use of string equality operator (==).
     * Parameters use 'const' for prevent possible object corruption.
     */
    std::string var0 = (std::string) arg0;
    std::string var1 = (std::string) arg1;
    if (var0 == var1)
    {
        return true;
    }
    else
    {
        return false;
    }
}

И добавить объявление в заголовок

// Parameters use 'const' for prevent possible object corruption.
bool string_equal (const char* arg0, const char* arg1);

. Для использования просто поместите 'string_equal' вызывать как условие if (или тройного) оператора / блока.

if (string_equal (var1, "dev"))
{
    // It is equal, do what needed here.
}
else
{
    // It is not equal, do what needed here (optional).
}

Источник: кодек sinatramultimedia / fl32 (он написан сам)

0
задан sdaau 18 January 2019 в 14:34
поделиться

1 ответ

Итак, я потратил некоторое время на изучение команд для melt и выяснил, что на самом деле существует довольно эффективный способ изменения набора изображений (если число аргументов слишком длинное или слишком много символов для вашего терминала для обработки).

Вам нужно использовать -serialise <name of file>.melt, в котором будут храниться ваши команды (, вы также можете создать этот файл вручную ). Затем, чтобы выполнить этот файл, используйте melt <name of file>.melt вместе с любыми другими опциями, которые у вас есть для вашего видеофайла.

Пример формата:

melt <images and what to do to them> -serialise <name of file>.melt


Пример


Создать файл расплава (с помощью Melt CLI) [ 1115]

melt image1.png out=50 image2.png out=75 -mix 25 -mixer luma image3.png out=75 -mix 25 -mixer luma image3.png out=75 -mix 25 -mixer luma image4.png out=75 -mix 25 -mixer luma <...> -serialise test.melt


. Формат файла .melt

test.melt

image1.png out=50 image2.png out=75 -mix 25 -mixer luma image3.png out=75 -mix 25 -mixer luma image3.png out=75 -mix 25 -mixer luma image4.png out=75 -mix 25 -mixer luma <...>


Выполнить [ 1117]

melt test.melt -profile atsc_1080p_60 -consumer avformat:output.mp4 vcodec=libx264 an=1


Дополнительные примечания

В конце файла расплава должен быть дополнительный символ возврата. В противном случае будет выведено Exceeded maximum line length (2048) while reading a melt file.

Обратите внимание, что -serialise <name of file>.melt не будет в файле .melt

Фактически расплаву потребуется некоторое время для загрузки расплавленного файла, прежде чем начнется процесс кодирования

0
ответ дан PotatoParser 18 January 2019 в 14:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: