问题标签 [decklink]

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.

0 投票
1 回答
174 浏览

c++ - Decklink SDK & QtQuick

我正在尝试使用 BlackMagic Decklink SDK 将来自 Decklink 卡的视频显示到 QtQuick 应用程序中。我使用 QWidgets 成功地做到了同样的事情,所以视频流采集部分正在工作。

当使用 QWidgets(更具体地说是 QOpenGLWidget)时,基本上我们所要做的就是创建一个 QOpenGLWidget 的子类并像这样覆盖 initializeGL 和 paintGL:

在使用 QtQuick 的自定义渲染器中执行相同操作时,没有任何反应。我想我必须编写我的程序和着色器,但我不知道它需要什么。当使用着色器为颜色中的每个像素着色时,会绘制该颜色的正方形,所以我想我离得不远(但可能是错误的......)。

这是一些代码:

我应该如何更新我的着色器?

0 投票
0 回答
135 浏览

audio - FFmpeg Decklink 播放音频 PCM

我正在为 Decklink 开发 ffmpeg 播放应用程序,但我遇到了一些音频问题。我已经看到有关此主题的其他问题,但目前都没有帮助。

我已经尝试使用 swr_convert 将 Reubens 代码(https://stackoverflow.com/a/15372417/12610231)用于将 ffmpeg/libav 帧播放到 Decklink 板(这需要 16 位 PCM 交错),但音频听起来不对. 听起来它缺少样本/只获得了所需样本的一半)。

当我在原始音频文件中录制样本并使用 Audacity 播放时,时间线是实际录制长度的一半,并以双倍速度播放样本。

我还尝试了“手动”转换(https://stackoverflow.com/a/15372417/12610231),但不幸的是,这不是我希望的结果。

这是我的一些代码片段

///

看起来 FFmpeg 数据包包含 1 个视频数据包和 2 个音频数据包,不确定如何处理第二个音频数据包,我已经尝试将第一个和第二个音频数据包合并,但在音频方面没有任何好的结果。

任何帮助表示赞赏。

0 投票
0 回答
178 浏览

c++ - 尝试在 C++ 应用程序中使用来自 ffmpeg 的 libavdevice 的 decklink 输出

我正在尝试在我公司正在开发的视频流应用程序中添加对 decklink 设备的支持。我们使用 C++ 和 FFMpeg 作为处理库。其他类型的输入和输出正在工作。添加对decklink输入的支持非常简单,它只是工作(至少在我们测试它的设备上——DeckLink SDI Quad)。但是对于输出......到目前为止,我已经为此奋斗了 3 天,但没有任何结果。我找不到任何文档,也找不到任何代码示例,我应该如何初始化 AVFormatContext 和其他需要的部分。

通过阅读FFMpeg 的decklink avdevice 代码,我设法了解AVFormatContext 不再抱怨不正确的数据格式。我正在使用 Wrapped_avframe 和 pcm_s16le 作为编解码器,我正在将视频和音频参数设置(转换)为设备接受的值,我正在发送带有 av_interleaved_write_frame 的 AVPackets,但它不起作用。正在接受几个数据包,产生了几个 libDeckLinkAPI.so 线程,并且它只是锁定了 - 我的输出线程锁定了对 av_interleaved_write_frame 的一些 80-ish 调用。这是一个僵局,它永远不会继续下去。调试器仅显示它正在等待某些东西:

我显然做错了什么,但我找不到什么......谁能指出我应该如何完成一些文档或(工作)代码示例?

提前致谢 :)

0 投票
1 回答
60 浏览

c++ - C++:使用 Blackmagic DeckLink SDK 读取访问冲突(this-> x was nullptr)

我根据 Blackmagic Decklink SDK 编写了一个小程序。当我使用 DeckLinkInput 接口时,我收到读取访问冲突消息“this->dl_input was nulltr”。经过数小时的调试,我不知道如何解决这个问题。也许一个问题是我是 C++ 新手。我写了以下代码:

有人可以告诉我我做错了什么吗?谢谢你。

0 投票
0 回答
54 浏览

ffmpeg - 使用FFMPEG api将blackmagic decklink音频帧编码为aac

尝试使用ffmpeg api将来自blackmagic decklink卡的原始音频(pcms16le和1920样本)编码为aac。如何将此sSAMPLE_FMT_S16 1920样本转换为SAMPLE_FMT_FLTP 1024样本以进行aac编码

0 投票
1 回答
37 浏览

video - 使用 PTS 解码 H264 PES

我有 libav 的问题。我正在使用解复用器(不是 libav),我确信它运行良好。所以,解复用后问题就开始了。

为了解码 H264 25 fps 视频,我将 PES PTS 值提供给 AVPacket PTS 值。Libav 然后将 AVPacket 解码为 AVFrame 并计算增加的​​ PTS。一切似乎都很正常,甚至是跟踪日志,但输出视频一直卡顿。我尝试同时使用 pts 和 best_effort_timestamp。

我认为 PTS/DTS 值有问题。如果值正确,则问题可能与解码器设置有关。我该如何解决这个问题?

0 投票
1 回答
64 浏览

c++ - 是否有 C++ DeckLink 输出的最小工作示例?

我想编写一个 C++ 程序,通过 DeckLink 卡将色块输出到监视器,并对正在拍摄该监视器并通过 DeckLink 卡连接到计算机的相机的信号进行采样。

有没有像一个最小的工作示例一样只将单个纯色补丁连续发送到 DeckLink 输出?我查看了 DeckLink SDK 附带的示例(特别是 SignalGenerator 和 TestPattern),但它们似乎包含的代码比我实际需要的要多得多。

我还阅读了 SDK 文档中看似相关的部分,但我是 C++ 新手,所以对我来说有点不知所措。我认为,只要程序正在运行,我就可以看到输出一种纯色所需的绝对最少代码量,这将非常有帮助。

0 投票
0 回答
45 浏览

ffmpeg - 在 Decklink SDI 上播放带有 608/708 嵌入字幕的 mpeg-2 文件

我已经构建了支持decklink的ffmpeg,它可以很好地在SDI上播放我的mpg文件,但在我的作品广播监视器(JVC DT-V17G1Z)上看不到任何字幕。这台显示器在我的 Mojito 卡上显示 SDI 上的字幕,但试图让它与 BlackMagic 4kextreme 一起工作。mpg 文件嵌入了 608 和 708 字幕。使用 玩-

关于 captinos 的 MediaInfo:

ID:4096 (0x1000)-CC1 菜单 ID:1 (0x1) 格式:EIA-608 复用模式:A/53 / DTVCC 传输复用模式,更多信息:在视频 #1 中复用持续时间:28 分钟 30 秒比特率模式:恒定流大小:0.00 字节 (0%) 语言:英语 CaptionServiceName:CC1

文本#2 ID:4096 (0x1000)-1 菜单 ID:1 (0x1) 格式:EIA-708 复用模式:A/53 / DTVCC 传输复用模式,更多信息:在视频#1 中复用持续时间:28 分钟 30 秒位速率模式:恒定流大小:0.00 字节 (0%) 语言:英语

如何让 Decklink 4k 传递字幕?谢谢!

0 投票
0 回答
15 浏览

visual-studio - Blackmagic Design SDK-无法编译样本

我已经尝试过 Visual Studio 2015、2019 和 2022,但 SDK 中的所有示例都无法编译。有人在这方面取得了成功,或者知道一个很好的指南来让这些工作吗?我有最新的 SDK 12.2,但对任何可行的东西都开放。谢谢!