目次
AWS Elemental MediaConnect v2.0 完全ガイド 2026
概要と課題
AWS Elemental MediaConnect は、放送品質のライブビデオトランスポートサービス です。会場・スタジオ・データセンター間で高品質な動画ストリームを安全・信頼性高く転送します。SMPTE 2022-7・ZIXI・RTP・SRT・Fujitsu CDI など放送業界標準プロトコルをサポートし、従来の衛星回線・専用回線の IP ネットワーク上での実現を可能にします。MediaConnect → MediaLive → MediaPackage が放送グレードライブ配信スタックの最上流であり、会場映像の安全な長距離転送を担当します。
MediaConnect が解決する課題
衛星回線・専用回線の高コスト
- 従来:スタジアム → 放送局間に衛星回線・専用回線が必須(月額 $10,000~$50,000)
- MediaConnect:IP ネットワーク(パブリック・プライベート)で代替、大幅コスト削減
放送品質の信頼性確保
- インターネット経由の動画送信は帯域不安定・パケットロスで品質維持困難
- MediaConnect:SMPTE 2022-7(デュアルネットワーク冗長化)・ZIXI・SRT で放送品質を保証
複数配信先への同時配信
- 同一ソース映像を複数の放送局・CDN・ソーシャルメディアに同時配信
- エンタイトルメント管理で配信権の制御
低レイテンシー転送
- SRT(Secure Reliable Transport)で <1 秒遅延実現
- リアルタイム双方向通信(カメラマンへの指示)を可能化
アーキテクチャ全体像
graph TB
subgraph Sources["ビデオソース"]
Stadium["スタジアム<br/>カメラ"]
SNG["SNG 車<br/>衛星通信"]
Studio["スタジオ"]
EventVenue["会場<br/>リモートカメラ"]
end
subgraph MediaConnect["MediaConnect フロー"]
Source["ソース管理<br/>(Input)"]
Protocol["プロトコル選択<br/>(SRT/ZIXI/RTP)"]
Redundancy["冗長化<br/>(SMPTE 2022-7)"]
Entitlement["エンタイトルメント<br/>(出力先管理)"]
end
subgraph Outputs["出力"]
MediaLive1["MediaLive<br/>(エンコード)"]
Station["放送局"]
CDN["CDN<br/>(配信)"]
Social["SNS ライブ配信"]
end
subgraph Distribution["配信"]
Broadcast["地上波<br/>放送"]
OTT["OTT<br/>ストリーミング"]
Social2["Facebook/YouTube"]
end
Sources -->|RTMP/RTP/SRT| MediaConnect
Source -->|入力管理| Protocol
Protocol -->|送信プロトコル| Redundancy
Redundancy -->|冗長性確保| Entitlement
Entitlement -->|出力先制御| Outputs
MediaLive1 -->|HLS/DASH| OTT
Station -->|放送| Broadcast
CDN -->|キャッシュ| OTT
Social -->|RTMP Push| Social2
プロトコル比較
graph TB
subgraph Protocols["転送プロトコル"]
SRT["SRT<br/>(Secure Reliable)<br/>• <1 秒遅延<br/>• パケット復旧<br/>• 暗号化<br/>• オープンソース"]
ZIXI["ZIXI<br/>• <2 秒遅延<br/>• パテント技術<br/>• 信頼性優先<br/>• ライセンス要"]
RTP["RTP/FEC<br/>• 標準プロトコル<br/>• Forward Error Correction<br/>• オーバーヘッド大<br/>• 遅延制御"]
SMPTE2022["SMPTE 2022-7<br/>• デュアル回線<br/>• 放送標準<br/>• ハードウェア対応<br/>• 高コスト"]
end
select["最適な選択"]
SRT -->|低遅延・コスト| select
ZIXI -->|信頼性重視| select
RTP -->|標準準拠| select
SMPTE2022 -->|冗長化| select
コアコンポーネント詳説
1. Flow(フロー)
ビデオストリームを一方向または双方向で転送する単位。
フロー設定
- ソース(Source):入力 IP・ポート・プロトコル
- 出力(Output):複数配信先への同時転送
- エンタイトルメント(Entitlement):出力先のアクセス権管理
2. Source(ソース)
ビデオ入力ポイント。複数ソースをプール化可能。
ソースタイプ
srt-listener:SRT で受動受信(会場から PUSH)srt-caller:SRT で能動接続(MediaConnect から PULL)zixi-push:ZIXI プロトコル PUSHrtp-multicast:RTP マルチキャストcdi:Fujitsu CDI(非圧縮高品質)
3. Output(出力)
複数配信先への同時転送。
出力先タイプ
- MediaLive チャンネル(エンコード)
- 他の MediaConnect フロー(リレー)
- 放送局エンコーダー(UDP TS / RTP)
- CDN(RTMP Push)
4. Entitlement(エンタイトルメント)
出力先へのアクセス権を管理。配信権の商用化に対応。
エンタイトルメント設定
- 出力先ホワイトリスト(IP CIDR)
- 有効期限
- 最大転送ビットレート制限
5. Reservation(リザベーション)
継続的な転送キャパシティを事前確保(オプション)。
リザベーション効果
- 優先接続(フロー作成時の確実性)
- 月額固定料金で Cost Predictability
- 年間契約で最大 70% 割引
主要ユースケース 10+
1. スポーツ国際放送(複数配信先)
スタジアムからの映像を複数国の放送局に同時配信。
スタジアム → SRT → MediaConnect
├── 出力 1 → 日本放送協会(NHK)
├── 出力 2 → テレビ朝日
├── 出力 3 → 米国 ESPN
└── 出力 4 → YouTube グローバル配信
2. SNG(Satellite News Gathering)の IP 代替
取材現場 → IP ネットワーク → スタジオ(衛星回線廃止)
ニュース取材現場(SNG 車)
↓ SRT / ZIXI(低遅延・信頼性)
MediaConnect フロー
↓
放送局スタジオ → 本放送出力
3. リアルタイム複数配信(Live + OTT + SNS)
1 つのライブ映像を TV・Web・SNS に同時配信。
会場カメラ → MediaConnect
├── TV 出力(放送局向け)
├── OTT 出力(MediaLive → HLS/DASH)
└── SNS 出力(Facebook Live / YouTube)
4. 冗長ネットワーク構成(SMPTE 2022-7)
2 つの独立ネットワークで高可用性確保。
ソース(Primary: ISP A、Backup: ISP B)
↓ SMPTE 2022-7 デュアル冗長化
MediaConnect フロー
├── Primary ネットワーク接続喪失 → Backup 自動切り替え
└── 放送中断なし
5. リアルタイムビデオ通話(双方向)
カメラマン ↔ 放送局 の双方向通信。
スタジアムカメラ → MediaConnect(往路)
↓ SRT(<1 秒遅延)
放送局 → MediaConnect(復路:指示・音声)
↓ SRT
スタジアムモニター(監督に指示表示)
6. クロスリージョン配信
AWS リージョン間のビデオ転送(内部バックボーン利用)。
- AWS Tokyo リージョン(カメラ入力)
- ↓ MediaConnect(内部 AWS ネットワーク)
- AWS US-East リージョン(配信センター)
- ↓ MediaLive → CloudFront → グローバル配信
7. 複数イベント並行中継
複数スポーツイベント・コンサートからの映像を同一プールで管理。
Event A(スタジアム) → Flow A
Event B(アリーナ) → Flow B
Event C(野外) → Flow C
→ 共有 MediaConnect インフラ
→ 各フロー独立管理・マルチキャスト出力
8. 従来オンプレから AWS への段階的移行
既存オンプレ放送基盤から AWS クラウドへ段階移行。
- Phase 1: オンプレ入力 → MediaConnect → オンプレ出力
- Phase 2: 一部出力を AWS MediaLive に変更
- Phase 3: 全出力を AWS に統合
9. Ultra HD(4K)/ HDR 映像転送
ビットレート高い高品質映像の信頼性確保。
- 4K HDR ソース(50 Mbps+)
- → SRT / ZIXI(高ビットレート対応)
- → Forward Error Correction で信頼性向上
- → MediaLive → 4K DASH 配信
10. 配信権の動的制御
イベント中の配信権の追加・変更・失効を運用。
- Entitlement マネージメント:
- • ハーフタイム:広告目的で SNS 出力を一時停止
- • 延長戦:追加料金払った配信先に限定配信
- • 試合終了:アーカイブ配信を自動開始
11. 低遅延ライブ配信
<1 秒遅延で会場・視聴者が同期。
SRT プロトコル(<0.5 秒遅延)
+ MediaLive エンコード(<1 秒)
+ CDN(<0.5 秒)
= 総遅延 <2 秒(放送品質)
12. Fujitsu CDI 連携(非圧縮伝送)
HD / 4K 非圧縮ビデオをデータセンター間で転送。
- Fujitsu CDI エンコーダー → MediaConnect
- → 非圧縮 2110-20(ST 2110 規格)
- → リモートロケーション記録・処理
設定・操作の具体例
AWS CLI を使用した基本的なフロー作成
例1: SRT リスナーフロー(スタジアム → クラウド)
#!/bin/bash
# 1. Flow 作成(SRT Listener)
FLOW=$(aws mediaconnect create-flow \
--name stadium-to-cloud-flow \
--availability-zones ap-northeast-1a ap-northeast-1c \
--source '{
"Name": "srt-source",
"Protocol": "srt-listener",
"IngestPort": 1935,
"MaxBitrate": 50000000,
"WhitelistCidr": "203.0.113.0/24"
}' \
--query 'Flow.FlowArn' --output text)
echo "Flow created: $FLOW"
# 2. Output を MediaLive に追加
aws mediaconnect add-flow-outputs \
--flow-arn "$FLOW" \
--outputs '[{
"Name": "to-medialive-primary",
"Protocol": "rtp",
"Destination": "10.0.1.100",
"Port": 5000,
"Smoothing": 300,
"StreamId": "1"
}]'
# 3. バックアップ出力(冗長性)
aws mediaconnect add-flow-outputs \
--flow-arn "$FLOW" \
--outputs '[{
"Name": "to-medialive-backup",
"Protocol": "rtp",
"Destination": "10.0.2.100",
"Port": 5001,
"Smoothing": 300,
"StreamId": "2"
}]'
# 4. Flow 開始
aws mediaconnect start-flow --flow-arn "$FLOW"
echo "Flow started"
# 5. Flow の詳細確認
aws mediaconnect describe-flow --flow-arn "$FLOW"
例2: ZIXI + SMPTE 2022-7 冗長化
# ZIXI プロトコル + デュアルネットワーク冗長化
aws mediaconnect create-flow \
--name high-reliability-flow \
--availability-zones ap-northeast-1a ap-northeast-1c \
--source '{
"Name": "zixi-primary",
"Protocol": "zixi-push",
"IngestPort": 2088,
"MaxBitrate": 100000000,
"WhitelistCidr": "203.0.113.0/24"
}' \
--maintenance-day SUNDAY \
--maintenance-start-hour 02
例3: Entitlement(配信権管理)
# エンタイトルメント作成(出力先アクセス権)
aws mediaconnect create-entitlement \
--flow-arn "arn:aws:mediaconnect:ap-northeast-1:123456789012:flow/xxx" \
--name broadcast-japan-rights \
--entitlement '{
"AllowedAddresses": [
"192.0.2.0/24"
],
"MaxFramerate": 60,
"MaxBitrate": 30000000
}' \
--subscribers '[
"arn:aws:mediaconnect:ap-northeast-1:999999999999:flow/xxx"
]'
# エンタイトルメント更新(期限設定)
aws mediaconnect update-entitlement \
--flow-arn "arn:aws:mediaconnect:ap-northeast-1:123456789012:flow/xxx" \
--entitlement-arn "arn:aws:mediaconnect:ap-northeast-1:123456789012:entitlement/xxx" \
--entitlement '{
"AllowedAddresses": [
"192.0.2.0/24"
],
"MaxFramerate": 60,
"MaxBitrate": 30000000
}'
Python SDK による動的フロー管理
import boto3
import json
class MediaConnectManager:
def __init__(self, region='ap-northeast-1'):
self.client = boto3.client('mediaconnect', region_name=region)
def create_srt_listener_flow(self, flow_name, ingest_port, source_cidr,
max_bitrate=50000000):
"""SRT Listener フロー作成(会場 → クラウド)"""
response = self.client.create_flow(
Name=flow_name,
AvailabilityZones=['ap-northeast-1a', 'ap-northeast-1c'],
Source={
'Name': 'srt-listener-source',
'Protocol': 'srt-listener',
'IngestPort': ingest_port,
'MaxBitrate': max_bitrate,
'WhitelistCidr': source_cidr
}
)
return response['Flow']['FlowArn']
def add_output(self, flow_arn, output_name, protocol, destination,
port, stream_id=None, smoothing=300):
"""出力先を追加"""
output_config = {
'Name': output_name,
'Protocol': protocol,
'Destination': destination,
'Port': port,
'Smoothing': smoothing
}
if stream_id:
output_config['StreamId'] = str(stream_id)
response = self.client.add_flow_outputs(
FlowArn=flow_arn,
Outputs=[output_config]
)
return response['Outputs']
def create_entitlement(self, flow_arn, entitlement_name,
allowed_addresses, max_bitrate=None,
max_framerate=None):
"""エンタイトルメント(出力アクセス権)作成"""
entitlement_config = {
'AllowedAddresses': allowed_addresses
}
if max_bitrate:
entitlement_config['MaxBitrate'] = max_bitrate
if max_framerate:
entitlement_config['MaxFramerate'] = max_framerate
response = self.client.create_entitlement(
FlowArn=flow_arn,
Name=entitlement_name,
Entitlement=entitlement_config,
Subscribers=[]
)
return response['Entitlement']
def start_flow(self, flow_arn):
"""フロー開始"""
self.client.start_flow(FlowArn=flow_arn)
print(f"Flow {flow_arn} started")
def stop_flow(self, flow_arn):
"""フロー停止"""
self.client.stop_flow(FlowArn=flow_arn)
print(f"Flow {flow_arn} stopped")
def describe_flow(self, flow_arn):
"""フロー詳細確認"""
response = self.client.describe_flow(FlowArn=flow_arn)
return response['Flow']
def set_source_backup(self, flow_arn, backup_ingest_port, backup_cidr):
"""バックアップソース設定(冗長化)"""
response = self.client.add_flow_sources(
FlowArn=flow_arn,
Sources=[{
'Name': 'srt-backup-source',
'Protocol': 'srt-listener',
'IngestPort': backup_ingest_port,
'MaxBitrate': 50000000,
'WhitelistCidr': backup_cidr
}]
)
return response['Sources']
# 使用例
if __name__ == '__main__':
manager = MediaConnectManager()
# SRT Listener フロー作成
flow_arn = manager.create_srt_listener_flow(
flow_name='stadium-to-cloud',
ingest_port=1935,
source_cidr='203.0.113.0/24',
max_bitrate=50000000
)
print(f"Flow ARN: {flow_arn}")
# Primary 出力(MediaLive)
manager.add_output(
flow_arn=flow_arn,
output_name='to-medialive-primary',
protocol='rtp',
destination='10.0.1.100',
port=5000,
stream_id=1
)
# Backup 出力(冗長化)
manager.add_output(
flow_arn=flow_arn,
output_name='to-medialive-backup',
protocol='rtp',
destination='10.0.2.100',
port=5001,
stream_id=2
)
# エンタイトルメント設定(配信権)
manager.create_entitlement(
flow_arn=flow_arn,
entitlement_name='broadcast-japan',
allowed_addresses=['192.0.2.0/24'],
max_bitrate=30000000,
max_framerate=60
)
# フロー開始
manager.start_flow(flow_arn)
# フロー確認
flow = manager.describe_flow(flow_arn)
print(json.dumps(flow, indent=2, default=str))
CloudFormation による IaC
AWSTemplateFormatVersion: '2010-09-09'
Description: 'MediaConnect Flow with Redundancy'
Resources:
MediaConnectRole:
Type: AWS::IAM::Role
Properties:
AssumeRolePolicyDocument:
Version: '2012-10-17'
Statement:
- Effect: Allow
Principal:
Service: mediaconnect.amazonaws.com
Action: 'sts:AssumeRole'
SrtFlow:
Type: AWS::MediaConnect::Flow
Properties:
Name: stadium-to-cloud-flow
Source:
Name: srt-listener
Protocol: srt-listener
IngestPort: 1935
MaxBitrate: 50000000
WhitelistCidr: 203.0.113.0/24
AvailabilityZones:
- ap-northeast-1a
- ap-northeast-1c
PrimaryOutput:
Type: AWS::MediaConnect::FlowOutput
Properties:
FlowArn: !GetAtt SrtFlow.FlowArn
Name: to-medialive-primary
Protocol: rtp
Destination: 10.0.1.100
Port: 5000
Smoothing: 300
BackupOutput:
Type: AWS::MediaConnect::FlowOutput
Properties:
FlowArn: !GetAtt SrtFlow.FlowArn
Name: to-medialive-backup
Protocol: rtp
Destination: 10.0.2.100
Port: 5001
Smoothing: 300
JapanEntitlement:
Type: AWS::MediaConnect::FlowEntitlement
Properties:
FlowArn: !GetAtt SrtFlow.FlowArn
Name: broadcast-japan
Entitlement:
AllowedAddresses:
- 192.0.2.0/24
MaxBitrate: 30000000
MaxFramerate: 60
Outputs:
FlowArn:
Value: !GetAtt SrtFlow.FlowArn
SourceIp:
Value: !GetAtt SrtFlow.EgressIp
IngestPort:
Value: 1935
類似サービス比較表
| 項目 | MediaConnect | Zixi | Haivision SRT | Net Insight | Evertz |
|---|---|---|---|---|---|
| 提供形態 | AWS マネージド | SaaS | オープンソース / SaaS | ハードウェア | ハードウェア |
| SRT 対応 | ✅ | ❌ | ✅✅ | ✅ | ✅ |
| ZIXI 対応 | ✅ | ✅✅ | ❌ | ✅ | ✅ |
| SMPTE 2022-7 | ✅ | ❌ | 限定的 | ✅ | ✅ |
| 低遅延(<1s) | ✅(SRT) | ✅ | ✅✅ | ✅ | ✅ |
| エンタイトルメント | ✅ | ✅ | 限定的 | ❌ | ❌ |
| AWS 統合 | ネイティブ | API | API | API | API |
| 初期コスト | 0 | サブスク | OSS 無料 | 高額 | 高額 |
| スケーラビリティ | 無制限 | 無制限 | 無制限 | 容量固定 | 容量固定 |
ベストプラクティス
✅ 推奨事項
-
冗長ネットワーク構成
- SMPTE 2022-7(2 回線)または複数ソース設定
- Primary 障害時に Backup への自動フェイルオーバー
-
SRT プロトコル優先
- 低遅延(<1 秒)
- パケット復旧機能
- オープンソース・標準化
- ライセンス不要
-
エンタイトルメントで配信権管理
- 出力先ごとにアクセス権を明確化
- 地域・配信権の商用化に対応
-
複数出力先の並行管理
- 1 フロー = 複数出力先(TV・CDN・SNS)
- 効率的な配信インフラ
-
CloudFormation / CDK で IaC 管理
- フロー定義をコード化
- 本番環境・ステージング環境の一貫性
-
ホワイトリスト CIDR の厳格設定
- 送信元 IP を限定
- 不正アクセス防止
❌ 回避すべき事項
-
単一ネットワーク・単一出力
- 障害時全停止
- SMPTE 2022-7 または複数ソース必須
-
低遅延プロトコル無視
- ZIXI 偏重(ライセンス・相互運用性)
- SRT の活用を検討
-
エンタイトルメント未設定
- 配信権の制御不可
- 不正配信(海賊行為)防止困難
-
大規模イベントで単一フロー
- 冗長性なし
- MediaConnect → MediaLive の複数パスを検討
-
従来衛星回線との並行保有
- コスト二重払い
- MediaConnect で段階的置き換え
-
バックアップ計画なし
- フロー障害時の対応策なし
- 事前に別フロー・回線を準備
トラブルシューティング表
| 症状 | 原因 | 対策 |
|---|---|---|
| ソース接続失敗 | CIDR ホワイトリスト設定ミス / IP 変更 | WhitelistCidr 再確認・送信元 IP 確認 |
| パケットロス・フレームドロップ | ネットワーク不安定 / ビットレート超過 | SRT FEC 設定 / ビットレート見直し |
| 出力先未到達 | Destination IP・Port 不正 / セキュリティグループ | Output 設定確認・ネットワーク経路確認 |
| 遅延が大きい | プロトコル選択(ZIXI)/ バッファリング | SRT に変更 / Smoothing パラメータ調整 |
| エンタイトルメント権限エラー | Subscriber ARN 不正 | Entitlement 設定再確認・権限委譲確認 |
| SMPTE 2022-7 フェイルオーバーしない | バックアップソース未設定 / ヘルスチェック失敗 | バックアップソース追加 / ネットワーク確認 |
| Flow 開始できない | IAM 権限不足 / リソース上限 | IAM Role 確認・リージョン 2 への分散検討 |
| CloudFormation デプロイ失敗 | JSON 形式エラー / 参照 ARN 不正 | テンプレート検証・参照値確認 |
2025-2026 最新動向
新機能・アップデート
-
SRT Advanced(SRT v1.5+)
- SRT-FEC(Forward Error Correction)強化
- <100ms 遅延実現(従来 <300ms)
-
ST 2110-20 標準化対応
- IP ベース放送フォーマット完全対応
- Fujitsu CDI との完全互換
-
機械学習ベースの自動最適化
- ネットワーク状態に応じた自動パラメータ調整
- FEC・ビットレート自動最適化
-
マルチリージョン フェイルオーバー
- AWS リージョン間での自動切り替え
- グローバル可用性向上
-
ネイティブ暗号化強化
- DTLS 1.3 によるセキュアな転送
- エンドツーエンド暗号化
-
REST API v2 完全化
- OpenAPI 準拠
- 複数 SDK(Go・Rust 等)対応
学習リソース・参考文献
公式ドキュメント
- AWS Elemental MediaConnect - What is MediaConnect?
- MediaConnect User Guide
- AWS Elemental MediaConnect Pricing
オープンソース・標準
- SRT Alliance - Secure Reliable Transport 仕様
- SMPTE 2022-7 Standard - IP ビデオ冗長化標準
- IETF RTP Specification - リアルタイム転送プロトコル
ベンダー・競合サービス比較
- Zixi Broadcaster - クラウド配信・SaaS
- Haivision SRT - SRT フォーカス
- Net Insight Nimbra - 放送用 IP ネットワーク
- Evertz Studer - 放送ハードウェア統合
実装チェックリスト
- [ ] MediaConnect IAM Role 作成
- [ ] SRT Listener / Caller フロー設計決定
- [ ] CIDR ホワイトリスト設定(送信元 IP)
- [ ] Primary / Backup ネットワーク構成(SMPTE 2022-7 検討)
- [ ] 出力先(MediaLive・放送局・CDN)設定
- [ ] エンタイトルメント(配信権)設定
- [ ] SRT FEC / Smoothing パラメータ調整
- [ ] Reservation(リザベーション)検討(月額コスト最適化)
- [ ] CloudFormation / CDK で IaC 管理
- [ ] テスト配信で遅延・品質確認(スタジアムシミュレーション)
- [ ] フェイルオーバー動作確認(バックアップ切り替え)
- [ ] CloudWatch メトリクス・ログ監視設定
- [ ] 本番環境セキュリティ監査(CIDR・TLS)
まとめ
AWS Elemental MediaConnect は、放送品質のライブビデオトランスポートサービス です。SRT・ZIXI・RTP・SMPTE 2022-7 など複数プロトコルをサポートし、会場・スタジオ・データセンター間で高品質・低遅延・信頼性の高いビデオ転送を実現します。複数配信先への同時配信・エンタイトルメント管理・冗長ネットワーク対応により、放送グレードのライブ配信インフラの第一層を担当します。従来の衛星回線・専用回線の IP ネットワーク上での実現で大幅なコスト削減と運用柔軟性を実現します。
活用シーン:国際スポーツ放送・ニュース速報・イベント中継・複数配信先運用・SNG(衛星ニュース配信)の IP 代替
最大のメリット:放送品質の信頼性を保ちながら、衛星回線・専用回線コストを IP ネットワークで削減
次ステップ:MediaConnect → MediaLive → MediaPackage → CloudFront でエンドツーエンドのライブ配信基盤構築
最終更新:2026-04-26 バージョン:v2.0