Video Telematics is a next-generation security system that creates threat detection around your vehicle. The system detects and records an intrusion or collision. When an accident occurs, the system automatically notifies your appointed emergency contacts and identifies your exact location. Video Telematics allows you to remotely monitor your vehicle’s surroundings using your mobile device and alerts you with critical diagnostic information.
Video Telematics was looking for a technology partner who can help them to build a product and provide complete support from a selection of technology, hardware and setting up architecture, project management, development, testing, and infrastructure management support. Tech Vedika was identified as a complete end to end product development partner to build a Video Telematics Platform. We helped from pre-product development support to post-production support and improvement along with cloud infrastructure management services.
Business Needs
The customer was looking for the following features and functionality for their product.
- Mobile or Web user should be able to watch real-time video camera feed on the vehicle.
- The mobile user should be able to watch real-time engine data and location on the map.
- Mobile or Web users should be able to see the event and alert history with video and Geolocation.
- The user should be able to get a notification on their mobile for any pre-configured alert.
- Enterprise admin and individual user management and device management.
- Onboard data storage + Cloud data transfer.
- Onboard WiFi hotspot.
Technology
We planned to build a complete solution based on an open-source platform and tools. For infrastructure hosting, we used Amazon services.
Main Components:
- Vehicle Device – Onboard computer with video, GPS, engine data recorder.
- Middleware – MW is an admin server to manage device, mobile app reports, and log for vehicle devices.
- Web Client – Web client is a web-based client app to monitor live video and other data from the onboard device.
- Mobile Client – Mobile client is an Android or iOS native client app to monitor live video and other data from the onboard device.
The Challenges:
When there is a requirement for handling video, audio, and text messaging over the mobile network there are lots of challenges we need to overcome like:
- Transferring live video from the vehicle
- Playing recorded video on the client mobile
- Limited bandwidth connectivity to vehicle device (3G and 4G)
- Multiple client viewer (mobile app)
- Real-time data presentation to the client (mobile app)
- Latency and no 3G or 4G coverage
- High data volume (video,audio, GPS, OBD,etc.)
Tech Vedika’s Approach & Solution
Tech Vedika development team has always taken any challenge as an opportunity to learn and overcome something with an innovative approach. So our team designed solution architecture for a complete platform with real-time data presentation, easy to implement, economical to large deployment as well as secure and scalable. Here is how we implemented the project.
Localhost tunneling over the public network:
Instead of transferring all the data to the cloud, we decided to store all the data onboard device to save bandwidth cost and improve performance and operation along with the server infrastructure cost. As we planned to save all the data into the onboard device, we required localhost access over the web to view live video or recorded video. Hence, we implemented secured localhost tunneling over the vehicle device wherein any client can access the vehicle device via any network WiFi, 4G, and 3G without requiring public or fixed IP on the vehicle device.
Optimized live Video Streaming:
One can view one’s vehicle camera from mobile or web anytime. The vehicle will stream video only when any single client is connected to the device to save bandwidth cost. With the implementation of mjpeg proxy, many clients can utilize the same stream for their connection; so a single connection between vehicle device to a public network can optimize bandwidth, cost, and quality of live video streaming.
Real-time Engine (OBD) and GPS Data:
For real-time location and OBD data tracking, we implemented Socket library with Redis pub-sub functionality so that every client who has subscribed to the device will get real-time alerts, updates, and data from vehicles with less battery and CPU utilization.
Onboard Data Storage:
An onboard device has the capacity to store 60 days of video for each camera. The users can also view recorded videos anytime from their mobile devices and also can sync videos over the cloud or home network automatically with home or office WiFi network.
Best Practices Adopted:
By implementing the Agile methodology, we delivered a complete solution on time with proper planning of each sprint for the web, mobile, backend, and UI development with JIRA project management tool. It is very easy to integrate change management and track bugs with project management tools.
For testing the mobile app, we implemented Appium mobile test automation tools and used Amazon cloud device testing farm for testing the mobile app on multiple devices.
Benefits
We delivered the complete E2E solution in 9 months and to initiate marketing and proof of concept for the project we delivered PoC app within 3 months of the timeline.