Video
將多個影片轉換為多個 GIF
什麼命令可以將多個影片文件轉換為多個 GIF?
我使用以下命令將 1 個影片轉換為 GIF:
ffmpeg -i input.flv -vf scale=320:-1 output.gif
我假設我需要一個 bash 腳本或一些帶有循環的命令。
該執行緒與我的問題隱約相關。
您可以使用以下命令
for f in ./*.flv; do ffmpeg -i "$f" -vf scale=320:-1 "${f%.*}.gif" done
這將遍歷
.flv
目前目錄中以結尾的所有文件,處理它們並將副檔名更改為.gif
.請注意,文件名不得包含空格才能使其正常工作。
或者,在 GNU 系統上,您可以使用
find . -maxdepth 1 -name "*.flv" -print0 | sed 's/\.flv\x00/\x00/g' | xargs -r0 -I FILENAME ffmpeg -i FILENAME.flv -vf scale=320:-1 FILENAME.gif
這將在目前目錄中找到所有以(包括隱藏文件)結尾的文件,並將該列表作為- 分隔的字元串
.flv
列印到標準輸出。\0
然後過濾該字元串sed
以刪除副檔名,然後將其傳遞給xargs
執行命令ffmpeg -i FILENAME.flv -vf scale=320:-1 FILENAME.gif
,替換FILENAME
為列表中的實際文件名。如果要轉換目前目錄和所有子目錄(及其子目錄等)中的所有文件,只需
-maxdepth 1
從命令中刪除該部分即可。