Gnome 3.10 ScreenCast + Arch 上的音頻
我正在嘗試使用內置螢幕錄像機(
Ctrl
+Alt
+Shift
+ )在 Arch Linux 上的 Gnome 3.10 中錄製我的桌面(包括音頻R
)。根據這篇文章(以及可以在 Internet 上找到的其他類似解決方案),我嘗試應用 gconf 設置gsettings set org.gnome.shell.recorder pipeline "queue ! videorate ! vp8enc quality=10 speed=2 ! mux. pulsesrc ! audio/x-raw-int ! queue ! audioconvert ! vorbisenc ! mux. webmmux name=mux"
但我收到以下錯誤:
No such schema 'org.gnome.shell.recorder'
瀏覽
dconf-editor
我發現它org.gnome.shell.recorder
實際上不存在,我找不到任何類似的東西……如何在 gnome shell 3.10 中錄製我的桌面,包括內部音頻(不是麥克風)?**編輯:**我也不想在錄製時包含滑鼠游標。
該鍵/模式已被刪除,
gnome-shell ≥ 3.10
因此您在網際網路上找到的解決方案不再有效。Ray Strode,侏儒開發者1:
有幾個人問我是否有辦法在 gnome-shell 3.10 及更高版本中執行此操作,但我沒有一個好的答案。由於 gsd 現在處理開始的事情並且 org.gnome.shell.recorder 模式已經消失,這使得事情變得複雜。
雷在那裡的建議(為該
gjs
命令分配快捷方式)非常酷,但他的一個班輪缺少一些js
東西。我不得不用一個數字(例如)替換%T
in以使其工作。另外,請注意生成的文件名沒有時間戳,因此如果您不重命名,後續執行將覆蓋現有文件名。最後,請確保您已定義,否則該命令將不起作用(帶有 的錯誤)。 無論如何,回到您的問題,螢幕投射參數現在在 gnome-shell ( ) 中進行了硬編碼,例如:threads=%T``2``.webm``XDG_VIDEOS_DIR``~/.config/user-dirs.dirs``cannot open output file
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 選項:
除此之外,截屏+內部音頻的一種簡單方法是通過命令行。您只需要指定錄音的輸入源 - 使用
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:來源