这是一个普遍的问题,而不是一个具体的问题,但是我正在寻找任何意见和建议。
我正在寻找欺骗 IIDC 相机,通过火线/1394 端口将未压缩的 2VUY 视频数据打包并流式传输到另一台机器。我已经能够做一些类似于流 DV 数据包的事情,但是使用更高级别的库(我在 OS X 上,所以我可以使用 Apple 提供的库和来自 FW SDK 的示例代码作为基础*)。我不是一个低级程序员(更多的是图形/GL程序员),所以所有这些低级的东西对我来说有点新。
我为什么要这样做,我的目标是什么?我希望能够欺骗相机,这样我就可以通过 DCAM/IIDC 流将来自应用程序的视频以未压缩的 2vuy(4:2:2“Y'CbCr 格式“组件 YUV”)从 OpenGL 发送到另一台计算机,所以它被视为一个有效的视频输入/相机,它可以摄取和做事。我是程序员和 VJ,我为 Mac 编写开源视频效果软件,这可能是一个便宜、便携和简单的在计算机之间混合视频的解决方案。**
我一直在寻找编写 IIDC 相机流的示例,但没有找到。我已经看到很多用于读取各种 IIDC 相机输入并从中获取像素/图像缓冲区的库,但我想换个方向。我很好奇是否有人有任何关于如何去做的信息。
我知道,可能可以做大量的工作并从字面上扭转像 libdc1394 这样的东西,但部分问题是编写正确的火线数据包、广告相机功能等,这些库都没有(据我所知)。所以我很好奇是否存在可以帮助引导这个项目的东西。
如果有人有任何指示,或者熟悉这种努力,我会非常感谢任何信息。我确实从一个人那里得到了一份说明,他们做了这样的事情作为调试设置来测试他们公司的数字化仪,但是他们所有的代码都是专有的,不向公众提供:(。
再次感谢您提供任何信息-对此非常好奇:)
*实际上我有幸参加了今年的 WWDC,并且能够向 Apple FW 团队询问此事。我看起来很奇怪,但确认它是可能的,但这将是一个完全“自己动手”的情况,在可用的高级 SDK 中几乎没有什么帮助。
** 没有真正便宜、便携的高清视频混合器或采集卡对 VJ 没有问题。我知道几乎所有人,他们都有陷阱。虽然这是一个软件解决方案,并且由于需要 OpenGL 回读而确实存在问题,但它是可行的并且可以快速假设您缓冲 PBO 下载(是的,这会增加延迟,但它对于分辨率和 FPS 来说是值得的),无论如何!