Nehmen Sie eine Zeitraffer-Bildschirmaufnahme direkt in ffmpeg auf

1763
qubodup

Kann ich mit ffmpeg meinen Xorg-Desktop (ohne Audio) mit einer Frame-Sekunde in einer Videodatei aufnehmen, die die Frames mit 30 Frames pro Sekunde wiedergibt, ohne dass ein Konvertierungsprozess erforderlich ist?

Der folgende Befehl zeichnet meine linke Anzeige mit 1 Bild pro Sekunde auf, aber das resultierende Video wird das Videobild einmal pro Sekunde vorrücken.

ffmpeg -r 1 -f x11grab -s 1920,1080 -i :0.0+0,0 -vcodec libx264 -crf 0 -preset ultrafast -threads 0 out.mkv 

Bekannte Alternativen:

  1. Machen Sie in regelmäßigen Abständen Screenshots und kombinieren Sie dann Videos mit dem Mencoder
  2. Wie # 1, aber mit ffmpeg
  3. Nehmen Sie ein Video des Desktops mit ffmpeg bei 1 fps oder weniger auf, wenn der Encoder solche Zahlen unterstützt, und beschleunigen Sie das Video anschließend über ffmpeg .

Wenn es mit ffmpegalleine nicht möglich ist, würde das Zeitsprungvideo durch eine Kombination aus importund ffmpegoder einigen anderen Tools so schnell wie möglich bereit sein, nachdem die Aufnahme beendet wurde?

7
Gibt es ein super Bedürfnis dafür, wie schnellere Demo-Videos, How-To-Videos oder so etwas zu machen? Xen2050 vor 8 Jahren 0

1 Antwort auf die Frage

4
Gyan

Das sollte funktionieren:

ffmpeg -framerate 1 -f x11grab -s 1920,1080 -i :0.0+0,0 -vf settb=\(1/30\),setpts=N/TB/30 -r 30 -vcodec libx264 -crf 0 -preset ultrafast -threads 0 out.mkv 

BEARBEITEN: Es wurden Klammern aus der Shell entfernt