Функциональные возможности Qt WebEngine
Qt WebEngine поддерживает следующие функции Chromium:
- Аудио- и видеокодеки
- Инструменты разработчика Chromium
- Перетаскивание
- Полный экран
- HTML5 DRM
- HTML5 Геолокация
- API плагинов Pepper
- WebRTC
Аудио- и видеокодеки
Qt WebEngine поддерживает формат MPEG-4 Part 14 (MP4) только в том случае, если были включены необходимые проприетарные аудио- и видеокодеки, такие как H.264 и MPEG layer-3 (MP3). Проприетарные кодеки можно включить, передав следующую опцию в qmake при сборке Qt WebEngine:
qmake WEBENGINE_CONFIG+=use_proprietary_codecs
Предупреждение: При распространении библиотек проприетарных кодеков вы должны получить лицензии на них.
FFmpeg — кроссплатформенное решение для записи, преобразования и потоковой передачи аудио и видео. Его можно настроить для использования нескольких кодеков, что создаёт проблемы с лицензированием при распространении с библиотеками кодеков. Для некоторых кодеков доступны открытые реализации, такие как OpenH264.
Инструменты разработчика Chromium
Инструменты разработчика Chromium позволяют инспектировать и отлаживать проблемы с макетом и производительностью любого веб-контента.
Это свойство можно протестировать, запустив приложение Qt WebEngine с опцией командной строки --remote-debugging-port=[your-port] или установив переменную окружения QTWEBENGINE_REMOTE_DEBUGGING, а затем используя браузер на основе Chromium (например, Demo Browser или Nano Browser) для подключения к http://localhost:[your-port].
Дополнительную информацию см. в разделе Отладка и профилирование Qt WebEngine.
Перетаскивание
Qt WebEngine поддерживает перетаскивание HTML5.
Это свойство можно протестировать, открыв демонстрацию перетаскивания HTML5, такую как HTML5 Demos - Перетаскивание, HTML5 Demos - Простое перетаскивание или HTML5 Demos - Перетаскивание с автоматической загрузкой, в Demo Browser или Nano Browser.
Перетаскивание файлов в браузер на самом деле не является частью HTML5, но поддерживается. Это можно проверить, открыв HTML5 Demos - File API.
Поддержка этой функции была добавлена в Qt 5.6.3.
Полный экран
Qt WebEngine поддерживает просмотр веб-контента в полноэкранном режиме. Дополнительную информацию см. в WebEngineSettings.fullscreenSupportEnabled, WebEngineView.fullScreenRequested, QWebEngineSettings::FullScreenSupportEnabled и QWebEnginePage::fullScreenRequested.
Это свойство можно проверить, воспроизведя видео с YouTube в Demo Browser или Nano Browser и нажав на значок полноэкранного режима.
Поддержка этой функции была добавлена в Qt 5.6.0.
HTML5 DRM
Qt WebEngine поддерживает просмотр защищённых DRM видео, если установлен плагин Widevine DRM.
Формат видео, наиболее часто используемый службами DRM, H.264, требует проприетарных аудио- и видеокодеков. Дополнительную информацию об активации кодеков см. в разделе Аудио- и видеокодеки.
Это свойство можно проверить, воспроизведя видео в Demo Browser или Nano Browser с сайтов castLabs, Swank Motion Pictures, Inc. или Shaka Player.
Поддержка этой функции была добавлена в Qt 5.6.3.
HTML5 Геолокация
Qt WebEngine поддерживает JavaScript API геолокации с Qt Location в качестве бэкенда. Приложение должно явно разрешить функцию, используя QWebEnginePage::Geolocation или WebEngineView.Feature.
Это свойство можно проверить, если Qt Location было построено до Qt WebEngine. Страница http://html5demos.com/geo может быть открыта в Demo Browser и разрешить определить текущее местоположение пользователя. Обратите внимание, что в Windows для приложения должен быть подключён внешний GPS-приёмник. Дополнительную информацию см. в Qt Positioning.
Поддержка этой функции была добавлена в Qt 5.5.0.
API плагинов Pepper
Qt WebEngine поддерживает загрузку плагинов Pepper Plugin API (PPAPI), если WebEngineSettings::pluginsEnabled или QWebEngineSettings::PluginsEnabled установлено.
За исключением плагина Adobe Flash Player, плагины необходимо загружать вручную, используя синтаксис командной строки Chromium с аргументом --register-pepper-plugins. Значение аргумента представляет собой список записей, разделенных запятыми, которые содержат путь к файлу и один или несколько MIME-типов, разделенных точкой с запятой:
<file-path-plugin1>;<mime-type-plugin1>,<file-path-plugin2>;<mime-type1-plugin2>;<mime-type2-plugin2>
Например:
--register-pepper-plugins="libppapi_example.so;application/x-ppapi-example"
MIME-тип важен, поскольку он определяет, для каких вложений используется плагин.
Поддержка этой функции была добавлена в Qt 5.6.0.
Поддержка плагина Pepper Flash Player
Плагин Pepper Flash Player может быть загружен автоматически, если он установлен в одном из следующих мест в зависимости от платформы:
- Windows
C:\Windows\SysWOW64\Macromed\Flash\pepflashplayer*.dll C:\Windows\System32\Macromed\Flash\pepflashplayer*.dll
- OS X
/Library/Internet Plug-Ins/PepperFlashPlayer/PepperFlashPlayer.plugin
- Linux
/usr/lib/pepperflashplugin-nonfree/libpepflashplayer.so /usr/lib/adobe-flashplugin/libpepflashplayer.so /usr/lib/PepperFlash/libpepflashplayer.so /usr/lib64/chromium/PepperFlash/libpepflashplayer.so
Вы также можете загрузить Pepper Flash Player из определенного места, используя аргументы командной строки:
--ppapi-flash-path=./libpepflashplayer.so
По умолчанию версия Flash установлена в 11.2.999.999. Вы можете использовать аргумент ppapi-flash-version= для установки другой версии Flash в формате major.minor.build.revision:
--ppapi-flash-version=16.0.0.235
Это свойство можно протестировать в Demo Browser или Nano Browser, если установлен плагин Adobe Flash PPAPI и плагины включены в браузере. Для проверки функции в браузере можно открыть страницу https://helpx.adobe.com/flash-player.html.
WebRTC
WebRTC предоставляет браузерам возможности реального времени (RTC) через простые API. Дополнительную информацию см. в WebEngineView.Feature и QWebEnginePage::Feature.
Это свойство можно проверить, настроив веб-камеру или микрофон, а затем открыв https://test.webrtc.org/ в Simple Browser или Nano Browser.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/archives/qt-5.6/qtwebengine-features.html