質問: springフレームワークでWebアプリを開発しています。 画面はhtmlで作成してますが、動画再生できるようにしたいのですが、方法が分かりません。 動画自体は、Webアプリが動作するサーバーに接続された外付けハードディスクに格納します。 なのでWebアプリのプロジェクト配下にはありません。 当初、html5のvideo controlsタグを使用し、srcプロパティにパスを指定しようと考えてましたが、ここに指定できるのはWebアプリの配下だけですよね? それで途方にくれていました。 javaのinputストリームをそのままセットできるようなコントロールを想像してましたが、そんなのspringフレームワークでは無理ですよね?
回答: 皆さんコメントありがとう御座いました! 今回の件は、動画がNASに格納されていたことが、私を悩ませました。 もしwarのプロジェクト内に保存できれば、相対パスでアクセスできるからです。 今回動画はユーザーがアップロードできる要件なのでNASに保存する必要がありました。 この場合当然、N:¥uploadvideo¥xxxx.mp4のようにはアクセスできません。動画個別にURLが付与された状況にする必要があります。 頂いたコメントにアイデアを頂きました。↓ > > videoタグに直接ファイル名を含むのではなく、あくまでキー情報としてURLを埋め込んで > > そのキー情報を元にプログラムで外部ファイルを読み込みContent-Type: video/mp4のようなヘッダを送信して動画情報を発信するような仕組みにすればできるかもしれませんが > > > 今回は、バイナリファイルを返すrestサービスを1つ作り、解決しました。 videoタグのsrcプロパティに、作ったrestサービスのURLを書き、末尾に動画を特定できるキーを渡せるようにしました。 これで動きました。ヒントをありがとう御座います! springではrestサービスも簡単に作ることができました。 ただしそもそもの問題は残ります。 videoタグはストリーミングでないので、動画を再生するまで(ダウンロードするまで)が長いです(泣)