0

オンラインのビデオ (somewebsite.com/myVideo.mkv など) へのリンクがあり、そのビデオをサーブレット経由でサーバーにダウンロードしたいと考えています。動画ファイルは CDN が有効になっているため、基本的に一般ユーザーはリンクをブラウザに入力するだけで再生が開始されます。これは私がこれまでに持っているコードです。

downloadFile(URL myURL){
   InputStream input = myURL.openStream();
   File video = new File ("/path-to-file/" + myURL.getFile());
   FileOutputStream output = new FileOutputStream(output);

   byte[] buffer = new byte[1024];
   int read;

   // Write full range.
   while ((read = input.read(buffer)) > 0){
     output.write(buffer, 0, read);
   }

   output.close();
   input.close()
}

これを行うと、URL からビデオ ファイル全体がダウンロードされ、ビデオが正常に再生されます。ただし、動画の downloadFile(URL myURL、長い startByte、長い endByte) で特定のバイト範囲を指定したい場合、動画は再生されません。関数 input.skip() を使用して startByte までスキップしましたが、mkv 形式の重要なヘッダーをスキップしていると思われます。そのため、プレイヤーはそれを認識できません。Javaでこれを行う方法を知っている人はいますか?

4

1 に答える 1