directshow相关内容
我正在尝试检查音频/视频捕获筛选器的分配器属性。我使用IAMBufferNegotiation::GetAllocatorProperties并连接了捕获过滤器的输出引脚。它可以与音频捕获筛选器配合使用,但不能与视频捕获筛选器配合使用。 带音频捕获过滤器: HRESULT:S_OK CBuffers:4 CbBuffer:88200 CbAlign:1 Cb前缀:0 带视频捕
..
我有一个用Delphi6编写的DirectShow应用程序。我想将呈现器的缓冲区大小从当前的500ms值减少到更小的值。问题是,它的输入引脚不支持IAMBufferNeairation,这很奇怪,因为呈现器是我的VOIP电话上的耳机,而且它显然需要更小的缓冲区大小,以避免电话呼叫期间令人不快的延迟。 我在图形编辑中尝试了一个环回测试,将VOIP电话的捕获过滤器(麦克风)连接到呈现器(耳机)。
..
我尝试保存带有音频的视频,并将其保存为未压缩的avi文件。如图所示,这是一张图表。问题是录音落后于视频约500毫秒。我有什么消息来源并不重要。如何才能使视频和音频同步? 推荐答案 默认音频捕获缓冲区非常大,长度约为500ms。一旦缓冲区被填满,您就开始获取数据,从而导致延迟。较大的缓冲区可能适用于某些情况,但不适用于其他情况。您可以使用IAMBufferNegotiation接口调整缓
..
我想为 Windows 8 创建一个虚拟网络摄像头,我有两个选择:DirectShow 或 Microsoft Media Foundation.环顾四周后,我发现 DirectShow 有更多的例子,甚至在 Stackoverflow 上,它也比 MMF 得到推荐.所以我想从一些示例开始,为此我需要 strmbase.dll,我需要从 DirectShow 示例的 BaseClass 示例中自己
..
使用 Qt 版本 5.4.2 返回错误代码:DirectShowPlayerService::doSetUrlSource: Unresolved error code 800c000d 已使用 Video QML 类型编写了一个 QML 文件,如下所示.我在项目文件(.pro)中添加了以下内容 Qt+= 多媒体 QML 文件中的代码片段如下. 视频{编号:视频宽度:80
..
这里有一个奇怪的问题,我使用这个命令通过 ffmpeg(通过 windows 上的 cmd)捕获我的网络摄像头: ffmpeg -y -t 300 -rtbufsize 1024M -f dshow -i video="Lenovo EasyCamera" -c:v libx264 -preset veryslow -crf 25 Desktop.mkv 一切正常.但是当我通过 python
..
我使用 DirectShow 过滤器作为虚拟相机 (CLSID_VideoInputDeviceCategory).它运行良好,但某些应用程序/配置不会将此提要显示为源.例如,在 win 8.1 上,我可以通过 webrtc 在 Chrome/Firefox 中看到这个源代码.但是在 win 10 中 - chrome 不会在列表中显示此源(但 FF 会).adobe flash 也不会在列表中到
..
..
我想从网络摄像头获取视频,在帧上渲染一些文本并进行一些运动跟踪,然后将其传递到虚拟网络摄像头,以便轻松进行流式传输. 我在 stackoverflow 上找到了一些答案,建议我应该使用 DirectShow.根据 DirectShow 文档中的信息,DirectShow SDK 是 Windows SDK 的一部分.所以我安装了 最新的 Windows SDK 但它似乎没有'不包括 Dire
..
我正在开发 DirectShow CSource 捕获过滤器.它工作正常,但是当我关闭使用过滤器的程序时(在这种情况下,我正在使用 VLC 进行测试,但其他程序也会发生同样的情况),程序崩溃(如果我在 Visual Studio 中调试它,那么断点被触发). 我一直在寻找这个问题一段时间,发现我的源过滤器和源流都没有被释放;也就是说,它们的引用计数器在程序结束时为 1,DllCanUnloa
..
所以基本上我读了这个,http://www.gdcl.co.uk/2011/June/UnregisteredFilters.htm. 它告诉您如何在不注册的情况下使用过滤器.有两种方法,新方法和使用私有 CoCreateInstance.我正在尝试使用 CoCreateInstance 方法. 在网站的示例中,代码被列为, IUnknownPtr pUnk;HRESULT hr =
..
我正在尝试使用 SDK (PushSourceDesktop) 附带的桌面捕获过滤器.我编译它并且似乎成功使用它,因为它实际上捕获了我的桌面并将其保存到文件中.但是应用程序在完成/退出时崩溃. 当我中断错误时,它只说没有可用的源,调用堆栈位置是 KernelBase.dll!7560280C(). 我想我在这里试一试,看看是否有人能识别出一些问题,或者我是否在做一些可能导致崩溃的公然错
..
我正在使用 Flash Live Encoder.它使用相机来传输视频.支持论坛说我可以创建我需要的自定义直接显示过滤器和流数据.我不明白直接显示过滤器将如何显示在实时编码器的源列表中.我尝试使用一些商业虚拟相机,它工作正常,但它不能使用来自网络流的源. 总结.我有几个网络流.我认为我必须为每个人创建虚拟相机.但是如果我在 C# 上找到带有直接显示过滤器的示例,我找不到虚拟相机. 解决
..
我正在使用安全摄像头 DLL 从摄像头中检索图像.DLL调用我程序的一个函数,将图像缓冲区作为参数传递,但图像是yuy2格式.我需要将此缓冲区转换为 RGB,但我尝试了在 Internet 上找到的每个公式,但均未成功.我尝试的每个示例(包括 http://msdn.microsoft.com/en-us/library/aa904813(VS.80).aspx#yuvformats_2) 给了我
..
我有自定义编译的 directshow 过滤器 - filter.DLL - 但是如何使用或在系统中安装此过滤器? 解决方案 通常您通过调用(从 Windows vista/7 上提升的命令提示符窗口)regsvr32 filter.dll. 注册过程后,您可以将过滤器与 directshow 图表查看应用程序一起使用: GraphEdit (graphedt.exe),由 W
..
如何以编程方式更改过滤器属性? 我正在使用过滤器 AAC 编码器,我可以在 graphedit 中通过右键单击过滤器并输入比特率值. 是否可以通过代码来做同样的事情? 请给我宝贵的建议,如果可能,请提供代码. 解决方案 您可以通过特定于过滤器的私有接口执行此操作.您需要参考过滤器文档或 SDK 以获取详细信息(VSS 技术支持).有时可以从类型库中获取必要的信息.
..
我正在创建一个类似应用程序的视频墙.该应用程序创建多个窗口来显示视频,每个窗口都有自己的过滤器图.在典型配置中,这些窗口将分布在两个显示器上,总共 12 个窗口. 但问题是每当我尝试运行该应用程序时,一些窗口都会显示黑色视频.没有崩溃,每个图形都正确呈现而不会引发任何错误.显示黑色视频的窗口是随机的. 我已经在两种不同的显卡上进行了测试,结果相似. 有人可以帮忙找出问题吗
..
我只是创建简单的图表来从源过滤器录制视频: SourceFilter --->多路复用器 --->文件写入器 我可以将来自 SourceFilter 的视频保存到我的本地磁盘. 但是当我尝试播放录制的视频时,它以“慢动作"播放:-). 肯定有fps(每秒帧数)问题.我该如何解决?有什么想法吗? 附注: 要检查我的 SourceFilter 是否提供正确的 fps,我只需创建另一
..
我有一个 DirectShow 图来渲染来自网络流的 MPEG2/4 电影.当我通过手动连接引脚来组装图形时,它不会呈现.但是当我在 GraphBuilder 上调用 Render 时,它呈现得很好. 显然有一些设置步骤我没有在 GraphBuilder 正在执行的图中的某个过滤器上执行. 有没有什么办法可以在 GraphBuilder 组装图形时查看 GraphBuilder 的调试
..
这与我提出的最后几个问题无关. 我需要将视频从 IP 网络摄像头 (SNC-RZ25N) 获取到 Flash Media Server.我宁愿不必使用 Windows,但如果它使事情变得更容易,我会的.(Flash Media Live Encoder 是一个仅限 Windows 的程序.) 我考虑了从 A 点到 B 点的许多不同路线,但似乎最简单的方法可能是仅使用 Flash Med
..