Skip to content

TIP

大影音時代,重新定義串流媒體分發,SwarmCloud讓你的使用者裝置成為你無限擴充的CDN節點,向高昂的CDN流量費Say Goodbye!

p2p

面向未來的P2P串流媒體技術

隨著5G技術的普及,包括直播在內的線上影音娛樂已經逐漸成為主流娛樂方式。然而,CDN部署成本極高,成本增速超過營收增速,落後的技術無法滿足各大影音廠商擴張業務和降低成本的需求。對於終端使用者而言,由於多數CDN服務商無法覆蓋全部電信業者和網路邊緣,導致使用者在觀看影片時都無法避免地遭受二次緩衝、卡頓等不良體驗。 「P2P+CDN」的影音傳輸模型有效解決了伺服器頻寬不足的問題,在提升使用者觀看體驗的同時為影音廠商節省頻寬成本。 然而,傳統的P2P技術由於自身的局限性(大多採用私有協定),無法實現跨平台的端到端傳輸,這極大地限制了P2P的使用率。SwarmCloud採用WebRTC Datachannel標準協定,實現了Web、iOS、Android與PC的全平台P2P互聯,充分利用網路中每個節點的上行頻寬,解決了P2P無法跨平台以及使用率不高的問題。

運作原理

傳統的串流媒體播放模式是播放器向CDN(來源伺服器)請求資料進行漸進式下載播放,SwarmCloud透過在用戶端整合SDK的方式,在播放器與網路之間嵌入一層代理,播放器向代理請求資料,由代理在P2P與CDN之間進行智慧切換,在保證播放流暢的前提下最大化P2P使用率。

p2p

整合簡單

寫程式,可以是一件愉快的事。

javascript
import Hls from '@swarmcloud/hls/hls.min';

if(Hls.isSupported()) {
    var hls = new Hls();
    hls.loadSource('https://your_stream.m3u8');
    hls.attachMedia(video);
}
kotlin
import com.p2pengine.sdk.P2pEngine

P2pEngine.init(applicationContext, YOUR_TOKEN, null)
val parsedUrl = P2pEngine.instance!!.parseStreamUrl("https://your_stream")
mediaPlayer.play(parsedUrl)
swift
import SwarmCloudKit

let parsedUrl = P2pEngine.shared.parseStreamUrl("https://your_stream.m3u8")
_player = AVPlayer.init(url: URL(string: parsedUrl)!)
dart
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);
tsx
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

消除P2P安全隱患

  • 基於主流瀏覽器預設支援的WebRTC技術,使用者使用完全無感知,不需要安裝額外的外掛程式,解決了傳統P2P安裝外掛程式或用戶端軟體帶來的繁瑣和安全隱患。
  • 對於影音供應商來說,WebRTC原生的安全傳輸特性加上P2P技術原生切片化及分散式傳輸的特性,使得原有的DRM方案完全不受影響,讓資料更加安全,難以被攻擊或竊取。
  • P2P只有在使用者取得CDN伺服器授權並開始播放後才會啟動,CDN伺服器的授權流程(tokens, keys, cookies等)在P2P啟動前後都保持一致。
  • 所有媒體資料快取在應用程式的記憶體中而非磁碟,這些記憶體空間無法被其他應用程式或偵錯工具存取,從而保證影片資料不會被竊取。

使用者服務協議

如果您使用了本服務,則視為同意SwarmCloud使用者服務協議

零成本啟動

SwarmCloud為每個帳號每天提供150GB免費流量,助你零成本上手。

接下來

  • 造訪管理面板並註冊
  • 如果您要在Web端使用P2P:
  • 如果您要使用行動端原生SDK:
  • 回到管理面板,即可查看P2P效果
  • 如果使用者量較大建議採用漸進式發布的方式,在管理面板 P2P設定 -> 啟用比例 進行設定即可

粤ICP备18075581号