9

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

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

3 ответа3

13

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

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

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

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

Плагин GStreamer FFmpeg

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

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .