有沒有比較方便的方法呢?
你可以使用 ffmpeg 然後使用參數來轉檔
像是這樣
ffmpeg -ss 00:00:00.000 -t 10 -i filename.avi -vf scale=320:-1 -r 10 /tmp/output.gif
-ss 是起始時間
-t 總共所需時間(秒)
-i是檔名
-vf scale= 320:-1 則是將解析度設定為 320 X (自動)
-r 是 fps (frame per second)
/tmp/output.gif gif 輸出的檔名
可是這樣的參數實在有點難記
於是寫了一個簡單的 script 只要將你需要的參數填入就好
$ vim gif
#!/bin/bash
# convert movie to gif.
# $1 position hh:mm:ss[.xxx]
# $2 duration
# $3 file name
ffmpeg -ss "$1" -t "$2" -i "$3" -vf scale=320:-1 -r 10 /tmp/output.gif
執行的時候你只需要填入3個參數
- 起始時間
- 總共所需時間(秒)
- 檔名
$ gif 10:01 3 /tmp/filename.avi
這就是對 /tmp/filename.avi 取 3 秒鐘的影片轉成 gif 從 10 分 01 秒開始
把寫好的 script 複製到 /usr/bin 底下
以後就可以使用 gif 這個指令來建立你的 gif 圖檔了
沒有留言 :
張貼留言