Hardware-Encoding via FFMPEG

  • Hallo LPF-Community,

    meine Frage hat nichts mit Let's Plays per sé zu tun, da hier aber viele Experten auf dem Gebiet FFMPEG unterwegs sind, würde ich meine Frage trotzdem gerne hier stellen.


    Zuerst, meine Hardware:


    Ich habe viel Rohmaterial (unkomprimierte AVI) und möchte dieses komprimieren, bevor es auf meine externen Festplatten geht.

    In der Vergangenheit habe ich schon mit FFMPEG gearbeitet, habe damit gute Erfahrungen gemacht und besitze gefährliches Halbwissen.

    Jetzt habe ich einige Videodateien, die auch eine gewissen Länge haben (30 Minuten aufwärts), die ich gerne via Hardware-Encoding komprimieren möchte, Zwecks Schnelligkeit.


    Nach einer kleinen Google-Suchaktion habe ich mir folgenden Befehl zusammengebaut:

    Code
    ffmpeg -i input.avi -c:v h264_nvenc -b 14000000 -c:a copy output.mp4

    Ich weiß, MP4s sind hier nicht gerne gesehen, sie erfüllen aber voll meinen Zweck.

    Der ganze Befehl ist kein Hexenwerk. Ich habe eine unkomprimierte 1080p/60FPS AVI, die soll schnell in eine kleinere MP4.

    Allerdings bekomme ich lediglich eine Startgeschwindigkeit von 2.X - diese sinkt ziemlich schnell auf 1.0, sodass quasi "Realtime" codiert wird.

    Warum geht das nicht schneller bzw. wo liegt mein Fehler?


    Ein Videobearbeitungsprogramm habe ich nicht mehr, wäre für meine momentanen Bedürfnisse auch vollkommen overkill.

    Vor Jahren habe ich aber mit Premiere und Resolve gute und schnelle Encodiervorgänge gehabt. Vor allem Resolve ist bei mir diesbezüglich in guter Erinnerung. Habe dort aber auch nur mit NVENC encodiert.

    Hatte zuerst meine 6 Jahre alte HDD im Verdacht. Habe den Output also mal auf meine interne SSD schreiben lassen - selbiges Problem.


    Solltet ihr mehr Infos brauchen, lasst es mich wissen.

    Über Tipps würde ich mich sehr freuen.

    Grüße!

  • Steht denn im Taskmanager unter Leistung - GPU der GPU Video Encode auf 100%?

    Wenn ja dann geht es nicht schneller


    Zwecks besserer Effizienz würde ich bei NVEnc auf H.265 setzen und ich würde auch eher b:v 0 und -cq 19 nehmen statt bitrate.

    MKV ist ein in allen Belangen besserer Container und wird eigentlich mittlerweile auch von allen Fernsehern und Handys unterstützt. Gibt halt eig. wenig gründe noch für mp4.


    Ist die AVI denn wirklich unkomprimiert, oder doch eher in einem verlustfrei komprimierendem Codec? Weil unkomprimiert wäre ja horrormäßig groß und da sehe ich dann schon den Flaschenhals bei der Lesegeschwindigkeit (eher nicht auf die schreibgeschwindigkeit, da hat man ja nicht viel zu tun bei deiner bitrate.

  • Hey, De-M-oN,

    danke für deine Antwort.


    Steht denn im Taskmanager unter Leistung - GPU der GPU Video Encode auf 100%?

    Nein, tut sie nicht. Sie variiert im 40er-Bereich.

    Mir ist dabei aber aufgefallen, dass meine Festplatte während des Encodiervorganges bei 100% Auslastung ist. Möglicherweise liegt dort das Bottleneck.


    Zwecks besserer Effizienz würde ich bei NVEnc auf H.265 setzen und ich würde auch eher b:v 0 und -cq 19 nehmen statt bitrate.

    Stimmt, mit H.265 werden die Dateien nochmals kleiner. Und danke, dass du gleich ein paar Parameter mitgeliefert hast. Mein letzter Stand ist, dass H.265 lediglich über die CPU encodiert. Stimmt das (noch)?


    MKV ist ein in allen Belangen besserer Container und wird eigentlich mittlerweile auch von allen Fernsehern und Handys unterstützt. Gibt halt eig. wenig gründe noch für mp4.

    Ist wahrscheinlich die gute alte Gewohnheit. Was nicht heißt, dass es deswegen noch gut ist. Das Endprodukt wird sowieso zu 99% auf einem Rechner angeschaut werden. Da kann man dann wirklich auch MKV nehmen. Und mein Handy unterstützt es ebenfalls. Ich werde das in Erwägung ziehen.


    Ist die AVI denn wirklich unkomprimiert, oder doch eher in einem verlustfrei komprimierendem Codec? Weil unkomprimiert wäre ja horrormäßig groß und da sehe ich dann schon den Flaschenhals bei der Lesegeschwindigkeit (eher nicht auf die schreibgeschwindigkeit, da hat man ja nicht viel zu tun bei deiner bitrate.

    Bei einem Teil der besagten Videos handelt es sich um selbst aufgenommene Online-Vorlesungen aus meinen Uni-Zeiten. Damals war es noch vor Covid. Die Vorlesungen wurden via Livestream übertragen aber weder gespeichert noch zum Download angeboten. Ich dachte mir, hilfst du dir einfach selber: Bandicam + Desktopaufnahme + MagicYUV Codec. Diesen Codec, da die Streamingqualität schon miserabel war und ich die nicht noch weiter verhunsen wollte. 1080p, weil damalige Auflösung meines Monitors. 60FPS, weil ich scheinbar naiv/dumm war, trotz Student-Sein. Ob die daraus resultierenden AVIs "wirklich unkomprimiert" oder "in einem verlustfrei komprimierenden Codec" sind, mag ich mit meinem WIssen nicht zu beurteilen. Das überlasse ich gerne dir.


    Wie gesagt, der Task-Manager hat mir offenbart, dass meine alte HDD komplett ausgelastet ist. Die Lese- und/oder Schreibgeschwindigkeit scheint da einfach nicht mitzukommen. Ob sich deswegen eine SSD lohnt, weiß ich noch nicht. Habe momentan nur eine SSD im Rechner - zum Booten. Auf lange Sicht wahrscheinlich, da SSDs (in meinen Augen) die Zukunft sind. Aber wenn du, oder jemand anderes, noch eine andere Idee hast, lass' es mich gerne wissen.


    Grüße!

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!