Я пытаюсь запустить следующий cmd, который должен добавить водяной знак к видео, а также увеличить его.
ffmpeg -i "in.avi" -i "\logo.png" -vf scale=854:-1 -preset
veryfast -crf 20 -filter_complex overlay=5:5 "ou.mkv"
Я получаю следующую ошибку.
Filtergraph 'scale=854:-1' was specified through the
-vf/-af/-filter option for output stream 0:0, which is fed from
a complex filtergraph. -vf/-af/-filter and -filter_complex
cannot be used together for the same stream.
До того, как я попытался увеличить масштаб (без -vf scale = 854: -1), cmd работал до водяного знака.
Как я могу достичь обоих?
Что я пробовал?
- Перемещение параметра -vf перед вводом, после ввода и т. Д.
in.avi
,logo.png
или выход изoverlay
фильтра? Вы должны использовать один фильтр для всей вашей фильтрации.Ответы:
Вы можете использовать один filtergraph, чтобы сделать всю фильтрацию:
[0:v]
ссылается на видеопоток (ы) первого входа (input.avi
в этом примере).[1:v]
это видео со второго входа (logo.png
в этом примере).В этом примере звук копируется по парам, а не перекодируется; при условии, что ваш первый вход имеет аудио.
Рекомендуется называть входные и выходные данные фильтра, например, в этом примере, вместо того, чтобы полагаться на значения по умолчанию, которые могут привести к неправильному выбору потока.
-2
в масштабах используется видеофильтр вместо того, чтобы-1
x264 требовал, чтобы выход делился на 2 при выводе с подвыборкой цветности 4: 2: 0:источник