【问题标题】:Real-time visualisations with audio and video, which direction should I look? [closed]带有音频和视频的实时可视化,我应该看哪个方向? [关闭]
【发布时间】:2013-08-25 15:46:47
【问题描述】:

我和朋友有一个小项目,我们希望创建一个用于实时可视化的程序,主要利用由 MIDI 控制的音频/视频材料。现在,MIDI 部分不是问题,您似乎可以为几乎任何语言找到合适的解决方案,但我发现自己非常不确定在以智能方式处理视频方面应该采用哪种方式。我正在寻找快速搜索和额外的可视化(例如多个叠加图片)。

我已经尝试了几个选项,我发现它们非常容易上手,并且似乎至少为任务提供了一些东西,但是我觉得每个选项我以后都可能会遇到死胡同或性能低下在寻找添加功能等时。到目前为止,我尝试了 Pure Data、Max 和 Processing。

我最常寻求的建议是将我引导到处理视频的最佳路径或至少是体面的路径。最大的问题是我发现自己一直在尝试找出我应该使用什么编程语言或库。如果我能得到这么多的指导,我终于可以开始真正地努力并取得进步。

我想我对 python 最满意,但欢迎提出任何建议。我已经阅读了一些关于 gstreamer 的内容,我认为那里可能有一些东西,但现在我们谈论的是一个相对较低级别的库,它至少需要一些时间才能产生任何结果,而不是处理或纯数据/Max,例如。

除了语言/库之外,我还对视频格式的重要性感到好奇。当我们开始谈论编解码器、I-、P-、B-帧等等时,它有点超出我的想象。谁知道呢,甚至可能有一个解决方案,我们会使用最佳视频格式,将婴儿塞进 RAMdisk 或其他东西中,从而获得令人满意的搜索速度。

【问题讨论】:

  • 欢迎来到 SO。这种问题格式并不是该网站真正适合的。处理此类项目有很多选择 - 包括 Python、Java/Processing 等 - 您可能是决定哪个最符合您的技能的最佳选择。以我的经验,Processing/Java 对于复杂的媒体渲染来说是最强大的,但其他人无疑会不同意。
  • 嗯,重点。非常感谢您在任何情况下的回答。

标签: video processing gstreamer puredata max-msp-jitter


【解决方案1】:

我建议您查看创意工具包,并出于实际原因选择您喜欢的语言:

如果语言不是问题,可以继续使用 MaxMSP 和 Jitter。 Max 有用于处理 midi 输入和解析它的对象。 抖动处理快速矩阵运算(图像/视频/gl/等) 我认为 PureData 的等价物是 Gem

从经验来看,Java 的垃圾收集器在处理实时音频时有时会有妨碍您的讨厌习惯,但对于合成来说这主要是正确的。你应该对 MIDI 没问题。根据分辨率/内容的数量,视频部分可能会有点慢。

这就是为什么我建议直接使用 c++ 创意工具包或 Max。 如果您不确定视频内容,需要许多调整/迭代和快速更改, 也许你应该直接选择 Max,它很容易在/相当快地进行原型制作,并且你几乎可以在代码执行时“实时代码”调整你的补丁程序,并根据你的需要更新/调整/即兴发挥。

【讨论】:

  • 那么好,我想现在的方法是继续研究 Processing、pd 和 MaxMSP,看看结果如何。 VVVV 和 TouchDesigner 看起来至少值得一试。 C++ OpenFrameworks 看起来也是可行的,如果我遇到“简单”的任何重大限制,我会研究它。
  • 我认为这完全取决于您的设置 - 您的输出是什么?(例如,它会是投影仪吗?如果是,它支持什么分辨率?等等)我的猜测是它会归结为速度/分辨率/压缩之间的平衡:如果您使用的是非常大的分辨率,它可能会干扰事物的实时性,如果它太小,则看起来不太好。
  • 我们可能会使用投影仪,但我认为我们仍然在谈论相对较低的分辨率,至少低于 720p。我什至会说图像质量最后,响应时间和音频/视频同步第一。
【解决方案2】:

我的猜测是问题不在于 MIDI 输入。大多数语言都支持 MIDI 设备,甚至是自制的。我想最好查看更具体的处理实时视频/操作/投影的软件

一个比较简单的方法是 VVVV http://vvvv.org/

另一个是在 Amon Tobin 的 ISAM 节目中使用的 TouchDesigner(查看它们) http://createdigitalmotion.com/2011/08/amon-tobins-isam-behind-the-scenes-ask-your-questions/

【讨论】:

    【解决方案3】:

    我个人建议使用跨平台(至少 w32、linux、OSX)FLOSS 解决方案。 如果你想改变你的操作系统,你几乎可以排除VVVVmax/jitter

    我建议使用:

    • Pure Data / Gem 用于图形修补系统

    • Processing 如果您更喜欢传统的、基于文本的编程方法(处理实际上只是 java 的前端)

    请注意,我个人对Pd 有很大的偏见。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多