Lightworks for Linux:开发者的故事

还没有读者喜欢这个。
Open lightbulbs.

Opensource.com

Lightworks 是一款高端非线性视频编辑器,正接近其 Linux 版本的公开测试阶段。首席开发者 Rob Fearnside 回答了 Red Shark News 关于如何达到这个阶段的问题。

编者注:Lightworks 走向开源的意图 似乎已被放弃。它仍然是跨平台视频编辑的免费选项,但对于开源视频编辑选项,请阅读我们的 视频编辑状态报告

您是什么时候决定将 Lightworks 的大部分代码设为操作系统独立的?您是如何做到这一点的?

Lightworks 的代码库相当庞大——总共接近一百万行代码——其中一些代码已经存在了近二十年。当我们 18 个月前开始将其迁移到跨平台时,我们面临着许多挑战,包括

  • 如何在合理的时间范围内重写如此多的代码
  • 在工作进行中,如何继续发布 Windows 版本?

我们的解决方案是完全避免重写特定于 Windows 的代码(毕竟,它是经过尝试、测试和优化的)。相反,我们决定将其移动到一个新的操作系统相关层,我们将其设计为具有操作系统独立的接口。一旦完成,我们就可以开始着手实现该层的 Linux 版本。本质上,Lightworks 代码现在分为两部分——操作系统独立的代码(例如,编辑、播放引擎等),它使用操作系统相关的代码(例如,文件访问、线程等)。

现在有多少百分比的代码是操作系统独立的?

操作系统独立的代码约占总代码库的 97%。移植到 Linux 的大部分工作实际上是在重新设计现有代码,而不是编写特定于 Linux 的层。

移植到 Linux 最困难的事情是什么?

为了获得最佳性能,Lightworks 的 Windows 层对所有视频缩放、效果和色彩空间转换都使用了 Direct3D。Linux 当然没有 Direct3D,因此我们不得不使用 OpenGL 重新实现所有 Linux GPU 特定的代码。Lightworks 软件的多线程特性使一些 OpenGL 支持难以编写。特别是,从非 UI 线程更新视频/播放图像是一个真正的挑战,有一段时间我不确定这是否可能,但在经过多次挠头之后,我们找到了一个有效的解决方案。

您现在对结果感到满意吗?

Linux 版本的最初目标是尝试使其尽可能与 Windows 版本相似。现在,如果您并排运行这两个版本,则非常难以区分它们,因此从这个意义上说,我对结果非常满意。此外,由于我们经历了将代码拆分为操作系统相关和独立部分的流程,我们最终得到了一个更清晰、更易于维护的代码库,这将有利于我们未来在所有平台上的开发。

最初发布于 Red Shark News。经许可转载。

User profile image.
Rob 是 Lightworks 的首席程序员。他于 1993 年加入该公司,在那里他花了十多年的时间从事用户界面和视频效果等多个领域的工作。然后他去了 Quantel,在那里他帮助创建了他们新的效果架构,然后在 2010 年最终返回 Lightworks。

13 条评论

我大约在 20 秒后停止阅读。Lightworks。太棒了。这是什么???

http://lmgtfy.com/?q=lightworks#

真的吗?我要研究一些东西,只是为了让一篇文章对我来说有意义?我不这么认为!:) :) :)

电影编辑器。好的。我同意 CD 的观点。应该在文章的开头解释一下。

如果我可以补充一点,这是开源领域的一个主要问题。有多少次人们解压缩源代码,但没有任何形式的概要?

看起来 lightworks 甚至还不是开源的(曾承诺很快开源),所以我不知道这篇文章此时在这里做什么。

软件不必是开源的,就可以帮助和教唆从 Windoze 过渡到其他平台。采用开放平台最常见的成功对策是“ 上不存在”,这结束了对话。通过在 以及 Windoze 上提供强大的、世界一流的软件,节目停止投诉的列表变得更短了。正如文章中指出的那样,开发人员获得了重新审视旧设计决策的额外好处,这些决策不再需要像十年前做出时那样的妥协。最终结果是,更多支付账单的软件在更多平台上可用,这使得这些平台更有能力支付账单,从而被采用。
自从 70 年代末经历过这些战争以来,我多次看到“更好是好的敌人”从胜利的边缘夺走失败,理解采用的真正动态至关重要。如果 Lightworks 最终因此开源,那就更好了,但代码库的解耦是支持多个平台的必要第一步,他们为此受到赞扬。许多公司仍然没有那么开明。

