VMS Mobile Apps GuideBy: Sarit Williams, Published on Nov 19, 2013
Every VMS supplier has mobile app clients now, even if many are still not using them. However, significant differences can exist across VMS implementations.
In this guide, we review 15 key features / components, including:
- Mobile Platforms
- Device Size Optimization
- Server Requirements
- Streaming Modes Supported
- Stream Selection
- Multiple Server Support
- Mobile Platforms: Support varies across VMS manufacturers to include iOS, Android, Kindle Fire, Blackberry and Windows 8 phone.
- Server Requirements: Many VMS Mobile apps require each server to be configured with a web service or a mobile server in order to use the mobile apps.
- Streaming Mode: H.264, MJPEG, and VP8/VP9 are the three most common options. Transcoding and resource consumption are key concerns.
- Stream Selection: Most apps give the user to select the quality based on network connectivity type such as cellular or WiFi where bandwidth is available for no extra charge.
- Layouts/Views: Most apps range from 1-6 tiles though others can up as high as 48 tiles at once. Moreover, layouts/views can be created in the app itself in some cases.
- Live: In live mode camera details such as name, ip address, bandwidth usage and status indicators can be seen.
- Recorded: Playback of recorded video includes several different controls such as step FF and BW, and speed intervals up to 16x.
- Search/Investigations: Most, if not all, apps offer the ability to search for recorded video, the UI design however differs among apps manufacturers.
- Alerts/Event Triggers: Some apps include the ability to trigger events via the mobile device and/or open/close doors. Receiving push notifications of such events is also possible in select few.
- PTZ: design, performance and presets implementation vary across manufacturers, but basic PTZ controls are usually available in most apps.
- Audio: rarely supported, more common on consumer / home applications than professional / enterprise one
- Administration: configuring servers or cameras via apps is not supported
- Sharing Options: send image via email or saving a snapshot locally are the two most common options.
- Maps: rarely available.
- Multiple servers: Most VMSes include the ability to add more than one server to each app though entering credentials for each individually is typically necessary.
- Device Operating System: Most VMS apps support both iOS and Android platforms. Others support additional ones such as Blackberry, Windows 8 phone, Kindle Fire, but those are less common. One thing to note is the software version of both the app and the device to ensure compatibility; e.g. iPad 1 with iOS 5.1 may no longer be supported.
- Device Screen size: Due to device size variances, mobile app menu options may be designed differently (same app and vendor) when viewing on a small screen such as a cellular phone compared to a large tablet where there is more real estate. Some examples include the number of available layouts per device or buttons are placed in different places (see screenshot below).
- Device Type: In some cases, the VMS app provider may have two completely different designs for each device platform. These changes may include UI designs, feature options, and save locations of images to name a few.
- An additional server (sometimes called Gateway or Mobile server) that would have to be installed on a dedicated server.
- Additional camera licenses for those mobile remote users
- VP8/VP9 (like H.264 but the Google open source alternative).
- Customizeable:User has controls to set a higher quality when using WiFi, and lower quality when using cellular where bandwidth usage is billed.
- Automatic: VMS mobile app will pull in the VMS server's configuration for Remote users such as an already configured lower quality/resolution/FPS stream created via multistreaming with no option to change it- regardless of network connectivity type.
- Dynamic: Usually a "bandwidth optimization" option will be available that when used will allow the app to either reduce the quality or FPS sent to the device to reduce bandwidth.
- View Existing Layouts only- no ability to create views on mobile devices
- Create new layouts locally on device
- Create new layouts/views and save to server
- Thumbnail sizes will change depending on screen orientation (landscape/portrait)
- Camera name
- Motion indicator: color and design vary; some via an image border and others via a small a colored icon.
- Video Indicator: will show everytime a new image is received to ensure video is streaming and refreshing often.
- Controls for date and time selection
- Playback speed ranging from 1x-16x either forwards or backwards
- Step by step frame
- GoTo: via selecting a camera and then selecting a single date and time
- Date/time start and end dates for one camera at a time
- Recent History: will allow selection of file specific events
- Search for cameras filter is also available in some apps and not others
- Activate an alarm or trigger
- Open/Close Doors
- Snapshot: available in most apps. The location of the saved snapshot usually varies though based on the platform type: iOS devices to pictures and Android to local SD card.
- Email: few apps allow users to email a snapshot from within the app, though this too, will differ depending on the platform.
- Less common, but still available is the ability to send to Dropbox, Google+, MMS and other sharing apps.
Here is an overview of the 15:
Mobile devices apps are often used to connect while on the road, the ranges of devices supported depend on several factors:
Some VMSes require additional components or licensing, to include:
Besides the cost and time to add these, often these additional components will transcode video, increasing CPU consumption. Be careful to check how one's preferred VMS implements this, as the overhead could be significant.
Three common methods to stream video in mobile apps:
The most important issue here is whether the video is being transcoded (e.g., the video is recorded as H.264 HD but then transcoded as MJPEG CIF or H.264 VGA when sent out to the mobile client). This can cause a significant increase in server load.
Some VMS apps allow for control of quality based on the network the device is connected to and network connectivity performance.
While all VMS mobile apps offer layouts/views ranging from 1-6 cameras, others offer as many as 48. Users have the option to:
When viewing a camera individually or via a layout some apps show one or more of the following:
Recorded video can be accessible usually for one camera at a time. While viewing recorded several options are available:
There is also the ability to push recorded video from the mobile device to the server itself for later retrieval. This feature though will require an additional camera license for the mobile device.
The ability to search for recorded video is commonly available in most Mobile apps. However, there are several search methods and types:
Alerts and Events Triggers
A few actions are available:
Most apps offer the ability to control PTZ capable cameras, including selection of pre-existing presets. The functionality, performance and onscreen displays differ greatly though; in some apps responsive finger gesturing is all that is used without any on screen cues.
Very few apps allow for audio. In general, it is typically more common for home / SMB oriented apps to allow this than for enterprise ones (likely reflecting consumer interest in listening in what is happening at their homes). If this is important, carefully check support including listen in and talk down audio capabilities.
Making changes to the server settings or cameras is rarely available from mobile apps, regardless of user access level.
Most VMSes include the ability to add more than one server to each app though entering credentials for each individually is often necessary.
Maps are rarely, if ever, implemented in mobile apps. However, we believe using GPS on mobile devices could help mapping / physical orienting VMS mobile users.
Mobile apps sharing functionality offers a few options: