我是xuggle primer,我想将视频转码为各种格式/质量。作为一个新手,我想使用徐格尔MediaTool。因为我需要高效地完成这项工作,所以我希望在单独的线程中处理每种目标格式。这种情况下正确的并发模式是什么?
假设我有file.avi,我想将其代码转换为.flv和.mov。我很好奇,在下面这种情况下,xuggle是否会为每个Writer启动线程:
IMediaReader reader = ToolFactory.makeReader("file.avi");
reader.addListener(ToolFactory.makeWriter("file.flv", reader));
reader.addListener(ToolFactory.makeWriter("file.mov", reader));
while (reader.readPacket() == null){}或者我应该在单独的线程中开始每种格式的转换?
(代码来自:MediaTool Introduction)
发布于 2012-01-19 02:07:45
Xuggle不启动任何线程(%1),它由您来管理线程。此外,Xuggle对象不是线程安全的--您必须自己控制访问。
但是,在添加多个线程之前,可能需要对性能进行开箱即用的测试。多核机器上的多线程肯定会加快编码速度,但您可能不需要这种好处。
艺术
(1)不完全正确,但在您的情况下,Xuggle不会启动任何线程。Xuggle (从4.0版本开始)最多只能启动一个用于内存清理的线程。
https://stackoverflow.com/questions/8833883
复制相似问题