カスタムビデオ処理

しばらくの間、カスタムビデオクリップをアップロードするための機能を追加する必要があるWebプロジェクトに従事していました(そして今でもそうしています)。 実際、カスタムビデオとは何ですか? 非常に異なる品質とさまざまな形式。 最小の問題である通常のフラッシュファイルから始まり、携帯電話からのさまざまな録音まで。 タスクが発生しました-ダウンロードしたファイルのキューを処理し、次の機能を実行するデーモンを作成します。

-VP6コーデックを使用してビデオをフラッシュ形式(FLV)に変換する

-ビデオファイルのメタ情報の更新

-ビデオからサムネイルを作成する

-さらなるデータベース操作



具体的には、この記事では、既にフラッシュ形式に変換されたビデオクリップの処理オプションを検討します。 それでは始めましょう。



1.メタ情報処理



大切なフラッシュムービーを受け取った後、そのメタ情報、特に重要な位置を更新する必要があります。 これは、表示モード(ストリーミング)をサポートするために必要です。 つまり、ファイル全体をダウンロードせずに、ビデオの長さに沿って「ジャンプ」します。 これに対処するソフトウェアは、通常、メタデータインジェクターと呼ばれます。 Linuxの場合:

-FlvTool2-rubyforge.org/projects/flvtool2

-ヤムディ-yamdi.sourceforge.net



FlvTool2は、Rubyで書かれたアプリケーションです。 最初はそれで落ち着きました。 しかし、テストが示しているように、ファイルをメモリにロードするため、大きなファイルの処理には適していません。 一部のファイル(> 200 mb)は5分間処理されました。 プラスがあります-結果はソースファイルに書き込まれます。 また、ファイルを「クロップ」することもできますが、これは非常に必要です。



YamdiはCで書かれたアプリケーションです。元の名前はYet Another Meta Data Injectorです。 それは非常に冗談を言って動作します。 作業の結果、新しいファイルが作成されます。これは、ソースをすぐに削除したり、長期ストレージに転送したりできるため、最も便利です。 また、onLastSecondイベントを埋め込むことができます



両方のアプリケーションは、すべてのパラメーターのリストを含むXMLファイルを生成できます。これは、データベース内のビデオ情報を更新するときに使用されます。

ヤムディを最速として選択しました。



2.サムネイルの作成



そのため、完成したFLVファイル、メタ情報を含むXMLを取得しました。 さらにこのビデオでは、320x240のプレビュー(ユーザーが開始ボタンを押す前にプレーヤーに表示される画像、RuTubeの例を見ることができます)、120x96の小さなプレビューを作成する必要があります。 この領域にはいくつかのユーティリティもあります。



1. FFmpeg-ffmpeg.mplayerhq.hu

ビデオを操作するための基本プログラム。 残りはビデオ変換にのみ使用しました。一度にすべての画像(任意の時点)を生成することはできないため、あまり適していません。 より正確には、この機能は多少制限されています。



2. PHP拡張 -ffmpeg-php.sourceforge.net

フラッシュファイルを直接操作できるようにするphp用のモジュール。 GIFファイルでプレビューを収集することができますが、必要な場合もあります。 唯一のものは、他のユーティリティに比べて遅いです。 Plus-プロジェクトでPHPを使用する場合の便利なAPI。



3. FFMpegThumbnailer-code.google.com/p/ffmpegthumbnailer

C ++で書かれており、非常に高速に動作します。 最初に、著者はdextopマネージャー用に作成しました。 最近、ビデオフィルターなどの便利な機能をたくさん入手しました。 C ++プログラムで使用できます。 2つの出力形式(jpg / png)をサポートし、選択したポイントは絶対時間(hh:mm:ss)またはパーセンテージで設定できます。 すべての形式で完全に動作しますが、特定のファイル(mp4)でクラッシュします。 一般に、タスクに最適です。



3.注



最初はJWPlayer 4を(変更なしで)使用しましたが、その後、問題が発生しました。 サーバーはnginx 0.6.32を実行していたため、このプレーヤーでは動作しませんでした。 問題は、プレーヤーの新しいバージョンが次のような他の情報をファイルのクエリ文字列に追加していたことです。



myvideo.flv?start = 2659763&width = 280&client = FLASH%20MAC%209,0,124,0&version = 4.0%20 $ Rev:%2030%20



Webサーバー用のパッチを使用して、すべてが非常に簡単に決定されました: www.ruby-forum.com/attachment/2307/patch.flv



4.結論



カスタムビデオの処理の分野ではあまり経験がありませんが、リストした2つのプログラムは非常に良い仕事をしています。 一般に、ニーズに応じて、誰もがそのようなユーティリティを自分で作成するようです。 この点で誰かが特別である場合、批判を歓迎します。



PS私は長い間ロシア語で何も書いていません、多分それは少し曲がったように聞こえます:)



All Articles