Home > Archives > 動画配信に関する基礎知識

動画配信に関する基礎知識

Publish:

動画配信に関する基礎知識(VOD, ストリーミングの種類や特徴、HLS/HDSなどの方式や拡張子・コーデック, その他

動画配信に関する基礎知識

VOD


ビデオ・オン・デマンド(Video On Demand)とは、視聴者が観たい時に様々な映像コンテンツを視聴することができるサービスである。 略称「VOD」。別名「電子レンタルビデオ」。 VODにおいて配信されるコンテンツは、公開済の映画や放送済の放送番組、 オリジナルの映像作品を配信するものもある。 課金方法としては、コンテンツごとに課金するもの(ペイ・パー・ビュー)、 一定金額を支払えば観放題となるサービスを提供しているものがある。 [参考]

ストリーミング


ストリーミング (streaming) とは、主に音声や動画などのマルチメディアファイルを転送・再生するダウンロード方式の一種である。 通常、ファイルはダウンロード完了後に開く動作が行われるが、動画のようなサイズの大きいファイルを再生する際にはダウンロードに非常に時間がかかってしまい、特にライブ配信では大きな支障が出る。そこで、ファイルをダウンロードしながら、同時に再生をすることにより、ユーザーの待ち時間が大幅に短縮される。この方式を大まかに「ストリーミング」と称することが多い。 [参考]

拡張子 说明
rm,ra,ram RealAudio/RealVideoストリーム コンテンツ
rt RealTextストリーム テキスト フォーマット
rp RealPixストリーム イメージ コンテンツ
swf Shockwave / Flash
gif,jpg,png GIF87,GIF89,アニメーション GIF,JPEG,PNG
mp3 MP3方式で圧縮されたオーディオ
smil,sml Smilファイル
mpg,mpeg 標準的なMPEGレイヤー1,レイヤー2のビデオ
wav,aiff,au Windos / Macintoch / UNIX の標準的なサウンドファイル
avi Audio / Video インターリーブ(Microsoftビデオフォーマット)
asf NetShowファイル
wmv,wma Windows Media ファイル
mov Quicktimeムービー
mid,midi,rmi Midiサウンドファイル

ストリーミングは、従来のダウンロード再生と違い、まずメタファイルをユーザーのパソコンにダウンロードし、 音声・動画ファイルをダウンロードしながら同時に再生するため、再生までの待ち時間がほとんどありません。 再生時間の長い大容量の音声・動画ファイルでも、ユーザーに負担をかけません。 また、ナローバンド用、 ブロードバンド用にエンコードした音声・動画ファイルを用意し、ユーザーが自身の環境にあった音声・動画ファイルを選択できるようにしておくと親切です。
この「ストリーミング」は、プログレッシブダウンロード再生とリアルタイムストリーミング再生の2つの再生方法に分けられます。[参考]

再生方法 说明
従来のダウンロード再生 HTTPサーバーから再生する音声・動画ファイル全体をユーザーのパソコン
に完全にダウンロードしてから再生が始まります。
そのため、再生時間の長い大容量の音声・動画ファイルほど再生まで待ち時間がかかり、
ナローバンドユーザーには負担がかかります。
また、ユーザーのパソコンに再生したファイルが残るため、二次配布される可能性があります。著作権のあるファイルの再生には不向きです。
プログレッシブダウンロード再生(擬似ストリーミング再生) 音声・動画ファイルをHTTPサーバーまたはストリーミングサーバーからストリーミング再生します。
音声・動画ファイルをユーザーのパソコンにダウンロードしつながら同時に再生が始まるため、再生までの待ち時間がほとんどありません。
ただし、再生したファイルがユーザーのパソコンに残るため、擬似ストリーミング再生になります。
著作権のない音声・動画ファイルを個人サイトからストリーミングするのに適した再生方法です。
リアルストリーミング再生 音声・動画ファイルをストリーミングサーバーから、リアルタイムでストリーミング再生します。
ライブ配信は、この再生方法によるものです。まず再生される前にファイルの一部がダウンロードされ、バッファに格納されます。
そのバッファされたファイルを再生するため、再生した音声・動画ファイルがユーザーのパソコンに残りません。
そういったことからリアルタイム形式は、著作権のある音声・動画ファイルの二次配布防止になります。
また、インターネットが混雑してダウンロードが中断しても、バッファに格納したデータを使えるため、
音声・動画ファイルの再生が止まってしまう可能性が低くなります。ストリーミングサーバーをレンタルする必要があります。 通常のHTTPサーバーからはできません。
(ストリーミングサーバは、プレイヤにストリーミングデータを小分けにして送信します。 クライアント側ではデータを受取ながら再生し再生し終ったデータは破棄する というシステムを使用しています。 そのために、Webサーバーからのダウンロードとは異なり、データが保存されません。 )

HLS


HLSという名称は、“HTTPライブストリーミング”を意味する英語「HTTP Live Streaming」の略から来ています。 Appleが自社のiOS端末に向けに開発したHTTPによるメディア配信の規格です。

一方、HLSでは、エンコーダーによってデジタルデータ化された映像・音声信号をファイル化する際に、10秒単位の「MPEG-2 TS」として細切れにし、暗号化して、小さな連続したファイルを作ります。ちなみにエンコーダーは、デジタルデータの作成時に、ビットレートに応じたいくつかのバリエーションを作っておきます。
そして、この[細切れ]になった「MPEG-2 TS」ファイルの再生順や、暗号化の鍵、コンテンツのバリエーションなどを書き込んだM3U8形式の「プレイリスト」に記載しておきます。そして、これらをWebサーバーから配信する、という仕組みになっています。
再生側では、Webサーバーから「プレイリスト」を受け取り、動画のファイル構成か確認します。通信速度に合わせて、複数のバリエーションが用意されたファイルのうち、最適なものを選んで、細切れになった映像ファイルを1つずつダウンロードして再生します。

1)サーバーと再生側(クライアント)との間の通信速度が速かったり、あるいは遅かったりしても、適切な動画ファイルで再生できるのです。
2)プレイリストをたどることでエンドユーザーが簡単に巻き戻し操作をすることもできます。
3)Webの配信に使われる「HTTP」というプロトコルが使われることです。(従来の動画ストリーミングでは、RTP(Real-time Transport Protocol)など、UDP(User Datagram Protocol)ベースのプロトコルが使われてきました) 配信側は特別なサーバーを用意する必要がありません。特定のプロトコルを遮断するネットワークでも、Webブラウジングができるなら、HLS形式の動画を楽しめることになります

配信のワークフロー 说明
コンテンツの準備 Input Containers:  F4V F4F F4M  MP4 FLV
Video:
iPhone and iPod touch--H.264 Baseline Profile Level 3.0
 iPhone and iPad--Main Profile Level 3.1
Audio: HE-AAC or AAC-LC up to 48 kHz, stereo audio
コンテンツの再パッケージ化 用意したメディアファイルをmpeg2-tsに再パッケージ化します。
再パッケージされたコンテンツのセグメント化 時間幅が均等な短いメディアファイルの連続体にセグメント化/分割化します。
Appleはこの分割するコンテンツの長さは10秒を推奨としていますが、変更は可能です。セグメント化されたn.tsファイルの他に2つのm3u8ファイルが生成されます。 これらは個々のメディアファイルへのリファレンスを含むマスター及びインデックス・ファイルとなっております。HLS.png
ビデオストリームからオーディオトラックを抽出(Optional)
端末からHTTPによるリクエスト クライアント端末はまずこのマスターファイルをGETし、記載されているリンクのhigh,mid,lowの中から適切なインデックスファイルを取得します。 通常は一番低いレートから取得し、帯域に余裕があれば高いレートのファイルを取得するようPlayer側で判断されます。 これがAdaptive bitrate streamingと呼ばれる機能です。 インデックスファイルには実際のtsファイルへのリンクが記載されていますので、最新(一番下)のtsファイルを取得する事でLive映像が視聴可能となります。

HDS


HLSという名称は、英語「HTTP Dynamic Streaming」の略から来ています。 HLSとHDSは似たような名前で区別がつきにくいですが、HLS=Apple, HDS=Adobeの規格であり、HTTPによる動画配信技術という点では同一です。 ただし、その中身はそれぞれ異なります。
HDSもHLS同様メディアファイルをセグメント化/分割化します。 Adobeはセグメント長の推奨値を6秒としていますが、こちらも変更は可能です。

HDS_Codec.png

変換ツール:f4fpackager

./f4fpackager --input-file 変換元動画 --output-file 変換後動画情報を書出すディレクトリ

可変ビットレート対応にするには
f4fpackager --input-file=sample1_150kbps.f4v --bitrate=150
f4fpackager --input-file=sample1_700kbps.f4v --manifest-file=sample1_150kbps.f4m --bitrate=700
f4fpackager --input-file=sample1_1500kbps.f4v --manifest-file=sample1_700kbps.f4m --bitrate=1500
拡張子 说明
f4f  動画ファイル本体。内部はセグメントに分割されている
f4m  マニフェストファイル。この中に動画情報が格納されており、可変ビットレートやライセンス管理の情報も記述される
f4x  インデックスファイル。Playerから要求される各フラグメントファイルのf4fファイル中でのインデックスを持っている

以上の3つのファイルを生成します

具体的なサーバでの処理の流れと導入はご[参考]

埋め込みタグをJavaScript化(IE対策)
Windows Media Player,RealPlayer,QuickTime動画配信ついて

Disclaimer: This article is based on BY-NC-SA license. Reproduced please specify switched from: whisper