Multimedia Content Delivery over LANs and WANs

This project was done as my Capstone project for my Bachelor’s completed in 2009

Executive Summary

Whether it is for a long distance business meeting, long-distance learning, or communicating with family, video and audio communication have become a crucial part of everyday life in today’s fast-paced world. For my project I set out to research, design and configure a multimedia redistribution system for use in an educational or business environment. Equipment, including personal computers, servers and a portion of the local area network was provided by an Independent School District. I did most of my research physically away from the facility while I studied at Satakunta University of applied sciences in Pori, Finland. Because of this, remote access services had to be set up reliably. I successfully set up the distribution system in the school, allowing live video streams to be accessed internally by students and teachers. Externally archived video can also be accessed via the internet.

 



Introduction

The purpose of my Capstone project was to learn about and find solutions to deliver and access IP based multimedia. I have always had a personal interest in video and audio technologies. In the past, I have provided my knowledge and skills to radio and cable TV stations. a couple of years ago I took advantage of the opportunity to help set up a segment of a distribution system for channel 47 in Carahue, Chile that allowed for unattended switching of television programs and commercials, allowing the station to run continuously throughout the day. At radio las Colinas, also in Carahue, I configured several web services that provided listeners a way to communicate and interact with the radio announcer. While doing this work I have continuously wondered how it might be possible to deliver content from radio and television stations over the internet so as to reach a much larger audience. This Capstone project allowed me to pursue this research, working towards a solution that I or someone else could use in a practical environment.

In order to understand the nature of this project, it is important to understand IP multimedia access, and where it can be found today. According to Princeton University’s WordNet database, multimedia consists of “transmission that combines media of communication (text and graphics and sound etc.)”. My project is concerned more with audio and video than any other aspect of multimedia. Software such as Skype and Joost along with websites such as YouTube and Stickam are excellent examples of IP multimedia access that are currently in use. These solutions allow us to communicate with friends and family, as well as to entertain

ourselves with on-demand video. Telephone and television service are rapidly being replaced by these IP technologies. In 2005, Chilean Telecom Company Telefonica began offering IPTV to consumers in Chile. Today they have gained a substantial portion of the market (Clover, 2008). In response to the global economic crisis, businesses are switching from traditional circuit- switched telephone systems to newer, cheaper, and higher quality voice over IP (VoIP) solutions. As ISPs (internet service providers) such as NewWave begin to offer simple VoIP solutions to home consumers, the importance of digital communication will continue to increase.

At first, this might appear to be limited to entertainment and personal communications, but there are also several business and educational applications for web-based multimedia access. In the business world presentations are common. The ability to broadcast and view them via the internet is valuable to any business that has long distant contacts. Microsoft has been doing this for years with their webcasts, reaching network administrators and software developers from the comfort of their desks. Working at a high school for several years, I found it disappointing to see necessary courses dropped due to lack of funding or the inability to find appropriate teachers for the courses. This problem becomes more severe as many states begin to see a fairly large portion of teachers approaching retirement (Darst, 2009). Using IP technology, a school would be able to set up live virtual learning environments with teachers from other school districts at a fraction of the cost that is required for setting up and maintaining a satellite or ISDN-based teleconferencing system. IP-based technologies open up many new possibilities; but one must ask how these possibilities might actually be realized.




It is evident in the professional articles and fora that are available that there are a multitude of issues that would have to be addressed if we are to exploit the opportunities that are

available to us in this area.  Issues involving the network such as bandwidth, latency, and dropped packets would play a large role in the quality of the video or audio that is being transmitted. This meant that a testing and analysis of the actual network would play an important role in implementation of my project. I would also need to research different transmission techniques in order to know what would be the best method of approaching my layout. Different protocols exist on IP switched networks including, but not limited to, TCP, UDP, and RTP. The general tradeoff between protocols is the quality of the data delivery versus the delivery rate of the data. The delivery rate refers to both latency and bandwidth usage. It is also important to be aware of the codec (compressor decompressor) that will be used. The codec determines how video will be compressed. High quality compression allows for a sharper higher quality video to be delivered using less bandwidth, but at the expense of higher processor usage (ErMac, 2007). Codec’s must also be installed on the client’s device in order to decompress and playback the video content. Users might be turned away from viewing content when it does not play properly because they have not installed the appropriate codec. Issues like this will be examined in more detail further along in this paper.

I researched a few designs common in network environment systems, based either on centralized or decentralized designs. I decided that a centralized system would be the most effective approach. A centralized design would allow for simpler management and easier client access. Clients would also be able to upload and redistribute video via the main server. Most home connections do not have the upload bandwidth to transmit video to more than one user. A centralized server could capture this single stream and use bandwidth available at its location to distribute the video more efficiently. I would set up a Linux and windows based servers in order to research the possibilities each operating systems could provide for the overall design. Although Linux is becoming very popular, my experience with Linux-based operating systems was limited. I realized that it was important that I achieve a greater mastery of this system, and was able to immensely improve my Linux skills by using it in a focused practical environment.

The research I did was ultimately for my own personal interest and education. I do hope that the information provided in this report will be able to aid others with similar interest in the development of a practical multimedia distribution system or other related project.

Problem

Video and audio take an enormous amount of power to process. This can be costly when dealing with a high-quality live streaming video solution. One objective I will be aiming for is keeping this project as low-cost as possible. I will be working with older, donated equipment to attempt to find out if it is possible to create a streaming multimedia powerhouse on a minimal budget.

One of the primary focuses of this project is how we can turn these IP technologies into an educational tool that could reach across the world and into any neighborhood at an affordable price while keeping the entire system legitimate. Unfortunately, software licensing requirements can pose a very complex challenge, as they often cost more than the hardware itself (Weinberg, 2008). To solve this, Microsoft offers free or cheap licenses of their operating systems to use on donated equipment in several countries (Kotadia, 2004). Another viable alternative is to use Linux, which has always been open source and free. Which option turns out to be cheaper and easier to implement will depend both on the country in which you are located, and the knowledge of those involved with the project.

All the equipment I will be working with is physically located at a school in Kentucky.

During my work on this project I will be in Finland. This inability to physically access hardware poses a problem that needs to be solved. It is common for staff that is managing servers associated with video and audio equipment to not be able to be on site. Creating a remote solution that I could control from anywhere in the world via the internet would be crucial.

Reliability would also be a key concern. When working with a remote system, downtime can be costly (Sisco, 2002). Not only are there costs involved in sending professionals to remote areas, there are also opportunities lost when a multimedia system goes down. This is especially true if we are looking at using this system in a business setting where downtime translates to lost customers. Before leaving for Finland, I would have to ensure that these problems would be solved prior to starting on the core of the project. In my situation, downtime could prematurely end my project or cause staff at the high school to have to do additional work. In this situation, the importance of accurate and detailed documentation is quite evident, and critical changes are to be avoided. A remote operation is a very delicate environment, and precautions will have to be put in place to avoid downtime.




Accessibility is also an important goal. It is important to consider what solution would provide the highest quality transmission with the easiest access to all users. Different media players and a variety of operating systems come preinstalled with support for several formats and transmission methods. A user or customer might be discouraged from watching a video or advertising if he or she has to install any additional software. If a professor cannot show a video to his class when needed because of required troubleshooting, the system has failed to work as intended. The multimedia content needs to be accessible at anytime, from anywhere. I will be working primarily on a LAN located in a high school. Customers will primarily be students and teachers. Mac, UNIX and Windows computers are used throughout this environment. A student or teacher must be able to access educational multimedia content from whichever computer they are using.

Design

Figure 2 Overall design. Shows a broad look of how systems are interconnected to provide multimedia and remote services

 The image above shows a broad look at my final functional design. Later I will go into more detail about each element. As you can see the LAN and internet are represented by clouds because the details of what is going on in these areas are not important in understanding the overall idea. Media, whether it be stored or live video and audio is accessed by clients inside the LAN via the Ubuntu and Windows media server. A proxy server keeps the network secure so there is no direct access to either multimedia server from outside the LAN. Select multimedia is forwarded to the web server so that users can access it from anywhere with an internet connection. There is also a terminal I have set up in Finland for access, control, and maintenance of both multimedia servers.

