ffmpeg 命令在 cmd 中有效但在批处理文件中无效

ffmpeg 命令在 cmd 中有效但在批处理文件中无效

我有一个命令可以将文件夹中的 mkv 文件转换为 mp4。当我尝试将水印添加到转换后的文件时,它在 cmd 提示符下运行良好,但当我在批处理文件中运行它时,它给出一个错误,提示“使用 args 初始化过滤器‘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:[email protected]: x=(w-text_w)/2: y=(h-text_h)/2" -c:v libx264 -preset ultrafast -b:v 1000k %~d1%~p1%~n1

我哪里错了?

答案1

尝试对批处理文件使用转义字符:

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

相关内容