ffmpeg批处理文件转义字符

ffmpeg批处理文件转义字符

我正在尝试运行这个批处理文件:

call ffmpeg -i E:/movies/Budapest.webm -vf fps=25 
E:/OneDrive/PROC/ProcEnvSources/SOURCE_39/Budapest4k.^%%d.png

启动时,命令似乎是正确的,因为它在 cmd 编辑器中输出以下内容:

C:\Users\gmaur>C:\Users\gmaur\OneDrive\Bureau\test.bat
C:\Users\gmaur>call ffmpeg -i E:/movies/Budapest.webm -vf fps=25 
E:/OneDrive/PROC/ProcEnvSources/SOURCE_39/Budapest4k.%d.png

但命令失败并显示以下消息:

   [image2 @ 0000018d2d115040] The specified filename 
   'E:/OneDrive/PROC/ProcEnvSources/SOURCE_39/Budapest4k.d.png' does not contain an image 
   sequence pattern or a pattern is invalid.
   [image2 @ 0000018d2d115040] Use a pattern such as %03d for an image sequence or use the - 
   update option (with -frames:v 1 if needed) to write a single image.
   [image2 @ 0000018d2d115040] Cannot write more than one file with the same name. Are you 
   missing the -update option or a sequence pattern?
   [vost#0:0/png @ 0000018d2d129d80] Error submitting a packet to the muxer: Invalid 
   argument
   [out#0/image2 @ 0000018d2d114f40] Error muxing a packet
   [out#0/image2 @ 0000018d2d114f40] video:16540kB audio:0kB subtitle:0kB other streams:0kB 
   global headers:0kB muxing overhead: unknown
   frame=    2 fps=1.6 q=-0.0 Lsize=N/A time=00:00:01.20 bitrate=N/A speed=0.941x
   Conversion failed!

此命令有什么问题?谢谢您的帮助。

答案1

据我所知,call用于在批处理文件中执行批处理文件。
尝试删除call之前的ffmpeg(FFmpeg 是.exe而不是.bat文件):

我们可以使用以下命令test.bat

ffmpeg -i E:/movies/Budapest.webm -vf fps=25 E:/OneDrive/PROC/ProcEnvSources/SOURCE_39/Budapest4k.^%%d.png

相关内容