0

我目前正在为一个名为 God is a DJ 的项目工作,该项目将在蒙特利尔双年展和 mai 11 日、12 日、18 日和 19 日的日内瓦制图节上展出。insan-ë 公司有兴趣将技术引入表演艺术,并在蒙特利尔和瑞士日内瓦举办一场演出。如果你有兴趣,你可以检查一下。该应用程序使用通过风景从一个地方到另一个地方的流式视频,视频合成和映射将在 mixologic 中完成,这两个应用程序都是在蒙特利尔的 SAT 开发的。我做更基本的开发、MIDI 接口、机器设置,还有这个。我们希望在每个剧院使用独立的摄像机在线流式传输整个内容。

问题:

我需要构建的应用程序将执行以下操作(实际上非​​常简单):从蒙特利尔获取流,从相机捕获,并排放置两个图像(控制延迟将是一个很好的选择),混合声音,并将其流式传输以通过访问网页进行查看。我首先想到的是通过 JAVA 和 Processing(主要是因为我想做更多的处理,而且我不太喜欢可视化编程),但我想 qc 可能是最好的选择。但是,到目前为止,我发现质量控制方面的文档很差。我也想到了 Threenodes.js,因为它可能更容易

无论如何,如果您能为此指明正确的方向,我将不胜感激。我不是一个经验丰富的程序员,我想到了太多的可能性,却不知道每种可能性的能力或局限性。

任何建议表示赞赏!谢谢!

4

1 回答 1

1

您可以使用简单的 HTML 创建一个网页,其中两个视频播放器组件并排放置(使用“视频”标签或通过“对象”标签的其他播放器),一个播放来自蒙特利尔的流,另一个播放来自蒙特利尔的流本地拍摄的视频。蒙特利尔部分可能已经在使用流媒体服务器,因此您可以将其用于本地流媒体,或者尝试使用VLC 之类的东西

页面加载后,两个播放器将开始独立流式传输,并且它们的音频将由操作系统正常混合。用户还可以通过每个视频播放器的音量滑块来控制音量。(恐怕在这种情况下没有延迟控制:-(当然除了本地相机和图像采集卡之间有延迟硬件)

如果您现在想处理这两个流并显示处理后的流,那将会更加复杂,因为您必须编写一个包含两个播放器对象的程序,并且能够在它们解码的每一帧上触发一个事件(那就是不是问题,您可以用任何语言轻松找到此类组件)。

在该处理程序中,您可以获得图像和声音流,进行处理并创建混合帧,这些帧现在必须被编码并作为流通过网络发送。最后一部分并不简单。解决这个问题的最简单方法是让您的应用程序全屏显示并在您的计算机主屏幕上绘制它所绘制的任何内容。您现在可以从显卡中获取此输出并将其作为输入传递给图像采集卡。然后,您可以设置视频流服务器(例如 VLC,如上所述)以广播帧捕获器的此输入。

您现在可以通过 HTML 页面内的播放器访问此组合视频,如上所述。

使用此解决方案,您当然可以控制代码中的所有内容(包括延迟)......

就 Processing.org 而言,请查看http://processing.org/reference/libraries/video/index.html以了解解码视频流的组件

于 2012-04-04T13:10:12.683 回答