Nagrywanie tylko jednego okna w domyślnym rejestratorze pulpitu Gnomes 3

10

Gnome 3 ma wielką cechę pod Ctrl- Alt- Shift- Rskrót 1 .Chyba to Stambuł . Wygląda na to, że to nie Stambuł ... Nie mogę znaleźć żadnych informacji o tym programie.

Gdzie mogę znaleźć stronę man? Jak mogę uruchomić go z konsoli?
I co najważniejsze: Jak mogę nagrać tylko jedno okno (podobne do Alt+ Print Screen)?

seler
źródło
Przypuszczam, że już próbowałeś man istanbul?
user1686
@grawity: Próbowałem uruchomić, man istanbulale nie było stron dla Stambułu. Również nie ma istanbuldostępnego polecenia. Może domyślnym rejestratorem Gnome 3 nie jest Stambuł? Co to jest?
seler

Odpowiedzi:

14

Zgodnie z dokumentem GNOME API, rejestrator ekranowy gnome-shell ( klasa rejestratora powłoki ) jest w zasadzie potokiem przesyłającym wszystkie zrzuty ekranu do potoku, który jest następnie kodowany przez GStreamer.

Możesz użyć aplikacji edytora dconf i przejść do org.gnome.shell.recorder, w tym schemacie znajdziesz 3 opcje:

  • rozszerzenie pliku - domyślnie na moim polu do webm
  • ilość klatek na sekundę - zdecydowanie na moim pudełku do 30
  • potok - domyślny potok do GStreamer vp8enc do kodowania strumienia. vp8enc min_quantizer=13 max_quantizer=13 cpu-used=5 deadline=1000000 threads=%T ! queue ! webmmux

Jak więc moglibyśmy zreplikować rejestrowanie w wierszu poleceń? Możemy to zrobić za pomocą polecenia gst-launch gstreamer-tool. Po pierwsze, musisz zainstalować gst-tools na swoim urządzeniu i możesz zacząć grać w gstreamer !. Oto kilka przykładów:

Nagrywanie na webm (wideo vp8 i audio vorbis):

gst-launch ximagesrc ! ffmpegcolorspace ! queue ! vp8enc quality=10 speed=2 ! mux. alsasrc ! audio/x-raw-int ! queue ! audioconvert ! vorbisenc ! mux. webmmux name=mux ! filesink location=screencast.webm

Naciśnij Ctrl + C, aby zatrzymać nagrywanie.

Nagraj do ogv (teora wideo i audio Vorbis):

gst-launch ximagesrc ! ffmpegcolorspace ! queue ! theoraenc ! mux. alsasrc ! audio/x-raw-int ! queue ! audioconvert ! vorbisenc ! mux. oggmux name=mux ! filesink location=screencast.ogv

Naciśnij Ctrl + C, aby zatrzymać nagrywanie.

Rurociągi są wykonywane przez gst-launch. Oto, co robią:

  • Chwyć obraz wideo X (pulpit)
  • Automatycznie przekonwertuj wideo do akceptowalnego formatu
  • Odroście wątek w tle [t1], aby kontynuować przetwarzanie wideo
  • [t1] Zakoduj wideo (do vp8 lub theora)
  • [t1] Przygotuj się do scalenia wideo z powłoką wideo (webm lub ogg)
  • Chwyć wejście audio jako surowe (mikrofon)
  • Odroście wątek w tle [t2], aby kontynuować przetwarzanie dźwięku
  • [t2] Automatycznie konwertuj audio na akceptowalny format
  • [t2] Zakoduj dźwięk na vorbis
  • [t2] Przygotuj się do scalenia dźwięku z powłoką wideo (webm lub ogg)
  • Zapisz zakodowane audio i wideo w pliku wideo

Teraz nie musisz się już bać rurociągów gstreamer! \ o /

Trung Lê
źródło
9

I co najważniejsze. Jak mogę nagrać tylko jedno okno?

Jeśli możesz uzyskać XID okna, możesz przekazać go do ximagesrc. Na przykład, jeśli wiesz, jaki jest unikalny tytuł Okna, możesz użyć xwininfo i odrobiny magii, aby to uzyskać. W bash:

TITLE="Terminal Six"
WINDOW_XID=$(xwininfo -tree -root -all | egrep $TITLE | sed -e 's/^ *//' | cut -d\  -f1)`

Teraz możesz po prostu przekazać ten XID do ximagesrc i oczywiście zakończyć proces:

gst-launch-1.0 ximagesrc xid=$WINDOW_XID ! video/x-raw,framerate=30/1 ! videoconvert ! queue ! ...

I do Twojej wiadomości, pokazuję to za pomocą wersji 1.0 gstreamer. Nie ma już ffmpegcolorspace, zamiast tego używasz konwersji wideo (najnowsze wersje FFmpeg zmieniły nazwę na „libav”, więc zmieniono jej nazwę).

mili
źródło
0

Nagrywanie w Gnome 3 wykorzystuje wtyczkę GStreamer FFmpeg do wyświetlania pliku .webm w domu użytkownika.

Wtyczka GStreamer FFmpeg

http://gstreamer.freedesktop.org/modules/gst-ffmpeg.html

I co najważniejsze: Jak mogę nagrać tylko jedno okno?

Czy można powiększyć okno do pełnego ekranu?

Rony
źródło
Mam na myśli to, że chcę, aby mój film miał rozdzielczość okna, które nagrywam. Nie muszę też pokazywać innym mojego aktualnego czasu, powiadomień, stanu sieci, poziomu głośności itp. Edycja: Podobne do <kbd> Alt </kbd> + <kbd> Print Screen </kbd>
seler
Wbudowane nagranie gnome3 jest bardzo ograniczone i nawet brak dźwięku, który sprawiłby, że czułbym się tak, jakby był używany na co dzień. Jest recordMyDesktop a na drugim scenariuszu ręka ffmpeg w ArchLinux forum . Dla mnie wszystkie działają lepiej niż Gnome3.
Rony