Pie*_*las 5 video video-capture video-processing video-streaming hdmi
我正在寻找一些不常见的东西:一种允许将来自 2 个输出(HDMI、DVI、VGA 或任何其他类型的图像输出)的图像合并为屏幕上显示的最终图像的设备。输出可以是相同类型(例如2个HDMI)或不同类型,任何有效的都可以。如果不清楚,这里有一个简单的架构:
它可以以不同的方式工作,例如使用优先级系统(例如,输出 1 写入其图像,输出 2 覆盖非透明像素),不太理想的是通过加法(例如,如果输出 1 上有一个红色像素 0xFF0000 和一个绿色像素)像素 0x00FF00 位于输出 2 上的同一位置,该像素变为黄色 0xFFFF00),或任何其他方法。
我检查了可用的设备,似乎没有一个能够做到这一点。另一种解决方案是拥有一台单独的计算机,能够从主计算机的输出捕获视频输入,进行合并操作并将图像发送到屏幕进行显示。我发现的视频捕获设备只有一个输入和一个输出来记录然后显示图像(这些通常是游戏流设备),并且不允许我实时合并图像。我也找不到用于具有多个输入的计算机的视频捕获卡,我可以用它来合并图像。
如果您对如何实现此目标有任何想法,请告诉我。
谢谢你,祝你过得愉快。
在广播行业,我们将您正在寻找的东西称为视频混合器。电视台使用的那些非常昂贵,但可以保证 24/7 稳定运行。这些家伙的信号不是 HDMI 而是 SDI。因此,当从 HDMI 捕获时,他们只需使用 HDMI 到 SDI 转换器。
只能通过投资来解决的基本问题是您需要一些允许 hdmi 录制的设备。那里有很多制造商,我可以推荐一个便宜的制造商是blackmagic。
在他们的网站上,您可以找到像 Decklink 卡这样的产品,允许通过 PCIe 进行 HDMI 捕获,您可以购买 2 个这样的 Decklink 卡。或者您可以使用使用 USB3 或 Thunderbolt 解决方案的外部卡。但要做好 USB3 上不稳定操作的准备。未压缩的视频信号确实是大量数据,USB3 不适用于 24/7 操作。一般来说,外部连接不适合 24/7 操作中的大量数据。
当您将两种信号运行到一个盒子中时,您需要选择感兴趣的软件。如果您是c++人员,则可以直接使用Blackmagic的SDK。在任何其他情况下,您应该寻找已经支持感兴趣的采集卡的软件。例如 ffmpeg 似乎支持 PCIe Decklink 卡。对于此类任务,我最喜欢的 SDK 是来自 medialooks 的 MFormats SDK,它需要花费一些硬币,但它可以极大地加快并简化此类任务的开发。
关于透明度我还有更多,但我想我写的已经足够了。
我知道我不应该写答案,而是投了反对票并发表了评论,因为这根本与开发无关,但评论不允许我将所有信息放在这里。