ストリーミングとは?| 動画ストリーミングの仕組み

ストリーミングとは、実際にメディアファイルをダウンロードすることなく、動画を視聴したり、オーディオコンテンツを聴いたりする方法です。ファイルの所有者がCDNを使用する場合、ストリーミングのパフォーマンスが向上し、バッファリング時間が短縮されます。

学習目的

この記事を読み終えると、以下のことができるようになります。

  • ストリーミングの仕組みを理解する
  • ストリーミングの速度が低下する要因を理解する
  • ストリーミングを高速化する方法を説明する

記事のリンクをコピーする

ストリーミングとは?

ストリーミングメディア

The first websites were simple pages of text with maybe an image or two. Today, however, anyone with a fast enough Internet connection can watch high-definition movies or make a video call over the Internet. This is possible because of a technology called streaming.

ストリーミングでは、サーバーからクライアントへオーディオまたは動画ファイルが継続的に送信されます。簡単に言うと、消費者は、インターネットに接続されたデバイスでテレビを見たり、ポッドキャストを聴いたりするときにストリーミングを使っているのです。ストリーミングでは、クライアントデバイスで再生されるメディアファイルが遠隔で保存され、インターネット経由で数秒ずつ送信されます。

ストリーミングとダウンロードの違いは?

ストリーミングはリアルタイムで、メディアファイルをダウンロードするよりも効率的です。動画ファイルをダウンロードすると、ファイル全体のコピーがデバイスのハードドライブに保存され、ファイル全体のダウンロードが完了するまで動画を再生できません。ストリーミングでは、ブラウザはメディアファイルを実際にコピーして保存することなく動画を再生します。動画ファイルは、全体を一度に読み込むのではなく、少しずつ読み込まれ、ブラウザは読み込む情報をローカルに保存しません。

湖と川の違いを考えてみてください。両方とも水があり、川の水量は湖と同等かもしれません。違いは、川の水が同時にすべて同じ場所にあるわけではないことです。ダウンロードした動画ファイルは湖に似ていて、多くのハードドライブスペースを占有します(湖の移動には時間がかかります)。動画ストリーミングは、動画のデータが連続して急速にユーザーのブラウザに流れ込むという点では、川の流れ(ストリーム)に似ています。

ストリーミングはどのように機能するか

インターネットで送信される他のデータと同様に、オーディオと動画のデータはデータパケットに分割されます。各パケットにはファイルの小さな断片が含まれており、クライアントデバイスのブラウザ内のオーディオプレーヤーまたは動画プレーヤーがデータパケットフローを取り出し、動画またはオーディオとして解釈します。

Does streaming use the User Datagram Protocol (UDP) or the Transmission Control Protocol (TCP)?

Some streaming methods use UDP, and some use TCP. UDP and TCP are transport protocols, meaning they are used for moving packets of data across networks. Both are used with the Internet Protocol (IP). TCP opens a dedicated connection before transmitting data, and it ensures all data packets arrive in order. Unlike TCP, UDP does neither of these things. As a result, TCP is more reliable, but transmitting data via UDP does not take as long as it does via TCP, although some packets are lost along the way.

If TCP is like a package delivery service that requires the recipient to sign for the package, then UDP is like a delivery service that leaves packages on the front porch without knocking on the door to get a signature. The TCP delivery service loses fewer packages, but the UDP delivery service is faster, because packages can get dropped off even if no one is home to sign for them.

For streaming, in some cases speed is far more important than reliability. For instance, if someone is in a video conference, they would prefer to interact with the other conference attendees in real time than to sit and wait for every bit of data to be delivered. Therefore, a few lost data packets is not a huge concern, and UDP should be used.

In other cases, reliability is more important for streaming. For instance, both HTTP live streaming (HLS) and MPEG-DASH are streaming protocols that use TCP for transport. Many video-on-demand services use TCP.

バッファリングとは?

ストリーミングとバッファリング

Streaming media players load a few seconds of the stream ahead of time so that the video or audio can continue playing if the connection is briefly interrupted. This is known as buffering. Buffering ensures that videos can play smoothly and continuously. However, over slow connections, or if a network has a great deal of latency, a video can take a long time to buffer.

ストリーミングの速度を低下させる要因は?

ネットワーク側の要因:

  • ネットワークレイテンシー : ユーザーがアクセスしようとしているコンテンツの保存場所など、さまざまな要因がレイテンシーに影響します。
  • ネットワークの輻輳 : ネットワークで送信されるデータが多すぎると、ストリーミングのパフォーマンスが低下する可能性があります。

ユーザー側の要因:

  • WiFiの問題 : LANルーターを再起動するか、WiFiの代わりにEthernetに切り替えると、ストリーミングのパフォーマンスが向上します。
  • 処理が遅いクライアントデバイス :ビデオを再生するには、かなりの量の処理能力が必要です。動画ストリーミングデバイスで、他のプロセスが多数実行されている場合や、普段から処理が遅い場合は、ストリーミングのパフォーマンスが低下する可能性があります。
  • 十分な帯域幅がない : 動画ストリーミングの場合、ホームネットワークには約4Mbpsの帯域幅が必要です。高画質動画の場合は、より多くの帯域幅が必要になります。

ストリーミングを高速化するには?

ストリーミングは、他のWebコンテンツと同種の遅延やパフォーマンス低下の影響を受けます。ストリーミングコンテンツは他の場所に保存されるため、ホストの場所が大きな差を生み出しますが、これはインターネットでアクセスする他のコンテンツでも同じです。ニューヨークにいるユーザーがカリフォルニア州のロスガトスにあるNetflixのサーバーから配信される動画をストリーミングしようとする場合、動画コンテンツがユーザーに到達するまでに約4,828km移動するのでバッファ時間は当然長くなり、全く再生できない可能性もあります。このため、Netflixやその他のストリーミングプロバイダーは、世界中のユーザーにより近い場所にコンテンツを保存する分散型コンテンツ配信ネットワーク(CDN)を広く利用しています。

CDNは、ストリーミングパフォーマンスに大きなプラスの影響を与えます。Cloudflare Stream配信 は、CloudflareのCDN を活用して、世界中のすべてのCloudflareデータセンターに動画コンテンツを保存します。その結果、動画の起動時間が短縮され、バッファリングが削減されるため、レイテンシーを縮小することができます。

To learn more about using Cloudflare Stream, see our Developer documentation.