---
title: Rustを使用した模擬MoIP
tags: 
author: [AketiMaika](https://www.docswell.com/user/Aketi-Maika)
site: [Docswell](https://www.docswell.com/)
thumbnail: https://bcdn.docswell.com/page/GEWGWWP8J2.jpg?width=480
description: &lt;2026/10/11 M.E.L.Tにて&gt; 本発表では、Rustを使用して開発した模擬MoIP（Media over IP）システム「AMoRe（Aketi Media over IP on Rust engine）」について紹介している。  MoIPとは、放送・映像制作設備を従来の専用配線からIPネットワークへ移行する技術であり、発表者はInterop Tokyoの「ShowNet Media X」に触発されて本システムの開発を行った。  システム開発では、性能や安全性に優れるRustをサーバー側の実装言語として採用し、既存のOSSを最大限活用することを目標とした。構成としては、ブラウザからWebRTCで映像・音声を送信し、サーバーで処理した後にSRTを利用してOBSへ配信する仕組みとなっている。また、設定情報はAMoRe.yamlで管理し、録画先や接続上限、映像品質などを設定できるように設計された。  実装にはRust、JavaScript、WebRTC、SRT、Docker、OBSなどの技術を利用し、AI支援ツールであるCodexやClaudeも開発工程で活用した。  動作検証の結果、映像品質の劣化や色変化はほとんど見られず、カメラから管理サーバー間では遅延もほぼ発生しなかった。一方で、管理サーバーからOBSまでの経路で約3秒の遅延が確認されており、現在も原因を調査中である。GUIによる簡単な操作や、カメラごとにコンテナ管理できる点が利点として挙げられた。  今後の課題として、VPNを使用せずに利用できる環境の整備や、AMoRe.yamlで設定可能な項目の拡張が挙げられている。また、実験を通じてMoIPシステムを比較的容易に構築できることを確認し、さらなる機能強化への展望が示された。  https://github.com/Aketi-Maika/AMoRe
published: October 13, 26
canonical: https://www.docswell.com/s/Aketi-Maika/56N4YM-2026-10-13-135405
---
# Page. 1

![Page Image](https://bcdn.docswell.com/page/GEWGWWP8J2.jpg)

Rustを使⽤した模擬MoIP
CoMoFell
AketiMaika


# Page. 2

![Page Image](https://bcdn.docswell.com/page/47ZL55K9J3.jpg)

⽬次

Rustってそもそも何?

MoIPってなに?

設計をしてみよう!

実際作ってみて

使ってみて

感想


# Page. 3

![Page Image](https://bcdn.docswell.com/page/YJ6W99QDJV.jpg)

Rustってそもそも何?

性能、メモリ安全性、安全な並⾏性を⽬指して設計された
マルチパラダイムのプログラミング⾔語

2016年から開発が⾏われている

WezTerm等々、近年様々な場⾯で活躍

今回はRustがどれほどの性能であるかを
確認して⾒るため採⽤

使ってみたかっただけ


# Page. 4

![Page Image](https://bcdn.docswell.com/page/GJ5MNNR8J4.jpg)

MoIPってなに?

正式名称 : Media over IP

放送・映像制作設備を従来の専⽤配線からIPネットワークベースへ
移⾏するための技術

Show net Media X という取り組みがとても⾯⽩かった

ほほう?? → 作ってみるか!
というわけで作った。
↑誰が喋ってもshownetな資料↑


# Page. 5

![Page Image](https://bcdn.docswell.com/page/9E2955DV7R.jpg)

設計をしてみよう!

正式名称
 AMoRe
 Aketi Media over IP on Rust engine

使⽤機器
 ProxMoxVEのVMくん(4コア/4GB/64GB)
 Chromiumが使えるPC
 インターネット~IXルーターを添えて~
 わからせ済みのCodexくんとClaudeちゃん
↑Proxmoxはこんな感じに↑


# Page. 6

![Page Image](https://bcdn.docswell.com/page/D7Y4KK2QEM.jpg)

設計をしてみよう!

Mission
 可能な限り既存OSSを活⽤して構築する。
 複数のカメラ映像をOBSへ取り込み、
OBSで合成・切り替え・配信できるようにする。
 低遅延・⾼画質な映像・⾳声伝送を⾏う。
 ブラウザ側はJavaScript、Server側の接続・設定管理などの
⾃作部分はRustで実装する。既存OSSの実装⾔語は制限しない。
 Server側の設定はAMoRe.yamlで管理する。
対象には録画保存先、接続上限、映像・⾳声品質、接続先、
SRTの遅延設定を含める。
 ブラウザの機器利⽤許可とOBS・監視製品側の設定⽅法は、
それぞれの製品仕様に従う。


# Page. 7

![Page Image](https://bcdn.docswell.com/page/VENYRR82J8.jpg)

実際作ってみて

構造

作り⽅
1.
⼈間がひたすら要件定義書を書くます。
2.
Codexに投げていい感じに情報を追加します。
3.
Claudeに作ってもらいます。
4.
完成です。


# Page. 8

![Page Image](https://bcdn.docswell.com/page/Y79PMMKDE3.jpg)

実際作ってみて

使⽤OSS/プロトコル
 Rust
︓Server側の⾃作処理。
 JavaScript
︓ブラウザの送信画⾯と機器・接続制御。
 WebRTC
︓ブラウザ→Serverの映像・⾳声伝送。
 SRT
︓Server→OBSの伝送。
 Docker
︓Server上のアプリケーション実⾏環境。
 OBS
︓映像受信・合成・切り替え・配信。
 WebRTC受信、MPEG-TSへの格納、コーデック変換、SRT送信に使⽤する
OSSは、機能・性能・ライセンスを⽐較して選定する。


# Page. 9

![Page Image](https://bcdn.docswell.com/page/G78DLLR57D.jpg)

使ってみて

映像品質
 そこまで劣化なし
 ⾊の変化もなし
 カメラ → 管理 間は同じNetなので基本的に遅延なし
 管理 → OBS 間は3秒ほどの遅延あり(原因究明中)

良かった点
 GUIでぽちぽちするだけ
 コンテナでカメラごとに管理してる

悪かった点
 ローカルで使うことしか考えてないところ


# Page. 10

![Page Image](https://bcdn.docswell.com/page/L7LMLLK3JR.jpg)

使ってみて
カメラ側
管理側


# Page. 11

![Page Image](https://bcdn.docswell.com/page/4EMYMM2MEW.jpg)

使ってみて
OBS側
実際の配置


# Page. 12

![Page Image](https://bcdn.docswell.com/page/PER9VVMLJ9.jpg)

感想

サーバーさえしっかり動いていればなんとかなる。

VPNで実験を試みたが、学校のネットがカス不調だったので
実験できず

デザリング+VPNでは通信に成功した

なんかおもろいおもちゃが簡単にできるようになった。

ドメインを振ってVPNを使⽤せずサービスを利⽤可能にしたい

AMoRe.yamlの設定可能範囲を拡張したい。


# Page. 13

![Page Image](https://bcdn.docswell.com/page/P7XQZZK6EX.jpg)

GitHudはこちら!!
https://github.com/Aketi-Maika/AMoRe


