【发布时间】:2012-08-25 10:42:19
【问题描述】:
我正在使用 ffmpeg 将 .avi 文件转换为 .png 图像序列。这个很好用:
@ ECHO OFF
FOR %%A IN (*.avi) DO CALL :avi2png "%%A"
:avi2png
ffmpeg.exe -y -i %* -sameq -f image2 -c:v png "%%03d.png"
ECHO.
GOTO :EOF
但我希望脚本从当前正在处理的 .avi 文件中提取不带扩展名的名称。这就是图像序列的样子:currentavi001.png、currentavi002.png 等。脚本 I想出的不起作用:
@ ECHO OFF
FOR %%A IN (*.avi) DO CALL :avi2png "%%A"
:avi2png
ffmpeg.exe -y -i %* -sameq -f image2 -c:v png "%%~nA%%03d.png"
ECHO.
GOTO :EOF
%~nA 和 %%~nA 我都试过了,但都无济于事。脚本返回:
Couldn't open file :
av_interleaved_write_frame(): Input/output error.
我是一个完全的门外汉,欢迎任何帮助。
【问题讨论】:
标签: video batch-file ffmpeg batch-processing