「ストリーミング」の版間の差分
m Botによる: {{Normdaten}}を追加 |
m Bot作業依頼: Apple関連記事の改名に伴うリンク修正依頼 (Apple|Apple) - log |
||
15行目: | 15行目: | ||
=== ブラウザ標準対応のプロトコル === |
=== ブラウザ標準対応のプロトコル === |
||
*[[HTTP Live Streaming]] (HLS) |
*[[HTTP Live Streaming]] (HLS) |
||
:* [[ |
:* [[Apple]]によるHTTPベースのストリーミング・プロトコル。[[Internet Engineering Task Force|IETF]]標準化を目指して仕様が公開されており、多くのサーバや[[クライアント (コンピュータ)|クライアント]]が対応している。また、いくらかの[[ウェブブラウザ]]([[Safari]]、[[Google Chrome|Chrome]]など)でも直接再生することができる。Flash Playerも再生に対応している。また、hls.jsなどのスクリプトを使うことで、[[HTML5]]の{{仮リンク|Media Source Extensions|en|Media Source Extensions}} APIに対応しているブラウザでも再生することができる。 |
||
*[[MPEG-DASH]] (Dynamic Adaptive Streaming over HTTP) |
*[[MPEG-DASH]] (Dynamic Adaptive Streaming over HTTP) |
||
:* MPEGによって開発されたHTTPベースのストリーミング技術。VLCとGPACが再生に対応しているほか、dash.jsを使うことによってHTML5のMedia Source Extensions APIに対応しているブラウザでも再生することができ、dash.asを使うことによってFlash Playerでも再生することができる。 |
:* MPEGによって開発されたHTTPベースのストリーミング技術。VLCとGPACが再生に対応しているほか、dash.jsを使うことによってHTML5のMedia Source Extensions APIに対応しているブラウザでも再生することができ、dash.asを使うことによってFlash Playerでも再生することができる。 |
2021年5月20日 (木) 11:02時点における版
ストリーミング(英語: Streaming)とは、主に音声や動画などのマルチメディアファイルを転送・再生するダウンロード方式の一種である。
通常、ファイルはダウンロード完了後に開く動作が行われるが、動画のようなサイズの大きいファイルを再生する際にはダウンロードに非常に時間がかかってしまい、特にライブ配信では大きな支障が出る。そこで、ファイルをダウンロードしながら、同時に再生をすることにより、ユーザーの待ち時間が大幅に短縮される。この方式を大まかに「ストリーミング」と称することが多い。
プログレッシブダウンロード
類似した転送方式にプログレッシブダウンロードがある。ファイルをダウンロードしながら再生するという点ではストリーミングと同じだが、HTTPによる転送が可能であるため、別途ベンダロックインのストリーミングサーバを購入する必要がない、リバースプロキシやコンテンツデリバリネットワークとの相性が良いなど、安価に大規模配信できるという大きな利点がある。一方でストリーミングと異なり、再生後、ハードディスクの一時フォルダにマルチメディアファイルがアクセス可能な状態で残ってしまうため、著作権保護の観点からサービス提供者に忌避された時期があった。プログレッシブダウンロードが可能な代表的なファイル形式として、Flash動画などが挙げられる。YouTubeやニコニコ動画などの投稿型動画配信サイトを始め、無料コンテンツ配信でも一般的に利用されている。最近は、プログレッシブダウンロードに帯域制御などを追加したストリーミング技術も出てきており(Microsoft Smooth Streaming、Adobe Dynamic Streaming、HTTP Live Streaming、MPEG-DASHなど)、GYAO!やYahoo! JAPANなどが採用していた[1]。
ストリーミング専用プロトコル
ブラウザ標準対応のプロトコル
- HTTP Live Streaming (HLS)
- MPEG-DASH (Dynamic Adaptive Streaming over HTTP)
- MPEGによって開発されたHTTPベースのストリーミング技術。VLCとGPACが再生に対応しているほか、dash.jsを使うことによってHTML5のMedia Source Extensions APIに対応しているブラウザでも再生することができ、dash.asを使うことによってFlash Playerでも再生することができる。
- MP4BoxやFFmpegがMPEG-DASH互換MP4フラグメントの生成に対応している。
ブラウザ再生にプラグインが必要となるプロトコル
- IETFで標準化されており、RealMedia / QuickTime / Windows Media / GStreamer を含む多くのプレーヤーで再生することができる。また、Flash Playerからは、Locomote Video Playerなどのプレイヤーを通して再生することができる。ただし、多くのブラウザは直接対応しておらず、プラグインや外部プレイヤーを使う必要がある。
- 多くのストリーミングソフトウェアで、この送出が可能。
- Windows Mediaのストリーミング配信に使用される。EUの独占禁止法による問題から、楕円曲線暗号を使ったDRMを含むプロトコル仕様が公開されている。MMSを再生できるプレーヤーは多いが、互換性に問題があるものもある。また、多くのブラウザは直接対応しておらず、プラグインや外部プレイヤーを使う必要がある。
- いくらかのストリーミングソフトウェアで、この送出が可能。
- Microsoft Smooth Streaming
- マイクロソフトによるSilverlight用のストリーミングプロトコル。HTTPプログレッシブダウンロード技術を用いている[2]。VLCメディアプレーヤー 2.1以降がこの再生に対応している。Flash Playerからは、Smooth Streaming Plugin for OSMFを使うことで再生することができる。多くのブラウザは直接対応しておらず、プラグインや外部プレイヤーを使う必要がある。
- FFmpegがスムースストリーミングに使われるISMVフラグメントの生成に対応している。
- アドビによるFlash Video用のストリーミングプロトコル。リバースエンジニアリングによって仕様が解析されているため、多くのオープンソースソフトウェアがこの再生及び送出に対応している。ただし、多くのブラウザは直接再生することができず、プラグインを使う必要がある。このことは、プラグインに対応していないモバイル端末で特に問題となる。
- Adobe HTTP Dynamic Streaming (HDS)
- アドビによるHTTPベースのFlash Video用ストリーミングプロトコル。ファイルを分割しフラグメント毎にダウンロードするという手法を使っている。多くのブラウザは直接対応しておらず、プラグインを使う必要がある。
- FFmpegがHDSフラグメントの生成に対応している。
P2Pマルチキャスト配信プロトコル
- アドビが開発したFlash用P2Pプロトコルであり、RFC 7016としてプロトコル仕様が公開されている。P2Pマルチキャスト配信に対応している[3]。
- PeerCastプロトコル
- PeerCastの使っているプロトコル。
- P2Pマルチキャスト配信が実現可能なWeb標準のP2P APIであり、ブラウザが直接対応している。P2P配信プロトコル自体は標準化されていない。WebRTCに対応するブラウザとして、Chrome、Firefox、Operaがある。
その他、JavaアプレットによるP2Pマルチキャスト配信も使われている。
通信経路の暗号化
HTTPベースのプロトコルは、HTTPの代わりにHTTPSを通すことで通信経路の暗号化が可能。
- RTMPS
- アドビが開発した、RTMP及びSSLに基づくFlash用の暗号化ストリーミングプロトコル。リバースエンジニアリングによって仕様が解析されているため、多くのオープンソースソフトウェアがこの再生及び送出に対応している。
- RTMPE
- アドビが開発した、RTMP及びディフィー・ヘルマン鍵共有に基づくFlash用の暗号化ストリーミングプロトコル。リバースエンジニアリングによって仕様が解析されているため、多くのオープンソースソフトウェアがこの再生及び送出に対応している。設計に欠陥があり、中間者攻撃が可能という脆弱性が存在する[4][5]。
- Clear Key
- W3C標準のEncrypted Media Extensionsで規定されている暗号化方式。Google Chromeなどが復号に対応している。
- HLS暗号化
- AES-128を使った暗号化。
ストリーミング用DRM
ストリーミング形式では配信目的のためにコピーガードが用意されていることが多く、映像や音楽をファイルに保存することを困難にさせることができる。ただし、コピーガードは視聴者の見られる環境を狭め、視聴者の合法的な利用を妨害し、競合他社の製品も排除するという設計の欠陥を故意に作り出すため批判されており (Defective by Design)、何時でも何処でもどんなデバイスでもオンデマンドで見られることを目指すニューメディア (New media) には使われないことが多い。
UltraViolet
- Google Widevine DRM
- Microsoft PlayReady
- Adobe Primetime DRM
- 旧Adobe Access DRM。pRTMPやPHDSで使うことができる。Adobe Flash PlayerやFirefox 38以降のWindows版32bitバイナリー[12] が復号に対応している。Adobe Media Serverが暗号化に対応している。
- Marlin DRM
- OMA DRM v2.0
レガシー
これらはレガシーであり、ハリウッドスタジオ(除ディズニー)ではUltraViolet対応のDRMを推進している。
- WMDRM
- 楕円曲線暗号を使ったDRM。MS-RTSPやMMSで使うことができる。Windows Media PlayerやWindows Phoneが復号に対応している。Windows Media Rights Manager (WMRM) が暗号化に対応していた。
- Windows 10 Anniversary Updateで、WMDRMの復号が削除され、WMDRMで暗号化されたメディアの視聴が不可能となった[16]。
- Helix DRM
- RealRTSPで使うことができる。Real Playerが復号に対応している。Helix Universal Server(ディスコン[17])が暗号化に対応していた。
- FairPlay
- QuickTime Playerが復号に対応している。2016年、Microsoft AzureがFairPlayの暗号化に対応した[18]。
主なストリーミングサーバ
現在はHTTPベースのストリーミングプロトコルの普及により、動画をフラグメント化してHTTPサーバで送出することが主流になりつつある。
- Adobe Media Server (旧Adobe Flash Media Server (FMS))
- アドビが提供しているWindows・Linux向けのストリーミングサーバ。コピーガードが有効な動画を、PCにおける普及率が高いマルチプラットフォームのFlash Playerに配信する唯一の手段であったため、現在のデファクトスタンダードとなっている。Flash Playerが使えないiOSへの配信にも対応しており、Protected HLSプロトコルを使うことによってブラウザから再生可能にできる。同じくFlash Playerが使えないAndroid 4.1以降への配信には、再生側にAdobe Air製のアプリをインストールさせる必要がある。なお、コピーガードを使うにはプロフェッショナル版以上を使う必要がある。バージョンによって最大同時接続数やプロセス数にライセンス的な制限があるため、大規模配信する場合にはサーバ一台に対して複数ライセンスを購入し、ライセンスをスタックする必要がある。
- Wowza Streaming Engine(旧Wowza Media Server)
- Wowza Media Systems が開発している動画ストリーミングサーバ。RTMP を使い、Adobe Flash Player と通信できるが、クライアント・サーバー間のリモートプロシージャコールにも対応しており、その際、サーバー側は Java で記述する。バージョン4.0より、Webブラウザベースで管理出来るGUIを搭載した。
- Javaで書かれたオープンソースのFlash Player向けマルチプラットフォームストリーミングサーバ。ライセンスはApache License 2.0(LGPLv3から変更された)。RTMPによる動画配信、RTMPEによる暗号化動画配信だけでなく、Flashの共有オブジェクトやRemotingなどにも対応している。ただし、プログラミング言語はJavaであり、FMS向けにActionScriptで書かれたサーバサイドスクリプトは直接動かすことができない。
- NGINXを基にしたオープンソースのストリーミングサーバ。RTMPだけでなくHLSやMPEG-DASHによるライブストリーミングにも対応している。
- MP3形式のストリーミングが可能なオープンソースのストリーミングサーバ。
- VLCメディアプレーヤー (VideoLAN Client)
主な開発停止中のストリーミングサーバ
- Helix Universal Server
- RealServerの後継製品であり、リアルネットワークスが販売していた。ディスコン[17]。配信可能なメディア種類がReal Media、Windows Media、Quick Timeと豊富であり、プラットフォームとするOS種類もWindows NT、Windows 2000、Linux、FreeBSD、Solaris、HP-UX等幅広い。
- 他社製品のコピーガードには対応していない。独自のコピーガードHelix DRMがあるものの、これを使うとReal Player以外では見ることはできないため、使われることは少ない。なお、リアルネットワークスはプレーヤ側において、DRMの相互運用性を確保するために、他社製品のコピーガードに対応しようとHarmony技術を開発したことがあるものの、アップルからの訴訟の可能性によって開発を停止している。
- Helix DNA Server
- リアルネットワークスが開発したHelix Universal Serverのオープンソース版。独自のライセンスを適用していた。最終バージョンは2006年リリースの11.1。
- VLS (VideoLAN Server)
- VideoLANプロジェクトで開発されていたオープンソースのストリーミングサーバ。現在、VLSのほとんどの機能はVLCにも実装されており、VLSは開発が終了している。
- Darwin Streaming Server
- オープンソースのストリーミングサーバー。
- QuickTime Streaming Server
- OS X Serverに搭載されていたストリーミングサーバ。
- rtmplite
- Pythonで書かれたオープンソースのFlash Player向けストリーミングサーバ。ライセンスはGPLv3。
- C++ RTMP Server
- C++で書かれたオープンソースのFlash Player向けストリーミングサーバ。ライセンスはGPLv3。
- PeerCast
- P2P技術を使ったオープンソースのストリーミングシステム。送信機能は無く、中継機能のみ持っている。RTSPやMMSの中継に対応している。
- FFserver
- IIS Media Services
- マイクロソフトが提供しているWindows向けのストリーミングサーバであり、Windows Media サービスの後継製品。コンテンツ開発用エンコーダ等も無償で配布されている。コピーガードが有効な動画は、Microsoft製品以外での視聴ができないため、Windows以外のPCやモバイルデバイス等への配信が難しい。
- 更新されておらず、Windows Server 2016以降へのインストールには回避策が必要となる[20]。
主なフラグメント化ソフトウェア
- MP4Box
- MPEG-DASH互換MP4フラグメントやMPEG-DASH互換MPEG-2 TSフラグメントなどの生成に対応している。オープンソース。
- FFmpeg
- MPEG-DASH互換MP4フラグメント、MPEG-DASH互換WebMチャンク、HDSフラグメント、Microsoft Smooth Streamingに使われるISMVフラグメントなどの生成に対応している。オープンソース。
- edash-packager
- MPEG-DASH互換MP4フラグメントの生成に対応している。ISOのCommon Encryption及びUltraVioletの一つであるWidevine DRMの暗号化・復号に対応している。オープンソース。
- TITAN File
- ATEMEの動画変換ソフトウェア。MPEG-DASH、Smooth Streaming、HLS互換フラグメントの生成に対応している。
クラウドベース
- Amazon Elastic Transcoder
- MPEG-DASH、Smooth Streaming、HLSに対応している[21]。
- Azure Media Services
- MPEG-DASH、Smooth Streaming、HLSに対応している[22]。
- Akamai Media Services Live/On Demand
- Arkena Cloud4TV
主なWebベースのストリーミングメディアプレーヤー
- Flowplayer
- HTML5及びFlashベースのWebプレーヤー。オープンソース。
- MediaElement.js
- HTML5及びFlashベースのWebプレーヤー。オープンソース。
- Video.js
- HTML5及びFlashベースのWebプレーヤー。オープンソース。
- Shaka Player
- GoogleによるHTML5ベースのWebプレーヤー。オープンソース。
- Strobe Media Playback
- AdobeによるFlashベースのWebプレーヤー。OSMF (Open Source Media Framework)を基にしている。オープンソース。更新停止中。
- MicrosoftはOSMFに向けて、Smooth Streamingに対応させるSmooth Streaming Plugin for OSMFをリリースしている。
- Locomote Video Player
- FlashベースのWebプレーヤー。オープンソース。RTSPにも対応している。
ライブストリーミング
ライブストリーミング(en:Live streaming)はライブメディアをストリーミングすることである。より限定的には、その場で記録された(ライブ)メディアをコンピュータネットワークを介してリアルタイムにストリーミング配信すること(生配信)を指す。生配信されるメディアの例として以下が挙げられる。
ライブストリーミングは生放送 (en:Live broadcast) の一種とみなされる。インターネットを利用した生放送であるライブストリーミングは、公共の電波を利用するテレビメディアの様な複雑な放送認可手続き・審査・取得を必要としない。ゆえにネットにて擬似的なラジオ放送、およびTV放送を開局可能であり、個人や小規模な各種法人団体、既存のラジオ放送局(放送局スタジオ内のライブカメラ映像とセットで流してTV放送化)も積極的にライブストリーミングへ参入している。前述の通り、(放送コンテンツの著作権関係さえクリアしていれば)規制の殆ど存在しないメディア形態である為、機材さえ用意すれば刑務所の中までネットワーク中継をすることも可能である。
短所としては、下記が挙げられる。
- ライブストリーミングの場合、既存放送メディア同様、視聴者が放送時間を忘れて目的の番組を見逃す事がありえる。
- ライブストリーミングと非ライブストリーミング(放送時間の制約が無いオンデマンド・コンテンツのストリーミング送信)共通の欠点として、ネットTV放送側が映像画質の仕様を策定する際に多くの視聴者獲得を優先させる(低スペックPCや低速ナローバンド通信回線接続PCでも視聴に耐える様、画質・画像サイズ・映像フレーム数を低めにする)か否か判断に悩まされる。
配信プラットフォーム
様々なライブストリーミングプラットフォームが存在する。詳細は以下のリンク先を参照。
- 映像・動画/video
- 音声
ライブストリーミング送出
- Adobe Flash Media Live Encoder
- Open Broadcaster Software (OBS)
- オープンソース。
- Wirecast (Telestream)
脚注
- ^ 9 特別インタビュー - ヤフーに聞く、Silverlight採用の理由
- ^ MSDN IIS Smooth Streaming について
- ^ メディアのマルチキャスト(RTMFP) Adobe
- ^ Ripping Media Off of the Wire A Step-by-Step Guide P.40 DEF CON 2010年
- ^ What is RTMPE Wowza Media Systems
- ^ a b Using PlayReady and/or Widevine Dynamic Common Encryption Microsoft
- ^ a b c Software DASH Industry Forum
- ^ a b c MPEG DASH Axiomatic Systems
- ^ a b FFmpeg Changelog
- ^ a b Common Encryption GPAC project
- ^ A Bug in Chrome Makes It Easy to Pirate Movies Wired 2016年6月24日
- ^ Firefox で DRM コンテンツを視聴する方法#サポートする環境 Mozilla Support
- ^ Marlin Tutorial Intertrust
- ^ a b OMAにおけるDRMの標準化動向 NTTドコモ
- ^ OMA DRM GPAC project
- ^ Windows 10 Anniversary Update: 音楽とビデオの消失 Microsoft
- ^ a b Helix Media Delivery Platform RealNetworks
- ^ Microsoft announces general availability of Apple FairPlay Streaming for Azure Media Services MSPoweruser 2016年8月3日
- ^ ffserver program being dropped FFmpeg project 2016年7月10日
- ^ Workaround: error installing IIS Media Services on Windows Server 2016 Microsoft 2017年5月9日
- ^ Amazon Elastic Transcoder が MPEG-DASH をサポート Amazon 2016年5月24日
- ^ Azure Media Services の概要と一般的なシナリオ Microsoft
- ^ Media Services Live Akamai
- ^ Media Services On Demand Akamai
関連項目
- アプリケーションストリーミング
- インターネットラジオ
- インターネットテレビ
- ビデオ・オン・デマンド (VOD) - 映像、もしくは音声付き映像に限定したライブストリーミングの反語的位置付けを持つメディア。いつでも変わらぬ状態・内容で視聴可能である為、あまり時事性の伴わない映像コンテンツの提供に向いている。
- P2Pテレビ
- コンテナフォーマット - 音声ファイルフォーマット
- 動画
- ワンタイムURL
- セットトップボックス