32得票3回答
微软媒体基础架构的状态是什么?

微软媒体基础架构(Microsoft Media Foundation,MF)是在Windows Vista中作为DirectShow的后继者引入的。我大多忽略了它,但它具有一些功能(例如解码WMV AC-1文件),这些功能在DirectShow中很难实现。Media Foundation还是...

19得票9回答
OpenCV:尝试拍照时出现“[WARN:0]终止异步回调”的警告

我想使用Python从默认相机拍照,为此我正在使用OpenCV(从Python shell中的import cv2 as cv)。然而,当我试图关闭相机时,它会关闭但出现错误[WARN:0]终止异步回调。这是我尝试运行的代码: import cv2 as cv camera_port = 0...

17得票1回答
视频捕捉:DirectShow与Media Foundation哪个更好?

我正在尝试选择这两个API来实现视频采集/监控/流传应用,并不确定哪一个最好。 一些背景信息: 我需要它能够与各种视频捕获卡/转接头配合使用。 该应用程序可能会用C++开发,因此本地API至关重要。 性能很重要,因为我需要处理多个视频流。 通过搜索,我得出的印象是: MF仅支持W...

10得票1回答
DXGI桌面复制:将帧编码以便通过网络发送

我正在尝试编写一个应用程序,它将捕获屏幕的视频流并将其发送到远程客户端。我发现在Windows上捕获屏幕的最佳方法是使用DXGI桌面复制API(自Windows 8以来可用)。微软提供了一个漂亮的示例,可以将复制的帧流式传输到屏幕上。现在,我一直在想什么是最简单但仍然相对快速的方式来编码这些帧...

10得票2回答
英特尔图形硬件 H264 MFT ProcessInput 调用在提供少量输入样本后失败,而使用 Nvidia 硬件 MFT 则正常工作。

我正在使用DesktopDuplication API捕获桌面,并在GPU中将RGBA样本转换为NV12,然后将其提供给MediaFoundation硬件H264 MFT。这在Nvidia图形和软件编码器上都很好用,但当只有Intel图形硬件MFT可用时会失败。如果我回退到Software M...

10得票1回答
使用DirectX11像素着色器在GPU上将DXGI_FORMAT_B8G8R8A8_UNORM转换为NV12颜色格式

我正在编写一个代码,使用桌面复制来捕获桌面,并使用Intel硬件MFT将其编码为h264。编码器仅接受NV12格式作为输入。我已经得到了一个DXGI_FORMAT_B8G8R8A8_UNORM到NV12转换器(https://github.com/NVIDIA/video-sdk-sample...

10得票3回答
在ffplay中出现绿屏:使用Live555将桌面(DirectX表面)作为H264视频流传输到RTP流时。

我正在尝试使用Live555和Windows媒体基础架构的硬件编码器,在Windows10上以H264视频的形式通过RTP流来流式传输桌面(NV12格式的DirectX表面),并期望它能被ffplay(ffmpeg 4.2)渲染。但是只能得到如下所示的绿色屏幕。 我参考了MF...

9得票3回答
Windows Media Foundation(MFT)缓存和视频质量问题(颜色丢失,曲线不太平滑,特别是文字)

我正在尝试使用Windows Media Foundation将从图像(RGBA)源(桌面/相机)捕获的RGBA缓冲区编码为原始H264,实时传输并解码接收到的原始H264帧。我正在尝试达到至少30 fps。编码器效果很好,但解码器不行。 我了解Microsoft WMF MFT在发出编码/...

9得票1回答
Intel H264硬件MFT无法遵守GOP设置

问题陈述: 英特尔硬件MFT没有遵守GOP设置,导致实时应用程序中的带宽消耗增加。相同的代码在Nvidia硬件MFT上运行良好。 背景: 我正在尝试使用Windows10机器上的MediaFoundation H264硬件编码器将通过DesktopDuplication APIs捕获的N...

8得票1回答
DirectShow,Media Foundation和DXVA是什么?

我被委托修改一个使用DirectShow进行视频渲染的应用程序。旧版应用程序运行良好,但开始显得过时。 由于我有游戏背景,我认为我应该像处理游戏一样来解决这个问题。在制作了许多使用不同技术的原型之后,我相当确定我可以实现视频到纹理的渲染,并使用DirectX来满足所有客户的要求。 然而,我...