Запись только одного окна в настольном рекордере Gnomes 3 по умолчанию

10

Gnome 3 имеет большую особенность при Ctrl- Alt- Shift- Rярлык 1 .Я предполагаю, что это Стамбул . Похоже, что это не Стамбул ... Пока я не могу найти информацию об этой программе.

Где я могу найти справочную страницу? Как я могу запустить его из консоли?
И самое главное: как я могу записать только одно окно (аналогично Alt+ Print Screen)?

Селер
источник
Я полагаю, вы уже пробовали man istanbul?
user1686
@ Grawity: я пытался бежать, man istanbulно не было страниц для Стамбула. Также нет istanbulдоступных команд. Может быть, Gnome 3 по умолчанию не является Стамбулом? Что тогда?
seler

Ответы:

14

Согласно документу GNOME API doc, устройство записи экрана gnome-shell ( класс shell-рекордера ) в основном передает весь вывод снимка экрана в конвейер, который затем кодируется GStreamer.

Вы можете использовать приложение dconf-editor и перейти к нему org.gnome.shell.recorder, в этой схеме вы найдете 3 варианта:

  • расширение файла - по умолчанию на моем ящике webm
  • частота кадров - по умолчанию на моей коробке до 30
  • конвейер - который по умолчанию направляет к GStreamer vp8enc для кодирования потока. vp8enc min_quantizer=13 max_quantizer=13 cpu-used=5 deadline=1000000 threads=%T ! queue ! webmmux

Итак, как мы можем воспроизвести конвейер записи в командной строке? Мы могли бы сделать это с помощью команды gstreamer-tool gst-launch. Во-первых, вам нужно установить gst-tools на свой компьютер и начать играть с gstreamer !. Вот несколько примеров:

Запись на webm (видео vp8 и аудио 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

Нажмите Ctrl + C, чтобы остановить запись.

Запись в ogv (видео theora & аудио vorbis):

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

Нажмите Ctrl + C, чтобы остановить запись.

Трубопроводы выполняются gst-launch. Вот что они делают:

  • Возьмите X видеоизображение (рабочий стол)
  • Автоматически конвертировать видео в приемлемый формат
  • Создайте фоновый поток [t1], чтобы продолжить обработку видео.
  • [t1] Кодировать видео (либо в vp8, либо в theora)
  • [t1] Подготовка к объединению видео в видеооболочку (webm или ogg)
  • Захватите аудио вход как сырой (микрофон)
  • Создайте фоновый поток [t2], чтобы продолжить обработку звука.
  • [t2] Автоматически конвертировать аудио в приемлемый формат
  • [t2] Кодировать аудио в vorbis
  • [t2] Подготовка к объединению аудио в видеооболочку (webm или ogg)
  • Запись закодированного аудио и видео в видео файл

Теперь вам больше не нужно бояться конвейеров gstreamer! \ О /

Трунг Лэ
источник
9

И, самое главное. Как я могу записать только одно окно?

Если вы можете получить XID окна, вы можете передать его ximagesrc. Например, если вы знаете, что такое уникальный заголовок Window, вы можете использовать xwininfo и немного магии, чтобы получить это. В Баш:

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

Теперь вы можете просто передать этот XID в ximagesrc и, конечно, завершить конвейер:

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

И, к вашему сведению, я показываю вам это, используя версию gstreamer 1.0. Больше нет ffmpegcolorspace, вместо этого вы используете видеоконверт (в последних версиях FFmpeg имя было изменено на «libav», поэтому оно было переименовано).

Милли
источник
0

Запись Gnome 3 использует плагин GStreamer FFmpeg для вывода .webm под домом пользователя.

Плагин GStreamer FFmpeg

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

И самое главное: как я могу записать только одно окно?

Может быть увеличить окно на весь экран?

Rony
источник
Я имею в виду, что я хочу, чтобы мое видео имело разрешение окна, которое я записываю. Кроме того, мне не нужно показывать другим мое текущее время, уведомления, состояние сети, уровень громкости и т. Д. Edit: аналогично <kbd> Alt </ kbd> + <kbd> Print Screen </ kbd>
seler
Встроенная запись в gnome3 очень ограничена, и даже нет звука, который бы заставлял меня чувствовать, что это для случайного использования. Существует запись MyDesktop и, с другой стороны, скрипт ffmpeg на форуме Archlinux . Для меня все они работают лучше, чем Gnome3.
Рони