防止 ffmpeg 覆盖现有的输出文件

防止 ffmpeg 覆盖现有的输出文件

我使用 ffmpeg 为缩略图库创建了一个小型批处理脚本。当我尝试处理多个输入文件时,每次都会覆盖输出文件,输出文件 output1.png 会更新,而不是创建 output1.png、output2.png、output3.png 等。我该如何增加计数器?

for %%A IN (*.mp4) DO ffmpeg  -i "%%A"  -vf "mpdecimate,yadif,select=not(mod(n\,30)),scale=384:-1,tile=5x50" -frames:v 1 "C:\Users\Rambo\Desktop\Videos\newfiles\output%%d.png"

答案1

我怎样才能增加计数器?

使用以下批处理文件:

@echo off
setlocal EnableDelayedExpansion
set count=0
for %%A IN (*.mp4) DO (
  ffmpeg  -i "%%A"  -vf "mpdecimate,yadif,select=not(mod(n\,30)),scale=384:-1,tile=5x50" -frames:v 1 "C:\Users\Rambo\Desktop\Videos\newfiles\output!count!.png"
  set /a count+=1
  )
endlocal

进一步阅读

相关内容