Команда ffmpeg работает в cmd, но не в командном файле

341
Hadley V Sunny

У меня есть команда для преобразования файлов MKV в папке в mp4. Когда я пытаюсь добавить водяной знак к преобразованным файлам, он отлично работает в командной строке cmd, но когда я запускаю его в пакетном файле, он выдает ошибку «Ошибка при инициализации фильтра« drawtext »с аргументами». Ниже приведена команда ffmpeg:

ffmpeg -y -r 20 -i %~d1%~p1%~n1.mkv -vf "drawtext=text='Watermark Text':x=10:y=H-th-10:fontfile=/Windows/Fonts/Calibri.ttf:fontsize=45:fontcolor=white@0.2: x=(w-text_w)/2: y=(h-text_h)/2" -c:v libx264 -preset ultrafast -b:v 1000k %~d1%~p1%~n1 

Где я не прав?

0

1 ответ на вопрос

0
mariaczi

Попробуйте использовать escape-символ для командного файла:

ffmpeg -y -r 20 -i %~d1%~p1%~n1.mkv -vf ^"drawtext=text='Watermark Text':x=10:y=H-th-10:fontfile=/Windows/Fonts/Calibri.ttf:fontsize=45:fontcolor=white@0.2: x=(w-text_w)/2: y=(h-text_h)/2^" -c:v libx264 -preset ultrafast -b:v 1000k %~d1%~p1%~n1 
Добавление escape-персонажа не помогло. В отчете я получаю сообщение об ошибке при инициализации фильтра 'drawtext' с текстом 'args' = текст водяного знака: x = 10: y = H-th-10: fontfile = / Windows / Fonts / Calibri.ttf: fontsize = 45: fontcolor = white @ 0.2: x = (w-text_w) / 2: y = (h-text_h) / 2 'Ошибка повторной инициализации фильтров! Hadley V Sunny 6 лет назад 0