Register
Submit a solution
The challenge is finished.

Challenge Overview

Project Overview

Video surveillance cameras show what is happening in a scene from a remote location. Cameras are connected to digital video recorders (DVR) to allow for the recording of the scene.

Cameras and DVRs have many features available such as pan / tilt / zoom (PTZ), capturing images, and motion detection.

The project will be a cutting edge mobile application camera viewing system. The main goal of the project will be to view live video in H.264/MJPEG format from multiple cameras and recording devices. User will be able to view video from mobile devices like:

  • Smartphones
  • Tablets

The purpose of this project is to develop an interface library for the graphical front end.  The library will serve as layer of abstraction between the user interface and the underlying device logic for video.  

Application will initially support one Interlogix brand recording device (LNVR) and needs to be architected in a way to allow for addition of different brand DVRs.

Competition Task Overview

For this contest, we must implement the following requirements in BACKEND:

  • All methods marked as #2 in the api document (refer to corresponding sections in LNVR Web Services v1.3.pdf, like 5.8). There might also be some tricky scenarios to consider for ptz, for example: for rotation, if the rotation is 180, the camera is upside down, so moving left is really moving right.
  • All methods marked as n/a in the api document, these methond will do nothing for now though, just need the APIs to be defined
  • Get device list: see section 5.2 from LNVR Web Services v1.3.pdf
  • Gap map: see section 5.4 from LNVR Web Services v1.3.pdf
    • It allows us to know and display what times on the playback timer has recorded video
    • It allows us to play video
    • It allows us to know how to link video recordings together
    • You can also find more details from the specification (section 4.1.1 and 4.1.2)

Make sure you read the API Documentation carefully as it clearly defines the methods to be implemented and also has some important details about solution structure, testing, etc...

Project Structure

The existing project structure must be followed, and you are only supposed to make changes to the following projects

  • HAL: you'll need to update this to implement the new methods
  • TestFixture: you'll need to update this to test the new backend methods implemented in this assembly

���You should NOT modify the Ui project.

Testing

As stated above and in section 1.2.2 of the document, we need to test the entire API implemented in this contest, we don't need the UI to look fancy, just need to be able to verify the methods work.

TestFixture should show how gap map can be used, for example:

  • let's say you want to go to playback at 1PM on 3/35, the gap map might return something like: 3/25 - 1PM -> 2PM, 3/25 - 2:30PM-3PM. The code needs to know that as soon as the clock goes to 2PM (first playback chunch ends), it needs to skip to 2:30PM and continue playing

To Reviewers

This is a 24h review, make sure you meet the timeline, if you miss it you'll not get "good" reviewer rating.

Also as part of the review you must provide screenshots when testing TestFixture. If you don't provide screenshots you'll also not get "good" reviewer rating.

Technology Overview

  • Objective-C 2.0
  • Xcode 5.x
  • iOS 7

Documentation Provided

Please register to see documents in the contest forum.



Final Submission Guidelines

Submission Deliverables

A complete list of deliverables can be viewed in the TopCoder Assembly competition Tutorial at: http://apps.topcoder.com/wiki/display/tc/Assembly+Competition+Tutorials 

Below is an overview of the deliverables:

  • iOS solution with the required projects (library and tests)
  • A complete and detailed deployment documented explaining how to deploy the application including configuration information.

Final Submission

For each member, the final submission should be uploaded to the Online Review Tool.

ELIGIBLE EVENTS:

2014 TopCoder(R) Open

Review style

Final Review

Community Review Board

Approval

User Sign-Off

ID: 30040706