![ffmpeg 命令在 cmd 中有效但在批处理文件中无效](https://linux22.com/image/1558227/ffmpeg%20%E5%91%BD%E4%BB%A4%E5%9C%A8%20cmd%20%E4%B8%AD%E6%9C%89%E6%95%88%E4%BD%86%E5%9C%A8%E6%89%B9%E5%A4%84%E7%90%86%E6%96%87%E4%BB%B6%E4%B8%AD%E6%97%A0%E6%95%88.png)
我有一个命令可以将文件夹中的 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