问题标签 [mediacapture]

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 回答
316 浏览

windows-10 - 4K MJPEG 相机视频预览延迟(在 Windows 10 上)

我正在尝试在我的应用程序中预览来自 4K 相机 (Brio) 的视频流。该应用程序使用 DirectShow 打开相机并接收帧。过滤器配置如下图所示。

在此处输入图像描述

问题在于高分辨率(即 4096x2160)。使用 4096x2160 分辨率,当我预览视频流时,GraphEdit 和我的应用程序都有延迟。我正在 Windows 10 上对此进行测试。请注意,Windows 10 预装的相机应用程序在此分辨率下完美运行。我也使用 MediaCapture Api 对 UWP 示例进行了同样的尝试,但问题是一样的。

我错过了什么?

0 投票
1 回答
97 浏览

c# - UWP:后台任务中的音频媒体捕获

我是 UWP 的新手。我尝试通过 MediaCapture API 从后台线程录制音频。

我的代码在这里:

它记录 .wav 文件每个 10 秒,但是当我播放这些文件时,我什么也听不到。每个文件是 310KB+,所以它不是 0 字节。有人知道为什么会发生吗?

0 投票
1 回答
126 浏览

wpf - “CaptureElement”类型的值无法转换为 Control 或 UIElement

我的 WPF 项目中有以下代码:

我确定我在这里遗漏了一些简单的东西。你能看到分辨率吗?

编辑:这是一个 Windows 10 项目。包括两个 NuGet 项目:Microsoft.Toolkit.Wpf.UI.Controls 和 Microsoft.Toolkit.Wpf.UI.XamlHost。XAML 具有以下标记:

(尽管我愿意切换到使用 MediaElement 或 MediaPlayerElement)该框架是:

在此处输入图像描述

0 投票
0 回答
2549 浏览

c# - 在 C#、Windows 10 中创建虚拟相机,以使用 Zoom、Skype、浏览器

我想创建一个“虚拟相机”,可以与 Zoom 或 Skype、浏览器等 3rd 方应用程序一起使用。以同样的方式,这些可以与 Snap 等虚拟相机应用程序一起使用。

我想从笔记本电脑上的内置网络摄像头获取提要,对其进行一些更改,例如亮度,然后能够在 Zoom、Skype、浏览器、我编辑的提要中进行选择。

到目前为止,我已经编写了一个通用 Windows 平台应用程序,它接收网络摄像头提要,将我的处理应用到它,并在窗口中显示它。为此,我使用了 Windows Media API。 https://docs.microsoft.com/en-us/uwp/api/windows.media.effects?view=winrt-19041

谁能指出我正确的方向,如何获取这个修改后的提要并提供给 Zoom、Skype、浏览器?我见过很多与 DirectShow 相关的东西,但没有任何东西完全有意义或在过去 6 或 7 年中编写过。使用 C# 在 2020 年做到这一点的最佳方法是什么?

非常感谢

0 投票
1 回答
223 浏览

angular - 在 Angular/Electron 应用程序中使用 MediaRecorder 对象

我正在尝试使用 MediaRecorder 对象,但编译器无法识别它。

this.canvas已被声明为HTMLCanvasElement,但我仍然有此错误captureStreamProperty 'captureStream' does not exist on type 'HTMLCanvasElement'.

在下一行,我有Cannot find name 'MediaRecorder'.

到目前为止,我试图:

  1. 安装 dom-mediacapture-record:npm install -d @types/dom-mediacapture-record
  2. 将“dom-mediacapture-record”添加typestsconfig.json

但似乎没有任何效果。有任何想法吗?

0 投票
0 回答
124 浏览

angular - 如何更改 imageCapture.takePhoto() 中的默认捕获图像大小?

我在下面有这段代码,我想在拍照时调整照片大小。我已经尝试过 getPhotoCapabilities 和 getSettings 但它不起作用。有人能帮助我吗??我在角度分量

