LOVE Video Lecture Add-On



LOVE Video Lecture Add-On

Robert N. Gettys

CIS4914, Senior Project

Department of CISE

University of Florida

Advisor: Dr. Su-Shing Chen, email: suchen@cise.ufl.edu

Department of CISE

University of Florida, Gainesville, FL 32611

Date of Talk: 5 Dec 2005

Abstract

Digital Libraries are becoming a new trend in computer science in providing storehouses of a vast wealth of information. Dr. Chen’s LOVE project is a prototype of a special kind of digital library: that which houses “learning objects.” Learning objects consist of the digital media that the library is to contain, in addition to the metadata describing the media. LOVE was intended to house many different types of learning objects, including multimedia. However, this becomes a problem in the case of video. In general, video files use a large amount of hard drive space on servers. LOVE would require a large amount of bandwidth and hard drive space in order to house and serve these materials if they were handled in a traditional manner.

An add-on was thus created for LOVE to handle video media, specifically video lectures, as a proof-of-concept for the digital library. On a separate server, a PHP application was created which was to handle video lecture submissions and viewing, and run alongside LOVE. It is to be linked to LOVE in the future by the appropriate PowerPoint lectures used in each video lecture.

Introduction

LOVE stands for Learning Object Virtual Exchange. It is a store for the free exchange of ideas and information along with searching capabilities to easily find and examine these ideas and materials. It is only effective to provide these materials for free if it is feasible to do so. With the inclusion of large amounts of video content, however, this becomes impossible. A typical 50 minute video from EDGE can use up to 80 MB of space. It is not an efficient use of resources to accept uploads or to house and serve the media itself on the same server as LOVE. Therefore, LOVE’s current submission method is insufficient for video learning materials.

A PHP application was thus created to address these limitations, which runs on another server on the same network as love. This application accepts submissions of video lecture material from users and stores them in a database. These submissions, however, do not include the video file itself. The user may either supply a link to their file or a link to the streaming content they wish to be displayed on the site. The application stores this information, and supplies a user-friendly interface for viewing the video. This is to be linked to LOVE in the future with a link on related viewgraphs that redirects the user to the appropriate page on the PHP application. The user clicks a link on LOVE, and is instantly brought to the user interface for viewing the video seamlessly.

Problem Domain

This project addresses a problem that occurs in many web applications that serve multiple types of content, and in database management systems. Storing and serving non-text (video/binary) data is complex and most current databases are ill-suited for it, having been designed for mostly text-base data. LOVE is similar in that it is a data repository for learning materials, and was originally designed for small (mostly text) data such as PowerPoint presentations, word documents, and PDF files. The project provides a workaround to this inherent limitation.

Literature

The successful completion of the project required the understanding of the current LOVE system, and some of the theory behind the idea of digital libraries and digital (learning) objects. Dr. Su-Shing Chen had already done research on the topic, and through personal correspondence with him and the use of his book Digital Libraries: The Life Cycle of Information. An online copy of his book can be found for free on the LOVE library itself at:

Solution

This project is an add-on to the LOVE library system. LOVE itself is a “proof-of-concept” type of project, and this add-on is created in the same spirit. The add-on proves that it is indeed possible to include video material in the LOVE virtual library. The LOVE add-on more or less manages pointers to the content of the learning objects. Originally, the site was meant to point to the video as it resided on the EDGE servers, but as the video was relocated this was deemed the wrong approach. Instead, the PHP application will link to videos anywhere on the web.

[pic]Figure 1.1 – Conceptual Diagram of the Project

This diagram shows the original conceptual design of the system, including a gallery learning object on the LOVE system. Hyperlinks will be made on LOVE to link directly to the video lecture material that are relevant to viewgraph material. The PHP application serves as the “Access Links” to the video lectures as they are presented by the digital library.

First, a content format was chosen to test against. Windows Media was chosen because it is available for both PC’s and Macintosh, and the client is automatically present on Windows machines. The other format available from the EDGE servers was Real Audio, which requires a special installation for users of any machine, and additionally hassles the user for upgrade fees. Lastly, the Windows Media plug-in is automatically installed on Internet Explorer, and is a quick plug-in install for Mozilla Firefox users.

A media server to test against was created on a machine in Dr. Chen’s laboratory for IT enterprises, and all of Dr. Chen’s lectures from his CAP 5510 Bioinformatics course in Windows Media format were uploaded and made available to the public. The PHP application was created and implemented to allow user submissions of streaming video and installed on one of Dr. Chen’s servers. HTML “meta refresh” pages were constructed and submitted as digital learning objects to LOVE, along with metadata extracted from the video lectures themselves.

The links to be constructed will be obtained from the URL of the “interface” for viewing each video The PHP application, upon receiving a request and query string argument, fetches the appropriate record and activates the Media Player plug-in to play the video from the appropriate location. The video itself is not necessarily located on the same server as the PHP application, but in the case of Dr. Chen’s lectures, it is. This application will function for both streaming video and for video downloads; the persons making the submission are not forced into owning a streaming video server. The idea behind this project is similar to the web application - > web services - > data store analogy. The PHP application itself is simply an access layer for presenting video content to users. To include this functionality in LOVE directly would add undesired complexity to the system, justifying the need for this add-on.

