以下を無料で、もしくは安価に実現する方法を探しています(月額予算2000円程度)。
前提条件
- 広く公開するものではなく、チーム内の数名がインターネットを通してPCやタブレットのブラウザで表示・操作できればよい身内向けのWebアプリケーション(HTML + JS)。
- PaaSなど1つのサービス上にまとまっていても、外部ドメインからimg src=で参照できる大容量オンラインストレージを使用しても構いません(実際そういうオンラインストレージ等があるか不明ですので、あるかどうかを知りたくて質問しました)。
- AWSやGAEなどはほんの少し触った経験があるのみです。
流れ(FFmpegによる切り分け)
これらはWebサービスで対応せずとも利用者のローカル環境で完結させても構いません。もし「何万枚もの画像ファイルをアップロードする」という行為によって月額利用料などのコストが上がってしまうのであれば、サーバーサイドでの対応を考えたいです。
- 利用者のローカル環境(Windows)に、あらかじめ用意した30分程度(3GB程度)の動画ファイルが1日につき3つほどあります。
- これをFFmpegにて、1フレームにつき1枚の画像に切り分けます。30fpsで5万枚(10GB)程度×動画3つで計15万枚(30GB)程度です。切り分けはWebサービスを使わずに利用者がローカル上で行っても構いませんし、動画をWebサービスにアップロードしてそれをサーバーサイドで切り分けても構いません。
- FFmpegによる切り分けを行ったのがローカル上なら、生成された画像すべて(5万枚・10GB)をWebサービスにアップロードします。これらは例えば00001.jpg~49999.jpgのような連番ファイル名である必要があります(無作為な文字列に改名されてはいけません)。また、1つのディレクトリにまとまっていることが望ましいです。
これら画像ファイルは無尽蔵に残していくものではなく、用が済み次第Web上から削除します(なのでストレージ容量は30GB程度あれば大丈夫です)。ただし例えば「24時間しか保持できずそれ以降は自動でリセットされ消える」などといった仕様だと問題があります(用が済むまでに2~3日かかることもあるため)。
流れ(ブラウザでの表示)
- Web上に置いたそれら5万枚の画像を、HTML上での操作のたびに次々と素早く切り替えて<img>タグで表示します(あくまで例ですが、例えば00001.jpgが表示されている状態でマウスを20ホイールすると00002.jpg~00021.jpgがパラパラ漫画のように瞬時に切り替わる、など)。これを最後の5万枚目まで行います(×3動画で15万枚)。なので通信速度がある程度重視されます。
- 他にもいくつかの機能があります(なのでHTMLとしてブラウザで表示する必要がある)。
懸念事項
軽く調べたところ、
- Paas系は無料の範囲内だとストレージ容量5GBなどが多いように見えました(30GB程度は欲しいです)。
- 何度も大容量・多数ファイルのやり取りを行うので、何か制限があるのであればすぐ上限に達してしまいそうで心配です。
- いくつかのWebサービスを組み合わせる場合、クロスドメインの問題などが心配です。
以上を踏まえると、どのサービスを利用するのが適していると思われるでしょうか?
自宅サーバーを立てるのが手っ取り早いかもしれませんが…