【问题标题】:xuggle concurrent transcodingxuggle 并发转码
【发布时间】:2013-04-30 16:08:36
【问题描述】:

我是 xuggle 入门者,我想将视频转码为各种格式/质量。作为一个新手,我想使用 Xuggle 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

【问题讨论】:

    标签: java multithreading video concurrency xuggle


    【解决方案1】:

    Xuggle 不会启动任何线程(1),由您来管理线程。另外,Xuggle 对象不是线程安全的——你必须自己控制访问。

    但是,在添加多个线程之前,可能值得测量开箱即用的性能。多核机器上的多个线程肯定会加快编码速度,但您可能不需要这种好处。

    艺术

    (1) 不完全正确,但在您的情况下,Xuggle 不会启动任何线程。 Xuggle 将(从 4.0 版开始)最多启动一个用于内存清理的其他线程。

    【讨论】:

    • 嗨,Xuggle,你能回答我的一个快速(紧急)问题吗?是否可以使用 Xuggle 将 .mov 文件和 .mkv 文件转换为其他格式(例如 .flv )?
    猜你喜欢
    • 2012-01-26
    • 1970-01-01
    • 2014-07-29
    • 2011-10-19
    • 2012-05-11
    • 2011-11-05
    • 2011-02-27
    • 1970-01-01
    • 2013-04-03
    相关资源
    最近更新 更多