2016-03-29 4 views
1

私はswift API PHPを使用してウェブからすべてのフォーマット(.webm、.wmv、.avi ..など)のビデオファイルをアップロードしています。 openstackオブジェクトストレージにビデオファイルをアップロードしたら、すべてのビデオファイルを.mp4形式で変換する必要があります。openstackオブジェクトストレージサーバーでビデオファイルを別の形式に変換しますか?

動画を1つの形式(.mp4)で変換することは可能ですか?提案してください。

答えて

0

疑わしいことがありますが、ビデオトランスコードを実行するためにSwiftに組み込まれている機能はありません。ただし、トランスコーダを実装できる追加の処理ロジックを追加する仕組みがあります。このメカニズムは"middleware"と呼ばれ、基本的に実装する非常にシンプルなPython APIです。次に、プロキシが起動時にロードする特別なディレクトリに実装を配置します。

ファイルをアップロードするときにトリガーとなるミドルウェアを作成し、拡張子を確認してトランスコードを実行し、元のファイルに加えて(またはその代わりに)別のファイル保存要求を発行することができます。

小さなキャッチが1つあります。ミドルウェアの呼び出しによってプロキシワーカーがブロックされるため、クラスタを無駄にすることになります。パフォーマンスを気にする人は、非同期で行う必要があります。これを行うには、私が知っている唯一の解決策があります:

トランスコードロジックをJavaで実装し、Storlets middlewareを利用してください。 Storletsは、カスタムロジックをDockerコンテナ内の計算リソースのプールで、プロキシをブロックすることなく(あまりにも)実行します。

私はそれが複雑に聞こえます。しかし、あなたはストレージ技術の勇敢な新しいフロンティアの最前線にいます。

関連する問題