2016-01-20 21 views
0

我想從mp4視頻的中間獲取一個jpg。我用這條線和它的作品般的魅力在一個行生成JPG縮略圖:在使用Shell腳本時在哪裏添加FilterChain

ffmpeg -i input.mp4 -vcodec mjpeg -vframes 1 -an -f rawvideo -ss `ffmpeg -i input.mp4 2>&1 | grep Duration | awk '{print $2}' | tr -d , | awk -F ':' '{print $3/2}'` output.jpg 

不過,我想申請縮放和上述線裁剪過濾器鏈(filter:v),但在以往任何時候我把過濾器,我無法使它工作。

-filter:v "scale=720:ih*720/iw, crop=720:720:280:1000"

我應該把它放在哪裏?

的錯誤,我得到:

At least one output file must be specified

Invalid duration specification for ss: -filter:v

請注意,這個工程:

ffmpeg -i fkj.mp4 -vcodec mjpeg -filter:v "scale=720:ih*720/iw, crop=720:720:280:1000" -vframes 1 -an -f rawvideo -ss 4 output.jpg

回答

1

你可以把它放在01後,這增加了外殼的ffmpeg命令

ffmpeg -i input.mp4 -f null - 2>&1 | grep Duration.... 

理想情況下,你應該使用ffprobe input.mp4,而不是ffmpeg的

+0

_ffmpeg -i input.mp4 -vcodec MJPEG型濾波器:V「規模= 720:IH * 720/iw,crop = 720:720:280:1000「-vframes 1 -an -f rawvideo -ss'ffmpeg -i input.mp4 2>&1 | grep持續時間| awk'{print $ 2}'| tr -d,| awk -F':''{print $ 3/2}''output.jpg_ throws'至少要指定一個輸出文件' – senty

+0

用'-ss 4'而不是shell腳本指定的數字進行測試 – Mulvya

+0

是的, ..但爲什麼它不能用於shell腳本? – senty