0 投票
1 回答
110 浏览

xamarin - App MediaFrameReader 总是返回空位图

我正在使用MediaCapture在屏幕上预览相机,这工作正常。

但是,我需要访问我的应用程序中的当前帧。因此,我添加FrameReaderMediaCapture获取事件 Reader_FrameArrived。

所以事件正在运行,但是位图本身始终为空。

我实现了 ecent 回调,就像示例中所示:

这就是我初始化阅读器的方式:

任何想法为什么位图可能为空?

0 投票
1 回答
453 浏览

uwp - 使用 Uri 连接的 IP 摄像头通过 Windows UWP 应用拍照和录制视频

直接连接 IP 摄像机是 UWP 的一项新功能。在此页面上:https ://blogs.windows.com/windowsdeveloper/2019/10/10/connecting-network-cameras-to-windows-10-devices/

它说:“对于通过 MediaCapture 类从 URI 流式传输,将所需的 URI 分配给 MediaCaptureInitializationSettings::DeviceUri。如果需要凭据,可以通过 MediaCaptureInitializationSettings::DeviceUriPasswordCredential 设置它们。API 支持 ONVIF 和通用 RTSP 服务器 URI。这允许应用程序使用标准的 Windows Media API 从不符合 ONVIF 标准的通用摄像机或未配对的任意 URI 捕获视频。”

更新: 现在我可以成功连接到相机了。问题在于 URI 的格式。我有 Reolink-410 相机

之后我可以成功拍照

但是当我尝试录制视频时,它会抛出异常:{“指定的对象或值不存在。(来自 HRESULT 的异常:0xC00D36D5)”}

我也尝试过await _mediaRecording.StartAsync();抛出相同的异常。{“指定的对象或值不存在。(来自 HRESULT 的异常:0xC00D36D5)”}

0 投票
1 回答
166 浏览

c# - 是否可以在捕获流中显示视频人脸检测?

我正在将 MediaCapture API 用于视频录制应用程序。

其中一部分是使用矩形进行人脸检测,但我希望它出现在捕获流中,而不仅仅是预览流。

即使我在添加效果时将 VideoRecord 指定为 MediaStreamType,矩形也不会出现在最终结果视频中,这是我的目标。

关于如何使人脸检测和跟踪出现在捕获流或最终结果视频中的任何建议?

谢谢!

====================================

基本上,我希望人脸检测和跟踪出现在 CaptureElement 中,以便可以在最终视频中完成身份隐藏(使用跟踪用户面部的图像来隐藏用户的面部)。

我的代码借鉴了 Windows 通用示例:https ://github.com/microsoft/Windows-universal-samples

有一个 CaptureElement,用于渲染来自相机的视频流。为了绘制检测到的人脸的矩形,使用了 Canvas。

这就是将 FaceDetectionEffectDefinition 添加到 MediaCapture 对象的方式,以及添加 FaceDetectionEffect 的方式......

FaceDetectionEffect 事件中发生了什么...

MediaCapture 对象被初始化,并在开始时设置为 CaptureElement 的源...

(部分代码,例如为 VideoPreview 和 VideoRecord 指定媒体流类型,如果不相同,已省略。)

希望有一种更简单的技术,而不必求助于使用 MediaComposition 和覆盖。

0 投票
0 回答
132 浏览

uwp - Xbox Series X 开发模式媒体捕获/远程查看

我正在开发模式下的 Xbox Series X 上开发 UWP 应用程序,我需要能够记录我正在执行的测试以进行验证。

随着 xbox series x 处于开发模式,以前可用的(在 Xbox One 上)媒体捕获部分不再可用。我也无法通过 PC 看到我的 Xbox 上发生了什么。(与“Xbox Console Companion”进行远程共享。

有没有办法记录屏幕上发生的事情,或者从 PC 上查看正在发生的事情?

问候,丹尼尔。