Image 1 LogMeIn® connected a windows server overseas. In the screenshot you can see both Windows media services and Windows Media encoder running. The Linux server is also in

The first step was to setup remote access so that I would be able to access equipment located in Kentucky from my desk in Finland. The proxy in place would not allow me to directly access any computer within the LAN. To solve this issue I would use LogMeIn®, a commercially available remote access solution for Windows and Mac computers. Because LogMeIn® (at the time of this writing) did not support Ubuntu, Virtual Network Computing (VNC) services would need to be enabled. In this set-up, because of the proxy server, a client on the internet cannot directly access the Ubuntu server via VNC. The Ubuntu server would need to be accessed via the Windows server. Below you can see a fairly straightforward diagram of how the remote access system works.


Figure 3 servers are connected in series providing access over the internet

  

The Block diagram above goes into a little more detail of how both servers interact with each other and the rest of the world. Except for the Web server, services and functions feed into Windows Media Services loaded on the Windows server. On the Ubuntu side VideoLAN provides for live video services, while a simple file server provides archived video. On the Windows server Windows Media Encoder takes the place of VideoLAN, providing live video and audio services. The Windows Media services manage the way different clients receive available media based on available bandwidth, and link quality. Under optimal conditions, a form of UDP is used to transmit the media. In this way there is less delay in live video, less bandwidth overhead and a higher quality transmission than TCP can provide. In cases where a link is prone to error, the services will switch to transmitting data using TCP over http. This allows for error checking and delivery of the transmission, but at the cost of higher latencies and large overhead slowing download speeds. The server can also be configured to switch the quality of the transmission based on bandwidth available to the client. This is not implemented in my design because of the heavy processor use involved. In order to keep the LAN network secure there is no direct access to any content on the media servers from outside. Archived multimedia is periodically transferred and stored on the web server. In this way the administrator has control over what content, if any, can be accessed from the World Wide Web. The initial plan was to give both Linux and Windows systems equal roles, lessening the load and proving interoperability in a diverse environment. This original set-up became impractical. As you can see in the diagram, Windows Media Services became the core of the entire design.

Below is the project schedule. By the time the spring semester began, the majority of the distribution system was complete, giving me time to focus on other studies. As it is noted below, nearly all my goals were achieved. I was not able to get the Linux implementation to a completed phase, and also did not have time to focus on creating a user-friendly graphical user interface.

Despite these few issues the core implementation of the project was completed significantly ahead of schedule. A brief overview of the testing that took place can also be viewed beside the appropriate goals.

 

Goal Completed? Date Notes
 

 

 

 

Acquire Hardware

 

 

 

 

Yes

 

 

 

 

June 15th

After speaking with the chief information officer at the Independent School District I received a retired Dell PowerEdge 4400 server along with a Dell Optiplex GX110 desktop computer. I was also given access to the local area network. An FM/TV tuner was also provided by the school. I purchased two low-end webcams

totaling 15 dollars in purchase price.

 

 

Install and set-up hardware

 

 

Yes

 

 

June 18th

I installed additional memory and storage to both computers. RAID was configured on both machines to provide redundancy in the case of hard disk failure. Video devices were also

installed at this time.

 

 

 

Install Operating System

 

 

 

Yes

 

 

 

June 19th

After experimenting with several options, I chose to install Windows 2003 to the PowerEdge server and Fedora to the Optiplex. After experiencing frustration with driver support in Fedora, I installed Ubuntu Linux which proved to be

trouble-free.

 

 

 

 

 

 

 

 

Install basic software and drivers

 

 

 

 

 

Yes

 

 

 

 

 

June 21st

The Ubuntu server quickly recognized all hardware devices. No driver set-up was required. On the other hand, the Windows 2003 server required the installation of drivers for several devices. Once the network card was installed and configured, I accessed Dell’s website to download missing drivers. As for the webcam and FM/TV tuner, I used the installation CD that had been

provided with the hardware.

 

 

 

 

 

