今回のテーマはストリーミング動画です。ネットワークが高速化するのに伴い、高品質な動画がストリーミングで発信されるようになっています。受け手側もネットワークや帯域の状態によって適切な品質に設定されます。
今回はストリーミング配信技術について、主なトピックとオープンソース・ソフトウェアを紹介します。
プロトコル
ストリーミング動画配信で多いと思われるのはRTMPですが、最近HTTP Live Streamingも使われるようになっています。特によく知られているのはAppleのキーノートではないかと思います。十分な帯域は確保されているのは当然ですが、あれだけの数多い人たちが接続しても流れ続けるとあって十分安定しているようです。
サービス
ストリーミング配信の有名どころとしてはUstream、ニコニコ生放送、ツイキャスなどがあります。ツイキャスは10fps、320☓x 180pxとかなり小さいのでモバイル利用がほとんどとなっています。
また、最近YouTubeがライブ配信サービスのYouTube Liveを全ユーザに対して開放しました。これにより今後ますますライブ配信の需要が高まっていくと思われます。
ホーム/オフィス
インターネットに限らずオフィスや家庭であっても配信機能が使われています。オフィスにおいてはネット会議システムがよく知られています。Googleのハングアウト、Skypeチャット、FaceTimeなどが利用されます。経験上、どうもその場になってからうまく接続できないと言ったケースが多いように思います(または音が出ないなど)。
家庭においてはApple TVやChromecastを使ったスマートデバイスから家庭用テレビなどへのデータ配信が行われています。Amazonも最近、Fire TV Stickをリリースしており、この分野も熱くなっています。
受信&保存
ストリーミング配信において根強くあるのが配信されるデータの保存です。ストリーミングの利点として、データが保存されないと言った点があげられますが、それだけに逆に保存したいと考える人も多いです。
実際、その手のソフトウェアは数多く存在しますのでRTMPであれば保存はできるでしょう。ただしそのデータの取り扱いにおいては問題があるかも知れませんのでご注意ください。
HTML5
かつてはストリーミングを受信するのにRTMPを利用していたため、Flashが必須でした。HTML5ではWebRTCやHTTP Live Streamingによってプラグインを使わないストリーミング技術が生まれています。
配信側の設備はWebだけでは難しいことがありますが、受信においては敷居が下がってきています。今後ますます利用は増えていくと思われます。