2016-07-21 4 views
1

Я разрабатываю настольное приложение, которое разделяет экран компьютера с другими пользователями через Интернет.Добавить поддержку для Chromium Embedded Framework для совместного использования экрана

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 произошла ошибка для запуска файла patch.bat, расположенного в хром/src/cef/tools. Выявлено, что путь некоторых определенных файлов в patch.bat был некогерентным, я скопировал файл patch.bat для chromium/src/cef и запустил. В ошибке выполнения произошел файл allow_screen_sharing.patch, расположенный в chromium/src/cef/patch/patches.

В этом разделе (https: // bitbucket.org/chromiumembedded/cef/issues/1065) на форуме CEF есть информация о том, как изменить cef для поддержки совместного использования экрана. Несмотря на внесение изменений, когда я запускаю cefclient с помощью --enable - usermedia -screen- захвата флага и доступ к https: // html5-demos.appspot.com/static/getusermedia/screenshare.html для захвата экрана, я получаю сообщение с запросом активации от флага.

Кто-то работал с o cef для совместного использования экрана и успеха? Они знают, как предоставить эту поддержку приложению, использующему cef?

Спасибо всем.

ответ

2

Если вы еще не решили его (в противном случае для других людей с той же проблемой): Я недавно сделал его работу как в Chromium 53, так и 54. Вам нужно вручную отредактировать libcef/browser/browser_host_impl.cc с изменения в файле исправления https://github.com/buglloc/cef-builds/blob/master/patches/allow_screen_sharing.patch

Номера строк изменены, поэтому вам придется искать код до/после каждого изменения. Просто внесите изменения до сборки ниндзя.

+0

DennisJakobsen, я сделал патч, но он по-прежнему показывает черный поток видео. Какой синтаксис используется для вызова его из javascript, того, что использует ChromeMediaSource и Id? Благодаря! –

+0

После применения патча и создания браузера попробуйте запустить браузер со следующими аргументами: «-enable-media-stream -enable-usermedia-screen-capture» Я протестировал и увидел, что он работает на https: //www.webrtc -experiment.com/Pluginfree-Screen-Sharing/. Возможно, стоит упомянуть, что я не использовал ссылку, на которую вы ссылаетесь. Я применил патч от github –

+0

Вы смогли добиться этого на Chromium 55? –