directshow相关内容

DirectShow视频捕获筛选器IAMBufferNeairation::GetAllocatorProperties返回E_FAIL

我正在尝试检查音频/视频捕获筛选器的分配器属性。我使用IAMBufferNegotiation::GetAllocatorProperties并连接了捕获过滤器的输出引脚。它可以与音频捕获筛选器配合使用,但不能与视频捕获筛选器配合使用。 带音频捕获过滤器: HRESULT:S_OK CBuffers:4 CbBuffer:88200 CbAlign:1 Cb前缀:0 带视频捕 ..
发布时间:2022-09-06 21:23:35 其他开发

如果DirectShow的输入引脚不支持IAMBufferNeatheration,如何更改DirectShow呈现器的缓冲区大小?

我有一个用Delphi6编写的DirectShow应用程序。我想将呈现器的缓冲区大小从当前的500ms值减少到更小的值。问题是,它的输入引脚不支持IAMBufferNeairation,这很奇怪,因为呈现器是我的VOIP电话上的耳机,而且它显然需要更小的缓冲区大小,以避免电话呼叫期间令人不快的延迟。 我在图形编辑中尝试了一个环回测试,将VOIP电话的捕获过滤器(麦克风)连接到呈现器(耳机)。 ..
发布时间:2022-08-11 11:57:08 其他开发

DirectShow网络摄像头视频和音频异步-音频延迟

我尝试保存带有音频的视频,并将其保存为未压缩的avi文件。如图所示,这是一张图表。问题是录音落后于视频约500毫秒。我有什么消息来源并不重要。如何才能使视频和音频同步? 推荐答案 默认音频捕获缓冲区非常大,长度约为500ms。一旦缓冲区被填满,您就开始获取数据,从而导致延迟。较大的缓冲区可能适用于某些情况,但不适用于其他情况。您可以使用IAMBufferNegotiation接口调整缓 ..
发布时间:2022-06-16 22:31:24 C#/.NET

在 Windows 8 上获取 DirectShow 示例

我想为 Windows 8 创建一个虚拟网络摄像头,我有两个选择:DirectShow 或 Microsoft Media Foundation.环顾四周后,我发现 DirectShow 有更多的例子,甚至在 Stackoverflow 上,它也比 MMF 得到推荐.所以我想从一些示例开始,为此我需要 strmbase.dll,我需要从 DirectShow 示例的 BaseClass 示例中自己 ..
发布时间:2022-01-21 13:59:50 其他开发

DirectShow Virtual Camera 未出现在某些配置的列表中

我使用 DirectShow 过滤器作为虚拟相机 (CLSID_VideoInputDeviceCategory).它运行良好,但某些应用程序/配置不会将此提要显示为源.例如,在 win 8.1 上,我可以通过 webrtc 在 Chrome/Firefox 中看到这个源代码.但是在 win 10 中 - chrome 不会在列表中显示此源(但 FF 会).adobe flash 也不会在列表中到 ..
发布时间:2022-01-15 15:32:48 C#/.NET

如何在 Windows 10 中创建虚拟网络摄像头?

我想从网络摄像头获取视频,在帧上渲染一些文本并进行一些运动跟踪,然后将其传递到虚拟网络摄像头,以便轻松进行流式传输. 我在 stackoverflow 上找到了一些答案,建议我应该使用 DirectShow.根据 DirectShow 文档中的信息,DirectShow SDK 是 Windows SDK 的一部分.所以我安装了 最新的 Windows SDK 但它似乎没有'不包括 Dire ..
发布时间:2022-01-15 14:44:50 其他开发

未发布的 DirectShow CSource 过滤器使程序在进程关闭时崩溃

我正在开发 DirectShow CSource 捕获过滤器.它工作正常,但是当我关闭使用过滤器的程序时(在这种情况下,我正在使用 VLC 进行测试,但其他程序也会发生同样的情况),程序崩溃(如果我在 Visual Studio 中调试它,那么断点被触发). 我一直在寻找这个问题一段时间,发现我的源过滤器和源流都没有被释放;也就是说,它们的引用计数器在程序结束时为 1,DllCanUnloa ..
发布时间:2022-01-14 12:37:53 其他开发

DirectShow 代码在退出后崩溃(PushSourceDesktop 示例)

我正在尝试使用 SDK (PushSourceDesktop) 附带的桌面捕获过滤器.我编译它并且似乎成功使用它,因为它实际上捕获了我的桌面并将其保存到文件中.但是应用程序在完成/退出时崩溃. 当我中断错误时,它只说没有可用的源,调用堆栈位置是 KernelBase.dll!7560280C(). 我想我在这里试一试,看看是否有人能识别出一些问题,或者我是否在做一些可能导致崩溃的公然错 ..
发布时间:2022-01-14 11:57:09 C/C++开发

