Verknüpfen von ogg-Videodateien von der Befehlszeile aus

4500
Noufal Ibrahim

Okay. Ich habe ein paar ogg-Dateien, die ich mit einem Desktop-Aufnahme-Tool erstellt habe . Ich habe sie ffmpegeinmal konvertiert (hauptsächlich um die Anfänge und die Enden herauszuschneiden).

Jetzt habe ich 3 solcher Dateien, die ich zu einer einzigen .ogvDatei zusammenfassen möchte . Ich habe versucht es zu benutzen oggCat, es stürzte mit irgendeiner Art von Fehler ab (ich habe versucht, eine Datei mit sich selbst zu verketten, oggCatund das scheiterte zu sehr und ich konnte nicht glauben, dass meine Distribution eine defekte Version des Pakets liefert). Einfach catdie Dateien zu bearbeiten, aber ich kann nicht suchen, was nicht cool ist. mencoderso laufen mencoder -ovc lavc -oac lavc file1.ogv file2.ogv file3.ogv -o complete.ogv. Es transkodiert die Dateien in eine aviund schneidet etwas von den 3 Videos ab.

Wie mache ich das?

Update 1: Meine aktuelle Problemumgehung ist die 3 - Dateien in umcodieren .mpgmit ffmpeg, dann cating sie zusammen und dann Umcodieren sie wieder in ogv.

Update 2: PiTiVi funktioniert für solche Dinge, aber ich benötige etwas von der Befehlszeile, das ich automatisieren und Skripte erstellen kann.

18
@ böse, was fehlt in der aktuellen Antwort? soandos vor 12 Jahren 0
@ böse, aber Sie wollen genau die gleichen Funktionen, aber einen anderen Namen? oder gibt es einen funktionalen unterschied, nach dem Sie suchen. Ich stimme nicht zu, dass das OP dies verlangt hat. Er wollte, dass seine Dateien verkettet wurden, und oggCat funktionierte nicht. Nun ist es so, also folge ich nicht, was fehlt. soandos vor 12 Jahren 0
@soandos: Die ursprüngliche Frage war "oggCat funktioniert nicht für mich, gibt es eine Alternative?" und obwohl der Fragesteller es zum Laufen gebracht hat, könnte es nützlich sein, mögliche Alternativen wie ursprünglich erwartet zu finden. vor 12 Jahren 0
@ böse, es 1) ist jetzt behoben (siehe letzter Kommentar zu meiner Antwort) und 2) Ich kann den Kommentar, den Sie zitieren, nicht finden. soandos vor 12 Jahren 0
Meine Hauptabsicht bestand darin, die Videos verketten zu lassen. Als die Antworten aufkamen, entfernte ich mich von ogv und interessierte mich nicht wirklich für die Frage. Ich habe ausdrücklich erwähnt, dass ich oggCat nicht verwenden wollte, weil es für mich nicht funktionierte, als ich die Frage stellte. Noufal Ibrahim vor 12 Jahren 1
@Noufal: Ich reproduziere einen Fehler auf Ubuntu 12.04 mit dem Fehler "OggRingbuffer :: getNextPageLength: ERROR" ogg-Paket nicht ausgerichtet ". [Launchpad-Problem hier] (https://bugs.launchpad.net/ubuntu/+source/oggvideotools/+bug/944444), in 12.10 behobene Ansprüche. In welchem ​​System bist du? Ciro Santilli 新疆改造中心 六四事件 法轮功 vor 10 Jahren 0

4 Antworten auf die Frage

9
soandos

Ogg Video Tools scheint das zu tun, was Sie suchen.

Kurze Beschreibung:

Manchmal wäre es schön, zwei oder mehr Videodateien zu verketten. Dazu können Sie oggCat verwenden, das aus den angegebenen Dateien eine fortlaufende Ogg-Videodatei erstellt.

# oggCat newFile.ogv file1.ogv file2.ogv [ file3.ogv [...] ]

Hinweis: Die Videodateien müssen in Framerate, Keyframe-Abstand, Framegröße usw. übereinstimmen.

Mehr hier und hier .

