UWP MediaCapture.InitializeAsync在Win11抛0xC00D36D5错误,Win10正常
UWP应用Windows 11下RTSP初始化MediaCapture失败问题
问题现象
开发的UWP应用通过RTSP链接(Axis摄像机)初始化MediaCapture对象,设置为仅视频捕获模式,且已正确配置DeviceUriPasswordCredentials(若不配置会触发未授权异常,即便Uri中已包含账号密码)。
执行代码await this.mediaCapture.InitializeAsync(settings);时,任意Windows 10设备无论调试还是发布版本均正常运行,但在两台Windows 11设备上抛出错误:The specified object or value does not exist 0xC00D36D5。
排查结果
- 移除DeviceUri和凭据配置后,应用可成功连接本地摄像头,确认问题出在网络访问层面
- 已排除应用权限问题,调整网络共享设置后问题仍存在
- 该RTSP链接可在VLC中正常播放流,且未配置凭据时会返回访问拒绝,证明设备可正常通信
脱敏示例代码
try { this.mediaCapture = new MediaCapture(); MediaCaptureInitializationSettings settings = new MediaCaptureInitializationSettings(); settings.StreamingCaptureMode = StreamingCaptureMode.Video; settings.DeviceUri = new Uri("rtsp://fakeuser:fakepassword@192.168.1.100/axis-media/media.amp", UriKind.RelativeOrAbsolute); string username = "fakeuser"; string password = "fakepassword"; settings.DeviceUriPasswordCredential = new Windows.Security.Credentials.PasswordCredential() { UserName = username, Password = password }; await this.mediaCapture.InitializeAsync(settings); //Windows 11上在此处抛出异常 this.mediaCapture.Failed += this.MediaCapture_CameraStreamFailed; var deviceController = this.mediaCapture.VideoDeviceController; this.videoProperties = deviceController.GetMediaStreamProperties(MediaStreamType.VideoPreview) as VideoEncodingProperties; this.CamPreview.Source = this.mediaCapture; await this.mediaCapture.StartPreviewAsync(); TimeSpan timerInterval = TimeSpan.FromMilliseconds(66); this.frameProcessingTimer = ThreadPoolTimer.CreatePeriodicTimer(ProcessCurrentVideoFrame, timerInterval); } catch (System.UnauthorizedAccessException uex) { await new MessageDialog($"{uex.Message}\n{uex.StackTrace}", "Error Connecting Camera").ShowAsync(); } catch (Exception ex) { await new MessageDialog($"{ex.Message}\n{ex.StackTrace}", "Error Connecting Camera").ShowAsync(); }
补充信息
已找到完全匹配该问题的帖子,目前尚无解决方案,帖子内容涉及WinRT环境下RTSP与ONVIF的相关问题。
内容的提问来源于stack exchange,提问作者tantonj
相关产品推荐
相关产品推荐