网络流的虚拟摄像机/直接显示过滤器

我正在使用 Flash Live Encoder.它使用相机来传输视频.支持论坛说我可以创建我需要的自定义直接显示过滤器和流数据.我不明白直接显示过滤器将如何显示在实时编码器的源列表中.我尝试使用一些商业虚拟相机,它工作正常,但它不能使用来自网络流的源. 总结.我有几个网络流.我认为我必须为每个人创建虚拟相机.但是如果我在 C# 上找到带有直接显示过滤器的示例,我找不到虚拟相机. 解决 ..
发布时间:2022-01-08 21:21:55 C#/.NET

如何在 C++ 中将 yuy2 转换为 BITMAP

我正在使用安全摄像头 DLL 从摄像头中检索图像.DLL调用我程序的一个函数,将图像缓冲区作为参数传递,但图像是yuy2格式.我需要将此缓冲区转换为 RGB,但我尝试了在 Internet 上找到的每个公式,但均未成功.我尝试的每个示例(包括 http://msdn.microsoft.com/en-us/library/aa904813(VS.80).aspx#yuvformats_2) 给了我 ..
发布时间:2022-01-08 21:18:06 C/C++开发

如何使用/安装自定义 Directshow 过滤器

我有自定义编译的 directshow 过滤器 - filter.DLL - 但是如何使用或在系统中安装此过滤器? 解决方案 通常您通过调用(从 Windows vista/7 上提升的命令提示符窗口)regsvr32 filter.dll. 注册过程后,您可以将过滤器与 directshow 图表查看应用程序一起使用: GraphEdit (graphedt.exe),由 W ..
发布时间:2021-12-23 15:42:09 C/C++开发

如何更改 Directshow 过滤器属性 C++

如何以编程方式更改过滤器属性? 我正在使用过滤器 AAC 编码器,我可以在 graphedit 中通过右键单击过滤器并输入比特率值. 是否可以通过代码来做同样的事情? 请给我宝贵的建议,如果可能,请提供代码. 解决方案 您可以通过特定于过滤器的私有接口执行此操作.您需要参考过滤器文档或 SDK 以获取详细信息(VSS 技术支持).有时可以从类型库中获取必要的信息. ..
发布时间:2021-12-22 18:36:21 C/C++开发

使用多个实例 VMR 9 的黑色视频

我正在创建一个类似应用程序的视频墙.该应用程序创建多个窗口来显示视频,每个窗口都有自己的过滤器图.在典型配置中,这些窗口将分布在两个显示器上,总共 12 个窗口. 但问题是每当我尝试运行该应用程序时,一些窗口都会显示黑色视频.没有崩溃,每个图形都正确呈现而不会引发任何错误.显示黑色视频的窗口是随机的. 我已经在两种不同的显卡上进行了测试,结果相似. 有人可以帮忙找出问题吗 ..
发布时间:2021-12-21 14:36:53 其他开发

DirectShow 记录问题 - fps

我只是创建简单的图表来从源过滤器录制视频: SourceFilter --->多路复用器 --->文件写入器 我可以将来自 SourceFilter 的视频保存到我的本地磁盘. 但是当我尝试播放录制的视频时,它以“慢动作"播放:-). 肯定有fps(每秒帧数)问题.我该如何解决?有什么想法吗? 附注: 要检查我的 SourceFilter 是否提供正确的 fps,我只需创建另一 ..
发布时间:2021-12-21 14:34:40 其他开发

如何对 DirectShow 图形进行逆向工程?

我有一个 DirectShow 图来渲染来自网络流的 MPEG2/4 电影.当我通过手动连接引脚来组装图形时,它不会呈现.但是当我在 GraphBuilder 上调用 Render 时,它呈现得很好. 显然有一些设置步骤我没有在 GraphBuilder 正在执行的图中的某个过滤器上执行. 有没有什么办法可以在 GraphBuilder 组装图形时查看 GraphBuilder 的调试 ..
发布时间:2021-12-21 14:01:51 其他开发

“假的"DirectShow 视频采集设备

这与我提出的最后几个问题无关. 我需要将视频从 IP 网络摄像头 (SNC-RZ25N) 获取到 Flash Media Server.我宁愿不必使用 Windows,但如果它使事情变得更容易,我会的.(Flash Media Live Encoder 是一个仅限 Windows 的程序.) 我考虑了从 A 点到 B 点的许多不同路线,但似乎最简单的方法可能是仅使用 Flash Med ..