Někdo navrhl, abych kopii neupraveného zobrazení X nasměroval do souboru a poté tento soubor převedl na video soubor pro obecné účely. Jaké příkazy bych použil, abych to udělal v systému Kubuntu? (Upravit: Řekl něco o připojení zobrazovacího portu k souboru.) Pokud to není možné, jaká je moje nejlepší volba pro vynikající kvalitu záznamu obrazovky, která nezávisí na rychlém hardwaru?

Pozadí: Zkoušel jsem použít avconv s -f x11grab a některé programy GUI. Bez ohledu na to, co se snažím, má výsledné video buď artefakty / rozmazání, nebo je trhané (chybějící snímky). To je pravděpodobně způsobeno omezeními CPU / paměti.

Cíle:

  • Kvalita videa se nesmí výrazně lišit od zobrazení relace přímo na obrazovce, protože účelem je předvést animovaný aplikace.
  • Konečné video musí být v běžném formátu, který lze odeslat uživatelům systému Windows a použít na webu. Myslím, že H.264 MP4 by měl fungovat.
  • Řešení by nemělo předpokládat mnoho předchozích znalostí. Znám příkazový řádek a základní příkazy systému Linux, ale stále se učím Linux a nevím mnoho o video kodeků.

Co jsem již vyzkoušel:

  • Doposud nejlepší příkaz: ffmpeg -f x11grab -s xga -r 30 -i :0.0 -qscale 0.1 -vcodec huffyuv grab.avi, poté převeďte na mp4 pomocí ffmpeg -i grab.avi -sameq -vcodec mpeg4 grab.mp4.
    • Kvalita obrazu je skvělá, ale na mém testovacím systému zaostává počítač. Na rychlejším cílovém systému to nezůstává pozadu, ale snímky jsou zjevně přeskočeny, takže video není příliš plynulé .
    • Stále se snažím přijít na to, jak záchyt uložit. soubor avi do SHM, abyste zjistili, zda to pomůže.
  • Použití záznamníků GUI Istanbul a RecordMyDesktop
  • Jednoduchý příkaz: avconv -f x11grab -s xga -r 25 -i :0.0 simple.mpg pomocí avconv verze 0.8.3-4: 0.8.3-0ubuntu0.12.04.1
  • Přidání -codec:copy (selže s: Requested output format "x11grab" is not a suitable output format)
  • Přidání -same_quant (výsledky ve skvělé kvalitě, ale velmi trhané / chybí mnoho snímků)
  • Přidání -vpre lossless_ultrafast (selhání: Unrecognized option "vpre", Failed to set value "lossless_ultrafast" for option "vpre")
  • Přidání různých hodnot -qscale
  • Přidání různých hodnot -b
  • Přidání -vcodec h264 (výstupy opakovaně: Error while decoding stream #0:0, [h264 @ 0x8300980] no frame!)
    • Poznámka: h264 je uveden v výstup jako DE h264 raw H.264 video format

odpověď

Pokud to váš pevný disk umožňuje, můžete to zkusit takto:

Nejprve napište nekomprimovaný soubor:

ffmpeg -f x11grab -s SZ -r 30 -i :0.0 -qscale 0 -vcodec huffyuv grab.avi 

zde SZ je vaše velikost zobrazení (např. 1920×1080).

Poté ji můžete kdykoli zkomprimovat:

ffmpeg -i grab.avi grab.mkv 

Samozřejmě můžete změnit kompresi, vybrat kodek atd. na.

Komentáře

  • Viz také: unix.stackexchange.com/a/120001/26227
  • ubuntu 18.04 nefunguje ‚ práce nefunguje:: 0.0: Neplatný argument
  • @ user1325696, funguje celkem dobře. Např. ffmpeg -f x11grab -s 2560x1080 -r 30 -i :0.0 -qscale 0 -vcodec huffyuv grab.avi

Odpověď

Měl jsem úspěch:

ffmpeg -f x11grab -video_size 1920x1080 -framerate 30 -i :1 \ -vcodec libx264 -preset ultrafast -qp 0 -pix_fmt yuv444p \ video.mkv 

Klíčové body:

  • -qp 0: x264 bezztrátový režim
  • -preset ultrarychlý: nejmenší využití procesoru, velká velikost
  • -pix_fmt yuv444p: výchozí, ale ffmpeg navrhuje yuv420p, což je ztrátové

Tip: snímání obrazovky a překrytí webové kamery pomocí:

ffmpeg -f x11grab -thread_queue_size 64 -video_size 1920x1080 -framerate 30 -i :1 \ -f v4l2 -thread_queue_size 64 -video_size 320x180 -framerate 30 -i /dev/video0 \ -filter_complex "overlay=main_w-overlay_w:main_h-overlay_h:format=yuv444" \ -vcodec libx264 -preset ultrafast -qp 0 -pix_fmt yuv444p \ video.mkv 

https://trac.ffmpeg.org/wiki/Capture/Desktop

[upravit 20180418] Aktualizace pro Gnome Shell a Wayland:

#!/usr/bin/env python3 from dbus import SessionBus, Interface from os import getcwd, path from sys import argv BUS_NAME = "org.gnome.Shell.Screencast" PATH_NAME = "/org/gnome/Shell/Screencast" INTERFACE_NAME = BUS_NAME PIPELINE="x264enc pass=qual quantizer=0 speed-preset=ultrafast ! queue ! matroskamux" if path.isabs(argv[1]): name = argv[1] else: name = path.join(getcwd(), argv[1]) bus = SessionBus() screen_cast = bus.get_object(BUS_NAME, PATH_NAME) screen_cast = Interface(screen_cast, INTERFACE_NAME) ret, name = screen_cast.Screencast(name, {"pipeline": PIPELINE}) if not ret: print("Error starting screencast.") raise SystemExit(1) try: i = input() except (EOFError, KeyboardInterrupt): pass finally: screen_cast.StopScreencast() 

Komentáře

  • jak může určuji svou velikost obrazovky?

odpověď

Toto je řešení a pravděpodobně ne „téměř dokonalé“, protože může to záviset na rychlosti sítě nebo jiných faktorech, které mohou bránit streamování videa.

Použijte VNC nebo Teamviewer a připojte se z notebooku nebo stolního počítače k druhému počítači. Pokud máte k dispozici notebook se systémem Windows nebo OSX, jo pravděpodobně máte nástroje, které to mohou zaznamenat, a věřím, že teamviewer dokáže zaznamenat relaci sám. Je snadné to vyzkoušet a pak se můžete rozhodnout, zda je kvalita dostatečně dobrá.

Teamviewer má tendenci škálovat, ale nevím, jestli se to stane i u zaznamenaných relací.

VNC nekomprimuje ani nemění měřítko a váš monitor notebooku / stolního počítače vyžaduje vyšší rozlišení než rozlišení druhého počítače. Kvalita je dobrá. Možná může VNC prohlížeč, který používáte, nahrávat. Nyní používám Ubuntu a standardní prohlížeč to nedokáže.

Záznam obrazovky pro zobrazení publiku nebo na webu – k tomu existují speciální nástroje, které dokážou zachytit kliknutí, sledovat a přiblížit myš a mají další možnosti, aby bylo jasnější, co děláte.Navrhuji, abyste se na ně také podívali. Google pro „software pro nahrávání obrazovky“.

Odpověď

Vyzkoušeli jste rfbroxy ?

Používám ho k záznamu relací obrazovky X11.

Můžete jej použít v režimu, kde zaznamenává pouze obrázek, pokud existuje ZMĚNA .

−-type=WHAT WHAT = obrazovka je podle výchozí stránky dokonce výchozí.

Komentáře

  • To ‚ je zajímavé. Jak to děláte?
  • @GunarGessner by mělo být výchozím chováním. Alternativní metodou je reakce na události myši / klávesnice. To může být ještě lepší, pokud máte na obrazovce hodiny a nechcete udělat obrázek, když se změní pouze tyto hodiny …

Odpovědět

Používám Camtasia k nahrávání mého herního videa a online videa. Také jsem dříve používal videorekordér fraps, ale fps během přehrávání poklesl. Camtasia dává vyšší fps, ale jediným problémovým problémem je, že pokaždé, když musím převést výstup .CAMREC na avi, jak vidíte v sem zadejte popis odkazu sem zadejte popis odkazu . .Camrec je proprietární formát camtasia a nelze jej přehrávat na přehrávačích třetích stran, jako jsou Windows Media Player a vlc.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *