Filmora
Filmora - 人工智慧影片剪輯軟體
更快、更智慧、更容易剪輯!
立即打開
Filmora 影片編輯軟體
最好的編輯器可幫助您輕鬆編輯影片。
  • 使用 300 多種令人驚嘆的效果增強影片
  • 個性化裁剪區域
  • 易於使用

FFmpeg影片合併操作指南

Arvin Alejandro
Arvin Alejandro 最初發佈時間 Jun 07, 24, 更新時間 Aug 20, 24

對許多人而言,影片編輯在創造內容中扮演著重要的角色。無論您是 YouTuber、行銷人員,還是希望與朋友和家人分享影片的人,編輯和操作影片都是至關重要的技能。其中一個基本的影片編輯任務是將多個影片合併在一起,以創建連貫的影片。

FFmpeg 是一款功能強大的工具,可以輕鬆實現這一目標。在本指南中,我們將帶您進行使用 FFmpeg 合併影片的完整過程。無論您是新手還是經驗豐富的影片編輯師,本指南都將為您提供無縫合併影片所需的全部資訊。從安裝到操作,我們將一步步引導您,使您能夠更輕鬆地完成影片編輯工作。

concat videos with ffmpeg
在本文中
  1. FFmpeg 概觀及安裝步驟
  2. 準備工作
  3. Filmora影片合併技巧:合併影片的最佳工具

FFmpeg 概觀及安裝步驟

FFmpeg 是一個免費的開源專案,可讓您錄製、轉換和串流數位音訊和視訊。它是一款命令列工具,廣泛用於影片編輯和轉碼。除了連接影片外,FFmpeg 還可以執行許多其他任務,如添加字幕、改變視訊解析度等。它支援 Windows、Mac 和 Linux 等多個作業系統,因此任何人都可以輕鬆使用這個多功能且強大的工具。

安裝 FFmpeg 的方法如下:

步驟一:使用 SSH 登入您的 Ubuntu 伺服器並更新套件索引。

$ sudo apt update

步驟二:安裝 FFmpeg 和所有必要的依賴項。

$ sudo apt install ffmpeg

步驟三:驗證您安裝的 FFmpeg 版本。

$ ffmpeg -version

準備工作

在使用 FFmpeg 合併影片之前,了解可用的方法至關重要。FFmpeg 提供了三種主要的合併影片的方法:demuxer、filter和protocol。然而,每種方法都有其獨特的注意事項,最適合您的方法取決於您要處理的影片屬性。

確保所有與編碼相關的屬性與您所選擇的合併方法保持一致是非常重要的。這些屬性包括時基、高度和寬度、編解碼器以及像素格式。某些方法要求您要合併的影片具有相同的編碼特性,而其他方法則允許不同的編碼特性。請牢記這些先決條件,以確保最終的合併影片能夠無縫連接。這些注意事項將有助於順利完成整個合併過程。

使用 FFmpeg 合併具有相同編解碼器的影片

如果您要連接的影片具有相同的編解碼器,您可以使用 FFmpeg 中的「concat」解復用器或協定來將它們無需重新編碼地連接在一起。這種方法簡單而高效,可以節省時間並保持原始品質。以下是使用 FFmpeg 中的「concat」解復用器和「concat」協定連接影片的步驟:

使用「concat」解復用器合併影片

The concat demuxer in FFmpeg allows you to join together multiple video files with the same codecs by reading a list of file paths from a text file and demuxing them in sequence. Each video starts where the previous one finishes without needing to re-encode the videos. Here's how to do it:

步驟一:建立一個 .txt 檔案並列出要合併的視訊檔案的路徑。

Join_video.txt

file /Users/Video/input1.mp4

file /Users/Video/input2.mp4

注意:您可以列出兩個或更多要合併的視訊檔案,每個路徑一行。

步驟二:執行 FFmpeg 命令

ffmpeg -f concat -safe 0 -i join_video.txt -c copy output_demuxer.mp4

Note: -safe 0禁用安全模式,允許使用相對路徑。

-c copy 使用 copy 編解碼器,進行流複製,無需重新編碼。

由於此方法允許您“流複製”檔案而不是重新編碼它們,因此串聯速度非常快。如果您有具有相同編解碼器的影片並且希望快速加入它們而不損失質量,這可能是一個不錯的選擇。

使用「concat」協定合併影片

在 FFmpeg 中,concat 協定允許您將多個視訊檔案以支援檔案級串聯的特定格式(例如 MPEG-2 TS)連接在一起。這種方式可以在某些特定格式下實現影片的串聯,但是需要注意的是,這個方法並不適用於一些常見的視訊格式,例如 MP4 和 WEBM。

使用「concat」協定合併影片

步驟一:執行 FFmpeg 命令

ffmpeg -i "concat:input1.ts|input2.ts" -c copy output_protocol.ts

注意:在 concat 協定中可讓您透過新增-c copy來「流複製」檔案。

步驟二:使用以下程式碼輸入影片的檔案名稱:

ffmpeg -i "concat:input1.mp4|input2.mp4" -c copy output_protocol.mp4

注意:如果您嘗試在不支援的視訊格式上使用此方法,則只有第一個輸入視訊將保存在輸出視訊中。影片在第一個影片之後結束。

使用 concat 協定來合併支援的視訊檔案是一個簡單而高效的方法,可以透過一條命令完成整個操作,並且使用 -c copy 選項可以提高效率,因為它避免了重新編碼,從而節省時間並保持原始品質。

