1¢/ GBのビデオホスティングサービスの構築方法

ビデオホスティングがそれほど高価なのはなぜですか



Webサイトで使用されるすべての種類の静的ファイルの中で、最も厳しいホスティング要件はビデオに関連付けられています。





米国でのビデオホスティング用のレンタルサーバーは、他の多くの国よりもはるかに安価です(送信ギガバイトあたり)。 ただし、アメリカのサーバーから他の大陸へのビデオの配信は、バッファリングを中断せずに映画を見ることができ、再生を開始するまでの待ち時間が許容できるほど十分に速いことはまれです。 したがって、国際的な視聴者にアピールする動画を含むサイトの所有者は、ユーザーに近い世界のさまざまな地域でローカルサーバーをレンタルする必要があります。 たとえば、ロシアのユーザーに動画を表示すると、同じ動画をアメリカ人に表示するよりも数倍高価な一般的な動画サイトの費用がかかります。 外国の視聴者に対しては、動画の品質をより高くしたり低くしたりする必要があります。 この後、国際市場に行きます。



この問題を解決するには、ソフトウェアをよりスマートにする必要がありました。







典型的な静的ファイルサーバーとは何ですか? 要求されたファイルを適切な場所で開き、チャネルに送信します。 典型的なブラウザベースのビデオプレーヤー? ファイルをダウンロードし続けながら、適切な場所からファイルを要求し、最小限のバッファーがいっぱいになるのを待って、ビデオを表示します。 バッファが空の場合、いっぱいになるのを待ちます。



1つではなく5つのサーバー



Hola CDNテクノロジーは、クライアントソフトウェアとサーバーソフトウェアの両方に改善をもたらします。 ブラウザで実行されているプレーヤーは、1つからではなく、5つの異なるサーバーからビデオをダウンロードします。 それらの1つは、非常に信頼性が高く、ユーザーに近いが、上記で書いた高価なサーバーです。 これは、お客様が以前に使用したCDNに属します。 残りの4つは、Holaがより安価なさまざまな仮想サーバープロバイダー(米国、フランス、オランダ)からレンタルするサーバープールから選択されます。







ユーザーにとって、ビデオの再生はできるだけ早く開始することが重要です。 したがって、ビデオの先頭または前方にジャンプした後の最初のフラグメントは、高価で高速なサーバーからダウンロードされます。 ただし、残りのフラグメントはHola CDNサーバーから「将来のために」ダウンロードされます。 ユーザーの地理的な場所により、これらのフラグメントは再生時間よりも長くダウンロードされる可能性があり、セカンダリサーバーのいずれにもアクセスできない場合があります。 ただし、スマートクライアントソフトウェアは、異なるサーバーからフラグメントを並行してダウンロードでき、アクセスできないサーバーの使用も除外できます。 その結果、ほとんどのビデオファイルは安価なサーバーから部分的にダウンロードされ、視聴者が気付かないうちに連続したビデオストリームに接着されます。 クライアントコードは、さまざまなサーバーの負荷インジケーターを継続的に測定し、次の各フラグメントをダウンロードする場所と、将来保持する必要があるフラグメントの数を決定します。



さらに、Hola CDNクライアントコードは、ダウンロードしたビデオクリップを高品質な方法でキャッシュします。 視聴者が長い映画を前後にスキップすることを行ったとしても、現在一般的なWebプレーヤーの多くでよくあるように、既にダウンロードされたフラグメントの1つを再度ダウンロードする必要はありません。



Hola CDNサーバーに関しては、それらはスマートミラーです。 プライマリCDNからダウンロードし、人気のあるビデオファイルのコピーを保存します。



トラフィックを節約するその他の手段



ホスティングコストを削減することを目的としたもう1つの重要な手段は、将来使用するためにアップロードする動画が多すぎないことです。 多くの場合、ユーザーは最後までビデオを見ません。 同時に、ほとんどのWebプレーヤーはダウンロード可能な限りダウンロードします。ユーザーがすばやく接続できる場合は、ユーザーが四半期を見てさらに見ないことを決めている間に映画全体をダウンロードする時間があります。 プレーヤーは、中断のない再生に十分な限られたビデオの長さのみをダウンロードします。 最後の2つの機能は無料で利用でき、Hola CDNサーバーを使用していない人でもトラフィックを節約できます。



Hola CDNは、HTML5ビデオをサポートするブラウザーでも、ビデオを再生するためにFlashを使用する必要があるブラウザーでも動作します。 video.jsに基づいて構築された独自のHola Playerをお勧めしますが、 JW PlayerおよびHTML5ベースのプレーヤーと連携できます。 Media Source Extensionsテクノロジーを使用して、個別にロードされたフラグメントをHTML5ビデオプレーヤーに配信します。



プレイする



Habrの読者向けに、まず、プレーヤー、形式、使用シナリオのさまざまな組み合わせでクライアントコードをテストするための内部ツールへのリンクを公開します。 ようこそ、遊んでみてください! 当然、このすべてが機能すること、将来変更されないこと、およびこのページをまったく削除しないことを保証するものではありません。 そこにある多くの組み合わせは間違いなく機能せず、いくつかは一般的に理論的にも不可能です。



私たちに来て



他の多くの潜在的な顧客がセットアップとテストの過程にある間、我々はすでに最初の満足した顧客を見ています。 私たちにはまだやることがたくさんあります。ライブビデオストリーム、さまざまなビデオ形式、プレーヤーのサポートを追加します。したがって、 優秀なプログラマが必要です。 仕事は遠隔地(またはイスラエルに住んでいる場合はオフィス)であり、スケジュールはこれまで以上に柔軟になり、高い収益が得られます。 テストタスクから試用期間の正常終了までの選択は、平均で250人の候補者のうちの1人です。 クライアントとサーバーの両方で使用するJSを十分に理解する必要があります。



Holaでの仕事に興味がある場合、または私たちにふさわしい人を知っている場合は、 alexey @ hola.orgまでメールをください 。 最初の3か月間、選択に合格して当社と協力してくれる人を連れてきたら、7000米ドルを支払います



All Articles