Comando ffmpeg funcionando em cmd, mas não em arquivo em lote

Comando ffmpeg funcionando em cmd, mas não em arquivo em lote

Estou recebendo um comando para converter arquivos mkv em uma pasta para mp4. Quando tento adicionar marca d'água aos arquivos convertidos, funciona bem no prompt do cmd, mas quando executo em arquivo em lote, ocorre um erro dizendo Erro ao inicializar o filtro 'drawtext' com argumentos. A seguir está o comando 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:[email protected]: x=(w-text_w)/2: y=(h-text_h)/2" -c:v libx264 -preset ultrafast -b:v 1000k %~d1%~p1%~n1

Onde estou errado?

Responder1

Tente usar o caractere de escape para arquivo em lote:

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:[email protected]: x=(w-text_w)/2: y=(h-text_h)/2^" -c:v libx264 -preset ultrafast -b:v 1000k %~d1%~p1%~n1

informação relacionada