San Jose State University

From the SelectedWorks of Zhi-Xue Xu

June 12, 2014

Five Excellent Operation Systems and Applications Zhi-Xue Xu, San Jose State University

Available at: https://works.bepress.com/zhi-xue_xu/3/ Five Excellent Linux Operation Systems and Applications

Zhi-Xue Xu Academic Technology San Jose State University June 12, 2014

Linux computer operation system for Intel x86-based personal computers has become a good and stable operation system for desktops and servers since Linux kernel first released on 5 October 1991. Linux operation system has been accepted as a more important computer operation system in the IT fields. Meet Linux operation system, fast, free and incredibly easy to use, the Linux powers millions of desktop PCs, laptops and servers around the world. There are some important areas where Linux has significant advantages over both Windows 7 and Mac OS X.

Linux is one of popular version of UNIX operating System. It is open source as its source code is freely available. It is free to use. Linux was designed considering UNIX compatibility. Its functionality list is quite similar to that of UNIX.

The Linux has been wildly used to computer desktops and servers. We often used five excellent Linux Operation Systems that included , , CentOs, Fedora and SUSE in the computer professional environments. Linux has provided excellent Internet Applications, Cloud application, Free and Open Ghost, Virtual Computers applications, Video codec and Streaming for Video Captures and other that included Single Sign On (SSO), OpenAM for Authorization and Federation,.

1. Five Good Linux Operation Systems

1.1 Ubuntu Linux Operation System: http://www.ubuntu.com/

Many computer administrators, programmers, and IT engineers choice Ubuntu Linux for desktops and servers first, because Ubuntu Linux System is a typical and stable Linux system. Also, the computer operation will be easier by Graphic User Interface and commends. Ubuntu become favorite Linux Operation System.

Ubuntu offers Cloud, Server, Desktop, Phone, Tabet, TV and Management Editions. Ubuntu offers all the infrastructure, tools and services for cloud you need. Ubuntu Server delivers the best value scale-out performance available. Ubuntu operating system powers millions of desktop PCs and laptops around the world. Ubuntu phone neatly organize content into natural categories like video, music, or integrate web content right at the center of the phone experience. Ubuntu on tablets with unique multi-tasking productivity, secure sharing, and a beautiful interface which scales perfectly from 6.5” to 20” screens and beyond. Ubuntu TV integrates online content providers to offer a diverse catalogue of movies, TV shows and music straight from the Internet. Ubuntu Advantage is the professional 24/7 support and services package from that included , a systems management tool, built for running large-scale Ubuntu deployments on desktop, server or cloud.

I have finished installed Ubuntu 13.04 Server. The Figure 1 showed Server Login screen.

1

Fig. 1 Login screen for Ubuntu 13.04 Server

The Ubuntu desktops also have been installed and used in the IT fields.

Figure 2 Ubuntu desktop

2

1.2 Debian Linux: https://www.debian.org/

The Debian is a free operating system. The operating system is the set of basic programs and utilities that make the computer running. Debian systems currently use the Linux kernel or the FreeBSD kernel. Debian comes with over 37500 packages (precompiled software that is bundled up in a nice format for easy installation on the computer).

You can be easy getting started. The latest stable release of Debian is 7.5. According to the installation instructions, you can be quick to install it. The documentation and support pages provide to get help in using or setting up Debian.

Our World Language and Linguistics Department, SJSU had created Debian Server for Foreign Language Study applications in the Center of World Language and Linguistics Media.

Fig. 3 Debian Server for Foreign Language Study Applications

Ubuntu builds on the foundations of Debian architecture and infrastructure. Ubuntu is specifically designed to be easy for inexperienced users to use. Initial configuration of Debian may be more difficult.

1.3 CentOs Linux: http://www.centos.org/

The CentOS is a stable, predictable, manageable and reproducible platform derived from the sources of Red Hat Enterprise Linux (RHEL). CentOS Linux has been a community-supported distribution derived from sources freely provided to the public by Red Hat. CentOS Linux aims to be functionally compatible with RHEL. CentOS Linux is no-cost and free to redistribute.

3

CentOS Linux is developed quickly. The core developers are supported by an active user community including system administrators, network administrators, managers, core Linux contributors, and Linux enthusiasts from around the world.

Over the coming year, the CentOS Project will expand its mission to establish CentOS Linux as a leading community platform for emerging open source technologies coming from other projects such as OpenStack. These technologies will be at the center of multiple variations of CentOS, as individual downloads or accessed from a custom installer.

CentOS 5 and CentOS-6 is available. You can download these CentOS 5 and 6 from CentOS Webpage to install it.

Fig. 4 CentOS 6 desktop

