Kombinieren Sie Audio- und Videodatei, ohne eine dritte Datei zu erstellen

wenn das hier der falsche Ort ist, um das zu posten, lass es mich wissen.

Ich möchte ein sehr großes Video (9,1 GiB) von YouTube auf mein Gerät herunterladen und habe dafür ~10 GB freien Speicherplatz.
Da es sich um YouTube handelt, muss ich Video und Audio separat herunterladen und anschließend kombinieren. Normalerweise würde ich das mit ffmpeg machen. Ich müsste es das kombinierte Video in einer neuen ~ 9,1-GiB-Datei erstellen lassen, da es seine Eingabe nicht überschreiben kann. Die reine Videodatei ähnlicher Größe muss während des gesamten Vorgangs vorhanden sein.
Das Problem ist: Ich kann keine 2 9,1-GiB-Dateien speichern, sondern nur eine.

Die möglichen Lösungen wären, die Nur-Video-Datei zu bearbeiten, um einen Audiostream zu haben, oder ein superintelligentes Puffersystem zu haben, das die Teile der Nur-Video-Datei löscht, die bereits in die neue Datei kopiert wurden.

Gibt es ein Programm, das das kann, oder kennen Sie eine andere Lösung für dieses Problem?
-Atemu

(Sorry für mein schlechtes Deutsch)

Es gibt keine Möglichkeit, zwei Dateien zu kombinieren, ohne zumindest vorübergehend eine dritte Datei zu erstellen. Aber ich verstehe nicht, warum Sie denken, dass Sie dies tun müssen - Sie können doch sicher nur eine kombinierte A/V-Datei herunterladen?
Alles über 720p 30 fps h264 .mp4 und vp8 .webm wird als reine DASH-Video- und Audiodateien auf YouTube gespeichert. Führen youtube-dl -F someyoutubevideolinkSie es aus, wenn Sie es selbst überprüfen möchten.
Mit einem Tool wie JDownloader 2 scheine ich in der Lage zu sein, jedes Video als kombinierte A/V-Datei zu d/l. Vielleicht habe ich die Dateien, auf die Sie sich beziehen, nicht gefunden: Können Sie einen bestimmten Link angeben?
jedes YouTube-Video, das in Full HD oder höher ist youtube.com/watch?v=iNJdPyoqt8U . Ich vermute, JDownloader kombiniert sie automatisch
Nein, funktioniert so wie es ist. Es gibt einen direkten Link zur 2160p .MP4-Datei. Es ist 667 MB groß. Probieren Sie JDownloader 2 aus, es ist kostenlos.
jd wird mit einer Kopie von ffmpeg geliefert und muxt die DASH-Streams nach dem Download.

Antworten (1)

Ich habe eine Lösung für mein Problem gefunden:

Ffmpeg kann einen HTTP-Stream als Eingabe verwenden:

ffmpeg -i YoutubeVideoOnlyURLHere -i YoutubeAudioOnlyURLHere -c copy -map 0:0 -map 1:0 Path/to/outputFile.mp4

Sie können die benötigten URLs von erhalten
youtube-dl -f bestvideo,bestaudio --get-url https:www.youtube.com/watch?v=XXXXXXXXXXX