Remote Services

 

 

 

 

 

Yes

 

 

 

 

 

June 28th

After a few days research I decided that the services provided by LogMeIn® would be the best method to provide remote access. Because LogMeIn® does not provide services for Ubuntu, I would be accessing this server via VNC once remotely logged into the Windows server. Both computers were setup to reboot after a power outage and always start remote services during startup. After a few days of testing this set-up I

started on the heart of the project.

 

Install video/audio streaming software

 

 

Yes

 

 

July 2nd

Several different software packages were installed on both servers, including Icecast, VideoLAN, and Windows Media Services. The Idea would be to configure and test each option available until I

found the best for this particular project.

 

 

 

 

 

Test network capabilities

 

 

 

 

 

Yes

 

 

 

 

 

July 5th

Using the Ubuntu Server and a laptop I had running Ubuntu, I tested the network throughput using ttcp from several locations around the building during a busy day to determine how much bandwidth was available to users in the School system. The fastest link ran nearly at 35 MB/sec. The slowest link hovered around 1 MB/ sec. This meant that the network was capable of

carrying streaming video to all users.

 

 

Stream live video/audio

 

 

Yes

 

 

July 25th

After configuring different video services on both the Ubuntu and Windows Servers, I was able to successfully stream a live video feed from a webcam on both machines. This was

accomplished using VideoLAN on both servers.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Test compatibility

 

 

 

 

 

 

 

 

 

 

 

 

Yes

 

 

 

 

 

 

 

 

 

 

 

 

July 27th

Unfortunately, I had trouble streaming content from VideoLAN across different operating systems and media players. Results were never consistent, indicating that it was not a viable solution at the moment. The same was the case for all the other software solutions: they would not work properly out of their own software environment. After setting up Windows Media Encoder and Windows Media Services on the Windows 2003 server I had my first truly successful live video stream. It could be accessed by a multitude of players on Windows, Linux, and Mac based computers. In Ubuntu and Mac systems, a codec had to be installed. In both cases the operating system prompted and guided the user through a quick and simple installation process that any computer user should be able to follow. This still meant that I had not come up with a usable solution for the Ubuntu server to

stream media across all platforms.

 

 

 

 

 

Stream archived content

 

 

 

 

 

Yes

 

 

 

 

 

November 3rd

This feature came a little late as my focus had shifted to an intense semester in Finland. On the Ubuntu server, VideoLAN could be accessed via a web browser. Unfortunately, using this solution did not allow for a smooth video stream due to excessive processor load. The final solution in this scenario was to simply create a shared folder using SAMBA. Windows Media Services was setup to access and redistribute videos found in

this folder. This provided a better user experience.

 

 

Set-up web access

 

 

Yes

 

 

July 28th

I created a simple webpage to access videos that I stored on the web server. There was nothing unique about this, as it simply allowed users

around the world to access stored video files.

 

 

 

 

 

 

 

multimedia redistribution

 

 

 

 

Partially

 

 

 

 

August 1st

This was an important step. You can’t always carry the central server around to wherever you need to broadcast an event. Using a webcam built into my laptop, I was able to use features in Windows Media Encoder and Windows Media Services to retransmit a live video feed from across the campus. I was not able to get this same

set-up to work properly using Ubuntu.

 

 

 

Set-up user friendly GUI access

 

 

 

no

 

 

 

N/A

I played around a little with MythTV, and also set-up simple web pages to access content. This works well for most users, but is not the user friendly GUI that I am looking for. I hope that in the future, as the core of the project is completed,

I can put more time in this area

Implementation

The project was able to meet the majority of the in-scope specifications I had set when I began this project. I was not able to create a truly user-friendly interface to access available content. This is a very important issue which I hope to be able to complete in the future. The core of the project works extremely well and smoothly; but it is important that the users that will be accessing this system can do so easily and with as little training as possible. This portion was not successfully completed because I did not have the time or appropriate planning to complete this portion. Although I did set up a simple webpage with links to available content it was not used. What I would have like to have done was to create an interface using Visual Basic.

Information about the content and its location would be stored in an Access database. This of course would only be used within a local network and run on windows based machines only.

