Merekam hanya satu jendela di Gnomes 3 perekam desktop default

10

Gnome 3 memiliki fitur hebat di bawah Ctrl- Alt- Shift- Rpintasan 1 .Saya kira ini Istanbul . Tampaknya bukan istanbul ... Namun saya tidak dapat menemukan info tentang program ini.

Di mana saya dapat menemukan halaman manual? Bagaimana saya bisa menjalankannya dari konsol?
Dan yang paling penting: Bagaimana saya bisa merekam hanya satu jendela (mirip dengan Alt+ Print Screen)?

penjual
sumber
Saya kira Anda sudah mencoba man istanbul?
user1686
@grawity: Saya mencoba menjalankan man istanbultetapi tidak ada halaman untuk istanbul. Juga tidak ada istanbulperintah yang tersedia. Mungkin Gnome 3 perekam default tidak istanbul? Lalu apa itu?
Seler

Jawaban:

14

Menurut GNOME API doc, perekam layar gnome-shell ( shell-recorder class ) pada dasarnya adalah pipeline semua hasil tangkapan layar ke pipeline yang kemudian dikodekan oleh GStreamer.

Anda dapat menggunakan aplikasi dconf-editor dan menavigasi ke org.gnome.shell.recorder, dalam skema ini Anda akan menemukan 3 opsi:

  • ekstensi file - default pada kotak saya untuk webm
  • framerate - defauly di kotak saya ke 30
  • pipeline - yang default ke pipeline ke GStreamer vp8enc untuk meng-encode stream vp8enc min_quantizer=13 max_quantizer=13 cpu-used=5 deadline=1000000 threads=%T ! queue ! webmmux

Jadi bagaimana kita bisa mereplikasi pipa rekaman di baris perintah? Kita bisa melakukannya dengan perintah gst-launch gst-launch. Pertama, Anda perlu menginstal alat gst di komputer Anda dan Anda bisa mulai bermain dengan gstreamer !. Berikut ini beberapa contoh:

Rekam ke webm (video vp8 & 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

Tekan Ctrl + C untuk menghentikan rekaman.

Rekam ke ogv (theora video & vorbis audio):

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

Tekan Ctrl + C untuk menghentikan rekaman.

Pipa-pipa dieksekusi oleh peluncuran gst. Inilah yang mereka lakukan:

  • Raih gambar video X (desktop)
  • Konversi video secara otomatis ke format yang dapat diterima
  • Munculkan thread latar belakang [t1] untuk melanjutkan pemrosesan video
  • [t1] Enkode video (baik ke vp8 atau theora)
  • [t1] Bersiap untuk menggabungkan video ke dalam shell video (webm atau ogg)
  • Raih input audio sebagai mentah (mikrofon)
  • Munculkan thread latar belakang [t2] untuk melanjutkan pemrosesan audio
  • [t2] Secara otomatis mengonversi audio ke format yang dapat diterima
  • [t2] Encode audio ke vorbis
  • [t2] Bersiap untuk menggabungkan audio ke dalam shell video (webm atau ogg)
  • Tulis audio dan video yang dikodekan ke dalam file video

Sekarang, Anda tidak perlu takut dengan pipa gstreamer lagi! \Hai/

Trung Lê
sumber
9

Dan yang paling penting. Bagaimana saya bisa merekam hanya satu jendela?

Jika Anda bisa mendapatkan XID dari jendela, Anda bisa meneruskannya ke ximagesrc. Misalnya, jika Anda tahu apa judul unik dari Window, Anda dapat menggunakan xwininfo dan sedikit sihir untuk mendapatkannya. Dalam bash:

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

Sekarang Anda bisa meneruskan XID itu ke ximagesrc, dan tentu saja, selesaikan pipeline:

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

Dan FYI, saya menunjukkan ini menggunakan versi 1.0 dari gstreamer. Tidak ada lagi ffmpegcolorspace, Anda menggunakan videoconvert sebagai gantinya (versi terbaru dari FFmpeg telah memiliki perubahan nama menjadi 'libav' sehingga telah diganti namanya).

mili
sumber
0

Perekaman Gnome 3 menggunakan plug-in GStreamer FFmpeg untuk mengeluarkan .webm di bawah rumah pengguna.

Plug-in GStreamer FFmpeg

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

Dan yang paling penting: Bagaimana saya bisa merekam hanya satu jendela?

Mungkin memperbesar jendela ke layar penuh?

Rony
sumber
Maksud saya adalah saya ingin video saya memiliki resolusi dari jendela yang saya rekam. Juga, saya tidak perlu menunjukkan kepada orang lain waktu saya saat ini, pemberitahuan, status jaringan, tingkat volume dll. Sunting: Mirip dengan <kbd> Alt </kbd> + <kbd> Layar Cetak </kbd>
seler
Rekaman bawaan gnome3 sangat terbatas dan bahkan tidak ada suara yang membuat saya merasa seperti itu untuk penggunaan biasa. Ada recordMyDesktop dan di sisi lain skrip ffmpeg di forum Archlinux . Bagi saya, mereka semua bekerja lebih baik daripada Gnome3.
Rony