You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 9 Next »

Introduction:

RDK-C Mobile application will be used to watch live streaming from RPI Camera & Previous recordings from RPI Camera stored in Cloud Servers. In this mobile application we use WebRTC protocol for live streaming of video & audio, HTTP to play or download the previous recordings from cloud servers.

This mobile app will support android & iOS* platforms. This page is dedicated to bring up the overall picture of the mobile app and how it works.

About WebRTC:

WebRTC, short for Web Real-Time Communication, is both an API and a Protocol. The WebRTC protocol is a set of rules for two WebRTC agents to negotiate bi-directional secure real-time communication. A similar relationship would be the one between HTTP and the Fetch API. WebRTC the protocol would be HTTP, and WebRTC the API would be the Fetch API.

To establish WebRTC communication one should involve the below 4 steps:

  1. Signalling
  2. Connecting
  3. Securing
  4. Communicating

These four steps happen sequentially. The prior step must be 100% successful for the subsequent one to even begin. Each of these steps has dedicated chapters, but it is helpful to understand them at a high level first. Since they depend on each other, it will help when explaining further the purpose of each of these steps.

  • Signalling:

            When a WebRTC Agent starts it has no idea who it is going to communicate with and what they are going to communicate about. Signalling solves this issue! Signalling is used to bootstrap the call                  so that two WebRTC agents can start communicating. Signaling uses an existing protocol SDP (Session Description Protocol). SDP is a plain-text protocol. Each SDP message is made up of key/value pairs and contains a list of “media sections”.

  •  Connecting:    



Application Flow (Live streaming)


Mobile App Features

Following are the mobile application features.

Sign-up: To register new user 

Sign-in: To enter into the mobile app with valid user credentials.

Dashboard: In this page we are having three sections  

  1. Live Feed - To get the live footage from the list of selected cameras.
  2. Recordings - To get the list of previously recorded footage from cloud.
    1. Today - List of current date recordings
    2. Last week - List of recordings up to 1 week
    3. Custom - List of recordings in b/w selected date range
  3. Settings
    1. Camera - Resolution, IP, Storage
    2. User - Add camera, Permissions, Details
    3. Other - Terms & Conditions, Privacy Policy, About, Rating, Logout

Mobile App Screens

Sign-In: User should enter valid email and password to sign in into the application. Click register to register new user.

Sign-up: User should enter valid details then click sign up to register into the application.

Live Feed: Contains the list of cameras which are registered under the login user. Camera list contains Camera Nick Name, IP address and Camera running status (Red - Offline, Green - Online, Blue - Powering up).

Connection Setup:  User should enter valid camera IP address and camera reference name and click on 'Connect' to view the live feed from specific RDK - Camera.

Recordings: In this user can select the specific option such as today, last week and custom range to view the list of recordings stored in the cloud under logged in user id or user name. For custom user should suppose to select start and end date to get the list of recordings. In the list of recordings user can able to see the recording name, recording date and duration of recording.

Settings: From settings user can able to edit :

  1. camera settings such as video resolution for live feed and recordings and IP address, Storage path which is changing the internal storage path for downloading recordings.
  2. User settings such as camera access permissions, Adding new camera to the account, editing user details like password etc.
  3. Other settings which are app related settings  like terms and conditions, Privacy Policy, About application, App rating, Logout.










  • No labels