ffmpeg: Warum ist meine Aufnahmegeschwindigkeit gesunken? (kann nicht mehr mit demselben Befehl aufnehmen)

Ich habe in den letzten zwei Monaten mit meiner Blackmagic Intensity Pro 4K-Aufnahmekarte den folgenden Befehl zum Aufnehmen von Videos mit ffmpeg verwendet:

ffmpeg -bm_v210 1 -rtbufsize 1500M -threads 4 -f decklink -i "Intensity Pro 4K@20" -c:a copy -c:v prores -profile:v 1 movie1.mov

Dies war in Ordnung, obwohl ich gelegentlich eine "Decklink-Eingabepufferüberschreitung" erhalte! Fehler, in diesem Fall muss ich die Aufnahme neu starten.

Seit gestern erhalte ich jedoch die Meldung "Desklink Input Buffer Overrun!" Fehler jedes Mal.

[decklink @ 0000000002552cc0] Decklink input buffer overrun!bitrate=479405.2kbits/s speed=0.849x
    Last message repeated 1 times
[decklink @ 0000000002552cc0] Decklink input buffer overrun!bitrate=480001.5kbits/s speed=0.842x
    Last message repeated 8 times
[decklink @ 0000000002552cc0] Decklink input buffer overrun!bitrate=480685.0kbits/s speed=0.842x
    Last message repeated 15 times

Es sieht also so aus, als wäre meine SSD nicht mehr schnell genug, um die Daten zu schreiben – aber warum? Die letzten zwei Monate hat es gut funktioniert.

Ich nehme auf eine Sandisk Extreme Pro SSD (960 GB) auf. Auf dem Laufwerk sind nur 10 GB Daten gespeichert. Ich habe TRIM vor einem Moment manuell ausgeführt, aber das hat nicht geholfen. Das SanDisk SSD-Dashboard zeigt an, dass die Lebensdauer „99 %“ beträgt.

Ich habe auch OneDrive, Dropbox und alle andere Software, die ich finden konnte, deaktiviert, die während der Erfassung auf das System schreiben könnte.

Ersetzen Sie movie1.movdurch -map 0 -f null -, um zu sehen, ob es mit der Festplatte zusammenhängt. Hinweis: Es wird keine Datei gespeichert, dies dient also nur zu Testzwecken.
@Mulvya Wenn ich den Ersatz mache, erhalte ich den gleichen Fehler. Was bedeutet das?
Weitere Informationen: Wenn ich in dnxhr (hq) anstelle von prores (lt) aufnehme, funktioniert dnxhr, obwohl die dnxhr-Bitrate ~ 850000 kbit / s gegenüber ~ 450000 kbit / s für prores beträgt, dnxhr, aber nicht prores.
Was ist deine ffmpeg-Version?
3.2.0. Die Builds von 3.2.2 oder 3.2.4 können nicht verwendet werden, da das Flag "enable_decklink" nicht aktiviert ist, sodass die Capture-Karte nicht funktioniert.

Antworten (1)

Da es auch mit passiert -f null, aber nicht mit einem anderen Codec, ist die CPU-Last beim Capturen eine mögliche Erklärung. Sie haben es in Ihrer Frage nicht erwähnt. Gibt es einen bestimmten Grund für die Verwendung -threads 4? Versuchen Sie, diese Zahl zu erhöhen oder den Parameter wegzulassen.