Revolutionizing Pet Daycare with a WebRTC-Driven Monitoring Solution
Oxagile helped bring to life an innovative concept of real-time pet monitoring via video streaming. The standout feature of the solution is the ability to access live video streams from a smartphone.
A forward-thinking pet daycare and boarding facility that provides a variety of safe and convenient pet services to businesses and private owners.
Time and Materials
A pet daycare facility was seeking to gain a competitive advantage and enrich user experience by implementing a live monitoring feature in their service. However, the client’s original contractor had no previous experience with video solutions of such complexity.
Oxagile’s All-in-One Service Offering
A track record of cross-platform video solutions allowed Oxagile to join the project as a consultant and domain expert, overseeing the entire project from strategy elaboration to implementation.
Oxagile’s Chief Video Solutions Architect was involved to scope the challenge, estimate project risks, and prepare a detailed project specification.
Oxagile’s project manager set up a transparent process with daily communication and clear division of responsibilities, helping overcome the time zone and cultural differences between teams.
Built on top of Raspberry Pi and Kurento Media Server, the resulting WebRTC solution provides users with on-the-go access to multiple streams from built-in webcams.
Media server implementation
Oxagile’s engineers set up a Kurento Media Server that runs in SFU mode and connects to a Raspberry Pi media component and the client apps through WebRTC signaling. The Raspberry Pi component allows on-premise web cameras to send media when the pet owner’s or the admin’s app requests a video stream.
The business logic of the system includes devices, roles, permissions, and rules assigned via using Kurento API endpoints. When a client app requests a stream from a certain camera, the backend creates a room on the Kurento side and pushes the client and the corresponding Raspberry device there.
Optimal visibility and stream control are achieved using a webhook-based mechanism that enables notifications regarding events like loss of internet connection, stream problems, and more.
Performance and scalability
During the elaboration stage, the client stressed the importance of uninterrupted user experience and the ability to expand the system in the future.
To address these concerns, Oxagile’s engineers built the solution around a scalable, future-proof architecture that currently supports 200 simultaneous real-time media rooms per server and provides all users with high-quality video streams.
The system architecture is designed for maximum scalability, making it possible to add a virtually infinite number of media conference rooms.
Oxagile’s team handed over a well-documented media component and continued to support the client throughout the integration process as a consultant and problem-solver.
Namely, the team’s expertise was crucial in resolving challenges around mobile optimization, WebRTC playback, and hybrid app development for iOS.
Oxagile delivered a premium end-to-end service complete with consulting, elaboration, scoping, risk assessment, deployment, and support.
In the course of cooperation the client was impressed with the team’s technical capabilities, quality of code, and the ability to work within tight design constraints.
The delivered solution allowed the client to enhance their offering with an important feature, attracting new business and boosting service monetization.
A Fully-Featured Web Conferencing MVP designed to showcase the client’s idea of an end-to-end web audio and video conferencing solution.
Voice and Video Communication Components for Messaging Platform that enable seamless communication between devices via the client’s own platform without the need to install additional plugins.
WebRTC-Based Event Broadcasting App that empowers teams to broadcast live events via Facebook, with features including camera switching, real-time production, and more.
Effort: 3 man-months