Screencast mit FFmpeg: Textdatei mit Dropped Frames erstellen lassen

  • Hallo,

    wenn ich mit ffmpeg einen Screencast erstelle, wird im Fenster angezeigt ob es zu Dropped Frames kommt. Wenn ich aber einen längeren Screencast mache bleib ich ja nicht davor hocken. Füge ich einfach >> dahinter ein erstellt er zwar eine Textdatei, die ist aber leer. Kann ich mir da irgendwie mit einer Textdatei hinterher anzeigen lassen ob es zu dropped Frames kam?

    nel-son

    _________________________

    Zitat

    Zieht ein Bienenschwarm aus, so wird er herrenlos, wenn nicht der Eigentümer ihn unverzüglich verfolgt oder wenn der Eigentümer die Verfolgung aufgibt.


    § 961 BGB [Eigentumsverlust bei Bienenschwärmen]

    :D

  • 2>>
    ?

    Zur Erklärung...

    Seit ewigen (DOS-) Zeiten gibt es drei Standard-Dateihandles:

    0 = stdin (Standard-Eingabe, meist Tastatur)
    1 = stdout (Standard-Ausgabe, meist Bildschirm)
    2 = stderr (Standard-Fehlerausgabe, meist Bildschirm)

    Die Umleitung < liest aus einer Alternative zu stdin; die Umleitung > schreibt in eine Alternative zu stdout (>> zum Anhängen an vorhandene Datei).

    Wenn Programme wie ein Filter arbeiten (Daten normalerweise aus der Standard-Eingabe lesen und verarbeitet an die Standard-Ausgabe ausgeben), dann gehen Nutzerinformationen, Warnungen und Fehlermeldungen an stderr, damit diese erstens nicht die Ausgabedaten unterbrechen und zweitens trotzdem am Bildschirm lesbar sind. Um Ausgaben umzuleiten, die nicht an das Dateihandle 1 = stdout gehen, muss man die Nummer des Dateihandles vor die Umleitung schreiben. Im Fall von stderr also die 2.

    Und warum sagst Du ffmpeg nicht er soll eine log schreiben?
    Es sollte im Manual stehen wie das geht.

    Wahrscheinlich mit: -report dateiname -loglevel loglevel
    _

    Nein, falsch; "-report" erzeugt Debugging-Reports für die Entwickler, "-loglevel" beeinflusst die Ausgabemenge der Bildschirmnachrichten. Also doch mit Hilfe von "2>" / "2>>".

  • Ich hab bei FFmpeg manchmal das Problem, dass er nach dem Start direkt Meldungen von wegen zu wenig Buffer anzeigt. Dann breche ich ab und versuche es nochmal und es geht häufig. Was da der Grund ist weiß ich nicht. Habe bemerkt, dass es selten passiert wenn ich ein Video abfilmen will, sollte das Videofenster unter einem anderen Fenster versteckt sein. Erst FFmpeg starten, dann das Playerfenster in den Vordergrund und dann Player starten - meist kommen dann keine Fehlermeldungen.

    Wenn ich nun aber die Ausgabe umleite gibt er im CMD nichts mehr aus. Kann ich beides haben: Ausgabe im CMD-Fenster UND in einer Textdatei?

    _________________________

    Zitat

    Zieht ein Bienenschwarm aus, so wird er herrenlos, wenn nicht der Eigentümer ihn unverzüglich verfolgt oder wenn der Eigentümer die Verfolgung aufgibt.


    § 961 BGB [Eigentumsverlust bei Bienenschwärmen]

    :D

  • Dazu brauchst du wohl ein "T-Stück", deshalb nennt sich ein solches Tool auch "tee". Eine Quelle für solche Software wären die GNU Win32 Core Utils, eine andere die UnxUtils für Win32. Man findet aber noch mehr.

    Aber ...

    Um stderr mit Hilfe von tee aufzuteilen, müsste man wohl Handle 2 "pipen", also so etwas in der Art: ffmpeg ... > output 2| tee > log.txt — leider funktioniert "2|" nicht.
    _

    Komplizierter geht es. Es gibt einen Operator ">&", der zwei Streams (für uns also stdout und stderr) zusammenführt. Die Ausführung wäre allerdings rückwärts gerichtet. Das heißt: Das Ausleiten von stdout (> output) muss rechts stehen, damit das Zusammenführen links davon (2>&1) nur noch stderr verarbeitet und in eine nun leere neue Standardausgabe führt, welche dann mit Pipe in tee geleitet und darin an den Bildschirm und eine Ausgabedatei verteilt wird.

    [Blockierte Grafik: https://cosgan.de/images/smilie/verschiedene/d015.gif]

    Folgendes würde wahrscheinlich funktionieren:

    Code
    ffmpeg ... [B][COLOR='#0000CD']2>&1 >[/COLOR][/B] output [B][COLOR='#800080']| tee[/COLOR][/B] log.txt
  • Teste ich mal aus.

    _________________________

    Zitat

    Zieht ein Bienenschwarm aus, so wird er herrenlos, wenn nicht der Eigentümer ihn unverzüglich verfolgt oder wenn der Eigentümer die Verfolgung aufgibt.


    § 961 BGB [Eigentumsverlust bei Bienenschwärmen]

    :D

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!