virtual network computer recorder a tool for remote learning

14
Virtual Network Computer Recorder A Tool for Remote Learning

Upload: deonte-kanney

Post on 16-Dec-2015

226 views

Category:

Documents


2 download

TRANSCRIPT

Virtual Network Computer Recorder

A Tool for Remote Learning

Group Members

• Marc Alban• Jason Bonta• Matt Jonker• Greg Ose• John Ruble• Ashish Samuel

Overview

• Record all presentation material for distribution and review– Application / video display– Lecturer voice and audio

• Leverage existing technologies– VNC (Virtual Network Computer)– Audio compression (MP3 encoding/decoding)

Goals

• Seamlessly integrated and easy to use recording program

• Easy to distribute and efficiently sized session data file

• Portable client to playback recorded session

Existing Solutions

• vncrec– Unix command line– No audio

• vnc2swf– Separate audio recording– Exports to flash movie

Technical Implementation

• Microsoft C# .Net– Microsoft DirectX (DirectSound)

• Open Source Libraries– LAME– LibMAD– ZLIB

• Open Source RealVNC Server

Recorder Architecture Overview

VNCR Recorder

VNC Server

VNC Client

Audio Recorder

Synchronizer

MP3 Data

Screen Updates InterleavedAudio/Video

File

Video Recording / Playback

• Capture– Receives screen updates from RealVNC– Zip raw bitmap data– Add timestamps

• Playback– Get screen update from file– Unzip data and add to queue– Draw screen updates to screen buffer

Audio Recording / Playback

• Capture– Receive PCM data from DirectSound device buffer– Convert from PCM to MP3 using LAME

• Playback– Get chunk of MP3 data from file– Decode MP3 data using LibMAD– Put PCM data into DirectSound playback buffer

File Format• Contains both audio and video data • Synchronized using shared timestamps• Video

– Recorded from local VNC server– Lightweight screen encoding, uses GZIP compression

• Audio– Captured using DirectSound input device– Compressed using MP3 encoding

• Layered principle to promote modularity

File Format Diagram

Usage Examples

• Historical archive of lecture material

• Natural walkthrough and explanation of code

• Demonstration of the usage of any application

• Unlimited recording potential

Future Goals

• File editor

• Web browser plugin

• Streaming playback

• Fullscreen playback

• Integrated screen annotation

Example Demonstration

• Class lecture to teach basic networking