Wie kann ich Teile eines mpeg-Videos von der Linux-Befehlszeile aus trimmen oder löschen?

7613
dggoldst

Ich habe einen langen mpeg-Film und möchte am Anfang und Ende eine Menge Material ausschneiden, und in der Mitte einige Patches. Gibt es eine Möglichkeit, wie ich dies leicht von der Linux-Befehlszeile aus tun kann?

5

2 Antworten auf die Frage

7
dggoldst

Das Werkzeug für den Job ist mpgtx (falls nicht installiert, versuchen Sie es zB mit sudo apt-get install mpgtx).

Nehmen wir an, Ihre Datei heißt input.mpg und Sie möchten output.mpg erstellen. Hier finden Sie einige allgemeine Aufgaben

Wählen Sie Segmente aus einem mpeg-Film aus und erstellen Sie daraus einen neuen mpeg-Film

// Nimm die Sekunden 10-20, 42 bis 52, dann 1:23 bis 1:33 und mache einen neuen mpeg-Film

mpgtx -j input.mpg [0:10-0:20] [0:42-0:52] [1:23-1:33] -o output.mpg 

Hinweis: mpgtx -j entspricht mpgjoin. Hinweis: Sie müssen es über sudo apt-get install mpgtx installieren

Wählen Sie am Anfang oder Ende eines mpeg-Films

// Holen Sie sich die ersten 20 Sekunden, Sekunden 42 bis 52, dann 1:23 bis zum Ende. ***

mpgtx -j input.mpg [-0:20] [0:42-0:52] [1:23-] -o output.mpg 

Teilen Sie einen mpeg-Film in mehrere Dateien mit benutzerdefinierten Längen

// Teilt die Minuten 1-2 und 3-4 in zwei Dateien auf (out-1.mpg und out-2.mpg)

mpgtx -s input.mpg [1:00-2:00] [3:00-4:00] -b out 

Brechen Sie einen mpeg-Film in gleich lange Stücke

// Teilt einen Film in 5 gleich lange Teile mit den Namen out-1.mpg, out-2.mpg, ..., out-5.mpg

mpgtx -5 input.mpg -b out 

Verketten oder verbinden Sie mehrere mpeg-Videodateien von der Befehlszeile aus

mpgtx -j file1.mpg file2.mpg file3.mpg -o output.mpg 

Eine Datei neu codieren, wenn die Timings deaktiviert sind

Möglicherweise sind die Timings aufgrund der Funktionsweise von mpgtx (die auf einer Gruppe von Bildern basiert) nicht sehr genau. Ich habe festgestellt, dass das erneute Kodieren des mpeg mit konstanter Bitrate zu Dateien führt, die dann mit der obigen Methode sehr genau aufgeteilt werden können. Ein einfacher Umcodierungsaufruf lautet wie folgt.

// Bei einer konstanten Bitrate von 2250k erneut codieren

ffmpeg -i input.mpg -b 2250k -minrate 2250k -maxrate 2250k -bufsize 1000k output.mpg 

Hinweis. ffmpeg kann viel von dem, was mpgtx kann, tun, aber letzteres macht es viel einfacher, mehrere Schnitte anzugeben (und Sie können die Eingabe in Start- und Endzeit eingeben, im Gegensatz zu Start- und Dauer). Ffmpeg ist jedoch ein toller Begleiter. Ich finde, das Konvertieren von AVIs in mpeg mit ffmeg, dann ist das Aufteilen mit mpgtx das schnellste Mittel, um die Arbeit zu erledigen.

Weitere Informationen finden Sie in den Manpages zu mpgtx und ffmpeg (sowie auf der Online-Hilfeseite http://ffmpeg.org/ffmpeg-doc.html ).

3
Shawn Chin

Sie könnten es mit ffmpeg versuchen. Siehe http://www.joeldare.com/wiki/video:cut_video_with_ffmpeg

Schneiden Sie Teile des Films aus, den Sie behalten möchten, und fügen Sie sie dann zusammen, um den endgültigen Film zu erhalten (Videos beitreten: http://ffmpeg.org/faq.html#SEC30 )

Dokumentation zu weiteren ffmpeg-Optionen finden Sie hier: http://ffmpeg.org/ffmpeg-doc.html