2016-07-06 60 views
1

當用戶上傳視頻時,我將其尺寸設置爲2。此前,我在兩個步驟中像下面這樣在單個命令中調整兩種尺寸的一個視頻的尺寸

第一尺寸:

ffmpeg -i in.mp4 -filter:v "scale=iw*min(1170/iw\,300/ih):ih*min(1170/iw\,300/ih), pad=1170:300:(1170-iw*min(1170/iw\,300/ih))/2:(300-ih*min(1170/iw\,300/ih))/2" out.mp4 

第二尺寸:

ffmpeg -i in.mp4 -filter:v "scale=iw*min(365/iw\,172/ih):ih*min(365/iw\,172/ih), pad=365:172:(365-iw*min(365/iw\,172/ih))/2:(172-ih*min(365/iw\,172/ih))/2" out1.mp4 

但現在縮短處理時間,我想結合這兩個步驟合而爲一。我已閱讀https://trac.ffmpeg.org/wiki/Creating%20multiple%20outputs做出以下命令

ffmpeg -i in.mp4 -filter:v "scale=iw*min(1170/iw\,300/ih):ih*min(1170/iw\,300/ih), pad=1170:300:(1170-iw*min(1170/iw\,300/ih))/2:(300-ih*min(1170/iw\,300/ih))/2" bigVideo.mp4 \ -filter:v "scale=iw*min(365/iw\,172/ih):ih*min(365/iw\,172/ih), pad=365:172:(365-iw*min(365/iw\,172/ih))/2:(172-ih*min(365/iw\,172/ih))/2" smallVideo.mp4 

但它給下面的錯誤

[NULL @ 0xaee5440]無法找到一個合適的輸出格式「型濾波器:V」 - 篩選: v:無效的參數

所以任何人都可以建議我如何解決它?

+0

嘗試刪除-filter:v標誌並重​​新運行命令。 – arshpreet

+0

已經嘗試過,但沒有奏效 – Jass

回答

0

我嘗試使用下面的腳本來運行這兩個命令:

#!/bin/bash 
for cmd in "[email protected]"; do { 
echo "Process \"$cmd\" started"; 
$cmd & pid=$! 
    PID_LIST+=" $pid"; 
    } done 
    trap "kill $PID_LIST" SIGINT 
    echo "Parallel processes have started"; 
    wait $PID_LIST 
    echo 
    echo "All processes have completed"; 

您可以將其保存爲filename.sh並執行。之後,你需要通過兩個命令作爲參數,例如我爲跑:

./filename.sh "ffmpeg -i input.mp4 -s 720x480 output1.mp4" "ffmpeg -i input.mp4 -s 1170x480 output2.mp4" 

你的命令對我來說有點複雜,所以我嘗試使用並行腳本運行簡單的命令。