【问题标题】:Can Node.js edit video files?Node.js 可以编辑视频文件吗?
【发布时间】:2012-08-20 03:55:35
【问题描述】:

我想知道 Node.js 与视频的兼容性如何。不是播放它们,而是实际编辑它。我的最终目标是在线反转视频。到目前为止,Java 看起来是我最好的选择,但我确实喜欢 Node.js 的快速、可扩展等。

有谁知道 node.js 是否可行?至少能够将视频分解成帧,将它们放入某种数组中,然后将它们粘贴回去。

我的猜测可能不是,因为它看起来是基于 JavaScript 的。我可能错了,但我认为 javaScript 更多的是 UI、动画、简单数据作业等。不是大型视频编辑。

非常感谢任何帮助。

【问题讨论】:

    标签: javascript node.js


    【解决方案1】:

    ffmpeg/libav 是 Linux 上这类事情的首选库。虽然有一些针对 node.js 的 ffmpeg 绑定(例如,https://github.com/xonecas/ffmpeg-node),但它们并不像您完成此任务所需的那样完整,而且无论如何 ffmpeg 本身并不是您所需要的异步方式'd 需要使这对 node.js 有意义。

    我首先尝试使用 C 使用 ffmpeg/libav 来实现这个任务,然后再考虑其他实现。

    【讨论】:

    • C 更适合原生应用程序,对吧?或者是否可以在线运行C。我希望这将成为一个网络应用程序,用户无需下载任何内容。
    • 完全可以“在线”运行 C 代码,或者从各种 Web 应用程序中调用它。
    • 您将 ffmpeg 进程作为 Node.js 的子进程运行,因此它本质上是异步的。
    【解决方案2】:

    我会从另一端解决这个问题:我可以使用什么工具来反转视频?我确信那里有更好的选择,但至少可以使用 ffmpeg,根据this SO answer。需要注意的是,您必须将其拆分为图像,然后再将它们缝合在一起。

    如果您选择这条路线(即以上述方式使用 ffmpeg),您确实可以使用 node.js 来完成它,用于 Web 应用程序和作业处理。我会有某种工人(类似于 resque 或使用例如 node.js child_process.fork)。

    正如@duskwuff 在他的回答中提到的那样,这个解决方案不会流式传输,但是使用工作人员,您可能能够完成一些可以接受的事情,具体取决于您的要求。

    另一方面,如果您有例如一个在反转视频方面非常棒的 Java 库,你应该使用它,也许也可以用 Java 构建 Web 应用程序。

    【讨论】:

    • 我在 Java 上的唯一线索是 vid2java:exactfutures.com/index02.htm 唯一的问题是我不知道从哪里开始使用 Java,因为我没有这方面的经验。我更喜欢 Node.js 类型的东西。
    猜你喜欢
    • 2017-06-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多