我正在使用ffmpeg將.avi文件轉換爲.png圖像序列。這一個非常有效:ffmpeg視頻圖像序列批處理文件
@ 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等我想出了這個腳本不工作:
@ 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.
我是一個完全的門外漢,並歡迎每一位的幫助。
產生請求輸出的固定代碼。 –
感謝詹姆斯的徹底迴應。對於像我這樣的完整小菜鳥來說,批量腳本就像是仔細地走過雷區。當我回家時,我會試用這些代碼,並且可以訪問我的電腦,而不僅僅是我的電話。 –
@DaleCooper如果我的答案適合您,請將其選爲答案。 :) –