Results

The PHP application succeeds in proving that video content can be accessed through a digital library implementation such as LOVE. The user searches for the information they want on LOVE, discovers a video lecture containing the information they desire, clicks “View this Material,” and is instantly taken to a page displaying the video material they are looking for, regardless of its location on the web.

[pic]

Figure 1.2 – The beginning of a video lecture linked from LOVE

The figure above is a screen capture of what a user sees when they try to view material in the case of a video object. A helpful interface is provided to allow the user to submit more video materials if they wish, browse other videos already on the site, or navigate back to the LOVE system.

[pic]

Figure 1.3 – Instructor Registration page

Instructor registration and authorization processes were provided in order to possibly screen those who wish to submit video content to the LOVE system. This is not a feature that is inherent to love, but is provided as an option should Dr. Chen decide to take that route with the system at a later date. Additionally, because of the nature of video material it is important to screen materials before they are allowed to be viewed by the public, if only to avoid unnecessary mischief.

Final installation of the PHP code on the server was successful, having involved porting code from a UNIX machine (translating the different text file formats) to a Windows machine, in addition to modifying the code to work with a different database. The application was developed using Oracle 9i on the CISE servers, and ported to MySQL in Dr. Chen’s IT enterprises laboratory. Easy modification and portability was obtained through the use of include files for major code portions. Commonly used information such as database connection information was separated from the rest of the application in anticipation of the porting process.

Conclusion

An add-on module for LOVE’s digital library was successfully implemented to address inherent limitations in the library’s design. LOVE’s capabilities were shown to expand to indexing digital video for learning purposes, and the power of the learning object model is further illustrated by the success of this project. In order to fully implement video learning objects, indirection and abstraction were used to allow LOVE to house digital objects without housing the content of the digital objects themselves.

In adding features to an existing application, the same approach is not always the best one. In this case, a unique approach was used in redirection to a new site for a video file in order to “fool” the user while preparing a video presentation for them. The solution was not simply to order new server hardware or even to use software to compress or limit the use of video on the LOVE server, but rather to go around the problem by rendering traditional methods unnecessary. One of the many challenges facing web application development is viewing such problems with an eye for the endless possibilities of solutions, and finding a solution that keeps the application agile and effective. LOVE sufficiently maintains its power and wide usability with the addition of this add-on, and inevitably other add-ons to be created in future projects.

Dr. Chen intends to continue expanding on the LOVE project with additional student help, and probably expand upon the video lecture add-on that is now in place. Limitations that would need to be addressed may include:

• Advanced management of materials and users

• Automatic coupling of video lecture material with viewgraph material (may require tighter integration of the add-on with LOVE)

Acknowledgements

The author would like to thank Dr. Su-Shing Chen for the guidance he has provided throughout the course of this project, in addition to his patience, and permission to use his book, laboratory, and server machines in order to successfully complete the work.

References

Digital Libraries: The Life Cycle of Information

Dr. Su-Shing Chen

1998 BE (Better Earth) Publisher

Appendix A – Source Code Excerpts

• Global include file (global constants and functions)

$debugMode = 0;

$verboseErorr = 1;

$friendlyError = 1;

$dbUser = "rgettys";

$dbPass = "secretPassword";

$dbHost = "orcl";

function debug($sMessage){

global $debugMode;

if ($debugMode){

echo $sMessage."";

}

return;

}

function err($sMessage, $sDetails){

.

.

.

• Database include file (Database access functions and abstraction layer)

include_once("include/globals.php");

class DB {

function openConn(){

global $dbUser,$dbPass,$dbHost,$conn,$isConn;

if ($conn=OCILogon($dbUser, $dbPass, $dbHost)) {

debug("Successfully logged in to Oracle.\n");

$isConn = 1;

} else {

$err = OCIError();

err("Unable to connect to database.", "Details: " . implode("",$err));

}

return;

}

function closeConn(){

OCILogoff($conn);

debug("Successfully logged off of Oracle.");

$isConn = 0;

return;

}

.

.

.

Appendix B – Additional Screen Captures

[pic]

Figure 2.1 – User Management Page

[pic]

Figure 2.2 User Authorization page

Biography

Robert Gettys was born in Belflower, California, a suburb of Los Angeles. He attended elementary and junior high school in Macon, Georgia, and attended senior high school at Mandarin High in Jacksonville, Florida. He is now seeking a bachelor’s degree in computer engineering, and expects to graduate in December, 2005. He started programming at a young age, when his father bought him an introductory “self help” book for QBASIC, when he was approximately 10 years old. Robert briefly familiarized himself with the BASIC family of languages, and later picked up Visual Basic, with which he wrote a variety of programs to help himself with homework, or to distribute to his friends for fun. Robert is now finishing an internship with 3001, Inc. writing GIS web applications in Visual Basic .Net, and has since been tentatively offered a job there to work full time starting in January. Robert also has plans on working for the NSA, which has been described as a computer scientist’s “playground.” In addition to programming, he also enjoys soccer, fencing, video gaming, and, most of all, eating and sleeping.[pic]

................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download