使用 FFmpeg 合併不同編解碼器和解析度的 MP4 視訊檔案

如果您要連接的影片具有不同的編解碼器或解析度,您仍然可以使用 FFmpeg 將它們連接在一起。但是,這種情況下需要重新編碼影片,這可能需要更長的時間,並且可能導致影片質量下降。以下是使用 FFmpeg 連接具有不同編解碼器或解析度的影片的步驟:

操作方法如下

步驟一:提供輸入檔案的名稱。

ffmpeg -i file1.mp4 -i file2.mp4 -i file3.mp4 \

步驟二:使用 -filter_complex 選項並指定 filtergraph 參數,告訴 FFmpeg 從每個影片檔案中提取視訊和音訊流。

-filter_complex "[0:v] [0:a] [1:v] [1:a] [2:v] [2:a]

Note:這個 filtergraph 將從第一個 (0 表示檔案1.mp4)、第二個 (1 表示檔案2.mp4) 和第三個 (2 表示檔案3.mp4) 影片檔案中提取視訊和音訊流。

步驟三:告訴 FFmpeg 連接這些影片,n=3 表示要連接的影片數量是三個。

concat=n=3:v=1:a=1 [vv] [aa]" \

注意: The v=1:a=1 表示一個音訊串流和一個視訊串流。

步驟四:使用 -map 選項將連接後的視訊流和音訊流映射到最終的影片容器中,並指定輸出檔案名稱。例如:

-map "[vv]" -map "[aa]" mergedVideo.mp4

值得注意的是,使用 FFmpeg 中的 filter_complex 方法來連接具有不同編解碼器和解析度的影片,通常需要重新編碼視訊,這可能會花費更多時間,並且有可能導致影片品質下降。然而,這種方法提供了在連接影片之前對影片進行過濾和處理的靈活性。

使用 FFmpeg 合併視訊與多個音訊串流

合併視訊與多個音訊串流可能比合併視訊與單一音訊串流更複雜,但是使用 FFmpeg 中的 filter_complex 方法可以讓您在單一命令中操作和連接多個音訊和視訊串流。這種方法更為先進,允許您將具有不同音訊串流的視訊串流合併,創建具有多個音軌的最終視訊。以下是使用 FFmpeg 合併視訊與多個音訊串流的步驟:

步驟一:指定輸入檔案,下面命令指定了三個要連接的檔案:opening.mkv、episode.mkv 和 ending.mkv。

$ ffmpeg -i opening.mkv -i episode.mkv -i ending.mkv -filter_complex

步驟二:使用 -filter_complex 選項並指定各個檔案中的視訊和音訊流。在這個例子中,我們要從每個檔案中提取視訊和音訊流:

[0:0] [0:1] [0:2] [1:0] [1:1] [1:2] [2:0] [2:1] [2:2]

注意:單一視訊串流([0:0], [1:0], [2:0])

雙音訊流 ([0:1][0:2], [1:1][1:2], [2:1][2:2])

步驟三:使用 concat 濾鏡指定要將三個檔案連接起來,並將連接後的視訊串流標記為 [v],音訊串流分別標記為 [a1] 和 [a2]。

concat=n=3:v=1:a=2 [v] [a1] [a2]

步驟四:指定輸出流並映射到最終的視訊容器

-map '[v]' -map '[a1]' -map '[a2]' output.mkv

Filmora影片合併技巧:合併影片的最佳工具

儘管 FFmpeg 提供多種影片合併的方法,但對某些使用者來說,它的學習曲線可能較陡峭。另一種合併影片的方法是使用 Filmora。Wondershare Filmora 是一款使用者友善的影片編輯軟體,能夠讓您輕鬆地合併多個影片。對於影片編輯新手或沒有使用過像 FFmpeg 這樣的命令列工具的使用者來說,這是一個不錯的選擇。

免費下載
免費下載

Filmora 擁有簡單的拖放介面,可輕鬆新增、排列和編輯影片和音軌。除此之外,它還提供各種功能,包括分割、修剪、裁剪和合併等。Filmora 還具備各種效果、轉場和動畫,可提升影片的整體外觀。使用 Filmora,您可以輕鬆製作出專業水準的影片。

操作步驟

以下是使用 Filmora 合併影片的方法:

步驟一:打開 Filmora 軟體,然後點擊「新專案」。

filmora新專案

步驟二:在 Filmora 介面上,前往「檔案」>「導入體」>「導入媒體檔」將素材新增至 Filmora 的媒體庫中。

filmora導入檔案

步驟三:從媒體庫中選擇您要合併的影片檔案。將所選檔案拖放到時間軸中,安排它們的順序和連續播放方式,以完成影片的合併。

filmora新增媒體

步驟四:編輯您的影片。

filmora編輯影片

步驟五:完成影片編輯後,點擊介面上的「導出」以儲存影片。

filmora匯出影片

結論

FFmpeg 是一個功能強大的工具,可以以多種方式合併影片,無論是處理具有相同編解碼器和解析度的影片,還是帶有多個音訊串流的影片,FFmpeg 都能勝任。然而,對於影片編輯新手或不熟悉命令列工具的使用者來說,使用 Filmora 可能更為方便。Filmora 提供了直覺易用的拖放介面,並擁有各種功能和效果,可以高效增強影片的整體品質。

Arvin Alejandro
Arvin Alejandro Aug 20, 24
分享文章: