[軟體操作] ffmpeg 利用指令處理影片 - 精華區

[軟體操作] ffmpeg 利用指令處理影片

特種兵

特種兵圖像(預設)

2019-08-28 09:14:12

From:1.161.146.160

前言

已經有好幾個人在問 ffmpeg 處理影片的事情了

再不寫教學文要被懷疑藏私了

介紹

ffmpeg 是一個多媒體處理工具,特色是使用指令的方式來操作。

所以在linux,mac和windows都有支援。

對全盲視障者而言,軟體圖形介面本身是否可以用導讀軟體操作非常重要,功能再好,但介面有障礙也沒辦法使用。

相對指令操作沒有介面的問題,視障者跟明眼人等於是在同一個起跑點上。

而且這是一個開放原碼的自由軟體,開發者可以改程式或學習編程技巧,一般使用者可以正大光明快樂的使用。

檔案下載

在它的頁面上使用鍵盤很難點到 windows 所以附上自己的下載連結,有興趣的人可以試看看:

ffmpeg 原本的下載連結

ffmpeg 特種兵的下載連結

準備

官方版本需要選擇幾位元的程式下載,解壓縮後得到的資料夾可以搬到通常放程式的地方,並且改一個簡單的資料夾名字如 ffmpeg

特種兵的版本解壓縮後有 32 跟 64 的兩個壓縮檔,挑適合自己系統的,後續步驟同上。

因為它不用安裝,所以只要切換到該資料夾下就可以運作,想隨時使用就把路徑加到系統路徑變數中吧。

路徑的話就是進入該資料夾下的 bin 資料夾下面,它的執行檔都放在這邊。

分割影片

要開始下指令了,所以要使用命令提示字元模式,也就是 cmd 模式。

如果影片檔不是放在 bin 下面,那就要下好完整的路徑。

ffmpeg -i d:\01.avi -ss 00:05:00.00 -t 00:01:00.00 d:\02.avi

上面是說,把 01.avi 從第 5 分鐘開始切 1 分鐘,也就是 5 到 6 分鐘這一段成 02.avi

  1. ffmpeg 主程式名稱
  2. -i 後面接需要處理的影片檔名,不同地方記得加路徑,使用 \ 當分隔符號
  3. -ss 後面接開始分割影片的起始位置,格式為 時時:分分:秒秒.毫秒
  4. -t 分割的長度,注意,不是結束分割時間喔,格式同上
  5. 最後是切割成什麼檔名,也可以直接轉檔,例如附檔名變成 .mp4

那如果想要指定結束時間呢,就用 -to 這個參數

據說,把 -ss 參數放在 -i 之前的處理速度會比較快,有興趣的人可以比較看看。

其實 bin 下面還有個 ffplay 他可以用命令列播放影片,

如果能用這個播放就表示 ffmpeg 一定可以處理這個檔案。

轉檔壓縮

ffmpeg -i 01.avi 01.mp4

直接用最新技術 H.264 mp4 來轉檔

實測 1G 多的 avi 直接被壓成 100M 多的 mp4 不知畫質會不會有很大的影響

細步可以參考這篇教學,寫得更清楚:

ffmpeg 與 ffplay 處理影片教學

合併影片

上面那篇沒寫到合併影片的部分,通常我們要合併影片可能會是好幾個檔案。

那我們可以使用清單的方式把要合併的檔案列表編輯一下,直接一次合併。

合併清單的檔名隨意,這邊用 filelist.txt

格式也就是檔案內容如下:

file '03.avi'
file '04.avi'

  1. file 是關鍵字
  2. 後面接想要合併的檔名,引號要打一下,如果檔名有空格才不會失敗

編輯好後存檔,下指令合併:

ffmpeg -f concat -safe 0 -i filelist.txt -c copy 05.avi

  1. 如果檔案都在同一層, -safe 0 好像可以不用打
  2. -i 後面接檔案清單的檔名
  3. 最後放合併後產出的檔案,建議不要蓋掉原本的檔案比較保險

上面沒提到的參數都要照寫,有些我也沒仔細去查細步說明了。

其實還有很多功能,像是:

  • 邊切割邊播放
  • 把影片的瞬間轉存成圖片檔

再補上一個介紹 ffmpeg 的教學,是比較進階的

進階一點的 ffmpeg 教學

其實 google 教學一大堆,ffmpeg 很強大,還有專門的討論區在討論它的。
※最後更新時間:2019-08-28 08:56:55 From:1.161.146.160 By:特種兵


來源文章


最後更新:2019-08-28 09:14:12

From: 1.161.146.160

By: 特種兵