Development of a User-Driven Website Which Allows the Capture, Playback and Sorting of Webcam Streams


The project write-up can be downloaded here (zipped PDF).


Abstract:

The aim of this project was to develop a website which captured and stored webcam streams, and had features common to user-generated video websites currently on the internet.

Due to being browser and platform independent, and its capacity to interface with a user's webcam and microphone, Flex 2 was used as the framework to build the application. MySQL was used for the database, and due to its capacity to integrate with Flex, ColdFusion was used for server-client communication. Flash Media server was used to capture and serve the webcam streams, and FFMPEG was used to automatically capture JPEG stills from the recorded streams.

The aims and objectives of the project were met with the website successfully capturing and playing the streams, with functions to sort the streams and allow a user to rate them and add comments. Other features added include pagination, a simple registration and login system, a random tag-cloud, a keyword search, and the ability to upload a personal avatar to the server.

Testing was performed on the application, with some faults being found that could not be addressed due to time-constraints. There were also a number of relatively simple features that would have added to the user experience that couldn't be implemented due to the time constraints.

The scope of the project was to deliver the build served locally on a laptop with the relevant servers installed. Before being published on the internet the faults found would have to be addressed, and the features and functions which are common on other user-generated video websites would have to be implemented.


Screen captures:

Click to enlarge
Entry page Videos page
Random tag cloud Users page
Unique video page Register/login page
User area page Flash Player dialogue
Recording a webcam Review of a recorded stream


Full-resolution screen captures can be downloaded here (zipped).