zoom video sdk for Linuxでjoin sessionする

とりあえず以下のように必要なclassを定義します。 // listener class ZoomVideoSDKDelegate : public IZoomVideoSDKDelegate { public: virtual void onSessionJoin() { std::cout << "onSessionJoin" << std::endl; } // 長いので割愛 ... }; // 仮想スピーカー class ZoomVideoSDKVirtualAudioSpeaker : public IZoomVideoSDKVirtualAudioSpeaker { public: virtual void onVirtualSpeakerMixedAudioReceived(AudioRawData* data_) {} virtual void onVirtualSpeakerOneWayAudioReceived(AudioRawData* data_, IZoomVideoSDKUser* pUser) {} virtual void onVirtualSpeakerSharedAudioReceived (AudioRawData *data_) {} }; // 仮想マイク class ZoomVideoSDKVirtualAudioMic : public IZoomVideoSDKVirtualAudioMic { public: virtual void onMicInitialize(IZoomVideoSDKAudioSender* rawdata_sender) {} virtual void onMicStartSend() {} virtual void onMicStopSend() {} virtual void onMicUninitialized() {} }; 次にjoin session周りの実装をします。...

7月 26, 2023

zoom video sdk for Linuxのpackage群

RUN set -e \ && apt-get update \ && apt install -y \ build-essential \ make \ libxcb-xfixes0-dev \ libxcb-shm0-dev \ libxcb-randr0-dev \ libxcb-image0-dev \ libxcb-keysyms1-dev \ libxcb-xtest0-dev \ libglib2.0-0 \ libgbm-dev \ libdrm-dev \ libxfixes3 \ libdbus-1-3 \ libgl1-mesa-dev \ pulseaudio \ alsa-utils追記 2023-09-20 dockerでzoom video sdkを for Linuxを利用するときは pulseaudio , alsa-utils が必要みたいです....

6月 27, 2023

gocv+v4l2を利用して任意の画像をwebcamとして流す

リモートワークとかするときにzoomとかslackとかGoogle Meetとかでビデオ会議をするんですけど任意の画像をカメラ画像として差し込めると楽しいと思わないですか? LinuxだとCanonとかの一眼レフとかをWebカメラとして認識させるのにv4l2を利用してやる方法が有るんですけど, v4l2を利用することで任意の画像をWebカメラの画像として配信することができます. ざっくり言うと 標準出力に1フレームの情報としてjpegを吐き出す ffmpegでv4l2の仮想デバイスに吐き出す 簡単ですね. sample.jpegというダミー画像を出力することを考えましょう. まずはじめに仮想カメラを生成します. # /dev/video20 として仮想カメラを作る $ sudo modprobe v4l2loopback card_label="dummy_cam" video_nr=20 exclusive_caps=1 次にGoのプログラムを書く. とりあえず main.go とかで用意する. package main import ( "bytes" "image" "image/color" "image/jpeg" "os" ) func main() { of, err := os.Open("sample.jpeg") if err != nil { panic(err) } jpg, err := jpeg.Decode(of) if err != nil { panic(err) } b := jpg.Bounds() // jpegをYUV420pに変換する converted := image.NewYCbCr(b, image....

12月 2, 2020