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