Top Banner
LOVE Video Lecture Add-On Robert N. Gettys CIS4914, Senior Project Department of CISE University of Florida Advisor: Dr. Su-Shing Chen, email: [email protected] Department of CISE University of Florida, Gainesville, FL 32611
17

LOVE Video Lecture Add-Onplaza.ufl.edu/fbird84/senprjfinalreport.doc  · Web viewRobert N. Gettys. CIS4914, Senior Project. Department of CISE. University of Florida. Advisor: Dr.

Mar 29, 2019

Download

Documents

nguyenthuan
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: LOVE Video Lecture Add-Onplaza.ufl.edu/fbird84/senprjfinalreport.doc  · Web viewRobert N. Gettys. CIS4914, Senior Project. Department of CISE. University of Florida. Advisor: Dr.

LOVE Video Lecture Add-On

Robert N. Gettys

CIS4914, Senior ProjectDepartment of CISEUniversity of Florida

Advisor: Dr. Su-Shing Chen, email: [email protected] of CISE

University of Florida, Gainesville, FL 32611

Date of Talk: 5 Dec 2005

Page 2: LOVE Video Lecture Add-Onplaza.ufl.edu/fbird84/senprjfinalreport.doc  · Web viewRobert N. Gettys. CIS4914, Senior Project. Department of CISE. University of Florida. Advisor: Dr.

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

Page 3: LOVE Video Lecture Add-Onplaza.ufl.edu/fbird84/senprjfinalreport.doc  · Web viewRobert N. Gettys. CIS4914, Senior Project. Department of CISE. University of Florida. Advisor: Dr.

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:

http://phoenix.lite.cise.ufl.edu:8084/love/etc/materials/26_126.html

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.

Page 4: LOVE Video Lecture Add-Onplaza.ufl.edu/fbird84/senprjfinalreport.doc  · Web viewRobert N. Gettys. CIS4914, Senior Project. Department of CISE. University of Florida. Advisor: Dr.

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

Page 5: LOVE Video Lecture Add-Onplaza.ufl.edu/fbird84/senprjfinalreport.doc  · Web viewRobert N. Gettys. CIS4914, Senior Project. Department of CISE. University of Florida. Advisor: Dr.

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.

Page 6: LOVE Video Lecture Add-Onplaza.ufl.edu/fbird84/senprjfinalreport.doc  · Web viewRobert N. Gettys. CIS4914, Senior Project. Department of CISE. University of Florida. Advisor: Dr.

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.

Figure 1.3 – Instructor Registration page

Page 7: LOVE Video Lecture Add-Onplaza.ufl.edu/fbird84/senprjfinalreport.doc  · Web viewRobert N. Gettys. CIS4914, Senior Project. Department of CISE. University of Florida. Advisor: Dr.

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.

Page 8: LOVE Video Lecture Add-Onplaza.ufl.edu/fbird84/senprjfinalreport.doc  · Web viewRobert N. Gettys. CIS4914, Senior Project. Department of CISE. University of Florida. Advisor: Dr.

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."<br />"; } return; } function err($sMessage, $sDetails){...

Page 9: LOVE Video Lecture Add-Onplaza.ufl.edu/fbird84/senprjfinalreport.doc  · Web viewRobert N. Gettys. CIS4914, Senior Project. Department of CISE. University of Florida. Advisor: Dr.

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: <br />" . implode("<br />",$err)); } return; } function closeConn(){ OCILogoff($conn); debug("Successfully logged off of Oracle."); $isConn = 0; return; }...

Page 10: LOVE Video Lecture Add-Onplaza.ufl.edu/fbird84/senprjfinalreport.doc  · Web viewRobert N. Gettys. CIS4914, Senior Project. Department of CISE. University of Florida. Advisor: Dr.

Appendix B – Additional Screen Captures

Figure 2.1 – User Management Page

Figure 2.2 User Authorization page

Page 11: LOVE Video Lecture Add-Onplaza.ufl.edu/fbird84/senprjfinalreport.doc  · Web viewRobert N. Gettys. CIS4914, Senior Project. Department of CISE. University of Florida. Advisor: Dr.

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.