In meiner Frage habe ich meine Erfahrungen mit oggCat erwähnt. Hat nicht funktioniert, als ich versuchte, die Datei mit sich selbst zu verketten. Noufal Ibrahim vor 12 Jahren 2
Haben Sie versucht, das Paket direkt herunterzuladen? Und was war der Fehler? soandos vor 12 Jahren 0
Ich habe es aus dem Quellcode kompiliert. Ich bekam einen sehr großen Hexdump und dann einen Segfault. Noufal Ibrahim vor 12 Jahren 1
[this] (http://sourceforge.net/projects/oggvideotools/files/oggvideotools/oggvideotools-0.8a/oggvideotools-0.8a.tar.gz/download) datei? Möglicherweise möchten Sie eine frühere Version ausprobieren, falls dies fehlschlägt. soandos vor 12 Jahren 0
Nicht sicher, ob dies für Sie von Nutzen ist, aber die heruntergeladene binäre Version funktioniert. soandos vor 12 Jahren 1
Es sieht so aus, als gäbe es spezifische Patches von Debian, die das Ganze durcheinander gebracht haben. Es scheint zu funktionieren, wenn ich es direkt aus dem Quellcode kompiliert habe. Vielen Dank. Streitpunkt jedoch Die meisten meiner Betrachter haben Probleme beim Anzeigen von ogv-Dateien und so wechselte ich zu webM und flv. Noufal Ibrahim vor 12 Jahren 0
5
evilsoup

Ich würde dafür den Concat-Demuxer von ffmpeg verwenden (erfordert eine aktuelle Version von ffmpeg).

Erstellen Sie zuerst eine Datei namens inputs.txt (oder einen beliebigen Namen), die folgende Zeilen enthält:

file '/path/to/input1.ogv' file '/path/to/input2.ogv' file '/path/to/input3.ogv' 

Beachten Sie, dass dies ein relativer oder ein absoluter Dateipfad sein kann. Wenn sich alle Dateien in demselben Verzeichnis befinden und in einem Muster benannt sind, das input1.ogv, input2.ogv ... ähnelt, können Sie eine for-Schleife zum Generieren von inputs.txt verwenden:

rm inputs.txt; for f in input*.ogv; do echo "$f" >> inputs.txt; done 

Nachdem Sie Ihre Datei erstellt haben, können Sie die ogv-Dateien verlustfrei wie folgt verketten:

ffmpeg -f concat -i inputs.txt -c copy output.ogv 
Ich war mir dessen nicht bewusst. Vielen Dank. Noufal Ibrahim vor 11 Jahren 0
Heh, fand diese Antwort gleich nachdem ich das selbst herausgefunden hatte. Die oggCat-Lösung funktionierte für mich aufgrund einiger merkwürdiger Fehler nicht. Das hat gut funktioniert .. Jindra Helcl vor 9 Jahren 0
1

http://www.xiph.org/oggz/ hat eine Funktion,

  • merge Ogg-Dateien zusammenführen, Seiten nach Reihenfolge der Darstellung verschachteln.

Bearbeiten: Dies macht nicht das, was Sie möchten, da Sie ein Video nach dem anderen abspielen möchten.


http://sox.sourceforge.net könnte auch funktionieren, die Syntax ( http://sox.sourceforge.net/sox.html ):

 sox infile1 infile2 outfile 

Bearbeiten: Dies behandelt nur Audio.


Sie könnten versuchen , die oggvideotools zu kompilieren und zu sehen, ob oggCat dann funktioniert.

Edit: das hat für dich funktioniert ...


Sie können unter http://sourceforge.net/projects/oggvideotools/support nach den Problemen mit Ihrer Distribution fragen, einschließlich des Textes der Fehlermeldungen, die Sie erhalten, wenn Sie 1) die Binärdatei ausführen, die Sie aus Ihren Distributions-Repositorys 2) kompilieren 3) Führen Sie die kompilierte Version aus.

Bearbeiten: Sie suchen nach alternativen Programmen, um die Verkettung durchzuführen.


Versuchen Sie, mkvtoolnix zu verwenden, um ogg-Dateien in einem einzigen mkv zu verketten, und extrahieren Sie dann ogg mit demselben Tool

Das Zusammenführen unterscheidet sich von der Verkettung und macht nicht das, was ich will. Sox ist nur Audio und verarbeitet keine Videos. Noufal Ibrahim vor 12 Jahren 1
Es "* verschachtelt * Seiten in der Reihenfolge der Präsentationszeit". Ich möchte verketten. Einer sollte nach dem anderen spielen. Noufal Ibrahim vor 12 Jahren 1
Da dies die einzige Antwort ist, denke ich, dass Stack Exchange die Prämie erhält, obwohl sie die Frage überhaupt nicht beantwortet. Noufal Ibrahim vor 12 Jahren 1
Ich habe das schon probiert. Noufal Ibrahim vor 12 Jahren 0
Ich kann eines dieser Tools "behoben" bekommen, indem ich in den entsprechenden Mailinglisten nach Issue-Trackern frage. Ich suche nach Alternativen zu denen, die ich angegeben habe. Noufal Ibrahim vor 12 Jahren 1
Ich versuche mkvtoolnix, obwohl ich etwas wie "oggCat" vorziehen würde, das tatsächlich funktioniert. Ich habe Ogg allerdings aufgegeben. Viele Leute scheinen es nicht zu spielen. Ich habe auf Webm und einen FLV-Fallback gewechselt. Noufal Ibrahim vor 12 Jahren 1
1
Shane Wealti

Have you tried using PiTiVi? Place the three clips sequentially on the timeline and then save the result as one file.

Ja, aber es ist keine Befehlszeile. Ich kann dies nicht mit einem Skript automatisieren, wenn ich PiTiVi verwende. Noufal Ibrahim vor 12 Jahren 0
Ich habe den Punkt jetzt in meiner Frage erwähnt. Noufal Ibrahim vor 12 Jahren 1