我正在调查将视频输入/输出卡视为Window的可能性,以便我可以从.NET渲染图形。它需要能够处理透明度,以便我可以通过传入的视频键入渲染的图形。
我还没有找到任何完全相同的东西 - 一些SDK允许你渲染图形,但你必须使用它们来绘制它们,而不是使用标准的.NET WPF / Windows Forms例程。
答案 0 :(得分:1)
我使用带有C#的decklink卡并执行与您要执行的操作类似的操作。我使用我使用Graphics.FromImage()创建的标准Graphics对象(GDI +)。在每帧完成回调时,我在图形对象上绘制,然后获得指向连接位图的指针,并将像素复制到decklink视频帧缓冲区。在副本中你可以用透明像素做任何你想做的事情(不要复制并将输入留在那里等等。)基本上你只需要一个指向ARGB表面的指针(或你设置的任何格式)和你可以将它复制到decklinks帧缓冲区。
虽然我没有使用视频输入(我正在键入静止图像序列),但查看API并不难以复制输入帧然后在其上绘制对象然后复制它到输出缓冲区。 SDK中有一些示例(主要是本机代码,但很容易看到发生了什么),它们提供了一个interop dll,可以轻松地从.net访问API。
还有一个黑魔法开发者邮件列表,你也应该查看。
布赖恩