With access to a lab of 52

Figure 5 Achieved Specifications **If additional software is required, it must be installed in five clicks or less to be considered hassle-free

Figure 6 Summary of results. As you can see Windows Media services passed every test, but at the cost of initial playback delay.

Brand-new desktop computers I was able to test the functionality of this system. I attempted to stream a live webcam feed from the installed servers using different software in each case. I sat down at each computer and started a stream from the server. I noted the approximate time it took from starting a video stream to when video and audio actually started to play. I would then leave the stream running as I went on to test the next computer. When the stream finally slowed down to the point that the video stream would no longer play smoothly, I ended the test. To the right is a summary of the test results.

To test the compatibility of the services, I set aside five computers. Each computer featured a clean installation of one of five popular operating systems: Windows Vista, Windows XP, Windows 2000, Mac OS X, and Ubuntu. On an internal webpage, I created a link to

Figure 7 Compatibility of different services with different operating systems

access a live webcam stream. I then went to the webpage from each computer and clicked on the link in order to start playback. The video or audio was expected to play right away; if it failed to do so, I noted what was required to get the video working. In the case of the Ubuntu operating system, if audio or video did not play, it immediately offered to download and install the appropriate codec’s. The Mac OS X and Windows environment attempted to do the same, but were not always successful, leading to a more cumbersome, manual installation. Above you can see a reference showing the results of my research.

Image 2 PowerEdge 4400 server shown with four hard disks in a RAID array. Used as the Windows server.

The problems I had during the project were minimal, and isolated. In the earliest stages of the project, I had problems configuring the RAID array across the four hard disks available. My experimenting with the server resulted in a misconfiguration of the array. This was solved promptly within the BIOS with the help of the system administrator at the school. Near the end of the project, after the system had been thoroughly tested, a major storm took out the Ubuntu server. The hardware was damaged, but the system remained operational, using the Windows server. I was unable to restore the Ubuntu server, and probably will not have any success with it until I can examine and repair the physical hardware. It was fortunate that this event happened after the completion of the project. This event demonstrated that server

Image 3 Optiplex gx110 used as an Ubuntu Server

redundancy is critically important. Because each server stored media in both locations, nothing was lost. The system continues to work despite this outage. This unplanned event successfully demonstrated the reliability and flexibility of my project. I was not able to implement as many features as I would have liked into the Ubuntu server. Features such as multicasting, multi- streaming, and encoding based on client’s bandwidth were easy to get working on the windows server, but were almost impossible to implement on the Ubuntu server. I have left much of the Ubuntu work, along with the design of a graphical user interface to access multimedia, for future research and implementation.

Conclusion

This was one of the best learning experiences I have had leaning how to use the Linux operating system. I had played around with different distributions in the past, but had never attempted to use the operating system for any practical purpose. With the aid of Ubuntu’s online community, I spent many days reading through guides and gleaning information from various fora. It took some time initially to overcome some of the simplest issues, but eventually I was able to shift focus onto the project objectives. I did in fact reach all my initial goals. Personally, I was a bit disappointed with my progress working with Ubuntu. I had hoped for a solution that could match the capabilities of the windows server. The ability to create live-CD distributions of the operating system could have created a flexible portable media distribution system. As open source software, Ubuntu would also eliminate complications and time delays involved in dealing with software licenses. Alternatively, Windows was very easy to install and set up. Services within the operating system were comparably much easier to setup and use. For me, the Windows server was also the easiest to administer, with the least amount of downtime, and higher stability when streaming video.

Commercially available systems do exist and are easy to use. Services such as YouTube, Stickam, and Skype can do most of the same tasks for free. Although these services work quite well, copyrighted material along with internal media should not be delivered with these public media. In these cases, the system that I implemented can be used. My system also provides higher quality video and audio, along with a more controlled environment.

