问题标签 [blackmagic]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - Decklink SDK & QtQuick
我正在尝试使用 BlackMagic Decklink SDK 将来自 Decklink 卡的视频显示到 QtQuick 应用程序中。我使用 QWidgets 成功地做到了同样的事情,所以视频流采集部分正在工作。
当使用 QWidgets(更具体地说是 QOpenGLWidget)时,基本上我们所要做的就是创建一个 QOpenGLWidget 的子类并像这样覆盖 initializeGL 和 paintGL:
在使用 QtQuick 的自定义渲染器中执行相同操作时,没有任何反应。我想我必须编写我的程序和着色器,但我不知道它需要什么。当使用着色器为颜色中的每个像素着色时,会绘制该颜色的正方形,所以我想我离得不远(但可能是错误的......)。
这是一些代码:
我应该如何更新我的着色器?
python - 当服务器有预设的初始响应时如何发送套接字消息?
我正在为 Blackmagic 的以太网控制协议制作 python 绑定(如https://documents.blackmagicdesign.com/UserManuals/HyperDeckManual.pdf?_v=1528269592000中所述,第 60 页)。然而,简单的套接字连接似乎失败了,因为每个命令都被服务器的问候拒绝。
该协议记录了软件如何与某些 blackmagic 设备通信,在这种情况下,Blackmagic 的 hyperdeck,该设备运行一个 TCP 服务器,不断侦听端口 9993,在 cmd 上我可以简单地 telnet 到它并发出命令,你会期望它在 python 中一样简单,但是对于服务器的问候消息,设备的信息,每个命令都会被忽略。我已经做套接字至少 3 个月了,我尝试了几种代码方法,但似乎都失败了。
对于我用过的最简单的测试:
以及尝试重复该命令的修改版本:
它应该开始视频播放,如文档所述,以及当我通过 telnet 发出命令时发生的情况,但是该命令被完全忽略并且数据始终等于:b'500 连接信息:\r\n协议版本:1.9\r\n型号: HyperDeck Studio Mini\r\n\r\n' ,服务器的字节形式的问候消息,它应该是 200 ok 或某种错误/确认消息,如文档所述。
这非常烦人,我曾考虑过使用 subprocess 并通过 cmd 发出命令作为替代方案,但有些事情告诉我有一个更简单的解决方法。
google-chrome - Blackmagic 设备和 WebRTC 不兼容
我无法在 WebRTC 中使用通过 BlackMagic 连接的外部摄像头。我在 Chrome、Firefox、Safari 的源代码、Google Hangout 的 web 版本、appear.in (whereby.com) 等中进行了尝试。什么都行。
知道如何使它至少适用于一个浏览器吗?
c++ - 没有合适的用户定义从 type 到 const Decklink Input Device 的转换
我正在尝试从用于 QT 的 Decklink 输入设备中检索帧,并将其传递到视频样本队列中进行写入。我正在努力解决的问题是 [this] 是如何传递的,因为它表示没有合适的用户定义从类型到 const 的转换。
amazon-web-services - 从 Blackmagic Atem Mini Pro 到 AWS MediaLive 的视频流
有没有人设法从Atem Mini Pro流式传输到AWS MediaLive?
这在 OBS 中可以正常工作,但在 Atem 中无法使用自定义的 streaming.xml 文件。
我之前已经定制了 streaming.xml 来工作Atem > Wowza。所以我知道它应该工作。但是红色的 ON AIR 消息只是闪烁并且无法连接。
我尝试将 MediaLive 输入编解码器更改为 AVC/MPEG2,但没有任何乐趣。有人可以帮忙吗?
谢谢!
photoshop-script - 无法在 Photoshop 中编写 Blackmagic 插件脚本
我正在尝试使用 Photoshop Scripting (javascript) 来触发 Photoshop 的 Blackmagic atem 插件。Blackmagic Atem Photoshop插件由ATEM Control Software安装,用于将图形直接导出到Atem。
但是,我无法编写插件脚本。我尝试使用 Photoshop Scripting Listener,但是当我单击 File->Export->Atem Switcher Media Pool 命令进行导出时,日志文件中没有任何痕迹。如果 Photoshop 脚本侦听器无法侦听 3rd 方插件,还有其他方法可以激活导出命令吗?我尝试过使用 Actions,但它也不起作用。还有其他想法吗?
先感谢您
c++ - C++:使用 Blackmagic DeckLink SDK 读取访问冲突(this-> x was nullptr)
我根据 Blackmagic Decklink SDK 编写了一个小程序。当我使用 DeckLinkInput 接口时,我收到读取访问冲突消息“this->dl_input was nulltr”。经过数小时的调试,我不知道如何解决这个问题。也许一个问题是我是 C++ 新手。我写了以下代码:
有人可以告诉我我做错了什么吗?谢谢你。
ios - 适用于 iOS 的 Atem Switcher SDK
我已经从其官方网站 ( https://www.blackmagicdesign.com/support/family/atem-live-production-switchers ) 下载了 ATEM Switchers 8.6.1 SDK,其中提供了一些基于 Windows 和 Mac 平台的示例代码。
但是,我打算构建一个 iOS 应用程序。但是BMDSwitcherAPI.h
并BMDSwitcherAPIDispatch.cpp
不能在 xcode 12 中使用 swift 语言。
有谁知道怎么做?
camera - 媒体基础 - 自定义媒体源和传感器配置文件
我正在编写一个用于预览、捕获和快照相机输入的应用程序。为此,我使用 Media Foundation 进行输入。要求之一是它可以与 Black Magic Intensive Pro 4K 采集卡一起使用,其行为类似于普通相机。
不幸的是,媒体基金会无法从此设备创建 IMFMediaSource 对象。一些研究让我相信我可以实现自己的 MediaSource。
然后我开始查看样本,并试图解开文档。那时我遇到了一些问题:
- 有谁知道我想做的事情是否可行?
- Windows 示例显示了源的基本实现,但使用了IMFSensorProfile。什么是传感器配置文件,我应该将其用于什么?几乎没有关于此的文档。
- 有人可以解释实现自定义媒体源的工作原理:内部实际发生了什么?我只是创建自己的格式,还是允许我从相机中提取自己的帧并自己处理它们?我尝试按照msdn guide进行操作,但到目前为止还没有运气。
规格:
- 将 WPF 与 C# 一起使用,但我可以编写 C++ 并在 C# 中使用它。
- 渲染到屏幕使用 Direct3D9。
- 采集卡规格可以在他们的网站上找到(BlackMagic Intensity Pro 4K)。
- 发生的具体问题是我可以获得设备的 IMFActivator,但我无法激活它。激活时,会发生MF_E_INVALIDMEDIATYPE错误。
- IMFActivator 可以告诉我设备应该输出 UYVY 格式。
- 我最后的手段是使用 DeckLinkAPI,但由于我正在使用几种不同类型的相机,我不想被另一个依赖项困住。
任何指示或帮助将不胜感激。如果有任何不清楚或需要更多详细信息,请告诉我。
rtmp - 检测来自 ATEM Mini Pro ISO 的 RTMP 拉动
希望有人可以提供帮助。我目前正在使用带有 ATEM Mini Pro ISO 的 BlackMagic Pocket Cinema Camera 4K。ISO 的营销和评论表明它可以进行自定义流式传输。对我来说,我试图让它在 WSL2 上流式传输到 opencv-python,以便我可以做一些机器学习/人工智能和对象检测。我正在考虑使用 RTMP 流,但愿意使用与 opencv-python 兼容的任何东西(特别是与 cv2.VideoCapture 兼容的东西)
这是我卡住的部分。我将一个 xml(帖子底部)导入 ATEM Mini ISO pro,其中 IP 地址是我计算机的 IP 地址(在 WSL2 中键入 hostname -I 时获得的 IP 地址)。不过老实说,我单击流进行广播,但我对 rmtp 流是否正常工作一无所知。
通常使用哪种软件来检测 rtmp 推送流是否正在运行?对此的任何帮助都非常感激。
将 XML 导入 ATEM 软件