Hızlandırılmış bir ekran görüntüsünü doğrudan ffmpeg ile kaydedin


6

Ffmpeg yazılımını, Xorg masaüstümü (ses olmadan) saniyede bir karede bir dönüştürme işlemi gerektirmeden kareleri saniyede 30 karede çalacak bir video dosyasına kaydetmek için kullanabilir miyim?

Aşağıdaki komut sol ekranımı saniyede 1 kare olarak kaydeder ancak elde edilen video, video karesini saniyede bir kez ilerletir.

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

Bilinen alternatifler:

  1. Arada ekran görüntüleri yapın , sonra mencoder kullanarak videoları birleştirin
  2. # 1 gibi, ancak ffmpeg kullanıyor
  3. Kodlayıcı bu sayıları destekliyorsa, ffmpeg ile masaüstünün bir videosunu 1 fps veya daha düşük hızda kaydedin ve daha sonra ffmpeg aracılığıyla videoyu hızlandırın .

Onunla mümkün değilse ffmpeg, tek başına bir arada olur importve ffmpegdiğer bazı araçlar veya zaman sıçrama video kaydı bittikten sonra mümkün olduğunca çabuk hazır olmasını sağlayacaktır?


Hızlı bir şekilde demo yapmak veya nasıl yapılır videoları veya başka bir şey yapmak gibi buna süper bir ihtiyaç var mı?
Xen2050

Yanıtlar:


5

Bu çalışmalı:

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

EDIT: kabuktan kaçan parantezler


Bu cevabın komutuyla, saniyede 1 ekran görüntüsü alınacak, daha sonra 30 fps'de gösterilecektir - 30x hızlanma ile sonuçlanacaktır. Daha fazlasını istemeniz durumunda, örneğin -framerate 0.530 fps'de gösterilen 60x hızlanma ile sonuçlanan örneğin kullanabilirsiniz .
Zaroth
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.