Screen Grab

Screen Grab

The Aurora OS application, which allows you to display the screen of a mobile device in a web browser, as well as record the screen of the mobile device. In the application, it is possible to configure screen capture settings, configure screen recording, as well as configure authentication for screen broadcasting.

Screen Grab

This document in Russian / Перевод этого документа на русский язык

Contents

Application description

The Aurora OS application, which allows you to display the screen of a mobile device in a web browser, as well as record the screen of the mobile device. In the application, it is possible to configure screen capture settings, configure screen recording, as well as configure authentication for screen broadcasting.

Build and use features

The project is built using the CMakeLists.txt file.

Installation and build

The project is built in the usual way using the Aurora SDK.

Screenshots

Screenshots

Use cases

Connecting to the ScreenGrab HTTP server

  • To connect to the application HTTP server enter to the browser address bar: http://<device IP-address>:44387. Login page is displayed. There are 2 ways to connect:
    • Select the "Authenticate by QR-code" option on the application main screen. Scan a QR-code on the browser login page.
    • Select the "User settings" option on the application main screen. Enter a username, password and save the credentials. Next type the credentials into "Имя пользователя" and "Пароль" fields on the browser login page. Press the "Просмотр трансляции" button.
  • When the connection to the device is established, click the "Play" button in the lower left corner of the window to see the current broadcast.
  • Click the "Отключиться" button on the browser page to stop the broadcast.

Screen recording of the mobile device

  • To start screen recording press the red button on the right of the "Screen recording" button.
  • To stop screen recording press the red button on the right of the "Screen recording" button.
  • To see the list of all screen records press the "Screen recording" button.
  • To set delayed recording up press the "Screen recording" button. On the opened page press the gear icon in the upper right corner of the screen.

Configure screen capture settings

  • To change the resolution and the frame rate press the "Capturing settings" button and then the "Resolution and Framerate" button. The settings can be changed with the context menu.
  • To change the bitrate press the "Capturing settings" button. At the "Bitrate" section there is a slider that allows to set the required value up.

Existing restrictions

  • Screen capturing and broadcasting using maximum resolution are not available for some devices. An attempt to record causes the application to crash.
  • The broadcast can only be supported for one client at a time.
  • If screen recording was enabled earlier, enabling the broadcast will cause the loss of about a second of recording.
  • When recording or broadcasting the screen, the video may slow down or lose frames

Compatibility

The project is compatible with with version 5 of the Aurora OS and can work on real devices only.

Project structure

The project has a standard structure of an application based on C++ and QML for Aurora OS.

  • qml directory contains the QML source code and the UI resources.
    • components directory contains the custom UI components.
    • cover directory contains the application cover implementations.
    • pages directory contains the application pages.
    • ScreenGrab.qml file provides the application window implementation.
  • src directory contains the C++ source code.
    • main.cpp file is the application entry point.
  • CMakeLists.txt file describes the project structure for the CMake build system.
  • ru.auroraos.ScreenGrab.desktop file defines the display and parameters for launching the application.
  • translations directory contains the UI translation files.
  • rpm directory contains the rpm-package build settings.
  • screengrab_http_server directory contains the http server implementation for launching the client page.
  • webclient directory contains the client html page.
    • index.html file is the client html page implementation.

Terms of Use and Participation

The source code of the project is provided under the license, that allows it to be used in third-party applications.

The contributor agreement documents the rights granted by contributors to the Open Mobile Platform.

For information about contributors see AUTHORS.

Code of conduct is a current set of rules of the Open Mobile Platform which informs you how we expect the members of the community will interact while contributing and communicating.