Functional Specification - Sprint 4

This portion of the website highlights the functional specification for the fourth development sprint. This functional specification includes use cases, requirements, and interfaces targeted and achieved during that sprint.

Use Cases

Use Cases Targeted

Web Application

On-box Application

Server-side

Use Cases Realized

Web Application

On-box Application

Server-side

Summary of Use Case Fulfillment

During Sprint 4, we sought to have end to end functionality as follows, implemented on our box hardware:

  1. Receive two camera feeds

  2. Correct and stitch camera feeds

  3. Send stitched frames via RTMP to Wowza

  4. Stream to desktop and web applications from Wowza

We came very close to demonstrating this functionality, but we ran into issues configuring the box. After spending hours and hours configuring the box, we were able to demonstrate full functionality pieced together, even though it was not as perfect as we would have liked. That said, when we went in to demo for our client, we ran into trouble with our build and were not able to show the full end to end functionality that we had hoped to show in-person. That said, we are very close to having all of the basic functionality that we need for our project, at least with a two-camera array, and we fulfilled almost all of the use cases that we laid out for the development sprint.

Requirements

Requirements Targeted

At the beginning of Sprint 4, we prioritized our requirements for the sprint as follows (with prioritization representing order of approach, not necessarily in order of project value):

Priority 1

Priority 2

Requirements Realized

After completion of Sprint 4, we were able to complete the following requirements, all that we set out to complete in one for or another.

Priority 1

Priority 2

Correspondence to Original Requirements

** These requirements map to the following items from our requirements list from the beginning of the project: **

Priority Level 1

  1. There will be a display of a table of all accessible archived videos. This table will be able to be filtered by date and by officer.

  2. The app should be able to query the database and get encoded video files

  3. Officers should be able to click on archived videos and see the video displayed in the player.

Interfaces

The following interface views show the current state of the desktop application: Unfiltered View Filtered View Archived Video View Settings View

Also, the CLI for testing the stitching and streaming functionality of the application has been vastly improved. Here is an example of that improvement: Testing CLI

As far as interfaces go, we also cleaned up our website navigation menu. Working with it in the past was messy when trying to navigate to different aspects of different sprints, so we cleaned up the CSS to make sure that menus did not overlap and confuse the user. This is what it looks like now:

Navbar Fix