Lightworks 是一款高端非线性视频编辑器。我们为之前没有包含更多关于此的信息而道歉,请在此处阅读 Michael Larabel 在 Phoronix 上的进一步见解:http://www.phoronix.com/scan.php?page=news_item&px=MTEyMjE。

我有点同意 Ryan 的观点,很难看到这里与开源的相关性。
当然,Linux 拥有更多软件是有益的,即使它不是开源的,开源开发人员获得关于如何将其软件移植到其他操作系统的技巧也是有益的,但这与开源的联系太松散了,真的。
我可以发布一个关于 Windows 驱动的 MRI 机器如何帮助保持开源软件开发人员 X 活着的文章,他正在开发一个在 Linux 上运行的软件,这也是开源的!
所以我可以在 opensource.com 上获得 Windows 的免费广告。
充其量,这个故事属于 Linux 相关的新闻网站,即使那样,我也更希望软件名称被省略。

哇。这里周围的一群心胸狭窄的家伙。

首先,Lightworks 是开源的。他们作为封闭出售的是一些他们无法自行开放的专有编解码器(因为它们不拥有它们,而且它们是行业标准)。可能不是所有代码都已开源(我不确定),但目标肯定是这样做,除了前面提到的编解码器,您不需要它们来编辑多种格式的视频。

我希望 Lightworks 的家伙们甚至不要阅读这里的评论。它们不能代表开源领域的人们对 Lightworks 的看法。这可能是数字内容创作领域开源领域发生的最大的事情(远比非常重要的 Blender 现象更重要)。

我非常感谢团队为 Linux 创建 Lightworks,我想提醒他们,一路上总会有开源狂热分子,一直在抱怨和呻吟。只需忽略他们,继续前进。与这小群脾气暴躁的狂热分子相比,有几个数量级的人希望你们一切顺利。

如果从我之前的笔记中不清楚,我很高兴看到像 Lightworks 这样具有专业信誉的东西以*任何*形式在 Linux 上可用。考虑到编解码器机制的复杂性和诉讼性质,它实际上尽可能地开源,这更令人印象深刻。

我无法在任何评论中找到关于 Lightworks、其开发人员或其支持 Linux 的举动的任何坏话。我也确信,没有一个评论者认为这三者中的任何一个不好。
问题完全出在文章上。
至少有两位读者(评论员)对与开源的相关性感到困惑,而这种相关性应该存在,因为这是一个关于开源的网站。文章没有提及该软件是否是开源的,或者开源了多少,或者何时可能开源,...
这可能与描述软件是什么同样重要。
这篇文章表明它是一个商业软件,在当今世界,知道一个软件是商业软件,并且没有提及它是开源的还是不是开源的,这意味着它不是开源的。如果是开源的,那么..再说一遍,这是文章中的一个错误。
仅仅因为他们做了一些好事(转向支持 Linux),并不意味着与此举动相关的一切(比如一篇关于它的文章)都会自动变成金色且不可触碰。仅仅因为有人说了关于文章的坏话,并不意味着他完全反对文章中提到的所有内容。
我们是否应该停止报告 lightworks 的错误,因为他们现在正在转向 Linux,并且报告错误是一种侮辱?

为了清楚起见.. 我也不讨厌写这篇文章的人。犯错是很正常的,我很感激添加了关于软件的信息。开源原则依赖于批评。
我的错误报告是:请在文章中添加关于软件开源状态的信息。

哇,我真的没想到这么多人需要插话来回应我的简单观察,即迄今为止 Lightworks 似乎不是开源的。我链接到一个源代码存储库和一个许可证文档可能会结束我的困惑。相反,即使是那些因为我的简单评论而抨击我的人也感到困惑和分裂,无论 lightworks 在某种程度上是开源的,除了编解码器之外,还是现在完全封闭,并且很快将变成开源,或者它是封闭的,但可以在 Linux 上运行,因此它正在积极地为开源生态系统做出贡献。我认为这种混乱只是清楚地表明,将一篇文章从上下文中取出(实际上显然来自公司新闻通讯),并在 opensource.com 上发布,而文章中根本没有与开源建立联系,这是一个错误。

© . All rights reserved.