Этот ключ/схема был удален в gnome-shell ≥ 3.10
, поэтому решения, которые вы нашли в интернете, больше не работают.
Рэй Строуд, разработчик gnome dev1:
Несколько человек спросили меня, есть ли способ сделать это в gnome-shell 3.10 и более поздних версиях, и у меня не было хорошего ответа. Это осложняется тем фактом, что g-s-d теперь обрабатывает запуск вещей и схема org.gnome.shell.recorder исчезла. Предложение
Рэя (назначить ярлык на команду gjs
) довольно круто, но в его строке не хватает js
. Мне пришлось заменить %T
в threads=%T
на число (например, 2
), чтобы заставить его работать. Также обратите внимание, что имя результирующего файла .webm
не имеет временной метки, поэтому последующие запуски будут перезаписывать существующий файл, если вы не переименуете его. Наконец, убедитесь, что ваш XDG_VIDEOS_DIR
определен в ~/.config/user-dirs.dirs
, иначе команда не будет работать (выдает ошибку cannot open output file
).
В любом случае, возвращаясь к вашему вопросу, параметры кастинга экрана сейчас жестко закодированы в gnome-shell (shell-recorder.c
), например:
#define DEFAULT_PIPELINE "vp9enc min_quantizer=13 max_quantizer=13 cpu-used=5 deadline=1000000 threads=%T ! queue ! webmmux"
или
shell_recorder_init (ShellRecorder *recorder)
{
....
recorder->draw_cursor = TRUE;
и, насколько я могу судить, единственный способ изменить их - это использовать расширение типа
(исходный код здесь), которое позволяет вам настроить все параметры (включая draw-cursor
). Работает отлично, мне только пришлось добавить свою версию gnome-shell
, например 3.16.1
- в metadata. json
и этот пользовательский gstreamer
конвейер:
vp8enc min_quantizer=10 max_quantizer=10 cpu-used=2 deadline=1000000 threads=2 ! queue ! mux. pulsesrc ! queue ! audioconvert ! vorbisenc ! queue ! mux. webmmux name=mux
через Tweak-tool > Extensions > Easyscreencast > Screencast options:
Это не считая того, тривиальный способ скринкастинга + внутренний звук - через командную строку. Все, что вам нужно, это указать источник входного сигнала для записи звука - либо с помощью pacmd
(cli), либо с помощью pavucontrol
(gui) и использовать gst-launch
для записи. Итак, сначала получите имя источника ввода, заканчивающееся на .monitor
(этот источник может записывать звук с вашей звуковой карты):
pacmd list-sources | sed -n 's/name: <\(.*\.monitor\)>/\1/p'
alsa_output.pci-0000_00_1b.0.analog-stereo.monitor
а затем запустите:
pacmd set-default-source "alsa_output.pci-0000_00_1b.0.analog-stereo.monitor"
gst-launch-1.0 ximagesrc ! videoconvert ! queue ! videorate ! vp8enc min_quantizer=10 max_quantizer=10 cpu-used=2 deadline=1000000 threads=2 ! queue ! mux. pulsesrc ! queue ! audioconvert ! vorbisenc ! queue ! mux. webmmux name=mux ! filesink location=screencast.webm
Чтобы остановить запись, переключитесь обратно в терминал и нажмите Ctrl+C.
1: source
Так что я попробовал несколько вещей. В конце концов, я только что открыл коробку, и оказалось, что только один фанат из трех так сошел с ума. Затем я заметил, что карта была установлена во второй слот PCI. Я переместил его в верхний, и тогда все вопросы волшебным образом исчезли. Я предполагаю, что это проблема с драйверами или с тем, как X управляет картой.