您是否曾經使用過 FFmpeg 將圖片轉換為影片?這個功能特別適用於將產品圖片合併成行銷影片,或是讓學生的學習過程變得更具趣味性。雖然市面上有許多影片編輯工具,但 FFmpeg 作為一款強大且靈活的命令列工具,能夠提供對影片與音訊處理的全面掌控。

FFmpeg(Fast Forward Moving Picture Experts Group)是一個開源工具,這意味著它對所有使用者開放並且持續更新,擁有一個龐大的開發者社群在持續貢獻。雖然初次使用 FFmpeg 可能會讓人感到有些挑戰,但別擔心,只要掌握一些基本的操作指引,您就能輕鬆地將圖片轉換為影片。FFmpeg 支援各種影片和音訊格式,提供無限的可能性。
無論您是完全的初學者,還是已經有過使用 FFmpeg 的經驗,本文將引導您如何使用 FFmpeg 將圖片轉換為影片,並介紹轉換過程中如何最佳化及自訂影片的基本指令。
目錄
第一部分:如何使用 FFmpeg 將圖片轉換成影片

安裝 FFmpeg
若要使用 FFmpeg 將圖片轉換為影片,首先必須安裝 FFmpeg 工具。在許多作業系統中,FFmpeg 可能已經預先安裝好,特別是如果你使用的是 Ubuntu 系統,通常會自帶此工具。
要檢查你的電腦是否已經安裝 FFmpeg,只需在命令行介面中輸入以下指令:
fmpeg -version
如果螢幕上顯示出版本資訊,則表示 FFmpeg 已經正確安裝。如果未顯示版本資訊,則需要依據你所使用的作業系統,從官方網站下載並安裝適合的版本。若你使用的是 Windows 系統,則需要手動安裝。
對於 Mac 使用者,最簡便的安裝方式是透過 Homebrew 套件管理工具。在安裝並配置好 Homebrew 後,只需在終端機中輸入以下指令,便能輕鬆完成安裝:
brew install ffmpeg
用 FFmpeg 將圖片轉為影片

單張圖片轉換為影片的基本指令
若希望將單張靜態圖片轉換為影片,您可以使用以下指令:
ffmpeg -loop 1 -i input.jpg-c:v libx264 -t 10 output.mp4
其中,-loop 1 參數會讓圖片持續循環顯示,而 -t 10 則設定影片的播放時間為 10 秒。您可以依據需求自行調整播放時間長度。
圖片序列轉換為影片的指令
當使用 FFmpeg 進行圖片序列轉影片 時,請確認圖片檔案命名方式為連續且數字化排序。您可以透過兩種方式將圖片序列轉換為影片:使用 格式化指令 (format specifiers)、glob 模式,或者使用 FFmpeg 的 concat demuxer。
使用格式化指令
若圖片序列已按順序命名,格式化指令可以告知 FFmpeg 依照特定圖片進行處理。您可以使用以下指令:
ffmpeg -framerate 1 -i image%d.jpg -c:v libx264 -r 30 output.mp4
其中,-i image%d.jpg 代表輸入的圖片序列,%d 是檔案名稱中的數字序列。FFmpeg 會自動依據檔名排序,選取數字最小的圖片作為起始點。若需要指定起始圖片,您可以加上 -start_number n 參數,例如:-start_number 8,則會從 image8.jpg 開始。
-framerate 1 參數設定每秒顯示多少張圖片,這裡是每秒顯示 1 張圖片。如果未指定此參數,預設的幀率為 25,即每秒顯示 25 張圖片。
-r 30 則設定匯出影片的幀率,若輸入圖片未指定幀率,則會使用預設值 25。
-c:v libx264 是影片編碼時所使用的編解碼器。為了確保影片在不同播放裝置上的相容性,建議加上 -pix_fmt yuv420p 參數,指令如下:
ffmpeg -framerate 1 -i image%d.jpg -c:v libx264 -r 30 -pix_fmt yuv420p output.mp4

