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.

ライブストリーミングの基礎知識

35,973 views

Published on

  • Be the first to comment

ライブストリーミングの基礎知識

  1. 1. ライブストリーミングの基礎知識あれくま
  2. 2. 概要普段何気なく使ってるビデオストリーミングについてもうちょっと知りませんか?今回は基礎の基礎編。ほぼ用語解説です。 2
  3. 3. 概要ビデオフォーマットについて • コンテナとコーデック • ライブストリーミングとコンテナストリーミングプロトコルについて • HTTPプログレッシブダウンロード • 他のストリーミングプロトコル 3
  4. 4. 自己紹介あれくま(@arekuma)または kumaryuPeerCastStation (一から作り直したリメイク版PeerCast) を作ってます仕事では組み込みっぽい系。ビデオストリーミングなんかとは遠いところに居ます 4
  5. 5. 前編ビデオフォーマットについて
  6. 6. ビデオフォーマットについて再生できるビデオはどれでしょう?AVI, WMV, H.264, MP4, WebM, etc. • ごっちゃになってませんか?知ってるようで意外と知らない 6
  7. 7. コンテナとコーデックビデオを扱ううえで出てくる言葉コンテナ(Container)とは? • 実際のファイルフォーマット • AVI・ASF(WMV)・MP4・WebM等コーデック(Codec)とは? • 圧縮プログラム、または圧縮方法 • H.264・VC-1(WMV9)・VP8等 7
  8. 8. コーデック(CODEC)ストリーム(音声や映像データ)の圧縮・解凍プログラムのこと圧縮方法自体のことをいうこともある音声用や映像用、得意分野などでいろいろあるたいてい特許でガッチガチ 8
  9. 9. 映像用コーデックMotionJPEG • JPEG画像紙芝居方式。単純だがデータサイズがでかくなりすぎて無理があ るVC-1 (WMV9) • 標準化されてBlu-Rayなんかでも使われる。結構きれい。MSが作ったので Windowsで使いやすい。当初特許フリーとして出てきたがそんなことなかった ぜH.264 • 標準規格なので最近よく使われる。ビットレート低くても結構きれい。エンコー ド・デコード共に重めVP8 • Googleが買ってオープン化した。自称とてもすごいが実際はそこまででもない らしい。自称特許フリーだが実際は危なそうTheora • 昔オープン化されたVP3を頑張って改良したもの。ビットレート比の画質はそ れほどでもないが処理は比較的軽い。特許フリーぽい。 9
  10. 10. 音声用コーデックWMA • MS製なので詳しくはよくわからんが、WMVといっしょによく使われる。AAC • 標準規格だが詳しくはよく知らない。H.264といっしょによく使われるMP3 • 一昔前はよくあったが最近はそれほどでも。昔は音質の劣化がきつ いと言われたがビットレートが充分高ければ問題はないVorbis • オープンで特許フリー。音質も充分でフリーなので結構よく使われて るSpeex • 人声用。ボイスチャット等で使われる 10
  11. 11. コンテナ(CONTAINER)複数のストリーム(映像や音声データ)をまとめて1ファイルにしたもの副音声、マルチアングル、ビットレート違いや立体視用の右目用と左目用など映像や音声も複数入る物によっては字幕や3Dモデルなんかも入ったりするライブストリーミングではせいぜい音声と映像の各一本ずつコンテナにデータを入れるの(エンコする時)をMux(Multiplexing=多重化)という • 対応するMuxerが必要コンテナからデータを出すの(視聴する時)をDemuxという • 対応するDemuxer・Splitterが必要コンテナは種類によって入るコーデックが決まってることが多い • シークをしようとするとコーデック毎に正しく対応しないと無理だったり するため 11
  12. 12. コンテナの種類AVI • 20年近くも前からあるシンプルなコンテナ。なんでも入れようとすれば入るがさすがに古いのでしょぼいASF(WMV・WMA) • VC-1(WMV)とかWMAを入れる。拡張子がWMVやWMAになるのでコーデックと紛らわしいが中身はASFで同じ。スト リーミング用とファイル用でちょっと違いがあるらしいMP4 • H.264とかAACがよく入ってる。QuickTimeのMOV形式が元。3GPとかF4Vもこれベース。拡張性が高いがライブスト リーミングには仕様上対応不可能Matroska(MKV) • 結構なんでも入るコンテナ。GoogleはこれにVP8とVorbisを入れてWebMと呼んでいる。MP4に似て拡張性は高いが一 応ライブストリーミングもできることになっているMPEG2 TS(m2tsとか) • 放送用。Mpeg系のコーデックがよく入る。放送用だけあってストリーミングに強い。Windows7だとなにげに標準で開け る。Ogg • VorbisとかTheoraが入る。ストリーミングに強い。FLV • 主にFlash用。F4Vとは全くの別物。Flashで使えるコーデックが入る。ストリーミングにも使いやすい。コンテナ無し • ストリーミングプロトコルによってはそもそもコンテナ使わなかったり…… 12
  13. 13. 後編ストリーミングプロトコルについて
  14. 14. プロトコルについてprotocol: 議定書通信プロトコル = 通信データ内容の取り決め送信側と受信側の両方が理解してないと通信できない 14
  15. 15. ストリーミングプロトコルについてストリーム(映像・音声データ)をどうやってとどけるか?ファイルを全部ダウンロードしてから再生 • 遅い • ライブで見れない途中まで・途中からでも視聴したい 15
  16. 16. HTTPプログレッシブダウンロード普通のファイルダウンロードと同じprogressive: 段階的なダウンロードできたところまで再生するだけとても簡単Webページ埋め込みのビデオ再生はたいていこれ • FlashとかHTML5のvideoタグとか 16
  17. 17. HTTPプログレッシブダウンロードの利点簡単に受信できる • HTTPでファイルを落とすだけ送信も既にあるサーバが使える • HTML公開するのと同じHTTPサーバでOK多くのプレーヤで再生できる 17
  18. 18. HTTPプログレッシブダウンロードの欠点バイト単位でしか位置指定できない • 時間指定でシークできないライブストリーミングが難しい • 特殊なサーバが必要途中でストリームを切り替えるのが難しい • 帯域によって適切なビットレートのストリームを選択したりできない遅延が大きくなりがち • TCPじゃなくてもいいのに視聴者全員に送信する必要がある • ビットレート×視聴者数の上り帯域が必要 18
  19. 19. ストリーミング用のプロトコルプログレッシブダウンロードの問題点を解決したいRTP・RTSP • ビデオ会議もできるUDPベースのプロトコル。標準化されててストリーミングではかなり一般的 • 遅延少なめ。UDPマルチキャストも可能MMS・MMSH • MS製。ASFをストリーミングする。詳しくはよくわからない。MMSHはHTTPベースぽい。RTMP・RTMPH・RTMFP • Flash用。RTPに似てるが、TCPベースでFlash用のオブジェクトデータもやりとりできる • RTMPHはHTTPベース。RTMFPはUDP版HTTP Live Streaming・HTTP Dynamic Streaming (IIS Smooth Streaming ?) • HTTPプログレッシブダウンロードの問題点のいくらかを、数秒毎に細切れのファイルにすれば いいじゃん!という力技で解決したもの。確かに動きはするが、ださいPCP • PeerCastのプロトコル。P2Pのファイル共有プロトコルから派生したもの。プログレッシブダウン ロードをバケツリレーにしたような感じ個々のプロトコルについて詳しいことは次回以降に 19
  20. 20. まとめコンテナ = ファイルコーデック = 圧縮方法Demuxer・Splitterとコーデックがあると視聴できるHTTPプログレッシブダウンロードはとても簡単 • ストリーミングにはあまり向いてないよストリーミングに特化したプロトコルがいくらかある 20
  21. 21. おしまい
  22. 22. おまけ・TCP VS. UDPTCP • 信頼性のある通信プロトコル。データが途中でどこかいったり順番が 入れ替わったりすると自動でなんとかしてくれる。自動でいろいろやっ てくれる分レイテンシが大きくなりがちUDP • 投げっぱなしのプロトコル。データが届かなかったり順番が入れ替 わったり平気でする。気が効かないかわりにレイテンシは小さいビデオストリーミングの場合 • 途中で音声や映像データはちょっとくらい飛んでも続きが普通に再生 されていれば問題ない • 入れかわってもデータに時刻が入っていれば順番に再生できる • ライブの場合レイテンシは小さくしたいUDPの方が有利 22

×