Inspiration
Having worked as a van driver for the past 8 months, the bad drivers of Surrey, Berkshire, and particularly London, inspired me to create an application that would make it easier for drivers to shame other drivers.
What it does
In drive mode, it allows constant recording, but only ever records the last 10 seconds, saving on storage. Once it detects a loud shout, for example "OI!", it will stop recording, saving the video clip, and allowing for playback.
In future, it will be able to record several clips, allow the user to upload them all to a server in the press of a button, and play back infinite clips of bad driving in "watch mode".
How I built it
I used Android Java, making use of the camera APIs, media recorder classes, and audio recorders, in order to record video, and detect loud audio.
Challenges I ran into
My first challenge was to be able to use audio recording at all, as for the camcorder to record HD video, it uses the microphone, not permitting anything else to use it. I overcame this by capturing lower quality video, which is still perfectly suitable, and would save server space, freeing up the microphone for the audio capture.
My second challenge to overcome was restricting recordings to just 10 seconds. It would happily record and save hours of footage, but this would fill up phone storage, and in order to cut it down into a few 10 second clips, it would take days of video processing on a mobile device. I overcame this by using two camcorders, each recording to a separate video file, and every 5 seconds they switch who records. This means that there is a constant minimum of 5 seconds of video, and an absolute maximum of 10 seconds.
My last challenge was to develop the server, which I have not been able to complete in the time frame provided. Given a few more hours, this would be perfectly acceptable.
Accomplishments that I'm proud of
I'm proud of finally getting voice activated video saving working, using APIs that I've never worked with, and media recorders to save video and detect audio.
What I learned
How to programatically detect audio and record video on android devices.
What's next for MoronMonitor
The saving of several video clips during one drive session, uploading to a server, and streaming of clips from a server for endless entertainment from terrible drivers.
Log in or sign up for Devpost to join the conversation.