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

twilioが生成したmkaを短くせずに変換する

twilioで生成されたmkaをFFMPEGでflacとかwavに変換する時時間が短くなることがある. 具体的には短くなったりするのだがこの現象を回避しようとすると簡単に実現するとcompostion apiを利用することになる. ただcomposition apiは遅いので回避したい. 理由はtwilioで生成されたmkaの中身はopusという形式で音声を保持しているが, opusはwavみたいに連続したデータを持たずにgranule positionという情報を持つことでデータの開始位置を持つことで空白時間を気にすることなくデータを保持している. つまりデータが連続していないわけです. なのでちゃんと処理しないと空白時間がなかったことにされて実際の情報より短いデータが出力されてしまう. FFMPEGで処理するときは次の用にパラメータを指定すると空白部分も保持したまま変換することができます. $ ffmpeg -copyts -i in.mka -filter_complex "[0]aresample=async=1:first_pts=0[a0];[a0]amix=inputs=1" out.mka

4月 20, 2022

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