SRTとは
SRT(Secure Reliable Transport)は映像配信用プロトコルです。
ざっくりいうと RTMP より性能がいい方式です。
RTMPのポート番号は1935に対してSRTのポート番号は自由です。本書では5000を使います。
注:SRTは字幕のSRT (SubRip Subtitle) もあるので注意。
注:SRT自体はプロトコルなのでファイル転送も可能です。
Caller と Listener
SRT には Caller と Listener があります。
送受信で一方が Call だともう一方は Listen になります。両方 Call はないです。
注:Caller,Listener の他に Rendezvous があります。
AWS の設定
① AWS MediaConnect で Flow を作成
② AWS MediaLive で Input を作成
③ AWS MediaConnect で Output を作成
AWS MediaConnect で Flow を作成


項目 | 値 |
---|---|
Source type | Standard source |
Protocol | SRT listener |
Allowlist CIDR block | 自宅のグローバルIP(xx.xx.xx.xx/32) |
Inbound port | 5000 |
Maximum bitrare | 4000000(4Mbps) |
Maximum latency | 5000(5秒) |
AWS MediaLive で Input を作成


項目 | 値 |
---|---|
Input type | Media Connect |
Input class | SINGLE_INPUT(SINGLEにしないとFlowが2つ必要) |
Flow A ARN | 先ほど作成したもの |
AWS MediaConnect で Output を作成


項目 | 値 |
---|---|
Source type | Standard output |
Protocol | SRT listener |
port | 5001 |
CIDR allow list | 自宅や会社のグローバルIP(xx.xx.xx.xx/32) |
START

IPアドレスを控えてください。
配信側 srt://xxx.xxx.xxx.xxx:5000
受信側 srt://xxx.xxx.xxx.xxx:5001
Start を押すと開始します。
配信アプリ It's my Live

自作アプリ「It's my Live」を使います。
iOS (Apple Store), Android (Google Play) で公開中。
良いニュース:2024年1月にAndroidも可能になりました!(以前はiOSのみ)
悪いニュース:機能面はよわよわです(SwiftからFlutterに乗り換え)
Google Play で検索しても出ない場合は下記URL
Google Play - It's my Live
It's my Live の設定


URLに srt://xxx.xxx.xxx.xxx:5000 を登録します。
手元の iPhone と Android の両方でテストして配信できました。
注:スマホの自動ロックで停止するので注意してください。
プレイヤー VLC
ネットワークにURLを入れます。
無事に再生することができました。
SRTプロトコルは流行るのか
配信アプリ「It's my Live」が SRT に対応したのが2019年5月です。令和元年の10連休に頑張りました。それから約5年どうなんでしょうね。
どうやら Youtube と Haivision社に動きがあるようです。もし Youtube が対応するならワンチャンありますね。う~ん頑張ってプレイヤーも作るかな。
映像配信の仕事をしているとトラブルの8割はネットワークなんですよね。そこを解決するアプリを作りたい。
ソース
https://github.com/koji4104/ItsMyLive
昔のMediaLiveの記事(2018年06月)
https://qiita.com/koji4104/items/c1b4ddd27fa0f9c011d9