2009-08-21 7 views
0

大量のファイルを処理したいと思います。youtubeのようなビデオトランスコードを考えてください。すべてのものをFLV形式に変換する必要があります。大型RAWファイルから親指を作成する画像処理です。多数のファイルを処理しています - ライブラリやユーティリティは役に立ちますか?

このような処理に役立つサービスやライブラリはありますか?私は実際のトランスコードを意味するのではなく、タスクを整理して起動し、それらを監視し、何らかのエラーを処理します。

Windowsでは理想的ですが、Linuxでも問題ありません。

更新:私は、ユーティリティ/ libにこのようなタスクをより高いレベルで処理したいと思います。何らかの形で障害を処理して報告します。

したがって、トランスコードの場合、そのようなlib /ユーティリティでトランスコードするファイルのリストを取得してから、複数のスレッド/プロセス。タスクの正常終了時に何をすべきかを定義することができます。また、障害が発生した場合にもこれを実行できます。

答えて

0

コマンドシェル(Windowsではコマンドプロンプト、Unixではsh/bash/cshなど)とスクリプト言語はすべて、あるパターンに一致するすべてのファイルに対して同じ操作を行うことができます。例えば

、そう以降、Windows 2000または上:

for %f in (*.jpg) do ...

は、コマンドプロンプトで、forヘルプを表示するには(例えば、コールはImageMagickの変換は、サムネイルを生成するために)行うfor /?

並列性を利用したい場合は、一度に6つずつスピンオフして6つのCPUコアをすべて使用すると、Windowsで利用可能なunixの 'make'プログラムを使用することができます。あなたは何をしたいのかを指定してmakefileを作成し、makeを実行する必要があります--jobs switch

並列化のmakeアプローチの代わりに、スクリプト言語を使用する方法があります。多くのスクリプト言語は、一度に複数の子プロセスを実行することを容易にサポートします。 PythonのPopen()

0

これを行うつもりなら、入力ファイルのディレクトリを監視し、そのファイルタイプに基づいてhttp://ffmpeg.org/のようなものを起動して、ビデオを出力ディレクトリに変換する.NETプログラムを作成するか、 ImageMagickのようなものです。

プロセスを監視するには、作成したシェルタスクを監視するか、少なくとも、出力ディレクトリのファイルが作成されていることを確認する必要があります。

関連する問題