Wpf Cefsharp和视频标签WebRTC

Wpf Cefsharp和视频标签WebRTC,wpf,webrtc,cefsharp,html5-video,Wpf,Webrtc,Cefsharp,Html5 Video,我正在尝试编写一个支持webrtc的wpf。可以访问摄像头,但页面中显示的不起作用。有人能帮忙吗?我想您想通过WebRTC显示摄像头中的视频,所以我想需要调用.getUserMedia()来控制摄像头。为此,您必须使用基于铬30或更高版本的CefSharp。因此,要么: 使用最新的CefSharp.wpfnuget。现在您需要最新的-Pre版本 或者使用当前的master分支从源代码构建 我刚刚使用再次进行了快速测试,以下是步骤: 请确保您的示例使用Chromium 31或更高版本-请参阅-

我正在尝试编写一个支持webrtc的wpf。可以访问摄像头,但页面中显示的
不起作用。有人能帮忙吗?

我想您想通过WebRTC显示摄像头中的视频,所以我想需要调用
.getUserMedia()
来控制摄像头。为此,您必须使用基于铬30或更高版本的CefSharp。因此,要么:

  • 使用最新的CefSharp.wpfnuget。现在您需要最新的
    -Pre
    版本
  • 或者使用当前的
    master
    分支从源代码构建
我刚刚使用再次进行了快速测试,以下是步骤:

  • 请确保您的示例使用Chromium 31或更高版本-请参阅-除非您在阅读本文时已将其合并

  • MainView.xaml
    中将
    属性修改为“”

  • 生成并在运行时添加
    --enable media stream
    命令行标志

  • 就这样!如果你的相机连接好了,运气好的话,你会在屏幕上看到你自己的脸——或者相机指向的任何东西


    奖金信息:希望不久PR#365也能得到一些额外的爱,允许传递旗帜,并融入CefSharp。这样,您就可以在代码中设置标志,而不必将其作为命令行参数传入。

    您可以执行以下操作:

    var cefSettings = new CefSettings();
    cefSettings.CefCommandLineArgs.Add("enable-media-stream", "enable-media-stream");
    Cef.Initialize(cefSettings);
    
    这与传递命令行参数的效果相同。正确的代码如下
    Dim settings As New CefSettings.CefCommandLineArgs.Add(“--enable media stream”,“1”)CefSharp.Cef.Initialize(settings)settings.CachePath=“cache”

    您如何尝试将其附加到标记?您愿意分享哪些代码以便我们提供帮助?例如,是否代表您想要做的事情?我从那里得到了getUserMedia()示例,我只想显示html5页面上的视频,其中包含了详细的答案,谢谢。我的问题是显示给定url的视频文件/输出。就像在youtube上观看视频一样。啊,所以与摄像头无关-但是你有一个视频文件,或者它是一个流,在什么类型的URL和什么格式(即,你必须确保它是Chromium支持的格式/编解码器?-Chromium没有所有的格式/编解码器,例如Chrome由于许可而拥有的格式/编解码器),以便对@bwtrent上面所说的内容进行迭代。分享更多关于“您尝试了什么”的详细信息/代码您的设置是什么-CefSharp版本/二进制或源代码安装视频格式等(您在CefSharp wiki常见问题解答中提到了哪些DLL等),这样更容易提供帮助。只需添加额外的信息点:您现在可以使用CefSettings.CefCommandLineArgs.add添加这些参数,仍然不起作用。arg是名称-值对。名称-值对值实际上是什么?settings.CefCommandLineArgs.Add(“--enable media stream”,“--enable media stream”);settings.CefCommandLineArgs.Add(“--enable usermedia screen capture”,“--enable usermedia screen capture”);settings.CefCommandLineArgs.Add(“启用usermedia屏幕捕获”、“启用usermedia屏幕捕获”);settings.CefCommandLineArgs.Add(“启用媒体流”、“启用媒体流”);