CentOS has been installed on Laptops Acer, Asus, Compaq, dell, IBM/Lenovo, HP, Samsung, Sony, Toshiba and so on. Adobe Media Server 5 Professional also has been successful to install on the CentOS Linux Server (64bit).

4

1.4 Fedora Linux operation system: http://fedoraproject.org/

Fedora is sponsored by Red Hat. Fedora is a Linux-based operating system. The Fedora operating system is completely free of cost for you to enjoy and share. The Fedora Project builds open source software communities and produces a Linux distribution called "Fedora."

Fedora 20 Desktop Edition is the latest version. You can install Fedora directly to the hard drive straight from the Live Media desktop, but you need a blank CD or DVD or a blank 1GB+ USB stick, 64-bit Intel-compatible PC, 1GB memory (RAM) and at least 10 GB hard drive space (only required for installation).

Fig. 5 Fedora 20 “Heisenbug” GDM Login Window

Fedora doesn’t have server edition, but you can buy Red Hat Enterprise Linux server. There is difference between server and desktop, all just different kernel and package installations. You can install packages for server, but Fedora is really only aimed at the desktop. You can use CenOS that like paid version Red Hat Enterprise Linux server as server.

1.5 openSUSE and SUSE Enterprise linux system: http://www.opensuse.org/ and http://www.suse.com/

5

OpenSUSE is a free and Linux-based operating system for your PC, Laptop or Server. openSUSE is different with SUSE Linux Enterprise. SUSE Linux Enterprise is the premier Linux operating system for the enterprise.

SUSE is a German-based, multinational, open-source software company. It is also the primary sponsor of the community-supported openSUSE Project which develops the openSUSE Linux distribution.

Fig. 6 openSUSE Desktop

The openSUSE distribution is a stable, easy to use and complete multi-purpose distribution. The latest release, openSUSE 13.1, features new and massively improved versions of all useful server and desktop applications. It comes with more than 1,000 open source applications.

The openSUSE server included Apache web server (SSL-capable), Postfix mail server with SMTP-AUTH and TLS, BIND DNS server, Proftpd FTP server, MySQL server, Dovecot POP3/IMAP, Quota and .

SUSE Linux Enterprise Server provides SAP, Point of Service, VMware, Amazon EC2, Azure and so on.

2. Internet Applications in Linux OS

The most Linux Servers support and provide Internet Applications that included Web server, Email Server, Database MySQL server, FTP, firewall and Domain Name Server.

2.1 Open Sources Web server

6

The Web Server in the Linux operation system is an import application of the Internet Application. There are six different web servers freely provided by the open source community for Linux. The six Web Servers are Apache HTTP Server, Nginx, Lighttpd, Cherokee, HTTP Explorer and HFS HTTP File Server.

Apache is the most commonly used Web Server on Linux systems. Web Servers are used to serve Web Pages requested by client computers. The Apache HTTP Server Version 2.4 has been installed in the Ubuntu Linux. Now you can test Apache to ensure it is working properly. Open up any web browser and then enter the following into the web address: http://localhost/. You will see a message saying “It works”.

Fig. 7 “It works” Web page on Ubuntu Server.

Apache HTTP Server is configured by placing directives in plain text configuration files. The main configuration file is usually called httpd.conf. The httpd configuration files contain one directive per line. You can edit these configuration files for Web Server.

2.2 Email Server

The sendmail is the oldest and most widely-used mail transfer agent (MTA). Postfix is the default Mail Transfer Agent (MTA) in Ubuntu. It attempts to be fast and easy to administer and secure. It is compatible with the MTA sendmail. By default Postfix will use mbox for the mailbox format.

The configuration parameters will be stored in /etc/postfix/main.cf file. Postfix is configured for SMTP-AUTH and a self-signed certificate has been created for TLS (Transport Layer Security) encryption. Postfix supports two SASL(Simple Authentication and Security Layer) implementations Cyrus SASL and Dovecot SASL. To enable Dovecot SASL the dovecot- common package will need to be installed. Postfix for SMTP-AUTH is using the mail-stack-

7

delivery package. This package will install Dovecot and configure Postfix to use it for both SASL authentication and as a Mail Delivery Agent (MDA). The package also configures Dovecot for IMAP, IMAPS, POP3, and POP3S.

Fig. 8 Postfix Configuration: Mail Transfer Agent (MTA) in Ubuntu.

SMTP-AUTH configuration is complete. You test the Mail Servers setup , firewall and troubleshooting.

2.3 Domain Name Server

Domain Name Service (DNS) is an internet service that maps IP addresses. We can use Linux as a DNS. It performs very well. BIND stands for Berkley Internet Naming Daemon. BIND should be installed for DNS in the Linux system.

