ffmpeg的可以調整視頻/圖像文件。首先是INPUT_FILE ..參數.. OUTPUT_FILE ..如何修改此Windows腳本以進行匹配?
ffmpeg -i input.avi -vf scale=320:240 output.avi
或
ffmpeg -i 20140724_071746.mp4 -vf scale=640:-1 20140724_071746_LOW_640.mp4
更多的信息在這裏:https://trac.ffmpeg.org/wiki/Scaling%20%28resizing%29%20with%20ffmpeg
我想它縮小我的microSD卡上的所有視頻以創建空間(我有原始備份)
所以我希望它去扔一個將所有子目錄中的文件過夜並調整所有文件的大小。有可能腳本可能會停止或崩潰,我需要再次運行它,或者如果我添加新文件,我想再次運行它。
所以,我想它會跳過處理所有已處理的文件和他們的大小調整版本。
在我的情況下,如果一個FILE_NAME.mp4
也FILE_NAME_LOW_640.mp4
跳過它,如果FILE_NAME_LOW_640.mp4
和 已*640
跳過
這裏是我的Windows批處理腳本到目前爲止
REM @echo off
REM just save as "DOS"
REM cd /d C:\s
setlocal enabledelayedexpansion
for %%j in (*.mp4) do (
set filename=%%~nj
echo %%j
ffmpeg -i %%j -vf scale=640:-1 %%j_LOW_640.mp4
REM but now I want to add the two checks to skip files that have been resized .. or if they are the resized version
REM if not "!filename!"=="%%j_LOW_640.mp4" AND IF FILE !COINTAIN *640* THEN ffmpeg -i %%j -vf scale=640:-1 %%j_LOW_640.mp4
)
pause
REM AND I would also want it to process all the sub-directories
換句話說我的問題了幫助是:
我該如何做一個chec如果一個字符串包含字符串匹配,則爲k?
我怎樣才能讓我的腳本也處理所有的子目錄?
爲什麼FFmpeg的用它做後,你不動源和調整文件都到另一個位置,您可以重新創建的'C的目錄結構xcopy c:\ s/t/e – Mulvya
@RLH:我偶爾讀過其他人的類似聲明:_「This w應該在VBScript中做起來容易得多「,但他們從來沒有證明過這樣的說法。我邀請你在這裏發佈VBScript解決方案,在評論中。在VBS中做到這一點「非常容易」,我認爲它會比8行的批處理文件解決方案短得多[下面](http://stackoverflow.com/questions/34908015/how-to-modify-this- windows-script-to-do-a-match/34911596#34911596),對不對? – Aacini
它當然更清潔。我在答案中顯示了一個vbs腳本走在樹上。 – 2016-01-20 23:38:24