Terminal-Tool zum Verbinden von MP4-Videos

14

Ich möchte mp4-Videos beitreten, wie ich pdfs von beitrete pdfjoin.

Gibt es ein Standardwerkzeug zum Verbinden von Videos?

Léo Léopold Hertz 준영
quelle

Antworten:

15

Ja, Sie können mehrere Videos mit Standard-Terminalbefehlen zu einer Datei zusammenfügen. Mit einem einfachen catWillen wollen Sie wollen.

cat video1.avi video2.avi videon.avi > output.avi

Es gibt ein großes, aber hier - diese Methode gibt den video1.avi-Header auf output.avi aus. Daher ist der Header von output.avi derselbe wie video1.avi. Bei den meisten Videoplayern sieht es also so aus, als ob video2.avi und videon.avi verloren gehen - Quelle 1 , Quelle 2 .

Um dies zu beheben, benötigen Sie zusätzliche Tools. Es gibt viele andere Terminal-Tools zum Verbinden von Filmen, die auch den Header aktualisieren. Die bekanntesten Videobearbeitungswerkzeuge sind Mencoder (ein Teil von MPlayer) und ffmpeg . Beide haben eine enorme Menge an Optionen und Einstellungen und es ist jenseits dieses Forums, auf viele Details einzugehen, aber ich werde die folgenden kurzen Befehle geben.

Die Verwendung und Installation von Mencoder oder ffmpeg kann einschüchternd sein, aber die Videobearbeitungsfunktionen sind die leistungsstärksten, die mir bisher begegnet sind. Da die Installation von der Quelle für native OS X-Benutzer problematisch sein kann, empfehle ich Ihnen, Homebrew zu verwenden .

Führen Sie diesen Einzeiler in Ihrem Terminal aus, um diese Tools mit Homebrew zu installieren :

ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)"

Homebrew ist jetzt installiert. Es ist ratsam, den Vorschlägen des Installationsprogramms nach der Installation zu folgen. Jetzt installieren wir ffmpeg und mencoder mit brew.

brew install ffmpeg mplayer

Jetzt können wir Mencoder verwenden, um die beiden Videos zusammenzuführen:

mencoder -oac copy -ovc copy -idx -o output.mp4 video1.mp4 video2.mp4 video3.mp4

Oder wir können ffmpeg verwenden, um die beiden Videos zusammenzuführen:

 ffmpeg -i concat:"video1.mp4|video2.mp4" -codec copy output.mp4

Sie fragen speziell nach MP4-Dateien. mp4Wenn es sich um ein Containerformat handelt, ist es möglich, dass die Standardinstallation von ffmpegoder standardmäßig mencodernicht die richtigen Codierungs- / Decodierungspakete ('Codecs') enthält und dass Sie diese separat installieren müssen. Das geht aber über den Rahmen dieses Themas hinaus.

CousinCocaine
quelle
Beachten Sie, dass Sie möglicherweise das Zeichen "|" Das ist etwas Besonderes für viele Shells, also ffmpeg -i concat: video1.mp4 \ | video2.mp4
CousinCocaine
2
Die Verwendung von einfachen Anführungszeichen ('') ist möglicherweise einfacher als das Entkommen des Pipe-Zeichens. In dem in der Antwort verwendeten Befehl spielt es keine Rolle.
Nohillside
Sehr gute Antwort mit klarer Erklärung. Vielen Dank!
Léo Léopold Hertz 8
2
Versucht, Homebrew mit dem Terminal-Befehl wie in dieser Antwort beschrieben zu installieren und bekam "The requested URL returned error: 400 Bad Request". Wie pro Homebrew Webseite , die neue Terminal - Befehl/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Sparky
@Sparky finden Sie unter brew.shInstallationsanweisungen.
CousinCocaine