使用 Glob 模式
Glob 模式允許您依據通配符來指定需要的圖片作為輸入。
ffmpeg -framerate 1 -pattern_type glob -i '*.jpg' -c:v libx264 -r 30 -pix_fmt yuv420p output.mp4
其中,模式 *.jpg 會選取當前目錄下所有的 .jpg 檔案。若圖片命名順序是依照字母或其他格式而非數字,這種模式會非常有用。
使用 concat demuxer
concat demuxer 方法可以將多張圖片依照順序串接成影片。首先,您需要建立一個名為 input.txt 的檔案,並將需要用於影片的圖片列出,同時指定每張圖片顯示的時間,格式如下:
file 'image01.jpg'
duration 1
file 'image02.jpg'
duration 1
file 'image03.jpg'
duration 1
接著,您可以使用以下指令將這些圖片轉換為影片:
ffmpeg -f concat -i input.txt -c:v libx264 -r 30 -pix_fmt yuv420p output.mp4

為圖片序列命名
在進行圖片序列處理時,命名規則至關重要,必須遵循特定格式以確保 FFmpeg 正確識別並處理圖片。
-i image%d.jpg 适用于命名為 image1.jpg 的圖片。
-i image%02d.jpg 适用于兩位數編號的圖片,例如 image01.jpg。
-i image%03d.jpg 适用于三位數編號的圖片,例如 image001.jpg。
請確保您的圖片檔案命名格式與指令中的格式一致,否則可能會導致錯誤或無法正確讀取圖片檔案。
第二部分:FFmpeg 圖片轉影片常見問題與解答
以下列出使用 FFmpeg 將圖片轉換為影片 時,可能遇到的一些常見問題及其解決方法。
FFmpeg 的活躍開發
作為一款開源工具,FFmpeg 不斷進行更新和改進,這也可能導致偶爾出現影響影片編輯過程的錯誤。為確保順利使用,建議您始終保持 FFmpeg 為最新版本。如果遇到問題,您可以參考 FFmpeg 的官方文檔,或加入 FFmpeg 的社群,向經驗豐富的使用者尋求協助。

檔案命名錯誤
在使用 FFmpeg 進行圖片序列轉換時,檔案的命名規則至關重要。若檔案名稱有誤、缺少檔案,或數字序列不連貫,都可能導致轉換錯誤。因此,請確保所有圖片檔案名稱依照上述說明,依序且一致地命名。如果需要處理大量圖片,您也可以考慮使用批次重新命名工具來簡化這一過程。
路徑與指令錯誤
另一個常見的問題是指令中路徑或語法錯誤,這會導致指令無法正常執行,從而無法生成所需的匯出影片。請務必仔細檢查指令,確保其語法正確。如果您不確定指令的正確性,可以參閱 FFmpeg 官方文檔或相關資源,避免指令錯誤。
像素格式相容性
FFmpeg 預設的像素格式或某些指令選項,可能會導致生成的影片無法與部分媒體播放器或裝置相容。為了確保影片能夠在大多數常見播放器與裝置中正常播放,建議在指令中加入 -pix_fmt yuv420p 參數。
ffmpeg -framerate 1 -i image%d.jpg -c:v libx264 -pix_fmt yuv420p output.mp4
第三部分:如何使用 FFmpeg 自訂轉換後的影片

為幻燈片加入音軌
您可以使用以下指令將音訊加入影片,請複製並貼上以下指令:
ffmpeg -framerate 1 -pattern_type glob -i '.jpg' -i audio.mp3 -shortest -c:v libx264 -r 30 -pix_fmt yuv420p output.mp4
其中,-i audio.mp3 表示加入第二個輸入檔案(即音訊檔案)。-shortest 參數會設定匯出的影片長度為兩個輸入檔案(圖片和音訊檔案)的最短長度。若音訊檔案較長,則會將匯出的影片長度設為圖片序列的長度。
為 FFmpeg 轉換後的影片加入文字或浮水印
若希望在影片中加入文字或浮水印,請先將浮水印以 JPG 或 PNG 格式儲存,再使用下列指令進行處理。
ffmpeg -i input.mp4 -i watermark.png -filter_complex "overlay=10:12" output.mp4
其中,-i input.mp4 是輸入的影片檔案,-i watermark.png 則是輸入的浮水印檔案(可為圖片或文字)。-filter_complex "overlay=10:12" 會將浮水印圖片疊加於影片的指定位置(座標 10,12),output.mp4 為匯出的影片檔案。

