More Related Content
Similar to ライブストリーミングの基礎知識
Similar to ライブストリーミングの基礎知識 (20)
ライブストリーミングの基礎知識
- 9. 映像用コーデック
MotionJPEG
• JPEG画像紙芝居方式。単純だがデータサイズがでかくなりすぎて無理があ
る
VC-1 (WMV9)
• 標準化されてBlu-Rayなんかでも使われる。結構きれい。MSが作ったので
Windowsで使いやすい。当初特許フリーとして出てきたがそんなことなかった
ぜ
H.264
• 標準規格なので最近よく使われる。ビットレート低くても結構きれい。エンコー
ド・デコード共に重め
VP8
• Googleが買ってオープン化した。自称とてもすごいが実際はそこまででもない
らしい。自称特許フリーだが実際は危なそう
Theora
• 昔オープン化されたVP3を頑張って改良したもの。ビットレート比の画質はそ
れほどでもないが処理は比較的軽い。特許フリーぽい。
9
- 10. 音声用コーデック
WMA
• MS製なので詳しくはよくわからんが、WMVといっしょによく使われる。
AAC
• 標準規格だが詳しくはよく知らない。H.264といっしょによく使われる
MP3
• 一昔前はよくあったが最近はそれほどでも。昔は音質の劣化がきつ
いと言われたがビットレートが充分高ければ問題はない
Vorbis
• オープンで特許フリー。音質も充分でフリーなので結構よく使われて
る
Speex
• 人声用。ボイスチャット等で使われる
10
- 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
- 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. まとめ
コンテナ = ファイル
コーデック = 圧縮方法
Demuxer・Splitterとコーデックがあると視聴できる
HTTPプログレッシブダウンロードはとても簡単
• ストリーミングにはあまり向いてないよ
ストリーミングに特化したプロトコルがいくらかある
20
- 22. おまけ・TCP VS. UDP
TCP
• 信頼性のある通信プロトコル。データが途中でどこかいったり順番が
入れ替わったりすると自動でなんとかしてくれる。自動でいろいろやっ
てくれる分レイテンシが大きくなりがち
UDP
• 投げっぱなしのプロトコル。データが届かなかったり順番が入れ替
わったり平気でする。気が効かないかわりにレイテンシは小さい
ビデオストリーミングの場合
• 途中で音声や映像データはちょっとくらい飛んでも続きが普通に再生
されていれば問題ない
• 入れかわってもデータに時刻が入っていれば順番に再生できる
• ライブの場合レイテンシは小さくしたい
UDPの方が有利
22