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

10009
seler

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

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

9
Я полагаю, вы уже пробовали [`man istanbul`] (http://manpages.ubuntu.com/manpages/precise/en/man1/istanbul.1.html)? grawity 11 лет назад 0
@grawity: я пытался запустить `` man istanbul``, но не было страниц для istanbul. Также нет команды `` istanbul``. Может быть, Gnome 3 по умолчанию не является Стамбулом? Что тогда? seler 11 лет назад 0

3 ответа на вопрос

13
Trung Lê

Согласно документу 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! \ О /

8
milli

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

Если вы можете получить 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 ! ... 

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

0
Rony

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

Плагин GStreamer FFmpeg

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

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

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

Я хочу сказать, что я хочу, чтобы мое видео имело разрешение окна, которое я записываю. Кроме того, мне не нужно показывать другим мое текущее время, уведомления, состояние сети, уровень громкости и т. Д. Edit: аналогично Alt+Print Screen seler 11 лет назад 0
Встроенная запись в gnome3 очень ограничена, и даже нет звука, который бы заставлял меня чувствовать, что это для случайного использования. Существует [recordMyDesktop] (http://recordmydesktop.sourceforge.net/about.php) и, с другой стороны, сценарий ffmpeg в [Archlinux forum] (https://bbs.archlinux.org/). Для меня все они работают лучше, чем Gnome3. Rony 11 лет назад 0

Похожие вопросы