Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

FRESH LIVEへのSRT導入

952 views

Published on

Streaming Conference #5にてFRESH LIVEへSRTを導入した話をしました。

Published in: Engineering
  • Be the first to comment

FRESH LIVEへのSRT導入

  1. 1. FRESH LIVEへのSRT導入 #StreamingConf #5 松澤 友弘 – Software Engineer at CyberAgent
  2. 2. 自己紹介:松澤友弘 2000 - 2004 リアルタイム映像伝送装置IP-700IIの開発 2006 渡米 2007 - 2014 シアトルのスタートアップ会社でゲーム開発 2014 帰国 2015 - 2016 ゴルスタのライブ配信機能ゴルキャスの開発 2016 - FRESH LIVEの配信基盤の開発
  3. 3. SRTとRTMPの比較 RTMP SRT 開発者 Adobe Haivision 一般公開 2002年(Flash Player 6) 2013年(IBC 2013) 仕様またはソースの公開 2009年(仕様公開) 2017年(オープンソース化) プロトコルベース TCP ・パケット再送遅延 ・帯域制限 UDP コンテナ FLV ・コーデックの制約 束縛なし(主にMPEG2-TS)
  4. 4. ストリームの識別 RTMP Stream Name SRT 1.2 ポート番号 SRT 1.3 Stream ID
  5. 5. Network Adaptive Encoding • 回線速度の変化に合わせて動的にビットレートを変更 • Haivision Makito Xに実装されている • 問題 : 300kbps以下の配信  回線速度見積値が常に低い値
  6. 6. SRT回線速度見積アルゴリズム 1.中間値から大きく外れたd4とd8を除外 2.平均パケット送信間隔 D = d1 + d2 + d3 + d5 + d6 + d7 / 6 3.回線速度見積値 = 1316 / D
  7. 7. 低ビットレート配信時の問題 • 1フレームが1つか2つのSRTパケットに分解される -> d2とd3を除外できない • 10個のSRTパケットごとに送信するように改造
  8. 8. インテグレーションの容易さ • Example application - stransmitの完成度が高い • 再接続処理 • SRTログ収集 • 統計情報(帯域見積もり、RTT等) • iOSのビルドスクリプト • 他のSRT対応iOSアプリの開発者が追加 • WiresharkがSRTサポート • 現在は開発バージョンのみ
  9. 9. SRT導入による恩恵 • 野外からの配信が安定 • 統計情報が見れる  配信問題の可視化 • HEVC、Opusも使える • 海外対応のサーバー構成がシンプルに
  10. 10. 海外展開
  11. 11. OSSライブラリの紹介 • VideoCast-Swift • https://github.com/openfresh/VideoCast-Swift • iOSでカメラ、マイクからの入力をSRT配信 • H264、HEVC対応 • Network Adaptive Encoding • gosrt • https://github.com/openfresh/gosrt • GoでSRTの送受信 • GoのTCP 通信APIとほぼ同じAPI

×