Networked Video Client for Linux/Windows/Mac in Java - Phase 1 of 3
Project scope
Categories
Information technology Software development NetworkingSkills
model view controller extensible markup language (xml) linux python (programming language) video player eclipse (software) network communications java (programming language) communicationThe main goal of the project is to develop an extensible Java client application for the Viper Camera being developed by RealTime7 Inc. The application is comprised of a video player, a network communications module, and a UI for settings management.
The video player is written in Java that can be cross platform, so as to be compatible and ideally work on Linux, Mac, and Windows operating systems. The video player implements a MVC pattern and is written in a modular fashion to allow seamless extensibility by listening and handling events.
The project is to be setup in three phases and ideally the same students will work on all phases.
In phase 1 the tasks will be as follows:
1) Investigate what video player options are available for Java and how to package them to run on Windows, Mac, and Linux. Create a test program that can play .mp4 videos already downloaded from the camera. Expected time 25 hrs.
2) Setup the program skeleton for MVC design pattern in Eclipse. A network module will handle messaging and communications with the camera, assemble the responses, and when the payload arrives raise events that are listened to by handling modules such as the video player. Expected time 25 hrs.
3) A python client exists that is communicating with the camera that demonstrates the messaging. Create a template program that can automatically detect the XML messages input and output formats in the template folder and makes those messages available without having to write new code to support the messages. Expected time 30 hrs.
The students will have daily Hangouts meetings at 9.30 am to discuss the day's objectives. They will be provided code samples, and a code architecture overview to help them structure the code, as well as assistance for setting up the methods and interfaces, and guidance on the MVC design pattern.
There is a remote development machine in both Windows and Linux that is networked with the camera module that they can use to test their communications. The students will login using Team Viewer to the machine.
About the company
RealTime7 Inc. is a software and electronic device maker.