All the DNS configurations are stored under /etc/bind directory. The primary configuration is /etc/bind/named.conf which will include other needed files. You need configure Primary/Master Nameserver on /etc/bind/db, build the forward resolution and reverse resolution. You can also use nslookup and dig to test DNS servers.

The sample of the record for ns.example.com in new zone file /etc/bind/db.example.com is the following:

; ; BIND data file for example.com ; $TTL 604800 @ IN SOA example.com. root.example.com. ( 2 ; Serial 8

604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL IN A 192.168.1.10 ; @ IN NS ns.example.com. @ IN A 192.168.1.10 @ IN AAAA ::1 ns IN A 192.168.1.10

The samples of common record types in DNS are as follows:

A record: This record maps an IP Address to a hostname. www IN A 192.168.1.12

CNAME record: Used to create an alias to an existing A record. You cannot create a CNAME record pointing to another CNAME record. web IN CNAME www

MX record: Used to define where email should be sent to. Must point to an A record, not a CNAME.

IN MX 1 mail.example.com. mail IN A 192.168.1.13

NS record: Used to define which servers serve copies of a zone. It must point to an A record, not a CNAME. This is where Primary and Secondary servers are defined.

IN NS ns.example.com. IN NS ns2.example.com. ns IN A 192.168.1.10 ns2 IN A 192.168.1.11

Here is basic information about DNS for Linux OS. The more detail information about DNS can be found in reference books and system administration guides about DNS in Linux OS.

2.4 Database MySQL with PHP for Web Development in Linux OS

MySQL Community Edition is a freely downloadable version of the world's most popular open source database. Oracle offers multiple MySQL commercial editions to meet your business and technical requirements. The interface language of the MySQL database is the standard SQL (Standard Query Language) which allows for inserts, updates and queries of data stored in relational tables. Database MySQL has become an import section for Web development in Linux OS. The PHP will be good work with Apache and MySQL together.

9

Fig. 9 PHP information involved MySQL for Web Development

2.5 FTP (File Transfer Protocol) in Linux OS

The File Transfer Protocol (FTP) is a standard network protocol used to transfer computer files from one host to another host over a TCP-based network such as the Internet. The most Linux Servers support and provide FTP server. It is very easy to install and configure FTP server in Linux Servers. Most RedHat and Fedora Linux software product packages are available in the RPM format, whereas Debian and Ubuntu Linux use format installation files.

You can manage and start the FTP server (vsftpd). The configuration file is /etc/vsftpd.conf. VSFTPD runs as an anonymous FTP server. Unless you want any remote user to log into to your default FTP directory using a username of anonymous and a password that's the same as their email address, I would suggest turning this off. The configuration file's anonymous_enable directive can be set to no to disable this feature. You'll also need to simultaneously enable local users to be able to log in by removing the comment symbol (#) before the local_enable instruction.

The sample of vsftpd.conf is like as follows:

10

# Allow anonymous FTP? anonymous_enable=YES

... # The directory which vsftpd will try to change # into after an anonymous login. (Default = /var/ftp) anon_root=/data/directory ... # Uncomment this to allow local users to log in. local_enable=YES ... # Uncomment this to enable any form of FTP write command.

# (Needed even if you want local users to be able to upload files) write_enable=YES ...

# Uncomment to allow the anonymous FTP user to upload files. This only # has an effect if global write enable is activated. Also, you will # obviously need to create a directory writable by the FTP user. #anon_upload_enable=YES ...

# Uncomment this if you want the anonymous FTP user to be able to create # new directories. #anon_mkdir_write_enable=YES

... # Activate logging of uploads/downloads. xferlog_enable=YES ... # You may override where the log file goes if you like. # The default is shown below. xferlog_file=/var/log/vsftpd.log ...

FTP users only read to access and share FTP directories. Here is sample login to FTP Server.

[root@smallfry tmp]# ftp 192.168.1.100 Connected to 192.168.1.100 (192.168.1.100) 220 ready, dude (vsFTPd 1.1.0: beat me, break me) Name (192.168.1.100:root): user1 331 Please specify the password. 230 Login successful. Have fun. Using binary mode to transfer files. ftp>

11

You can upload and download files by using commands put and get. The often using commends are ls, quit and ftp.

FTP is a very useful Internet application that can have enormous benefit to a Web site or files need to be shared between user partners. You also can find more information about FTP security configurations in the Linux Administration Guides.

2.6 Firewall in Linux OS

There are many free firewall for Internet application in the Linux OS. The software includes UFW – Uncomplicated Firewall, , IPCop Firewall, , Vuurmuur, pfSense, IPFire, & SmoothWall Express, Endian, ConfigServer Security Firewall and so on.

UFW is the default firewall tool for Ubuntu servers. It is basically designed to lesser the complexity of the iptables firewall and makes it more users friendly. A of ufw, GUFW is also available for Ubuntu and Debian users. The Features of UFW included Supports IPV6, Extended Logging options with On/Off facility, Status Monitoring, Extensible Framework, Can be integrated with Applications, Add/Remove/Modify Rules according to your needs and so on.

Fig. 10 UFW firewall configurations in Ubuntu Linux OS

Iptables also is the most popular command line based firewall. IPTables is a rule based firewall and it is pre-installed on most of Linux operating system. By default it runs without any rules. IPTables was included in Kernel 2.4. The /etc/init.d/iptables is init script to start|stop|restart and save rulesets. The /etc/sysconfig/iptables is rulesets that are saved.

12

The Iptable commands handle filtering for IPv4, and ip6tables handle filtering for IPv6 for firewall. The Iptable commands display the Status of the Firewall, Stop / Start / Restart the Firewall, Delete Firewall Rules, Insert Firewall Rules, Save Firewall Rules, Restore Firewall Rules, Set the Default Firewall Policies, Drop Private Network Address On Public Interface, Blocking an IP Address (BLOCK IP), Block Incoming Port Requests (BLOCK PORT), Block Outgoing IP Address, Log and Drop Packets, Log and Drop Packets with Limited Number of Log Entries, Drop or Accept Traffic From Mac Address, Block or Allow ICMP Ping Request, Open Range of Ports, Open Range of IP Addresses, Established Connections and Restaring The Firewall, Help Iptables Flooding My Server Screen, Block or Open Common Ports and so on.

Fig.11 Firewall Configuration in Fedora

3. Other Linux Applications

3.1 Cloud Applications in Linux OS: OwnCloud 6

What's the cloud computing? The cloud computing means storing and accessing data and programs over the Internet instead of the computer's hard drive. These Cloud computing has used Web base to access the Cloud computer storages. Many large companies have provided Cloud Computing Services . These companies included Amazon, Microsoft, HP, IBM, Dell, Apple, AT&T and so on. Some companies have provided free Cloud storage or lower cost. I have free several accounts to use Cloud computing.

13

We also can use free Linux OS and limited computer resources to create your own private cloud. OwnCloud software is open source file sync and sharing application, available in a free community edition as well as an enterprise edition. It allows you to back up, share and manage files uploaded to the server. You can access your data files in the Cloud computing with the ownCloud server anywhere and anytime. I hope that we can provide the Cloud computing services to members of faculty, staff and students from ownCloud server on campus.

Fig. 12 Private Cloud Computing in OwnCloud Server

This Private Cloud Computing also lets you manage the calendar and contacts. The calendar link on the left side of the homepage lets you create events and share them with other users or groups.

OwnCloud installation is also flexible. We can choose from a wide variety of storage, and provide users different working space.

14

Fig.13 Calendar in OwnCloud Server.

3.2 FOG ((Free and Open Ghost) Application for computer administration

Ghost is a computer cloning program product sold in 1998 by Symantec. I had used this Ghost software to clone and backup PCs for Open Computer Labs in California State University, San Bernardino before 1998. The Ghost software was purchased from Skunkworks software.

Ghost is good software for computers that included servers’ clones and backup. Ghost software has been applied as tools to the computer administration. Many computer Servers and PCs have been cloned by Ghost software for computer administration in the Business Computer Services, San Jose State University from 1998 to 2010.

The free open sources ghost (FOG) has been developed to promoter ghost cloning programs applications further. FOG can deploy both Windows and limited Linux images. FOG is good for anyone running Windows XP, Vista and 7. FOG is currently being used by many schools and small businesses who can't afford the licensing of commercial products.

I have been successful to install the FOG Server 0.32 in the Linux Ubuntu 12.04. I would like to provide my work experiences on Linux Ubuntu 12.04 and FOG Server 0.32 to you for reference.

FOG uses TFTP, PXE (Preboot EXecution Environment) and client MAC addresses as its core components. The Figure 14 showed accessing our FOG Server (http://130.65.55.201/fog/management/index.php) by php-based Web Interface in the Linux Ubuntu Operation System.

15

Fig. 14 Accessing our FOG Server (http://130.65.55.201/fog/management/index.php) by php- based Web Interface.

The FOG server, by default, provides DHCP, NFS, PXE, FTP, HTTPD, and WOL services to the clients on the network. FOG is easy to access. All you need is a web browser to image a computer, no client software required. Administrator will be easy to controls all the tasks of the FOG server. The Administrator can be any web enabled device from mobile tablet, iPad an iPod running IE.

FOG relies on the network's DHCP service to supply clients with DHCP options 66 (TFTP) and 67 (PXE server). The FOG installation can act as the network's DHCP server or you can use an existing DHCP server.

FOG tracks PCs entirely based on their MAC address. Hosts can be entered into FOG's database manually in the GUI, via an imported CSV file or automatically via a client-side command given during the PXE boot process.

FOG is centralized. Most of tasks done on FOG don't require the user to visit the client PC. For example if you imaging a computer all you need to do is starting the task. After the task is started WOL will turn the computer on if it is off, PXE will load the OS, DHCP will give it an IP address, FOG will tell the server it is in progress, and will image your computer. Then when imaging is done FOG will tell PXE not to boot the machine to the fog image and your computer boots up. After the computer is booted, if the FOG service is installed, FOG will change the computer's hostname and that computer is ready to use!

16

FOG is easy to access. All you need is a web browser to image a computer, no client software required. We have heard of organizations using FOG who image computers from an iPad, iPod, and iPhone.

FOG is Powerful. With features like virus scanning, memory testing, disk wiping, test disk, and file recovery, FOG does more than just imaging.

Fig.15 General Information Homepage on the FOG.

As mentioned previously, FOG is administered entirely through a web interface. After logging in you are greeted with a System Overview page that shows you usage statistics for the FOG system.

The more detail information about User Management, Host Management, Group Management, Image Management, Storage Management, -in Management, Printer management, FOG Configuration, Task Management, Report Management, and Other information in FOG can be found reference report: Zhi-Xue Xu, “FOG (Free and Open Ghost) Application for Computer Administration”, April 18, 2013.

3.3 Virtual Computer Applications

A virtual machine (VM) is a software implementation of computers which operating system (OS) installed and run. The virtual machine typically emulates physical computers.

Administrators can take advantage of virtual computers to simply backups and disaster recovery.

17

The virtualization technology has been applied to Linux OS. We can create Virtual computer desktops and servers in the Linux OS by virtualization software from VMware, Oracle, and Citrix.

VMWare is the most popular virtualization software. VMware allows you to create and use virtual machines. VMWare additionally provides technical resources for setting up and using its various products. VMWare products run on both Windows and Unix/Linux OS well. VMware is commercial software product. You will be required to purchase the licenses of VMware products.

Oracle VirtualBox is also the professional virtualization solution that is freely available as Open Source Software under the terms of the GNU General Public License (GPL) version 2. In simple terms, both Linux OS and VirtualBox are free of cost. Here I only introduce Oracle VirtualBox for the virtual Ubuntu Linux computers because I didn’t have budget and funds to purchase any licenses of VMware products.

I have installed VirtualBox on Ubuntu operation system to create virtual Windows 7, 8 desktops and 2003 Server.

First, I download Virtualbox from https://www.virtualbox.org/wiki/Downloads, and Unpack the package and install VirtualBox on Ubuntu 13.04 Desktop. After installation of VirtualBox you can run VirtaulBox in Ubuntu Linux System 13.04 desktop.

Fig. 16 Running VirtaulBox in Ubuntu Linux System 13.04 desktop

18

The Oracle VM VirtualBox Manager window will be displayed as follows.

Fig. 17 Oracle VM VirtualBox Manager

Now you can install virtual computers. I installed virtual Windows 7 desktop in Linux Operation System.

Fig. 18 Installing virtual Windows 7 in Linux Operation System

19

Fig. 19 Login screen for Virtual Windows 7.

I also tried to install virtual Windows 8 in the Linux OS by VirtualBox. The Virtual Windows 8 was running very well.

Fig. 20 Login Scree in Virtual Windows 8 computer in Linux OS

20

Fig. 21 Virtual Windows 8 is working on Ubuntu Linux operation system

I had finished installing virtual Windows 2003 server in Linux OS.

Fig.22 Login screen in Virtual Windows 2003 Server in Linux OS

21

Fig. 23 Running Virtual Windows 2003 Server on Ubuntu Linux Operation System

All virtual Windows 7, 8 computers and Windows 2003 server were running very well. I was glad that I didn’t spend the cost for virtualization software and Linux OS.

3.4 Linux Video Captures

Linux Video Capture will be included Linux view endpoint (Cameras, Video output and input, and recording), codec, live streaming web broadcast, streaming video server, video content server, video format convert and transfer, and video show and sharing.

3.4.1 View EndPoint (Cameras, Video output, and Video recording)

A. Linux WebCam

A webcam is a video camera. A webcam is generally connected by a USB cable, FireWire cable, or similar cable, or built into computer hardware. Many laptops, tablets and smart Cell phones have been built the WebCam. WebCam is e lowest cost

Linux WebCam has been used and applied to video links for video output, video phone, videoconference and video recording. There are a lot of software and Linux drivers to support WebCam applications for Videoconference, Video Chat, Video Live Web broadcast and Video Recording. The Videos by using WebCam has been showed and sharing in Facebook and youtub web sites very well.

22

Fig. 24 Linux WebCam for Video Call in Skype

B. Linux Android Camera in Smart Cell phones

Smart Cell phones are special mobile phones. The operation system of Smart Cell phones was using Android that based on Linux kernel. It has some computer applications that included Wi-Fi, Web browsing, media player, GPS navigation and digital cameras for photo and video. The digital cameras on Smart phones are easy to use, and record the video. The video recording can be saved to the memory in the Smart Phone or external SD memory cards. These video records can be transferred to the Video Server or publish on the Web site, Facebook and YouTube.

Fig. 25 Linux Android Camera in Smart Cell phones

C. Linux IP Camera

The Linux IP camera is used to connect to Internet by using Ethernet or Wi-Fi. The typical Linux IP camera included varifocal lens, Microphone, Video Output, Micro SD slot, Ethernet port and terminal block for external input and output devices.

23

Fig. 26 The Ethernet port connections of Linux IP Camera in the network system

Many Linux HD IP Cameras as view endpoint have been used and applied to Linux video capture. The computer servers or clients can control and manage Linux IP Camera in the network system. Now the Linux IP Camera also can provide live streaming web broadcast.

D. Linux CCD color digital camera

We also can use Linux CCD color digital camera in the View Endpoint.

Both CCD (charge-coupled device) and CMOS (complementary metal-oxide semiconductor) Technology have applied to digital cameras. The most digital Webcam and IP Camera are using CMOS Technology, because CMOS sensors are much less expensive to manufacture than CCD sensors. The CMOS Technology has been developed very well to Webcam and IP Camera.

The CCD cameras create high-quality, low-noise images. The CMOS cameras, traditionally, are more susceptible to noise. The expensive CCD cameras still are applied to astronomy and science researches.

We can see that CCD Cameras tend to be used in cameras that focus on high-quality images with lots of pixels and excellent light sensitivity. The CMOS cameras are usually less expensive and have great battery life. CMOS cameras traditionally have lower quality, lower resolution and lower sensitivity.

24

The CCD color digital camera has been used in the Linux operation system. Linux CCD color digital cameras have been applied to view endpoint for High Resolution Video.

Fig. 27 Color CCD Camera

3.4.2 Linux Video Codec

A codec is a device or computer program capable of encoding or decoding a digital data stream or signal. Linux video codec is a program for video encoding and decoding. These codecs are made available through libraries such as the libav/ffmpeg libraries. Media players available such as VLC and Mplayer make use of these libraries in order to provide support for playback of files encoded through these many different codecs.

FFmpeg, http://www.ffmpag.org/ is a complete, cross-platform solution to record, convert and stream audio and video. It includes libavcodec - the leading audio/video codec library. libavcodec is a library containing decoders and encoders for audio/video codecs. FFmpeg is able to decode, encode, transcode, mux, demux, stream, filter and play pretty much anything in the Linux operation system.

Examle for ffmpeg2theora and oggfwd for Icecast2 Streaming Media Server:

Commend of Encode Videos:

ffmpeg2theora videoclip.avi (will write output to videoclip.ogv)

Commend of Live encoding from a DV camcorder (needs a fast machine):

dvgrab - | ffmpeg2theora -f dv -x 352 -y 288 -o output.ogv -0

Commend of Live encoding and streaming to icecast server:

dvgrab --format raw - \

| ffmpeg2theora -f dv -x 160 -y 128 -o /dev/stdout - \

25

| oggfwd iccast2server 8000 password /theora.ogv

Fig. 28 Video ogv format playing in the Website

MPlayer, http://www.mplayerhq.hu/ is a free software and open source media player. Mplayer is a movie player in the Linux OS. It supported most important video codecs, MPEG-4 ASP in all variants including DivX, OpenDivX (DivX4), DivX 5 (Pro), Xvid, MPEG-4 AVC aka H.264, and so on. You can watch VideoCD, SVCD, DVD, 3ivx, DivX 3/4/5, WMV and even H.264 movies by codecs.

26

Fig. 29 Mplayer is working in Linux OS

There are many good other video players, VLC Media Player, Xine, Kaffeine, and Totem for Linux OS.

You can install the ubuntu-restricted-extras package in Ubuntu Linux. You also can install the extra codecs provided by the libavcodec-extra-54 package in Debian Linux. The most useful codecs can be installed on Fedora Linux. This package contains a lot of the codecs you would usually need. Also if you try playing a media file that you don't have the codec for then you should get asked if you want to download it automatically.

The Linux video codecs are easy to use. Many media players are free and open sources.

3.4.3 Linux Live Streaming Web Broadcast

Live video retransmission on the internet, often called live video streaming, is a

The several work steps are processing for Linux Live Streaming Web Broadcast.

First, a video source is needed, which can be either digital such as webcams or analog, which requires digitizing through an AD capture converter before it can be streamed.

The second step is encoding. All encoders can output in RTMP live streaming (Flash). This includes broadcasting video software encoders such as Wirecast, Discover Video and also Adobe

27

Flash Media Live Encoder, which is a free download. Professional hardware encoders can also be used, such as the Niagara line, TriCaster, VBrick and TouchStream.

In the final step, the stream is sent to streaming video servers. The live streaming video is then distributed web server to any viewer with an internet connected device that included Laptop and mobile phone.

Fig. 30 Linux Live Streaming Web Broadcast

Many free open resources of software are developing and solving for Linux Live Streaming Web Broadcast.

(A) VideoLAN (VLC) Media Player: http://www.videolan.org/index.html

VLC is a free and open source cross-platform multimedia player, and provide the live stream video from webcam on Linux. Once a streaming server starts running, the webcam live feed is available at http://:8080/stream.wmv.

28

Fig. 31 VLC Media Player

(B) Nex Gen Media Server (NGMS): http://ngmsvid.com/

Nex Gen Media Server Lite (NGMS-Lite) is a completely free and versatile media streaming server. The Lite version of NGMS is able to deliver real-time video streams in the same variety of formats and protocols available in the full version. The features of NGMS will provide recording, https/SSL, SIP Video Calling, Vide Conferencing, Web Media Sharing and WebRTC interop.

(C) Flumotion: http:// www.flumotion.net/

Flumotion Streaming Software allows broadcasters and companies to stream content live and on demand in all the leading formats from a single server. Flumotion also offers

a Streaming Platform and WebTV which reduce workflow and costs by covering the entire streaming value chain.

29

Fig. 32 Flumotion Administration

3.4.4 Linux Streaming Video Server

(A) Linux Red5 Media Server http://www.red5.org/

Linux Red5 Media Server is a powerful video streaming server worked on RTMP protocal. Linux Red5 Media Server is open free sources Flash Server based on Java and other open source frameworks. . It provides a good solution to business of all sizes including Enterprises. Red5 includes support for the latest multi-users. Red5 supports Streaming Video (FLV, F4V, MP4, 3GP), Streaming Audio (MP3, F4A, M4A, AAC), Recording Client Streams (FLV and AVC+AAC in FLV container), Shared Objects, Live Stream Publishing, Remoting and Protocols: RTMP, RTMPT, RTMPS, and RTMPE.

Red5 Media Server can be installed on Linux Ubuntu, Debian, CentOS and RHEL.

30

Fig. 33 Demo, Red 5 of open free sources Flash Server

(B) Experimental Video Server: haxevideo, http://code.google.com/p/haxevideo/w/list

I am interested in free open sources applications for Linux Operation System. Two reasons are why I love to free open sources applications. First, I don’t need to cost any money to use software applications. Secondly, as IT consultant and software engineer I can more understand the applications’ design and concepts with based on sources codes, so that I will be easy to develop the software applications.

Here I would like to introduce Experimental Video Server: haxevideo. It is not actively supported or developped, and not production-ready. However, HaxeVideo is a multithread FLV streaming server entirely written using the Haxe programming language. The source code is very small and the server is lightweight (both CPU and memory) but very scalable. FLV is the format used by Flash. HaxeVideo support FLV video streaming, Webcam/Microphone recording and live streaming (for chat/web conferences). It is however a very small and extensible codebase to start building your own RTMP server.

3.4.5 Linux Video Content Server

(A) Streaming Video Content from VLC http://www.videolan.org/vlc/index.html

Linux VLC enables you to setup a simple, cost effective video storage and streaming

31 server in the network system. Using Linux as a video storage server can also allow you to stream videos over the network. Using the open source, multiplatform media player, it is quite easy to stream video content from your Linux server.

We can use VLC to create a simple video server in Linux OS. The installation of VLC in Linux OS will be easy. Once VLC is installed and working we will be able to begin creating a live video stream from Linux server. VLC is a very versatile application, and is prepared to playback almost any video format we can find. With VLC, we will be able to watch the video content from any computer with VLC installed, and control the playlist and playback settings from an intuitive web interface.

Fig. 34 VLC Content Server

(B) MediaTomb http://mediatomb.cc/

MediaTomb is an open source (GPL) UPnP MediaServer with a nice web user interface. It allows you to stream the digital media through the home network and listen to/watch it on a variety of UPnP compatible devices.

32

Fig. 35 Configuration on Web interface, MediaTomb

Linux has MythTV (which can also work as a server), VLC (Video LAN Client) and even an UPnP filesystem so that the contents of media servers appear as local files. You can also use Windows Media Player or even a web browser to browse and play your media.

Fig. 36 VLC can detect and play all files on any UPnP servers on the network.

MediaTomb is not only useful in a home environment - any organization that needs to make a number of multimedia files available over its network, such as educational videos for college, would be a prime candidate for using this software.

33

Fig. 37 MediaTomb's web interface for administration.

3.4.6 Linux Video Format converts and transfers

(A) HandBrake http://handbrake.fr/

HandBrake is Free and Open Source, a tool for converting video from nearly any format to a selection of modern, widely supported codecs for Multi-Platform that included Linux OS.

Get started with HandBrake in seconds by choosing a profile optimized for the device, or choose a universal profile for standard or high quality conversions, simple, Easy, Fast. For those that want more choice, tweak many basic and advanced options to improve the encodes.

34

Fig. 38 User Screen in HandBrake

(B) MiroVideoConverter http://www.mirovideoconverter.com/

The MiroVideoConverter convert almost any video to MP4, WebM (vp8), Ogg Theora, or for Android, iPhone, and iPad. Batch conversion, custom sizing, and more!

(C) ff multi converter

FF Multi Converter is a simple graphical application which enables you to convert audio, video, image and document files between all popular formats, using and combining other programs. It uses ffmpeg for audio/video files, unoconv for document files and PythonMagick library for image file conversions. The application is written in python and PyQt.

The goal of FF Multi Converter is to gather all multimedia types in one application and provide conversions for them easily through a user-friendly interface. Extra options will be gradually added.

35

Fig. 39 FF Multi Converter

(D) Avidemux: Linux Ubuntu repository

Avidemux is a free video editor designed for simple cutting, filtering and encoding tasks. It supports many file types, including AVI, DVD compatible MPEG files, MP4 and ASF, using a variety of codecs. Tasks can be automated using projects, job queue and powerful scripting capabilities.

36

Fig. 40 Avidemux in Linux Ubuntu

3.4.7 Linux Video show and sharing

3.4.7 Linux Video show and sharing

(A) Jinzora Media Server

Jinzora Media Server is an open source web-based media streaming and management system, written in PHP and licensed under the GNU General Public License (GPL). It can install on web servers supporting PHP in Linux. It can also be embedded in a content management system (CMS) or in another PHP-based application. Its Groupware feature even lets you create a social network or community to discuss, request, and rate content.

Jinzora's web interface doesn't only let you play or stream your media. It serves as an online media library, letting you create play lists and organize, search, and rate content. Content can be played directly from the web interface. It can also be accessed via an external software or hardware player using the Streaming mode or pushed out to a player with the Jukebox mode. Content can be transcoded or resampled to a media format or bit rate supported by the player.

37

Fig. 41 The browser in Jinzora Media Server

(C) Wizd Media Server

Wizd Media Server is an open source media server for Syabas-based media players and is released under Public Domain license. It runs on Linux, requiring less than 10 MB of disk space. It streams to most media players:

Fig. 42 The Brower in Wizd Media Server

(D) PHPmotion: FREE Video Sharing Software (Youtube Clone)

38

There is lots of paid software for Video Sharing outthere : ClipShare, Video Share, VideoScript and more … We can find a free video share site, PHP Motion. PHPmotion is a free video sharing script application that will allow you to create and own video sharing website.

We can now have website just like youtube.com and dailymotion.com, its 100% free to download and use. We can have a funny video share websites. We don’t have big budget, now it will be come true with own video sharing website.

PHP Motion is template based so it will be make easier to us to change the look and feel. It have solid forum where you can get tips and ideas from other members. Easy uploading of Videos directly from the user computer, Support for many formats including (mpg, avi, divx and more), View upload process as it happens, Edit video at anytime, change the title, description and tags, Delete Video at anytime allowing management of files, Make video public or private for those who don’t like to share, Allow or disallow video comments and also video embedding, and Allow or disallow embedding.

Fig. 43 PHPmotion login

39

References:

1. Zhi-Xue Xu, “Ubuntu Linux installations and Virtual Windows Computers by Oracle VirtualBox in Ubuntu Linux”, June 21, 2013.

2. Zhi-Xue Xu, “FOG (Free and Open Ghost) Application for Computer Administration”, April 18, 2013.

40