是否有 C++ DeckLink 输出的最小工作示例?
Posted
技术标签:
【中文标题】是否有 C++ DeckLink 输出的最小工作示例?【英文标题】:Is there a minimal working example of C++ DeckLink output? 【发布时间】:2021-11-22 10:14:42 【问题描述】:我想编写一个 C++ 程序,通过 DeckLink 卡将色块输出到监视器,并对正在拍摄该监视器并通过 DeckLink 卡连接到计算机的摄像机的信号进行采样。
是否有一个简单的工作示例,用于将单个纯色补丁连续发送到 DeckLink 输出?我查看了 DeckLink SDK 附带的示例(特别是 SignalGenerator 和 TestPattern),但它们似乎包含的代码比我实际需要的要多得多。
我还阅读了 SDK 文档中看似相关的部分,但我是 C++ 新手,所以对我来说有点不知所措。我认为,只要我能看到在程序运行期间输出一种纯色所需的绝对最少代码量,那将非常有帮助。
【问题讨论】:
欢迎来到 ***.com。请花一些时间阅读the help pages,尤其是名为"What topics can I ask about here?" 和"What types of questions should I avoid asking?" 的部分。也请使用tour 并阅读How to Ask 的好问题。最后请阅读this question checklist。 如果您是 C++ 新手(或一般编程),那么这可能有点过分?也许您可能需要退后一两步,先了解更多信息?虽然有时将一点推到知识圈之外是件好事,但走得太远只会让人不知所措。 【参考方案1】:在 C++ 中这样做有什么特别的原因吗?如果您只是输出颜色条或其他琐碎的东西,最好使用gstreamer。特别是它的gst-launch 实用程序。据我所知,gstreamer 通过 decklink-plugins 支持 blackmagics DeckLink Cards 视频/音频的输入和输出。
一个简单(且未经测试!)的示例可能如下所示:
gst-launch-1.0 videotestsrc ! videoconvert ! decklinkvideosink device-number=0 mode=1080p25
我没有可用的这些卡之一,所以我无法验证上面的管道。
【讨论】:
我不一定需要用 C++ 来做,这似乎是最好的选择,因为这是 Blackmagic SDK 文档所指的(另外,我想学习它一段时间) .感谢 gstreamer 的提示!我能够输出这样的色块:gst-launch-1.0 videotestsrc pattern=solid-color foreground-color=0xff0000ff ! decklinkvideosink device-number=0 mode=1080p25
我现在只有一张输出卡,只要我的采集卡到货,我就可以测试我是否可以使用 gstreamer 完成我需要的所有操作。跨度>
以上是关于是否有 C++ DeckLink 输出的最小工作示例?的主要内容,如果未能解决你的问题,请参考以下文章
C++ Visual studio2017无法输出中文或者输出中文时显示为乱码
[PTA]7-1 找最小的字符串 针对输入的N个字符串,输出其中最小的字符串(c++)