調整浮水印的透明度
若想調整浮水印的透明度,可以使用 blend 過濾器,並使用以下指令來達成:
ffmpeg -i input.mp4 -i watermark.png -filter_complex "[0:v][1:v]overlay=10:12:format=auto,blend=all_mode='overlay':all_opacity=0.7" output.mp4
其中,all_opacity 參數控制浮水印的透明度,設定為 0.7 表示浮水印的透明度為 70%。您可以依據需求調整此數值來達到理想的浮水印透明效果。
調整轉換後影片的播放速度,創建縮時或慢動作效果
操作 | 指令 |
將影片加速 2 倍 | ffmpeg -i input.mp4 -filter:v "setpts=0.5PTS" -an output.mp4 |
將音訊加速 2 倍 | ffmpeg -i input.mp3 -filter:a "atempo=2.0" output.mp3 |
將影片和音訊都加速 | ffmpeg -i input.mp4 -vf "setpts=0.5PTS" -af "atempo=2.0" output.mp4 |
將影片減速 2 倍 | ffmpeg -i input.mp4 -filter:v "setpts=2.0PTS" -an output.mp4 |
將音訊減速 2 倍 | ffmpeg -i input.mp3 -filter:a "atempo=0.5" output.mp3 |
將影片和音訊都減速 | ffmpeg -i input.mp4 -vf "setpts=2.0PTS" -af "atempo=0.5" output.mp4 |
-filter:v 用於應用於影片的過濾器,setpts=0.5PTS 會讓影片播放速度加快 2 倍,atempo=2.0 會將音訊加速 2 倍以匹配影片速度。而 setpts=2.0PTS 則會讓影片播放速度變慢 2 倍(即原來的一半速度),atempo=0.5 則是將音訊的速度減慢為原來的一半。-vf 用來應用影片過濾器,-af 則是應用音訊過濾器。

改變 FFmpeg 圖片轉影片解析度
若您需要調整影片的解析度,可以使用下列指令來達成:
ffmpeg -i input.mp4 -vf scale=$w:$h output.mp4
其中,$w 和 $h 代表您希望設定的影片寬度和高度。例如,使用 —vf scale=640:480 指令可將影片解析度設為 480p。
第四部分:FFmpeg 簡易替代方法 - 無需技術背景
雖然 FFmpeg 是一款功能強大的工具,但其命令列介面對於沒有技術背景或新手使用者來說,可能會顯得略為複雜。各種指令語法和檔案目錄的操作,往往讓使用者感到困惑,並且需要投入大量時間進行學習。在這種情況下,許多使用者會選擇使用更簡單直覺、無需專業知識的替代工具,例如 Wondershare Filmora。

Filmora 是一款專為影片剪輯設計的軟體,它讓使用者無需任何專業知識即可輕鬆創作影片。無論是圖片處理或影片編輯,Filmora 提供了易於操作的特效和豐富的媒體素材庫,幫助使用者輕鬆製作各種影片。透過 Filmora,您可以快速將圖片合成影片,並依據需求進行進一步的編輯與自訂。
以下是 Filmora 圖像轉影片功能的使用步驟:
步驟一: 從 Google Play 或 Apple Store 下載並安裝 Filmora。完成安裝後,啟用應用程式。
步驟二: 在 Filmora 主畫面中,啟用 圖片轉影片 工具。

步驟三: 上傳您希望轉換為影片的圖片,並描述您期望的影片效果,接著點選 產生。

儲存 生成後的影片。如果您希望進一步編輯影片,請點選 編輯 以使用更多的編輯功能。

您可以透過 Filmora 內建的 音訊 工具,為影片加入音效或旁白,或者選擇使用其 音樂產生功能來增強影片音效。

使用 Filmora 的 AI 音樂產生功能,您可以選擇自己喜好的音調、主題和音樂時長。完成編輯後,點選 產生,並將最終的影片匯出至您的移動裝置。

結語
無論您是經驗豐富的專業剪輯師,或是對影片製作充滿興趣的初學者,將圖片轉換為影片的過程都變得簡單而輕鬆,尤其是在擁有適合的工具時。FFmpeg 無疑是一個強大的選擇,它提供了詳細的命令列指令並支援進一步的編輯功能,如音訊添加、覆蓋層調整或解析度設定等。
然而,對於那些認為 FFmpeg 圖片轉影片的過程過於技術性,或是希望能夠快速且輕鬆自訂影片內容的使用者來說,Filmora 無疑是一個理想的選擇。您可以透過安裝 Filmora 的行動應用程式,輕鬆探索各項功能,將圖片轉換為影片,添加特效與背景音樂,並依照您的需求將最終影片匯出。