是否有 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无法输出中文或者输出中文时显示为乱码

C++中cin和cout输入输出流用法简介

[PTA]7-1 找最小的字符串 针对输入的N个字符串,输出其中最小的字符串(c++)

修改 C++ 算法 STL 中的 make_heap 以作为最小堆工作

华为机试真题 C++ 实现最大N个数与最小N个数的和

C++关于类的,两个题,大一下