DailyRoads LIVE: real-time video streaming from vehicles
DailyRoads LIVE: real-time video streaming from vehicles
Two million drivers were on the roads with our Android app in the past 5 years. Now it's time to see the world through their cameras.
Two million drivers were on the roads with our Android app in the past 5 years. Now it's time to see the world through their cameras. Read more
Building on the success of our dashcam Android app, we now plan to implement real-time video streaming from moving vehicles. Drivers will continue to use the app as before, and those who enable the streaming option will feed their location through the system, to be displayed anonymously on a map. Anybody can select a vehicle from the map and initiate video streaming, effectively connecting to the driver's dashboard camera in real time.
We all know how useful Google Street View can be to display images from around the world. On the other hand, live traffic web cameras show the flow of traffic in specific locations. Now imagine a service which combines them, allowing you to view real-time video from moving vehicles. This is not a mashup, but an entirely new kind of service, based on our own infrastructure. With the growing number of smartphone users with data plans, we already have all the ingredients to capture and store geotagged video sequences of virtually everything around us. A sizable subset is the view from the vehicles travelling across countries, cities, rural areas and resorts.
DailyRoads LIVE is a natural enhancement of our dashcam Android app - DailyRoads Voyager. In its current state, Voyager is useful only for the driver, offering peace of mind and video evidence when something happens on the roads. Other people benefit only if the videos are uploaded by the driver. But, the LIVE feature really opens up the possibilities, offering drivers the means and motivation to capture and stream such geotagged videos from their journeys. We capture the streaming content, store and organize the uploaded files, then ultimately show how the world looks through the drivers’ camera lenses.
Do you want to see the road conditions for your next route? Traffic web cameras are useful, but their number is limited, and most importantly, they are fixed. With DailyRoads LIVE you load up the map and see if there is any vehicle currently travelling in that area. If nothing is there currently, you can activate an alert to be notified when a vehicle enters in your defined area, or even a specific street.
You might want to explore new cities, scenic routes, or even see how an area looks at night. Google Street View is helpful for static (and old) images during the day, but you need a video to really get a feel of the surroundings. With Voyager we have already started building a database of road videos, and our long-term goal is to make accessible the largest free database of such videos from around the globe. But, only DailyRoads LIVE gives you access to the moving vehicles, so you can see the scenery and traffic conditions in real time, through the driver's dashboard camera.
Also, you will be able to track (with their permission) family members, friends or your fleet, and each moving dot on the map represents a vehicle from these categories. You can bring up the map anytime you want to check their location, or just receive a notification when they reach a specific area/geofence. The LIVE option allows you to connect to their camera anytime, to view the road as the driver sees it, or take a look inside the vehicle through the phone's front-facing camera.
The system targets two categories of users:
- drivers - who continue to use our app for their own benefit, and enable/disable the streaming permission whenever they please
- viewers - virtually anybody who can use a map in a browser window, to click on a small moving dot and thus initiate a connection to the driver's camera
When a real-time video connection is established, the system is charging the viewer one credit point for each minute, and rewards the driver with half a point, the other half going into the system for others to buy. This reward system encourages drivers to keep their app running, and set the permissions in such a way to allow others to connect.
The viewers can also be drivers who spend their credit points. Those who don't run our Android app can't earn such points, but they can buy points to connect to any vehicle.
We also plan to offer our solution to commercial entities and government agencies. Being able to demonstrate a working solution for consumers, we can remotely implement the app-server communication in a secure manner, so videos are only streamed to the client’s internal team or management. On-demand real-time video streaming and two-way audio communication can be very appealing for fleet owners. We offer a unique service, and there is nothing quite like this in the low-cost market segment.
How it works
DailyRoads LIVE is based on these user actions:
- DailyRoads Voyager - our Android app is already used daily by tens of thousands of drivers across the globe, to continuously record videos with thousands of phone models.
- New functionality is needed in Voyager to allow drivers to opt in for tracking - anonymous by default, but can be with special permissions for family members, friends or a fleet manager. The driver can start and stop the tracking anytime.
- A new webpage with a search form and a map allows anybody to view the real-time location of all the available vehicles. Each vehicle is represented by a dot on the map, moving according to the constant feed of new coordinates.
- A click on a dot loads the camera feed from the selected vehicle, allowing you to view what the camera is recording in real time. The live GPS track is also displayed along with the video, so the location of the vehicle is known at any time.
- The streaming videos are archived, so they become available on demand. Fresh videos (e.g. streamed 10 minutes ago) are still valuable, and will be offered at a discounted rate. After 24 hours all videos become free to watch.
Is it hard to imagine all these working together? We have built a demo to clarify things. See it in action here.
Why would the drivers keep our Android app running? Because we have made it very easy (just a tap on the viewfinder) for users to quickly archive the video sequences as interesting road events unfold, even in the sky. These unforeseen special moments can be captured only when the camera is continuously recording, like a video black box. Additionally, using the accelerometer in the phone, the app can detect possible crashes, and save away the before/after video sequences. Such a feature comes very handy for "crash for cash" scams.
Why would the drivers allow the files to be uploaded/streamed and consume their bandwidth? Drivers with unlimited data plans won’t mind, especially if they have a chance to show the world their experiences on the road, or earn something valuable to them (like credit points to view other drivers’ streaming videos). Even with the limiting settings in our current Android app (uploads off by default, and lack of batch uploads) drivers have already uploaded a quarter of million videos to our site, many directly from the roads. For people with a limited data allowance, the app will offer the ability to set various options, in order not to exceed this limit.
Essentially, DailyRoads LIVE consists of these components:
(1) video recording from vehicles around the world with our Android app
(2) collection servers for temporarily storing the GPS coordinates of all the vehicles
(3) centralized way of displaying all available vehicles on a map, with search capability
(4) command center to allow users to send commands to the app for initiating and stopping video streaming
(5) real-time video streaming from each instance of the app
(6) media servers to receive the video streams from the app, and prepare them for live transmission
(7) video playback on client devices
Where we are now
(1) The major component of this system is already developed and tested in real conditions on thousands of phone models. This component is DailyRoads Voyager - our Android app - used by 2 million people from 150 countries. The app is capable of recording HD video with various camera parameters, and has a lot of other useful features. But, it needs a redesign to incorporate the new functionality of the LIVE component, with minimal disruptions for drivers.
(2) The transmission of vehicle coordinates has been tested with one server, but we need to build in redundancy and load balancing to allow for a dynamic scaling of infrastructure. We plan for a 10-second update frequency, and one server was stress-tested with simulated data from a thousand vehicles.
(3) Our current demo offers a glimpse of how the vehicles will be represented on the map. But, we need to scale this limited London area to the whole world, and offer a way to search for available vehicles at city/state/country level, or any area drawn on the map.
(4) Sending commands from the map to the Android app has been tested and works well. Any dot/vehicle on the map can be selected, and video streaming can be initiated in a few seconds, depending on the phone's data connection.
(5) Real-time video streaming from an Android device is quite reliable on newer Android versions (starting with v.4.3 - about 50% of the Android install base). We also tested the streaming library on lower versions (starting with v.4.0.4 - almost 90% of the Android install base), and it works well enough. There are some audio-related problems, but we don't plan to include audio in the public streaming, anyway. On 3G/HSPA networks we can stream with a bitrate of 0.5-1 Mbps, and a resolution of 640x480 (VGA), while on 4G/LTE these values go up to 2-3 Mbps at 1280x720 (720p HD) - all at a frame rate of 30 fps. We plan to dynamically adjust video quality based on user preferences and changing conditions on the roads.
(6) On the receiving end of the stream we need media servers, to accept the video feeds from the Android phones, and relay them to the client devices - using RTSP and RTMP. We tested with Red5, which can't reliably handle RTSP, and needs Adobe Air installed on the Android devices. We switched to Wowza for testing, and it works well, but couldn't stress-test it, because the free trial version only allows a very limited number of connections. However, judging from the reviews, Wowza is quite reliable for the kind of streaming we plan to implement. For the final solution we need to buy perpetual licenses, and build a dynamic scaling mechanism, so the server infrastructure can adapt to demand.
(7) Real-time video sequences need to play well on a variety of client devices, and we tested video streaming in various browsers on desktops/laptops and Android/iOS devices.
The idea of real-time video streaming from DailyRoads Voyager was first discussed 3 years ago, when Android offered support for this technology. But, after our initial tests, it became obvious that it wasn't yet ready for our desired service level. We could have focused on building the transport layer ourselves at that time, but decided to wait until stable libraries become available, and continue developing Voyager instead.
Until now our main focus was to grow the userbase of our app, listen to feedback, fix bugs, and add the most needed features. We have been doing this since the beginning of 2010, even supporting users in foreign languages.
The number of satisfied drivers has been growing steadily, and we think a tipping point has been reached, when the current number is high enough to solve the chicken-and-egg problem for this particular case. After all, we need enough drivers on the roads using our app, so there is a large pool of potential video feeds to make the whole system interesting and content-rich.
Also, car head units based on Android are increasingly popular, because they are incorporated into dashboards, so they don't require placing a phone in a windshield dock every time you get into the car. This convenience can be also achieved more easily with a rear-view mirror, so there are solutions to integrate Android into your car, before car manufacturers do so within the Open Automotive Alliance.
Another essential component of real-time streaming is bandwidth, especially from mobile phones. Three years ago this bandwidth was quite limited, allowing only for low resolution transmissions. Today we don't yet have unlimited bandwidth, but 3G speeds are quite common, and 4G networks have spread in many countries around the world, coming with a noticeable speed increase.
In conclusion, the conditions are ripe for the service we are proposing. And judging from the mobile revolution we are all witnessing now, these conditions will only improve. More and more people have access to smartphones, cars get 4G, then one day mobile broadband will be as widespread as fixed broadband is today, and finally we arrive into the era of ubiquitous high-speed Internet.
What they say
Since the very first launch on the Google Play store in December 2009, the rating of our app has never been below 4.0 (out of a 5.0 maximum). The average has been between 4.2 - 4.3, receiving almost 20,000 ratings until now. The number of recommendations on Google+ (around 10,000) is more than double of the closest competing apps, making our app the most popular in the dashcams category.
DailyRoads Voyager has also reached top 10 positions in a number of countries in the Play store's transportation category, constantly being in the top 100 (out of thousands of transportation apps). None of the competing apps have reached 1 million downloads, while our app has been downloaded 2 million times through the Play store, and around another 1 million times on alternate app stores.
Naturally, there are also some negative comments on Google Play. These are mostly caused by device-specific issues, not specifically about the app's functionality or design decisions. With the increasing number of Android versions and device manufacturers, there are various incompatibility issues, especially at the camera firmware level. Most of our effort dedicated to fixing bugs in the app is channeled towards investigating these incompatibilities.
Despite such camera-related issues, DailyRoads Voyager is widely used on thousands of phone models, and has been reviewed on dozens of web sites.
Use of funds
So far DailyRoads services (Android app, DailyRoads.com and related functionality) have been developed without any outside investment. We chose the long route of bootstrapping, doing occasional contract work for others, while slowly building the userbase, one satisfied driver at a time. Right now DailyRoads.com is under a major redesign, and a new version of our Android app has been recently released.
We are prepared to continue funding the development this way, but DailyRoads LIVE needs special attention, mainly because its complexity and server components. Also, we need to see if there is enough interest in this kind of service, before committing resources to its development.
Based on our tests of the components, we estimated the funds needed to cover these expenses:
(1) redesign of the Android app, also incorporating the new functionality - roughly 4 months of developer time, plus graphics design (have experimented with some mockups)
(2) one month of sysadmin time to set up the GPS servers, prepare them with load balancing, and write scripts to add new servers on the fly
(3) two months of web development to enhance our current demo, add search capability on the map, and implement the credits system
(4) & (5) sending commands from the map to the Android app and the streaming functionality have been tested, so the actual implementation time is incorporated into point (1)
(6) at least two perpetual Wowza licenses, plus one month of sysadmin time to set up the media servers and build a dynamic scaling mechanism, so the server infrastructure can adapt to demand
(7) one month of team effort to test/optimize video streaming on various client devices
In conclusion, just to build the minimum viable product, we estimated the needed funds at £30,000. We'd also like to raise money to operate the servers for the first 3 months, so we welcome any extra pledges. This is the timeframe we think the service can become self-sustainable (people buying credits to view various video streams). But, we are also prepared to do contract work to keep the servers operational. This is what we have been doing in the past years to host the DailyRoads servers, and store Terabytes of video data.
If we receive significant additional funds above the target amount, our future plans will be implemented sooner. New capabilities include:
- travel intentions - drivers announce in advance their travel plans, to maximize their credit earning potential
- email/text alerts when vehicles are about to enter certain geographic areas, so viewers don't have to frequently browse/search the map
- dedicated Android/iOS apps to search for and view live streams
- API for other apps/sites to connect to our servers
- for fleet managers: direct voice communication - e.g. the manager can send a voice message any time, carry on with the conversation with the driver and then "hung up"
As estimated above, the development would take roughly 5 months, illustrated in this simplified Gantt chart:
After the system is in place, in October 2015 the drivers can enable the streaming option in the app, and the dots start to appear on the map. You - as a backer - already have credits to connect to any vehicle available on the map. Each started connection minute gives a credit point back to the system, so drivers also accumulate points, which they can later use to connect to other vehicles.
Your name/organization will be placed on our digital STREET OF FAME hosted on DailyRoads.com, and for a minimum £25 you also get a link to your URL. It will work similar to the million dollar homepage, and you can see below an illustration of how this is envisioned to look.
When the service will launch, connection credits will cost more than the £5/hour (12 US cent per minute) listed in the lower reward levels. By backing the project now, you get a great price for the initial hours, which is even halved (£2.5/hour) if you choose the SPECIAL MEMBERSHIP or a higher reward level.
Risks and challenges
We honestly feel there are only a few risks and challenges, as we have eliminated many of the technical risks with working prototypes and an end-to-end solution. The biggest challenges are probably not technical, but commercial: provide enough value for a sufficiently large number of users to make the whole system self-sustainable.
For capturing videos, our target users are the drivers who own a smartphone, or fleet managers. Even though there are other apps and dedicated cameras available, most drivers don’t know about these solutions. But, slowly awareness is increasing among drivers, and they spread the word on social networks and forums, resulting in more and more potential users. Considering the huge second-hand market of smartphones, it is safe to assume that in just a few years nearly every driver will have at least one such phone, many of them being used exclusively in cars. By that time, car head units with Android will be also widespread, enlarging the potential user base.
On the technical side, real-time streaming may not be supported now on all phone models and Android versions, but things are clearly improving with every new model and Android version. Expanding the cloud storage for GPS data along with the dynamic scaling of the streaming infrastructure come with their own set of challenges, but there are already well documented solutions, and very active support groups for the Wowza media server.
We really hope to deliver ahead of schedule, but whatever happens, rest assured we will be working as long as needed to make DailyRoads LIVE a reality. After all, we were patient enough for 6 years to overcome all the hurdles with DailyRoads Voyager, created in 2009 as the very first dashcam app.Learn about accountability on Kickstarter
- (30 days)