So hängen Sie 2 Videodateien an

834
Maxime

Gibt es eine Möglichkeit, eine Videodatei an eine andere anzuhängen?

Ich habe eine sehr große Datei (2 GB), an die ich einige kleine Dateien (~ 4 MB) anhängen möchte. Sie haben alle das gleiche Format.

Es ist einfach, mehrere Dateien beispielsweise mit ffmpeg zusammenzustellen, aber die gesamte Datei wird jedes Mal geschrieben (dh 2 GB + 4 MB werden jedes Mal auf die Festplatte geschrieben, wenn der ursprünglichen Datei nur 4 MB hinzugefügt werden). Ich versuche, all diese zusätzlichen Festplatten-IOs zu vermeiden, indem Sie einen Befehl verwenden, der nur die 4 MB-Dateien anhängen würde. Irgendeine Idee, wie das geht?

1
Darf ich fragen, warum Sie sich in dieser Situation befinden? Warum müssen Sie immer kleine Dateien anhängen? slhck vor 10 Jahren 0
Ich mache das HLS-Streaming andersherum: Ich versuche, die Videodatei aus allen Videoteilen neu zu erstellen. Am Anfang ist es in Ordnung, da die Datei nicht so groß ist, aber nach dem Zusammenfügen von mehr als 400 Teilen wird die endgültige Videodatei sehr groß und die Festplatte kann im Vergleich zu der Geschwindigkeit, mit der die neuen Teile angezeigt werden, nicht mithalten. vor 10 Jahren 0
Sie können _MIGHT_ in der Lage sein, die kleine Datei einfach auf die große Datei zu übertragen (gemäß http://ffmpeg-users.933282.n4.nabble.com/Concatenating-mp4s-Quickly-td4658396.html dies kann für einige Dateiformate funktionieren.) . Dazu können Sie FILE2.mpg >> FILE1.mpg aufrufen (wodurch der Inhalt von FILE2.mpg an das Ende von FILE1.mpg angehängt wird). Versuchen Sie es nicht mit Live-Dateien, bis Sie zufrieden sind, dass es funktioniert. davidgo vor 10 Jahren 0
Sie haben recht. Die Neuscodierung der Dateien in einem Format, das die cat-Methode unterstützt, ist wahrscheinlich der beste Weg. Ich versuche es und ich sage Ihnen, ob es funktioniert. Maxime vor 10 Jahren 0
... wenn es das Ziel ist, zusätzliche Dateien (oder zusätzliche E / A) zu vermeiden, scheint mir das Umcodieren oder Remuxen alles kontraproduktiv zu sein. Verwenden Sie einfach eine der zahlreichen [Verkettungsoptionen] von ffmpeg (http://ffmpeg.org/trac/ffmpeg/wiki/How%20to%20concatenate%20%28join%2C%20merge%29%20media%20files). evilsoup vor 10 Jahren 0
Die Verkettung von ffmpeg versuche ich zu vermeiden. Wie in meiner Frage erwähnt, schreibt sie die gesamte Datei leider neu, anstatt sie an die bereits vorhandene Datei anzuhängen. Tatsächlich werden bei allen Tools, die ich bisher ausprobiert habe (ffmpeg, avidemux, mencoder), immer eine Ausgabedatei angefordert, die dies nicht kann das gleiche wie bei der Eingabe, und deshalb schreibt sie die ganze Datei immer wieder neu ... Ich suche verzweifelt nach einer echten "Anfügen" -Funktion und nicht nach einer "Join" -Funktion. Maxime vor 10 Jahren 0
Hmm ... Ich denke, Mkvmerge oder MP4box * haben vielleicht das, wonach du suchst ... Ich kenne sie nicht gut genug, um eine tatsächliche Antwort zu geben, aber es lohnt sich vielleicht, sie anzusehen. evilsoup vor 10 Jahren 0
Dieser Artikel ist lesenswert, es gibt einen Vorschlag, eine FIFO-Datei zu verwenden und die schwere Arbeit vom Server zu erledigen. [DIY http streaming] (http://www.onvos.com/http-live-streaming-howto.html) X Tian vor 10 Jahren 0

0 Antworten auf die Frage