logo Use CA10RAM to get 10%* Discount.
Order Nowlogo
(5/5)

Capture a live video feed of 720p resolution at 30 fps from the device camera

INSTRUCTIONS TO CANDIDATES
ANSWER ALL QUESTIONS

Group Work

This assignment can be solved in groups with a maximum of two students. Under no circumstances should you solve it in a group and then submit it as an individual solution. This is considered plagiarism. Group work needs special care during submission (see below).

 

Grading

We will evaluate your submitted materials which include the web or mobile application, server-side media content preparation scripts, and your demonstration. Please make sure that your programs are well organized and structured. Moreover, you have to book an appointment with TA to demonstrate your solution. You can use Python, Javascript, HTML, CSS, PHP, Andriod, C/C++ or a combination of programming languages to develop your solution. We will grade your code and the functionality of each program.

 

Materials Submission

For individual submission, please submit a zip file that contains the source code of your programs and a presentation for the demo (details below), and submit it to the corresponding assignment in Moodle. Please name your zip file as ≪Student number≫.zip, where ≪Student number≫ refers to your ID num- ber. Note that the first and last letters of your student number should be capital letters. Do not put your zip file under any subfolders.

 

Your zip file should only contain these submission files:

 

1. Your web or mobile app source code and installable package (.apk file in case of a mobile app);

 

2. Your PHP, Python, or other framework’s server-side code for content preparation (i.e., real-time storing in our server).

3. A detailed README.txt file, that includes: Your name(s), student ID, and your username(s) on the host server, and A brief description of each source file, and how it works.

Winter 2023  

 

Before you submit the file. Make sure that your code compiles without ANY errors!

 

For group work, please designate one person to submit the zip file, instead of submitting the same file twice by two different persons. The file name should contain the student ID of two members and be named as ≪Student number 1≫-≪Student number 2≫.zip.

We will deduct 1 mark for every type of failure to follow instructions (e.g., wrong program name, wrong zip file name, folder structure).

 

Question and Answer

If you have any doubts about this assignment, please post your questions on Moodle forum or consult the TA. We will not debug programs for you. However, we may help to clarify misconceptions or give necessary directions if required.

 

Plagiarism Warning

You are free to discuss this assignment with your friends. However, ultimately, you should write your own code. We employ a zero-tolerance policy against plagiarism. If a suspicious case is found, we will award zero points and may take further disciplinary action.

 

A Word of Advice

This assignment can be time-consuming. We suggest that you start your assignment early. Do not post your solution in any public domain on the Internet or share it with friends, even after this term.

 

Assignment Description

In this lab assignment, your task is to build a DASH-compliant application (Dynamic Adaptive Stream- ing over HTTP— that is, compatible with MPEG DASH standard) client-server-based video-on-demand streaming system on top of a LAMP stack (Linux, Apache, MySQL, PHP).

 

You will be given several utilities to help you complete the lab assignment. The lab assignment is mainly to create a web or mobile application that captures a live video and uploads its streamlets to a server as they become available.

 

Detailed Tasks (13 marks)

The web/mobile application, running on a smartphone or laptop/desktop, is required to provide the following sub-tasks:

1. Capture a live video feed of 720p resolution at 30 fps from the device camera. You can use WebCodecs API1 for web or MediaCodec API2 from Android3 to encode frames with h.264 encod- ing with 5 Mbps bitrate levels.

2. Upload the captured frames to a web server reliably on-the-fly.

1Check:  https://www.w3.org/TR/webcodecs/

2Check:    https://developer.android.com/reference/android/media/MediaCodec

3iOS is not recommended for 2 main reasons: 1) privacy issues, 2) Lack of open-source APIs that help to complete the tasks.

 

Segment the original live feed into a number of self-contained 3-second-long MP4 segments before uploading to the server. Segmentation can either be done first, before the upload, or in parallel, together with the upload. We recommend to do everything in paralell using MediaCodec API.

Use the HTTP POST method to deliver the segmented MP4 video feed to the server. The server has to store the video segments in a video repository location (i.e., directory), which you define. To keep track of the uploading status, you may use a PHP and MySQL database. For segmentation, you can use any segmentation tool such as ffmpeg4 or MP4Box5.

 

 

(5/5)
Attachments:

Related Questions

. Introgramming & Unix Fall 2018, CRN 44882, Oakland University Homework Assignment 6 - Using Arrays and Functions in C

DescriptionIn this final assignment, the students will demonstrate their ability to apply two ma

. The standard path finding involves finding the (shortest) path from an origin to a destination, typically on a map. This is an

Path finding involves finding a path from A to B. Typically we want the path to have certain properties,such as being the shortest or to avoid going t

. Develop a program to emulate a purchase transaction at a retail store. This program will have two classes, a LineItem class and a Transaction class. The LineItem class will represent an individual

Develop a program to emulate a purchase transaction at a retail store. Thisprogram will have two classes, a LineItem class and a Transaction class. Th

. SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of Sea Ports. Here are the classes and their instance variables we wish to define:

1 Project 1 Introduction - the SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of

. Project 2 Introduction - the SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of Sea Ports. Here are the classes and their instance variables we wish to define:

1 Project 2 Introduction - the SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of

Ask This Question To Be Solved By Our ExpertsGet A+ Grade Solution Guaranteed

expert
Um e HaniScience

976 Answers

Hire Me
expert
Muhammad Ali HaiderFinance

752 Answers

Hire Me
expert
Husnain SaeedComputer science

715 Answers

Hire Me
expert
Atharva PatilComputer science

808 Answers

Hire Me

Get Free Quote!

287 Experts Online