0

我想处理大量文件 - 想想视频转码,比如 youtube,您必须将所有内容转换为 FLV 格式或图像处理,您可以从大型 RAW 文件创建缩略图。

是否有任何服务或图书馆可以帮助进行此类处理?我不是指实际的转码,而是组织、启动任务、监控它们并以某种方式处理错误。

理想情况下在 Windows 上,但 linux 也可以。

更新:我希望实用程序/lib 在更高级别处理此类任务。调度多个进程,以某种方式处理和报告任何故障等。

因此,在转码的情况下,我希望这样的 lib/utility 获取要转码的文件列表,然后它将处理在多个线程/进程中启动转码。您将能够定义成功完成任务后要做什么。如果发生故障,您也可以这样做。

4

2 回答 2

0

命令 shell(Windows 上的命令提示符,Unix 上的 sh/bash/csh 等)和脚本语言都可以对匹配某种模式的所有文件执行相同的操作。

例如,在 Windows 2000 或更高版本上:

for %f in (*.jpg) do...(例如调用 imagemagick 的转换来生成缩略图)

要获得for帮助,请在命令提示符处执行for /?

如果您想利用并行性,例如一次分拆六个以利用所有六个 CPU 内核,那么您可以使用 unix ' make' 程序,该程序也可在 Windows 上使用。您必须创建一个 Makefile 指定您想要做什么,并使用--jobs 开关执行 make

用于并行性的 make 方法的替代方法是使用脚本语言。许多脚本语言很容易支持同时运行多个子进程,例如 Python 的Popen()

于 2009-08-21T10:33:16.893 回答
0

如果我要这样做,我会创建一个 .NET 程序来监视传入文件的目录,然后根据它们的文件类型触发类似http://ffmpeg.org/的内容,以将视频转换为输出目录或用于使用ImageMagick之类的图像。

监视进程可能需要一些思考,尽管应该可以关注您创建的 shell 任务,或者至少检查输出目录中您期望创建的文件。

于 2009-08-21T10:34:40.997 回答