TIP
大容量動画時代、ストリーミング配信を再定義。SwarmCloudはユーザーのデバイスを無限に拡張できるCDNノードに変え、高額なCDNトラフィック費用にサヨナラを告げましょう!

未来を見据えたP2Pストリーミング技術
5G技術の普及に伴い、ライブ配信を含むオンライン動画エンターテインメントは徐々に主流の娯楽方式となっています。しかし、CDNの導入コストは非常に高く、コストの増加速度が収益の増加速度を上回っており、旧来の技術では各動画事業者の事業拡大やコスト削減のニーズを満たせません。エンドユーザーにとっても、多くのCDN事業者がすべてのISPやネットワークエッジをカバーできていないため、動画視聴時に再バッファリングやカクつきといった不快な体験を避けられません。 「P2P+CDN」の動画配信モデルはサーバー帯域幅不足の問題を効果的に解決し、ユーザーの視聴体験を向上させながら動画事業者の帯域幅コストを削減します。 しかし、従来のP2P技術は自身の制約(多くが独自プロトコルを採用)により、クロスプラットフォームなエンドツーエンド伝送を実現できず、P2Pの活用率を大きく制限していました。SwarmCloudはWebRTC Datachannelの標準プロトコルを採用し、Web、iOS、Android、PCの全プラットフォームにわたるP2P相互接続を実現。ネットワーク内の各ノードのアップロード帯域幅を最大限に活用することで、P2Pがクロスプラットフォームに対応できず、活用率が低いという問題を解決しました。
動作原理
従来のストリーミング再生モデルでは、プレイヤーがCDN(オリジンサーバー)にデータをリクエストして順次ダウンロード再生します。SwarmCloudはクライアントにSDKを組み込むことで、プレイヤーとネットワークの間にプロキシ層を埋め込みます。プレイヤーはこのプロキシにデータをリクエストし、プロキシがP2PとCDNの間でインテリジェントに切り替えを行うことで、再生のスムーズさを保証しつつP2Pの利用率を最大化します。 
シンプルな統合
コードを書くことは、楽しい体験であるべきです。
import Hls from '@swarmcloud/hls/hls.min';
if(Hls.isSupported()) {
var hls = new Hls();
hls.loadSource('https://your_stream.m3u8');
hls.attachMedia(video);
}import com.p2pengine.sdk.P2pEngine
P2pEngine.init(applicationContext, YOUR_TOKEN, null)
val parsedUrl = P2pEngine.instance!!.parseStreamUrl("https://your_stream")
mediaPlayer.play(parsedUrl)import SwarmCloudKit
let parsedUrl = P2pEngine.shared.parseStreamUrl("https://your_stream.m3u8")
_player = AVPlayer.init(url: URL(string: parsedUrl)!)import 'package:flutter_p2p_engine/flutter_p2p_engine.dart';
await FlutterP2pEngine.init(
YOUR_TOKEN,
config: P2pConfig.byDefault()
);
url = await FlutterP2pEngine.parseStreamURL(YOUR_STREAM_URL);
player = VideoPlayerController.networkUrl(url);import { initP2pEngine, parseStreamURL, TrackerZone } from 'react-native-swarmcloud';
initP2pEngine(YOUR_TOKEN, {
trackerZone: TrackerZone.Europe, // Set HongKong or USA if you changed zone
})
.then(() => {
const url = parseStreamURL(YOUR_STREAM_URL);
setSource({ uri: url });
})先進的なP2P+CDNアーキテクチャ
CDNとP2Pはストリーミング配信において非常に高い補完性を持っています。SwarmCloudのP2P配信ネットワークはCDN技術と深く融合しており、視聴者が初めてプレイヤーを開いた際は必ずCDNエッジノードからリソースを取得します。正常に視聴できている状態で同時にP2Pネットワークに接続し、十分な残りバッファ時間を確保した上でピアからリソースを取得します。ピアがオフラインになったりネットワークが不安定になったりした場合は、シームレスにCDNエッジノードからの取得に切り替えることで動画のスムーズな再生を保証し、P2Pネットワークの可用性が制御不能になるという問題を解決しています。 
P2Pのセキュリティリスクを排除
- 主要ブラウザが標準でサポートするWebRTC技術をベースにしているため、ユーザーは完全に意識することなく利用でき、追加のプラグインをインストールする必要がありません。これにより、従来のP2Pがプラグインやクライアントソフトウェアのインストールを必要とすることで生じていた煩雑さやセキュリティリスクを解消しています。
- 動画配信事業者にとっては、WebRTCネイティブの安全な伝送特性とP2P技術本来のチャンク分割・分散伝送特性が組み合わさることで、既存のDRMソリューションに一切影響を与えず、データの安全性を高め、攻撃や窃取を困難にします。
- P2Pは、ユーザーがCDNサーバーの認可を受けて再生を開始した後にのみ有効化されます。CDNサーバーの認可フロー(token、key、cookieなど)はP2P開始の前後で一貫性が保たれます。
- すべてのメディアデータはアプリケーションのメモリ内にキャッシュされ、ディスクには保存されません。このメモリ領域は他のアプリケーションやデバッグツールからアクセスできないため、動画データが窃取されないことを保証します。
利用規約
本サービスをご利用いただく場合、SwarmCloud利用規約に同意したものとみなされます。
ゼロコストで始める
SwarmCloudは各アカウントに毎日150GBの無料トラフィックを提供しており、ゼロコストで始めることができます。
次のステップ
- 管理パネルにアクセスして登録
- WebでP2Pを利用する場合:
- 管理パネルで サイト管理 をクリックし、案内に従ってドメインを紐付け
- ストリーミング配信の高速化に使用する場合、ストリーミング形式と再生エンジンに応じて、ドキュメントの説明に従ってSDKを統合
- Hls.js
- Video.js(HLSおよびMPEG-DASHに対応)
- Shaka-Player(HLSおよびMPEG-DASHに対応)
- Dash.js
- MP4/MP3/MKV
- 大容量ファイルのダウンロード高速化に使用する場合は、ファイルダウンロードSDKをご利用ください
- P2Pが機能しない場合は、トラブルシューティング手順を参照してください
- モバイル向けネイティブSDKを利用する場合:
- 管理パネルで アプリ管理 をクリックし、左上のボタンからtokenを取得し、案内に従ってAPP IDを紐付け
- 統合したいプラットフォームに応じて、ドキュメントの説明に従ってSDKを統合
- デバッグが完了したら、本番リリース可能です
- P2Pが機能しない場合は、トラブルシューティング手順を参照してください
- 管理パネルに戻り、P2Pの効果を確認できます
- ユーザー数が多い場合は段階的リリースをお勧めします。管理パネルの P2P設定 -> アクティベーション比率 から設定できます
