我正在开发一个桌面应用程序,通过互联网与其他用户共享计算机屏幕。
cef支持WebRTC技术,我正在尝试使用它来进行屏幕共享。不幸的是,cef不支持捕获原生屏幕。我按照一些教程展示了如何更改cef的源代码以共享屏幕,但没有成功。
以下流程为1和2:
1-在https://bitbucket.org/chromiumembedded/cef/wiki/MasterBuildQuickStart.md
中指定的设置(在窗口上)2-指定的变更: http://arkenthera.github.io/blog/Enabling-CEF-to-Screen-Share-using-getUserMedia-API/
在进程2发生错误时运行位于chromium / src / cef / tools中的patch.bat文件。确定patch.bat中某些指定文件的路径是不连贯的,我复制了patch.bat for chromium / src / cef并运行。执行错误发生在chromium / src / cef / patch / patches中的allow_screen_sharing.patch文件中。
CEF论坛中的这个主题(https:// bitbucket.org/chromiumembedded/cef/issues/1065)提供了一些有关如何修改cef以支持屏幕共享的信息。尽管进行了更改,当我使用--enable - usermedia -screen- capture flag运行cefclient并访问https:// html5-demos.appspot.com/static/getusermedia/screenshare.html进行屏幕捕获时,我收到请求激活的消息国旗。
有人和o cef合作过屏幕分享并取得成功吗? 他们知道如何为使用cef的应用程序提供这种支持吗?
谢谢大家。
答案 0 :(得分:2)
如果你还没有解决它(否则,对于有相同问题的其他人):我最近在Chromium 53和54中都可以使用它。你必须手动编辑libcef / browser / browser_host_impl.cc补丁文件https://github.com/buglloc/cef-builds/blob/master/patches/allow_screen_sharing.patch
中的更改行号已更改,因此您必须在每次更改之前/之后查找代码。只需在忍者构建之前进行更改。