Go/Cgoで映像・音声のリアルタイム処理をやるまでの道のり
Goでマルチメディアのデータをリアルタイムに処理したい場合に、標準パッケージを使用したプログラムにおいて十分なパフォーマンス目標に到達するにはなかなか困難な道のりがあります 例えば画像データ処理における行列演算のCPU命令はGoから直接実行することはできず、Cgoを利用することになります Cgoを経由してC/C++で書かれたCPU命令を多用するコードは可読性/保守性の面からも品質の維持が難しいものがあります 本セッションでは、私の所属する会社でストリーミングサーバ上でリアルタイムに映像/音声処理を行うために、Goのエコシステムを活かしつつ高速な処理を実現するために行ってきたこと、どういった変遷を経てCgoを用いながら保守性の高いコードを維持できるようにしたか、halide-langとGoの連携など、リアルタイム処理を実現するまでの過程と手法を紹介します
Level: Intermediate /
Long Talk(40min)
OSS活動、スタートアップを経てDeNAへ入社し、ゲームの大規模トラフィックやSHOWROOMのライブ配信サービスの基盤設計・運用に携わる。2018年にミラティブへ入社し、インフラ・ストリーミング領域のマネージャーとしてライブ配信基盤/インフラ基盤に携わる