ffmpeg Script

  • Guten Abend
    Ich wollte das Rendern ein bisschen mehr automatisieren und habe dieses folgende Problem: ich möchte gerne mein Material NUR komprimieren (keine Schnitte & Effekte) – so schnell wie möglich, ohne in ein 2 anderes Programm gehen zu müssen usw... Nur mit einem Klick - möglichst per Batch. Außerdem würde ich gerne die Vearbeitungszeit bei YouTube verkürzen ->> ich möchte gleich die Einstellungen verwenden, die von YouTube empfohlen werden. Und das Ganze mit Ffmpeg (kann auch etwas ähnliches sein). Ist da jemand, der sich damit auskennt?


    Ziel:
    ~ möglichst kleine Dateigröße
    ~ nur ein Mausklick (per Batch)
    ~ von YouTube empfohlene Einstellungen (https://support.google.com/youtube/answer/1722171?hl=de)

    Ffmpeg hat ein Beispielcode auf seiner Seite. Was sagt ihr dazu?
    ffmpeg -i input.mov -c:v libx264 -preset slow -crf 18 -c:a libvorbis -q:a 5 -pix_fmt yuv420p output.mkv


    Meine OBS Settings (x264): OBS Studio - Verlustfreie Aufnahme & Sammelthread

  • Außerdem würde ich gerne die Vearbeitungszeit bei YouTube verkürzen ->> ich möchte gleich die Einstellungen verwenden, die von YouTube empfohlen werden.

    Bewirkt genau gar nichts, außer dass deine Videos schlechter aussehen werden. YouTube wird die Videos so oder so nochmal verarbeiten, ob du das willst oder nicht. Diese "empfohlenen Einstellungen" kannst du gleich wieder vergessen. Die sind nur da, damit YouTube nicht ständig mit Anfragen überhäuft wird, wie man denn seine Videos kodieren solle.


    Und das Ganze mit Ffmpeg (kann auch etwas ähnliches sein).

    Würde FFmpeg weglassen und direkt x264 nutzen, so wie es in MeGUI mitgeliefert wird. Via Drag'n'Drop das Video in einer Batch verarbeiten lassen, wo ein minimalistisches Script erstellt und an x264 weitergeleitet wird.

  • Ich hatte auch mal so ein ähnliches Unterfangen und hatte ein passendes ffmpeg-Skript (oder vielmehr einen Kommandozeilenbefehl), allerdings ist mir dann erst klargeworden, wie nützlich eine Warteschlangenfunktion ist! Und die bietet meines Wissens (aber bitte korrigiert mich hier) weder ffmpeg noch x264, bei mehreren Videos müsstest du also alle parallel kodieren lassen. Sehr unpraktisch wie ich finde. :/
    Von daher habe ich mir für kleinere Workflows Handbrake eingerichtet. Ein festes Preset, optimale Qualität und kleine Dateien mit minimalstem Aufwand: Videodatei reinziehen, Start drücken, warten. Und Handbrake bietet sogar eine erstklassige Warteschlange: Videodatei reinziehen, zu Warteschlange hinzufügen (je nach Videoanzahl wiederholen), Warteschlange starten, abwarten. :D Sehr praktisch und unkompliziert. Ich behaupte, mit weniger Klicks geht es nicht.

  • Und die bietet meines Wissens (aber bitte korrigiert mich hier) weder ffmpeg noch x264[...] bei mehreren Videos müsstest du also alle parallel kodieren lassen.

    Musst du nicht. Du kannst auch dem Skript mehrere Dateien übergeben und über die Parameter loopen. Statt dem echo käme dann der FFmpeg-Befehl.

    Code
    @echo off
    for %%x in (%*) do (
    echo %%~x
    )
    pause
  • Ich persönlich würde zwar ab und zu andere Werte wählen, aber wenn du eh nur auf 1080p hochlädst, wird dir Bildqualität nicht so wichtig sein wie mir. ;) Und wenn du eher Wert auf kleinere Dateien legst, dann kannst du ja noch mal ein bisschen mit dem Preset und dem CRF rumexperimentieren, was für dich das beste Verhältnis aus Kodierungsgeschwindigkeit, Dateigröße und Bildqualität gibt.

Jetzt mitmachen!

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