El comando ffmpeg funciona en cmd pero no en un archivo por lotes

El comando ffmpeg funciona en cmd pero no en un archivo por lotes

Tengo un comando para convertir archivos mkv en una carpeta a mp4. Cuando intento agregar una marca de agua a los archivos convertidos, funciona bien en el indicador cmd, pero cuando lo ejecuto en un archivo por lotes me da un error que dice Error al inicializar el filtro 'drawtext' con argumentos. El siguiente es el 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

¿Dónde me equivoco?

Respuesta1

Intente utilizar un carácter de escape para el archivo por lotes:

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

información relacionada