1

@BalusC 画像サーブレットhttp://balusc.blogspot.com/2007/04/imageservlet.htmlを使用して、Web サイトに画像を提供しています。このサーブレットは汎用的であるため、最終的にはドキュメント (PDF ファイルなど) も提供しますが、ビデオではうまく機能していないようです。現在、動画を再生するためのライブラリとしてhttp://videojs.comを使用しています。

私は 2 つの Web サイトを持っています。1 つは Amazon S3 にアップロードされたファイルをホストし、もう 1 つはローカルでファイルをホストしています。ファイルが S3 でホストされている場合、ビデオ ストリームは正常に機能します (サーブレットを使用しない場合は、video.js のビデオ URL を指定するだけです)。

ただし、ローカルに保存されたファイル (したがってサーブレットが必要) をストリーミングしようとすると、ビデオは再生されません。

質問:

1) ビデオをストリーミングするサーブレットを作成することは許容されますか?

2) 1 に対して「はい」の場合、サーブレットがビデオをストリーミングしないのはなぜですか?

3) いいえから 1 の場合、JSP/Java を使用してビデオをストリーミングするにはどうすればよいですか?

4

1 に答える 1

2

多くのメディア プレーヤーでは、サーバーがいわゆる HTTP レンジ リクエストをサポートする必要があります。Rangeつまり、要求に応じてメディア ファイルの特定のバイト範囲をヘッダーで返すことができなければなりません。たとえば、長さが 10MB のファイルで、正確にインデックス 1000 から 2000 までのバイトのみ。これは、メディア ストリームの特定の範囲を十分にすばやくスキップできるようにするため、および/またはそれぞれがファイルの異なる部分を要求する複数の接続を作成してバッファリング速度を向上させるために、多くのメディア プレーヤーで必須です。

ただし、これはサーブレット内の多くの追加コードであり、HTTPRange仕様を十分に理解する必要があります。あなたが見つけた画像サーブレットとまったく同じ作成者によって、このファイルサーブレットのフレーバーですぐに使用できる例が提供されています。

通常、コンテナの組み込みのデフォルト サーブレットもこれをサポートしていることに注意してください。したがって、機会があれば、メディア ファイルを Web アプリケーション自体に直接配置するか、メディア ファイルを含むフォルダを新しい Web アプリケーション コンテキストとしてサーバー構成に追加して、必要なく URL で直接利用できるようにすることもできます。自家製のサーブレット用。

于 2012-11-30T19:04:04.537 に答える