jjzjj

Directshow

全部标签

c++ - 如何通过 UVC 支持硬件编码 H264

我在使用DirectShow创建的视频聊天应用程序中使用罗技C930e网络摄像头。到目前为止,我能够在YUY2或mJPEG中使用原始流。不管怎样,我发现网络摄像头通过UVC接口(interface)支持硬件H264编码。现在我使用标准方法获取可能的网络摄像头捕获引脚配置,但那里没有H264引脚。voidlist_cameras{ICreateDevEnum*pDevEnum=nullptr;IEnumMoniker*pEnum=nullptr;//CreatetheSystemDeviceEnumerator.HRESULThr=CoCreateInstance(CLSID_Syste

c# - 在 C#(COM 组件)中使用 DirectShow c++ 的 API

我正在使用Directshow开发Windwos窗体应用程序。一开始我使用位于windows/system32中的Quarts.dll来获取Directshow的基本API。一段时间后,我意识到我需要Directshow的整个API,因为我需要创建一个新的视频渲染器过滤器(VM7)。为此,我需要访问Directshowc++API中提供的一些接口(interface)。我发现Directshow是一个COM组件,如果我找到与它绑定(bind)的正确方法,我可以在C#中访问他的API。现在,这是我为访问API所做的:我发现WindowsSDK中提供了C++API。我需要的API位于dev

c++ - VC++ 构建 directshow 基类

我是DirectXSDK、PlatfromSDK和DirectShow的新手。我下载了最新的PlatformSDK和DirectXSDKAugust'09。我试图在文件夹中构建示例项目:MicrosoftPlatformSDK\Samples\Multimedia\DirectShow\Capture\PlayCap\并且有以下构建错误:LINK:fatalerrorLNK1181:cannotopeninputfile'D:\ProgramFiles\MicrosoftPlatformSDK\samples\multimedia\directshow\baseclasses\WIN2

c++ - 如何使用 DirectShow 将音频流写入内存缓冲区而不是文件?

我制作了一个示例应用程序,它构建了一个过滤器图以从麦克风捕获音频并将其流式传输到文件中。是否有任何过滤器允许我改为流式传输到内存缓冲区?我正在遵循关于msdn的文章中概述的方法并且当前正在使用CLSID_FileWriter对象将音频写入文件。这很好用,但我不知道如何写入内存缓冲区。是否有这样的内存接收器过滤器,还是我必须自己创建它?(我更喜欢与WindowsXP捆绑在一起的那个) 最佳答案 最简单的方法(虽然不是最优雅的)是使用SampleGrabber过滤器后跟NullRenderer过滤以终止图表。这将使您能够使用样本采集器的

c++ - 跨平台相机 API

我现在正在构建一个必须实时转换视频帧的视频转换过滤器。过滤器的关键要求之一是具有高性能,以最大限度地减少转换过程中丢帧的数量。另一个优先级较低但也很好的要求是使其跨平台(PC和移动设备)。该应用程序是用C++构建的。现在我的问题是:有没有比DirectShow更可移植并且具有类似或更好的性能特征的API?因为DirectShow的可移植性仅限于基于Windows的设备(PC和WindowsMobile&CE平台)。我还注意到,例如使用HTC的自定义相机API比DirectShow提供的性能要好得多。如果您想检查这一点,请尝试在DirectShow中构建一个过滤器,它将每种颜色乘以2,并

c++ - 从网络摄像头预览捕获图像的最佳 DirectShow 方式? SampleGrabber 已弃用

我开发了DirectShowC++应用程序,它成功地将网络摄像头View预览到提供的窗口中。现在我想从这个实时网络摄像头预览中捕捉图像。为此,我使用了图形管理器、ICaptureGraphBuilder2、IMoniker等。我搜索并找到了以下选项:WIA和sample采集器。许多人建议使用SampleGrabber,但根据MS的msdn文档SampleGrabber已弃用,不应使用。而且我不想使用WIAAPI。那么从实时网络摄像头预览中捕获图像的最佳DirectShow方法是什么? 最佳答案 这是来自DxSnapsamplefro

c++ - 错误 : Qt5 Video render error code 80040218

当在Qt5中运行一个使用QWebView制作的应用程序时,我访问了一个带有HTML5视频播放器的页面,但是视频不播放并且qt/directshow显示以下错误:DirectShowPlayerService::doRender:Unresolvederrorcode80040218DirectShowPlayerService::doRender:Unresolvederrorcode80040218详细信息:Qt5.1.1MingW4.832bitWindows764位我怀疑这就是为什么我的Windows是64位,但*QT/MingW**在32位上运行并且可能会遗漏一些DLL/LIB

c++ - "refclock.h"头文件构建错误,Windows 平台 SDK 的一部分

我正在构建一个VC++解决方案并使用Win&SDK和Win8SDK(包括LIB中的这些路径和VS2008的INCLUDE设置)。但是我在refclock.h头文件中收到以下构建错误。我不明白我们如何在标准的MSFT头文件中得到错误。谁能帮我解决这个问题?c:\programfiles\microsoftsdks\windows\v7.0\samples\multimedia\directshow\baseclasses\refclock.h(80):errorC2061:syntaxerror:identifier'CAMSchedule'2>c:\programfiles\micro

c# - 我怎样才能学会 DirectShow 编程?

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭7年前。Improvethisquestion我是.NetC#开发人员。我想开发有关视频/音频编解码器的媒体编程,从源中捕获媒体等。我打算使用DirectShowLib,但我在MSDN上阅读了它,我很困惑,因为我是初学者.您是否有最好的教程或文章可以让初学者理解在DirectShow体系结构中编程?如果是这样,请分享它们。

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

我正在使用安全摄像头DLL从摄像头中检索图像。DLL调用我的程序的一个函数,将图像缓冲区作为参数传递,但图像是yuy2格式。我需要将此缓冲区转换为RGB,但我尝试了在Internet上找到的所有公式,但都没有成功。我试过的每个例子(包括http://msdn.microsoft.com/en-us/library/aa904813(VS.80).aspx#yuvformats_2)都给我错误的颜色。我可以仅使用像素的Y分量将缓冲区转换为黑白图像,但我确实需要彩色图片。我调试(仅汇编)在屏幕上显示图像的DLL,它使用DirectDraw来执行此操作。 最佳答案