One of the drawbacks of a dedicated system such as mine can be the cost. In the event you would like to serve a large number of users, hardware costs increase as a more powerful server is required along with higher bandwidth throughout the network. There is also an administration cost involved as the hardware and software must be managed in-house. Although I targeted my project to help those running on a low or nonexistent budget, I believe that free services offered online can give a facility instant multimedia serving and streaming capabilities at a much lower cost. I did prove, however, that video streaming can be achieved at an affordable cost. With the help of donated equipment, my total cost was approximately twenty dollars.

In the end, I believe that my project was successful. It delivered multimedia content over LANs and WANs as I initially set out to do. What I learned about the underlying technologies that make this possible will help me when working with similar equipment in different areas of networking.

References

Clover, Julian (2008, August 1st). Telefónica grows IPTV subs. Retrieved March 19, 2009, from Broadband TV News  Web site: http://www.broadbandtvnews.com/?p=6249

Darst, Paul (2009, April 11th). Cause And Effect. Retrieved April 12, 2009, from WVNS CBS News Web site: http://www.wvnstv.com/story.cfm?func=viewstory&storyid=56345

DiNicolo Dan (2007, May 15th). Transporting VoIP Traffic with UDP and RTP. Retrieved April 13, 2009, from 2000   trainers Web site: http://www.2000trainers.com/voip/voip-udp-

rtp-      protocol/

 

ErMaC and AbsoluteDestiny (2007, May 15th). Advanced Video Compression – Part 2.

 

Retrieved April 13, 2009, from anime music videos Web site:          http:// www.animemusicvideos.org/guides/avtech/video4_2.htm#Interesting

Kotadia, Munir (2004, April 9th). Microsoft offers charity-friendly license. Retrieved April 14, 2009, from CNET                 News Web site: http://news.cnet.com/Microsoft-offers-

charity-            friendly-license/2100-1016_3-5188084.html

 

Sisco, Michael (2002, April 5th). How to calculate and convey the true cost of downtime.

 

Retrieved April 14, 2009, from Tech Republic Web site:       http:// articles.techrepublic.com.com/5100-10878_11-1038783.html

Weinberg, Kelly (2008, December 17th). Software License Management – It’s more than just

 

 

compliance. Retrieved April 14, 2009, from IT World Web site:       http:// www.itworld.com/software/59376/software-license- management-it-s-more-just-  compliance

 

 

Icecast, Retrieved April 18 from Icecast Web site: http://www.icecast.org

 

Microsoft Corporation, Events and webcasts. Retrieved March 20, 2009, from Microsoft Corporation Web site: http://www.microsoft.com/events/default.mspx

Microsoft Corporation, Retrieved April 18 from Microsoft Corporation Web site: http:// www.microsoft.com

NewWave Communications, Digital Telephone. Retrieved April 12, 2009, from NewWave Communications Web site: http://www.newwavecom.com/phone/about_p.html

Princeton University, WordNet Search 3.0. Retrieved February 17, 2009, from WordNet Web

 

site:http://wordnetweb.princeton.edu/perl/webwn?s=multimedia⊂=Search

 

+WordNet&o2=&o0=1&o7=&o5=&o1=1&o6=&o4=&o3=&h=

 

Nullsoft Shoutcast, Retrieved April 18 from Nullsoft Shoutcast radio beta Web site:           http:// www.shoutcast.com

Ubuntu, Retrieved April 18 from Ubuntu Community Web site: http://www.ubuntu.com VideoLAN, Retrieved April 18 from VideoLAN Web site: http://www. videolan.org

(2005, June 6th). Telefónica lanzará IPTV en Chile. Retrieved March 19, 2009, from La Tercera Web site: http://mouse.tercera.cl/detail.asp?story=2007/06/14/13/37/23

(2009,April 13). Cost reductions present greater market opportunity for VoIP gateways.

 

Retrieved April 13, 2009, from global sources telecom products Web site: http:// www.telecom.globalsources.com/gsol/I/VoIP-          gateway/a/9000000104311.htm

Appendices http://www.microsoft.com/windows/windowsmedia/knowledgecenter/technicalarticles.aspx http://www.videolan.org/support/

http://www.icecast.org/docs.php http://classic.shoutcast.com/support/docs/ https://help.ubuntu.com/8.04/index.html Guides in progress are attached.

Leave a Reply