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

trivyの利用を開始した

最近話題になってる脆弱性検知ツールのtrivyを利用した. 流れてきには次のような感じである. docker imageのbuild trivyでのscan okだったらregistryにpush trivyはそのままスキャンすると検出してもしなくても exit code として 0 を返す. CircleCI上で検出したときに落とす時は 0 以外を返す必要がある. なので --exit-code 1 を指定する. 好みの問題ではあるが重要度の低い脆弱性は一旦出さないようにしている. --severity HIGH,CRITICAL のように指定すると HIGH , CRITICAL のみを検出できる. OSに入ってるlibraryに脆弱性が存在しているがまだ対応しているバージョンがないというときがある. そういうものを出されても対応ができないので検出しないようにしている. --ignore-unfixed と指定することで対応バージョンが存在しないものを検出結果から除外できる. 実際に利用しているオプションはこうである. $ trivy --exit-code 1 --quiet --severity HIGH,CRITICAL --auto-refresh --ignore-unfixed -c --auto-refresh $DOCKER_IMAGE_REPO:$CIRCLE_BRANCH

5月 29, 2019

vgo使うとき二段階認証を有効にしたgithubアカウントでプライベートリポジトリのパッケージを利用する

~/.gitconfig に次の内容を記述する $ cat ~/.gitconfig [url "git@github.com:"] insteadOf = https://github.com/ GIT_TERMINAL_PROMPT=1 をつけて go get する $ go get プライベートリポジトリのパッケージ

2月 7, 2019

GoのプロジェクトをDockerにするときの設定

GoのプロジェクトをDockerで動かすことがあると思う. 知らんけど. まぁきっとあるんだろう. ちなみに私は何度かある. 私がよく使うDockerfileの設定を書いておく. Dockerのimageをbuildするときに気を使うことが一つだけある. それはimageのサイズを小さくすることである. 何も考えずにGoのプロジェクトをbuildすると多分こんな具合だろう. FROM golang:latest WORKDIR /go/src/hogehoge.com/who/bar COPY . . RUN set -e \ && go build -o /bin/bar main.go WORKDIR / RUN set -e \ && rm -rf /go/src CMD ["bar"] 流石にここまで雑に書くことはなかなか無いだろうが, 一応ビルドして掃除までしている. だが小さくするには不十分である. まずGoのDocker imageがそれなりに大きい. 2018-12-12のlatestの段階で774MBある. $ docker images REPOSITORY TAG IMAGE ID CREATED SIZE golang latest df6ac9d1bf64 3 weeks ago 774MB Goはシングルバイナリのビルド物を生成する. なので実行時にコンパイラは必要ない. GoのbaseになってるDocker imageはDebianである. なのでGoのdocker imageでバイナリを生成してDebianのimageにうつしてやればいいじゃんてなるだろう. Debianのlatestのimageは101MBである. 小さいように見えるがまだダイエットが可能である. alpine Linuxというもっと小さいDocker imageが用意されている....

12月 12, 2018

gocvを動かすdockerfileのメモ

gocvを構築するためのDockerfileのメモ. FROM golang:latest RUN set -e \ && apt update -y \ && apt install -y build-essential sudo \ && go get -u -d gocv.io/x/gocv \ && cd $GOPATH/src/gocv.io/x/gocv \ && make install

11月 30, 2018