U of I CS 414 - Video Recorder and Player

Unformatted text preview:

Machine Problem 1: Video Recorder and PlayerCS414 Spring 2011: Multimedia SystemsInstructor: Klara NahrstedtPosted: Jan 28, 2011Due: 11:59pm Feb 16, 2011IntroductionWhile you are chatting with your parents through facetime, watching the fun stuff from YouTube,listening to the new album from Pandora, have you ever wondered how these voice, music, andmotion images are transformed to binary bits, transmitted from one place to another place, andfinally played on your mobile phone or PC? This video conferencing project will help you figureout all details.In this first MP, we will focus on the recording and playback of video/audio contents. You willlearn how to access the raw images captured by the webcam (fortunately, you do not need to worryabout how those raw images are generated inside webcam), how to transform and compress thoseraw images, how to display sequential images on screen as a video, how to sample sound waves tobytes, and how to play bytes to sound waves. Besides, you will also have some basic understandingsof audio/video synchronization and what “MUX” and “DEMUX” really mean.You are required to work on Linux for this machine problem. You can use the Linux workstationsin the EWS lab room SC216 and SC220. A group directory with sufficient disk space will be set upfor everyone. You can use your own machine as well. The recommended Linux version to installis Ubuntu 10.04 or newer. C/C++ is the recommended language for your program. However,if you insist using Java or other language, you have to deal with driver problems on your ownbecause this MP is very related with audio/video devices for your MP. Each group can borrowtwo Logitech QuickCam Orbit MP webcams from TSG. The Logitech webcam can also be used asthe microphone for audio recording. You need to prepare your own headphone/speaker to test thesound playback.Problem DescriptionImplement two programs named as recorder and player. recorder should be able to capture thevideo frames from the webcam, collect the audio data from the microphone, and save both videoand audio data in one file. player should be able to play the media files pre-saved by recorder. Hereare the detail feature requirements for two programs:Required Features (80 points)1. Video Recording (10 points): recorder can access the webcam through V4L2 interface andsave the captured image frames. The image resolution should be no smaller than 320 ×240and the capturing speed should be no less than 15 frames per second.1CS414 MP1: Video Recorder and Player Due 02/16/20112. Video Window (10 points): recorder opens a video window on screen showing the video thatis currently recorded.3. Video Compression (10 points): recorder should compress each video frame with JPEG ormore advanced video coding techniques.4. Audio Recording (10 points): recorder captures the raw audio signals from the microphone(you can use the microphone embedded in the Logitech Webcam or your own individualmicrophone).5. A/V Muxer (10 points): recorder captures both video and audio data concurrently and savesin one file. You can define you own video file format and mux scheme. Saving audio andvideo to different files only gets partial points.6. Video Play (10 points): player can read the media file generated by recorder and display videoframes on the screen. The frame rate of video playback should be calculated and displayedduring or after playback.7. Audio Play (10 points): player can read the media file generated by recorder and play theaudio data out to the speaker. The sound quality should not be distorted.8. A/V Sync (10 points): player should synchronize the playback of video and audio streamsall the time.Optional Features (40 points)9. GUI (5 points): design any graphic user interface can get 5 points.10. Format (10 points): recorder saves the recorded audio and video data using a well-knownmedia file format (e.g., avi), so that the media file can be played by standard media players(e.g., mplayer). You also get full points for feature 5 (A/V Muxer) if you implement this one.11. Pan/Tilt (10 points): the reason we use Logitecth Orbit webcam is that it can pan and tilt.Add control to your recorder to enable paning and tilting the camera while recording thevideo.12. Audio Compression (10 points): recorder can compress the raw audio data with MP3 or AACstandard.13. Adv. Video Compression (5 points): recorder can compress the video frames with MPEG-4or H.264 standard (you can choose any profile). You also get full points for feature 3 if youimplement this one.ExamplesIf you design GUI for your programs, the user interface should be easy to understand. Add illus-trations in your documents if anything is confusing. If you just design a command line program,here is an example for you to follow. Make sure to write usage explanation in your documents ifyour implementation is different from the example below.Both recorder and player take only one parameter to indicate the file name that the programwrites to or reads from.2CS414 MP1: Video Recorder and Player Due 02/16/2011recorder FILE_NAMEmeans the video and audio data will be recorded to FILE_NAME. A video window pops out andshows the video currently recorded. Press CTRL+C to stop recording and quit the program.player FILE_NAMEplays the pre-recorded file FILE_NAME. A video window pops out to play the video and the audiois played in the speaker. The program quits when the media file reaches the end and the playbackframe rate is printed on screen like this:Playback Frame Rate: 15.4 fpsSubmissionAn empty sample solution is provided. Follow all naming rules and directory organization toprepare your solution. Pack all source codes and documents into a zip file or tar ball and submitthrough Compass. Do not submit your solutions through email unless there are technical problemswith the Compass system. Late submissions are not accepted and will get 0 point.Source CodeYou should only submit your source codes (.h, .c or .cpp files), Makefile, and any open sourcelibraries you use in your solution. Do not include any pre-compiled obj files (.o), binary execution,or pre-recorded media files in the directory.All programs should be built by Makefile. Google for tutorials if you have never used it before,or you can modify the Makefile in the sample solution for your program.DocumentationYou need to submit two documents: user manual and development manual. The user manualshould inlcude all instructions on how to compile and install your source code,


View Full Document

U of I CS 414 - Video Recorder and Player

Documents in this Course
Lecture 1

Lecture 1

32 pages

LECTURE

LECTURE

30 pages

Load more
Download Video Recorder and Player
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Video Recorder and Player and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Video Recorder and Player 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?