Date post: | 29-Mar-2019 |
Category: |
Documents |
Upload: | nguyenthuan |
View: | 214 times |
Download: | 0 times |
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
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:
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.
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.
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
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."<br />"; } 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: <br />" . implode("<br />",$err)); } return; } function closeConn(){ OCILogoff($conn); debug("Successfully logged off of Oracle."); $isConn = 0; return; }...
Appendix B – Additional Screen Captures
Figure 2.1 – User Management Page
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.