
Ich versuche, mehrere Videodateien mit ffmpeg zu kürzen und zu verketten. Diese Videos wurden bereits mit H.264 bei einer Auflösung von 720p transkodiert. Beim Ausführen des Befehls tritt jedoch der folgende Fehler auf.
[aost#0:1/copy @ 0x55728055fe00] Fehler beim Senden eines Pakets an den Muxer: Speicher kann nicht zugewiesen werden+03x
Letzte Meldung 1 Mal wiederholt [out#0/mp4 @ 0x55727ff66f80] Fehler beim Multiplexen eines Pakets [out#0/mp4 @ 0x55727ff66f80] Aufgabe beendet mit Fehlercode: -12 (Speicher kann nicht zugewiesen werden) [out#0/mp4 @ 0x55727ff66f80] Thread wird mit Rückgabecode -12 beendet (Speicher kann nicht zugewiesen werden) [out#0/mp4 @ 0x55727ff66f80] Fehler beim Schreiben des Trailers: Speicher kann nicht zugewiesen werden
Mein Befehl ist:
ffmpeg -hwaccel cuda -v error -stats -y -i input1.mp4 -i input2.mp4 -i input3.mp4 -i input4.mp4 -stream_loop -1 -i audio.mp3 -filter_complex '[1:v]trim=start=1371:end=1384,setpts=PTS-STARTPTS[v1];[2:v]trim=start=3471:end=3484,setpts=PTS-STARTPTS[v2];[0:v][v1][v2][3:v]concat=n=4:v=1:a=0[v]' -map '[v]' -vsync 2 -map 4:a:0 -c:a copy -c:v h264_nvenc -preset fast -f mp4 output.mp4
Kann mir jemand helfen? Außerdem frage ich mich, ob die Verwendung von CUDA den Vorgang beschleunigen kann.
Antwort1
Ich konnte das Problem lösen, indem ich die Aufgabe auf zwei separate Befehle aufteilte: Zunächst schneide ich die Videos mit dem Trimmfilter zu, speichere sie einzeln und füge die zugeschnittenen Videos anschließend zusammen.