Video

將多個影片轉換為多個 GIF

  • December 16, 2014

什麼命令可以將多個影片文件轉換為多個 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從命令中刪除該部分即可。

引用自:https://unix.stackexchange.com/questions/174503