Ubuntu上のデスクトップ音声出力をZoomの音声入力にする(PulseAudio)

Environment Ubuntu 18.04 PulseAudio スピーカー出力を仮想マイク入力にする pavucontrolを実行し、Input Devicesのタブを開く。Show:をAll Input Devicesに設定すると、Monitor of YOUR_SPEAKERという項目があり、このデバイスからの読み取りはスピーカーへの出力がループバックされたものになっている(YOUR_SPEAKERへの出力=Monitor of YOUR_SPEAKERからの入力。 しかしここで音声を入力するアプリケーションとして仮にZoomを開いても、Microphoneの選択肢にMonitor of YOUR_SPEAKERは現れない。回避策として、MicrophoneをSame as System(デフォルトの音声入力デバイス)にし、Input DevicesでMonitor of YOUR_SPEAKERのSet as Fallback(緑のチェックマーク、デフォルトの音声入力デバイス)を有効にすることでZoomのマイクとしてスピーカー出力を渡すことができた。 このままでは他の人から送られてきた音声が自分のコンピュータの中でループ(Zoom Output→YOUR_SPEAKER→Monitor of YOUR_SPEAKER→Zoom Input)してしまうんじゃないかと思うが、少なくともZoom上ではそうはならなさそう(PC1のマイク→Zoom→PC2の音声出力→Monitor of PC2 Speaker→Zoom→PC1の音声出力 とはならなかった?)? これはハウリング防止フィルタが効いてるのかどうなのか.. Zoomの音域系フィルタが効いているのか音楽は若干変になる(もともと声を送るためのチャンネルだし。きれいな音声を送るにはShare Screenを使う必要ありか)。 Zoomの入力デバイスをpavucontrolから直接変えられないのはZoom側でなにか固定してるのか、チャンネル数とかフォーマット対応してないみたいなことなのか.. 前回のデスクトップ映像の出力と組み合わせた場合、映像と音声の同期がとれないと思われるので、お気持ちでなんとかするか、あるいはffmpegで同時に送り出すことまでを保証する、くらいはできるのだろうか.. https://aoirint.hatenablog.com/entry/2020/05/15/185853 挿入音声の再生デバイス分離 Zoomの音声を出力するデバイスと挿入音声を出力するデバイスを分離して、目的の音声だけ送り出せるようにしてみる。つまり、Zoomの音声出力はYOUR_SPEAKERのままにして、挿入音声を仮想音声出力デバイスに出力するようにする。 pacmd load-module module-null-sink sink_name=DummyOutput0 sink_properties=device.description=DummyOutput0 # Or pacmd load-module module-null-sink sink_name=DummyOutput0 pacmd update-sink-proplist DummyOutput0 device.description=DummyOutput0 # --- pacmd unload-module module-null-sink これでデフォルトの音声入力デバイスをDummyOutput0に設定すればZoom上にDummyOutput0への出力が送り出される。あとは挿入音声を流しているアプリケーションからの音声出力をDummyOutput0に送り出せばOK。 この状態でDummyOutput0に出力されている挿入音声をYOUR_SPEAKERで聞くには、Monitor of DummyOutput0をループバックしてYOUR_SPEAKERに出力する。 pacmd load-module module-loopback source=DummyOutput0.monitor pacmd unload-module module-loopback 物理マイクの入力をミックスする ここでZoomの入力デバイスに送り出されるのは自分のコンピュータ上で出力された音声だけになっているので、物理マイクを接続していてもこれに入力された音声をZoomに送り出すことはできていない。物理マイクへの入力もZoom上に送り出せるようにする。 ...

2020年5月19日 · aoirint

Ubuntu上のOBSでVirtualCamを使う(デスクトップ映像を仮想カメラに送る)

Zoomなどでデスクトップ画面をカメラ映像として共有するのに使える。 参考: https://github.com/CatxFish/obs-virtual-cam/issues/17 Environment Ubuntu 18.04 FFmpeg 3.4.6-0ubuntu0.18.04.1 v4l2loopback #ed2b709 OBS Studio 25.0.8 #14b0565 obs-v4l2sink #1ec3c8a はOBS Studioがクラッシュして使えなかった。 How to https://github.com/obsproject/obs-studio https://github.com/umlaeute/v4l2loopback # sudo apt install v4l2loopback-dkms # これはバージョンの問題で使えないかも git clone https://github.com/umlaeute/v4l2loopback.git cd v4l2loopback make sudo make install sudo depmod -a # 仮想カメラを作成(モジュールをロード) sudo modprobe v4l2loopback devices=1 video_nr=10 card_label="OBS Cam" # 映像転送サーバを立てる(OBS→仮想カメラ) ffmpeg -an -listen 1 -i rtmp://127.0.0.1:1935/live -f v4l2 /dev/video10 # 仮想カメラを削除 sudo modprobe -r v4l2loopback カメラデバイスの一覧を確認するにはsudo apt install v4l-utilsして以下のコマンド。 ...

2020年5月15日 · aoirint

Zoom API (OAuth)を試したメモ

お試しのためのOAuthアクセストークン(一時)を得るサンプルをクローン。 git clone https://github.com/zoom/zoom-oauth-sample-app.git cd zoom-oauth-sample-app npm install https://github.com/zoom/zoom-oauth-sample-app ngrok(remote.itみたいなやつ)をダウンロード(実行ファイル)。ngrok.ioのサブドメインにポートを転送する。 https://ngrok.com/ ./ngrok http 4000 OAuth AppをZoom上に作成。 https://marketplace.zoom.us/develop/create 設定を書く.envファイルを作成。 touch .env clientID=Zoom OAuth AppのClient ID clientSecret=Zoom OAuth AppのClient Secret redirectURL=ngrokのURL 起動。 npm run start API Document: https://marketplace.zoom.us/docs/api-reference/introduction 上のURLでテスト呼び出しができるので、アクセストークンをとりあえず使いまわして検証。 管理者でない場合は得られる情報が結構限られる(進行中のミーティングの参加者リストは管理者でないととれなさそう)。管理者の場合はOAuthではなくJWTを使ったほうが良さそう。今回の目的は達成できなさそうだったのでこれで終了(トークンとらなくても入出力サンプルはある)。 JWT参考:インタラクション2020のリモート開催で使われたシステム https://github.com/hasevr/i2020zoom

2020年5月9日 · aoirint

Remote editing with Atom (rmate, sshfs)

rmate AtomでSSH越しのファイルを編集する - Qiita Install rmate in remote. Install remote-atom as Atom package in local. Configure “remote forwarding” of rmate port in local (local:port -> remote:port). Open Atom in local. Execute rmate file.txt in remote (ssh). Atom in local will show the file, and you can edit it. rmate cannot be used for Atom Tree View (Project View). But tree command in ssh is useful for viewing project file entries. ...

2020年3月19日 · aoirint

Ubuntu, TigerVNC

Setup VNC via ssh on Ubuntu Desktop. Install TigerVNC. # Ubuntu 18.04 sudo apt install tigervnc-scraping-server # Ubuntu 16.04 sudo apt install tigervncserver Set password. vncpasswd startVNC.sh #!/bin/bash x0tigervncserver PasswordFile=~/.vnc/passwd Display=:0 configure LocalForward LOCALPORT localhost:5900 in ~/.ssh/config. TigerVNCのクライアントはあんまり機能が多くない RealVNC社のクライアントはWindows, Linux, Mac, Mobileにリリースされてて便利 https://www.realvnc.com/en/connect/download/viewer/ つまずかない!?TigerVNCでリモートデスクトップ - Qiita

2020年3月18日 · aoirint