Total Pageviews

Search: This Blog, Linked From Here, The Web, My fav sites, My Blogroll

Translate

24 August 2009

Video and Audio Compression

from
A Practical Guide to Video and Audio Compression
Cliff Wootton 2005, Elsevier Inc.
ISBN: 0-240-80630-1


Intro


Video compression is all about trade-offs. Ask yourself what constitutes the best video experience for your customers. That is what determines where you are going to compromise. Which of these are the dominant factors for you?
  • Image quality
  • Sound quality
  • Frame rate
  • Saving disk space
  • Moving content around our network more quickly
  • Saving bandwidth
  • Reducing the playback overhead for older processors
  • Portability across platforms
  • Portability across players
  • Open standards
  • Licensing costs for the tools
  • Licensing costs for use of content
  • Revenue streams from customers to you
  • Access control and rights management
  • Reduced labor costs in production
You will need to weigh these factors against each other. Some of them are mutually exclusive.
The actual compression process itself is almost trivial in comparison to the contextual setting (the context in which the video is arriving as well as the context where it is going to be deployed once it has been processed) and the preprocessing activity. It is not necessary to use mathematical theory to understand compression.



What Is a Video Compressor?
All video compressors share common characteristics. In fact, these terms describe the step-by-step process of compressing video:
  • Frame difference
  • Motion estimation
  • Discrete cosine transformation
  • Entropy coding
Video compression is only a small part of the end-to-end process. That process starts with deciding what to shoot, continues through the editing and composition of the footage, and usually ends with delivery on some kind of removable media or broadcast system. In a domestic setting, the end-to-end process might be the capture of analogue video directly off the air followed by digitization and efficient storage inside a home video server. This is what a TiVo Personal Video Recorder (PVR) does, and compression is an essential part of how that product works.
  • There is usually a lot of setting up involved before you ever compress anything. Preparing the content first so the compressor produces the best-quality output is very important. A rule of thumb is that about 90% of the work happens before the compression actually begins.
The rule of thumb:
  • about 90% of the coverage is about things you need to know in order to utilize that
  • 10% of the time you will actually spend compressing video in the most effective way possible.
The word codec is derived from coder–decoder and is used to refer to both ends of the process—squeezing video down and expanding it to a viewable format again on playback.
Compatible coders and decoders must be used, so they tend to be paired up when they are delivered in a system like QuickTime or Windows Media. Sometimes the coder is provided for no charge and is included with the decoder. Other times you will have to buy the coder separately. By the way, the terms coder and encoder in general refer to the same thing.

Hot-pluggable connections are those that are safe to connect while your equipment is turned on. This is, in general, true of a signal connection but not a power connection. Some hardware, such as SCSI drives, must never be connected or unconnected while powered on. On the other hand, Firewire interfaces for disk drives are designed to be hot pluggable.
It is important to know whether we are working with high-definition or standard-definition content. Moving images shot on film are quite different from TV pictures due to the way that TV transmission interlaces alternate lines of a picture.
Interlacing separates the odd and even lines and transmits them separately. It allows the overall frame rate to be half what it would need to be if the whole display were delivered progressively. Thus, it reduces the bandwidth required to 50% and is therefore a form of compression.
Interlacing is actually a pretty harsh kind of compression given the artifacts that it introduces and the amount of processing complexity involved when trying to eliminate the unwanted effects. Harsh compression is a common result of squashing the video as much as possible, which often leads to some compromises on the viewing quality. The artifacts you can see are the visible signs of that compression.
Because the sampling and compression of audio and video are essentially the same, artifacts that affect one will affect the other. They just present themselves differently to your ears and eyes.

This is content that is delivered to you as a continuous series of pictures and your system has to keep up. There is little opportunity to pause or buffer things to be dealt with later. Your system has to process the video as it arrives. It is often a critical part of a much larger streaming service that is delivering the encoded video to many thousands or even millions of subscribers. It has to work reliably all the time, every time. That ability will be compromised if you make suboptimum choices early on. Changing your mind about foundational systems you have already deployed can be difficult or impossible.

How we store video in files? Some applications require particular kinds of containers and will not work if you present your video in the wrong kind of file. It is a bit like taking a flight with a commercial airline. Your suitcase may be the wrong size or shape or may weigh too much. You have to do something about it before you will be allowed to take it on the plane. It is the same with video. You may need to run some conversions on the video files before presenting the contents for compression.

In the context of video encoding, we have to make sure the right licenses are in place. We need
rights control because the content we are encoding may not always be our own. Playback
clients make decisions of their own based on the metadata in the content, or they can interact
with the server to determine when, where, and how the content may be played. Your playback client is the hardware apparatus, software application, movie player, or web page plug-in that you use to view the content.

Where do you want to put your finished compressed video output? Are you doing this so you can archive some content? Is there a public-facing service that you are going to provide? This is often called deployment. It is a process of delivering your content to the right place

How your compressed video is streamed to your customers? Streaming comes in a variety of formats. Sometimes we are just delivering one program, but even then we are delivering several streams of content at the same time. Audio and video are processed and delivered to the viewer independently, even though they appear to be delivered together. That is actually an illusion because they are carefully synchronized. It is quite obvious when they are not in sync, however, and it could be your responsibility to fix the problem.

About the client players for which you are creating your content: Using open standards helps to reach a wider audience. Beware of situations where a specific player is mandated. This is either because you have chosen a proprietary codec or because the open standard is not supported correctly. That may be accidental or purposeful. Companies that manufacture encoders and players will sometimes advertise that they support an open standard but then deliver it inside a proprietary container.

You are likely to hit a few bumps along the way as you try your hand at video compression. These will manifest themselves in a particularly difficult-to-encode video sequence. You will no doubt have a limited bit rate budget and the complexity of the content may require more data than you can afford to send. So you will have to trade off some complexity to reduce the bandwidth requirements. Degrading the picture quality is one option, or you can reduce the frame rate. The opportunities to improve your encoded video quality begin when you plan what to shoot.



Conventions

  • Film size is always specified in metric values measured in millimeters (mm).
  • Sometimesscanning is described as dots per inch or lines per inch.
  • TV screen sizes are always described in inches measured diagonally. Most of the time, this won’t matter to us, since we are describing digital imagery measured in pixels. The imaging area of film is measured in mm, and therefore a film-scanning resolution in dots per mm seems a sensible compromise.
TV pictures generally scan with interlaced lines, and computers use a progressive scanning layout. The difference between them is the delivery order of the lines in the picture. Frame rates are also different.
The convention for describing a scanning format is to indicate the number of physical lines, the scanning model, and the field rate. For interlaced displays, the field rate is twice the frame rate, while for progressive displays, they are the same
For example, 525i60 and 625i50 describe the American and European display formats, respectively.

In the abbreviations we use, note that uppercase B refers to bytes, and lowercase b is
bits. So GB is gigabytes. When we multiply bits or bytes by each increment, the value 1000 is actually replaced by the nearest equivalent base-2 number. So we multiply memory size by 1024 instead of 1000 to get kilobytes.

The MPEG-4 part 10, otherwise known as H.264 codec, is part of a family of video encoders that is listed below
engineering people use the term H.264 and commercial or marketing people prefer AVC.

Further confusion arises during discussion of the Windows Media codecs, since they have been lodged with SMPTE for ratification as an open standard. All of the naming conventions in Table 1-3 have been used in documents about video compression and codecs: Unless it is necessary to refer to the Windows Media codec by a different alias, the term VC-1 will be used here as far as possible





We Need Video Compression?


There are quite a few products and services available today that just wouldn’t be possible without compression. Many more are being developed.

Delivering digital video and audio through the available networks is simply impossible without compressing the content first.
To give you some history, there has been a desire to deliver TV services through telephone networks for many years. Trials were carried out during the 1980s. Ultimately, they were all unsuccessful because they couldn’t get the information down the wire quickly enough. Now we are on the threshold of being able to compress TV services enough that they can fit into the bandwidth being made available to broadband users. The crossing point of those two technologies is a very important threshold. Beyond it, even more sophisticated services become available as the broadcast on-air TV service comes to occupy a smaller percentage of the available bandwidth. So, as bandwidth increases and compressors get better, all kinds of new ways to enjoy TV and Internet services come online. For example, a weather forecasting service
could be packaged as an interactive presentation and downloaded in the background. If this is cached on a local hard disk, it will always be available on demand, at an instant’s notice. An updated copy can be delivered in the background as often as needed. Similar services can be developed around airline flight details, traffic conditions, and sports results.


Compression Is About Trade-Offs

Compressing video is all about making the best compromises possible without giving up too much quality. To that end, anything that reduces the amount of video to be encoded will help reduce the overall size of the finished output file or stream.

Compression is not only about keeping overall file size small. It also deals with optimizing data throughput—the amount of data that will steadily move through your playback pipeline and get onto the screen.
  • If you don’t compress the video properly, it will not fit the pipe and therefore cannot be streamed in real time.
  • Reducing the number of frames to be delivered helps reduce the capacity required,but the motion becomes jerky and unrealistic. Keeping the frame count up may mean you have to compromise on the amount of data per frame. That leads to loss of quality and a blocky appearance. Judging the right setting is difficult, because certain content compresses more easily, while other material creates a spike in the bit rate required. That spike can be allowed to momentarily absorb a higher bit rate, in which case the quality will stay the same. Alternatively, you can cap the bit rate that is available. If you cap the bit rate, the quality will momentarily decline and then recover after the spike has passed. A good example of this is a dissolve between two scenes when compressed using MPEG-2 for broadcast TV services operating within a fixed and capped bit rate.


First We Have to Digitize

Although some compression can take place while video is still in an analog form,
  • we only get the large compression ratios by first converting the data to a digital representation Converting from analog to digital form is popularly called digitizing.
  • and then reducing the redundancy.
We now have techniques for digitally representing virtually every thing that we might consume.
The whole world is being digitized, but we aren’t yet living in the world of The Matrix.
Digitizing processes are normally only concerned with creating a representation of a view. Video structure allows us to isolate a view at a particular time, but unless we apply a lot more processing, we cannot easily isolate objects within a scene or reconstruct the 3D spatial model of a scene.

Software exists that can do that kind of analysis, but it is very difficult. It does lead to very efficient compression, though. So standards like MPEG-4 allow for 3D models of real-world objects to be used. That content would have the necessary structure to exploit this kind of compression because it was preserved during the creation process. Movie special effects use 3D-model and 2D-view digitizing to combine artificially created scene components and characters with real-world pictures. Even so, many measurements must still be taken when the plates (footage) are shot.


Spatial Compression
Spatial compression squashes a single image. The encoder only considers that data, which is self-contained within a single picture and bears no relationship to other frames in a sequence. This process we use it all the time when we take pictures with digital still cameras and upload them as a JPEG file. GIF and TIFF images are also examples of spatial compression. Simple video codecs just create a sequence of still frames that are coded in this way. Motion JPEG is an example in which every frame is discrete from the others.

The process starts with uncompressed data that describes a color value at a Cartesian (or X–Y) point in the image. Figure 2-1 shows a basic image pixel map. The next stage is to apply some run-length encoding, which is a way of describing a range of pixels whose value is the same.

Descriptions of the image, such as “pixels 0,0 to 100,100 are all black,” are recorded in the file. A much more compact description is shown in Figure 2-2. This coding mechanism assumes that the coding operates on scan lines. Otherwise it
would just describe a diagonal line.
The run-length encoding technique eliminates much redundant data without losing quality. A lossless compressor such as this reduces the data to about 50% of the original size,
depending on the image complexity. This is particularly good for cell-animated footage.

The TIFF image format uses this technique and is sometimes called LZW compression after its inventors, Lempel, Ziv, and Welch. Use of LZW coding is subject to some royalty fees if you want to implement it, because the concepts embodied in it are patented. This should be included in the purchase price of any tools you buy.

The next level of spatial compression in terms of complexity is the JPEG technique, which breaks the image into macroblocks and applies the discrete cosine transform (DCT). This kind of compression starts to become lossy. Minimal losses are undetectable by the human eye, but as the compression ratio increases, the image visibly degrades. Compression using the JPEG technique reduces the data to about 10% of the original size.


Temporal Compression
Video presentation is concerned with time and the presentation of the images at regular
intervals. The time axis gives us extra opportunities to save space by looking for redundancy
across multiple images.

This kind of compression is always lossy. It is founded on the concept of looking for differences between successive images and describing those differences, without having to repeat the description of any part of the image that is unchanged.

Spatial compression is used to define a starting point or key frame. After that, only the differences are described. Reasonably good quality is achieved at a data rate of one tenth of the original data size of the original uncompressed format. Research efforts are underway to investigate ever more complex ways to encode the video without requiring the decoder to work much harder. The innovation in encoders leads to significantly improved compression factors during the player deployment lifetime without needing to replace the player.

A shortcut to temporal compression is to lose some frames, however it is not recommended.
In any case, it is not a suitable option for TV transmission that must maintain the frame rate.


Why Do I Need Video Compression?
Service providers and content owners are constantly looking for new avenues of profit from the material they own the rights to. For this reason, technology that provides a means to facilitate the delivery of that content to new markets is very attractive to them. Content owners require an efficient way to deliver content to their centralized repositories. Cheap and effective ways to provide that content to end users are needed, too. Video compression can be used at the point where video is imported into your workflow at the beginning of the content chain as well as at the delivery end. If you are using video compression at the input, you must be very careful not to introduce undesirable artifacts. For archival and transcoding reasons, you should store only uncompressed source video if you can afford sufficient storage capacity.



Some Real-World Scenarios

Let’s examine some of the possible scenarios where video compression can provide assistance.
In some of these examples, video compression enables an entire commercial activity that simply would not be possible otherwise. We’ll take a look at some areas of business to see how compression helps them.


Mobile Journalism

News-gathering operations used to involve a team of people going out into the field to operate bulky and very expensive equipment. As technology has progressed, cameras have gotten smaller and easier to use. A film crew used to typically include a sound engineer, camera person, and producer, as well as the journalist being filmed. These days, the camera is very likely carried by the journalist and is set up to operate automatically.

Broadcast news coverage is being originated on videophones, mini-cams, and video enabled
mobile-phone devices. The quality of these cameras is rapidly improving. To maintain a comfortable size and weight for portable use, the storage capacity in terms of hardware has very strict limits. Video compression increases the capacity and thus the recording time available by condensing the data before recording takes place.
Current practice is to shoot on a small DV camera, edit the footage on a laptop, and then send it back to base via a videophone or satellite transceiver. The quality will clearly not be the same as that from a studio camera, but it is surprisingly good even though a high compression ratio is used.
Trials are underway to determine whether useful results can be obtained with a PDA device fitted with a video camera and integral mobile phone to send the material back to a field headquarters. The problem is mainly one of picture size and available bandwidth for delivery.


Online Interactive Multi-Player Games

Multi-player online gaming systems have become very popular in recent years. The realism of the visuals increases all the time. So, too, does the requirement to hurl an ever growing quantity of bits down a very narrow pipe. The difficulty increases as the games become more popular, with more streams having to be delivered simultaneously. Online games differ significantly from normal video, because for a game to be compelling, some aspects of what you see must be computed as a consequence of your actions. Otherwise, the experience is not interactive enough.

There are some useful techniques to apply that will reduce the bit rate required. For example, portions of the image can be static. Static images don’t require any particular bit rate from one frame to the next since they are unchanged. Only pixels containing a moving object need to be delivered. More sophisticated games are evolving, and interactivity becomes more interesting
if you cache the different visual components of the scene in the local player hardware and then composite them as needed. This allows some virtual-reality (VR) techniques to be employed to animate the backdrop from a large static image.

Nevertheless, compression is still required in order to shrink these component assets down to a reasonable size, even if they are served from a local cache or CD-ROM. New standards-based codecs will facilitate much more sophisticated game play. Codecs such as H.264 are very efficient. Fully exploiting the capabilities of the MPEG-4 standard will allow you to create non-rectangular, alpha-blended areas of moving video. You could map that video onto a 3D mesh that represents some terrain or even a face. The MPEG-4 standard also provides scene construction mechanisms so that video assets can be projected into a 3D environment at the player. This allows the user to control the point of view. It also reduces the bit rate required for delivery, because only the flat, 2D versions of the content need to be delivered as component objects. As the scene becomes more realistic, video compression helps keep games like FPS etc small enough to deploy online or on some kind of sell-through, removable-disk format.


Online Betting

Betting systems are sometimes grouped together with online gaming, and that may be appropriate in some cases. But online gaming is more about the interaction between groups of users and may involve the transfer of large amounts of data on a peer-to-peer basis.

Betting systems can be an extension of the real-world betting shop where you place your wager and watch the outcome of the horse race or sports event on a wall of monitor screens. The transfer of that monitor wall to your domestic PC or TV screen is facilitated by efficient and cheap video compression. Real-time compression comes to the fore here because you cannot introduce more than fractions of a second of delay—the end users have wagered their own money and they expect the results to arrive in a timely manner.

Another scenario could involve a virtual poker game. These are often based around VR simulations of a scene, but with suitable compression a live game could be streamed to anyone who wants to dial in and watch. Virtualizing a pack of cards is possible by simulating the cards on the screen, and a video-conferencing system could be used to enable observation of facial expressions of the other players in the game.


Sports and News coverage

Of all the different genres of content that broadcasters provide to end users, news and sports have some particularly important criteria that directly affect the way that video is compressed for presentation.

News and sports are both very information-rich genres. Archiving systems tend to be large in both cases because there is a lot of material available. The metadata associated with the content assists the searching process and also facilitates the digital rights management (DRM) process. The content is easily accessible and widely available, but the playback can be controlled. Video may need to be encrypted as well as encoded. Other technologies such as watermarking are used, and these present additional technical problems. In general, the rights protection techniques that are available impose further loads on an already hardworking compression system.

The nature of news content is that the material must be encoded quickly and presented as soon after the event as possible. The same is true of sports coverage, and services that present the highlights of a sporting event need to be able to select and encode fragments of content easily, quickly, and reliably. These demands lead to the implementation of very large infrastructure projects such as the BBC Colledia-based Jupiter system deployed in its news division. This facilitates the sharing of media assets as soon as they start to arrive. Editing by multiple teams at the same time is possible, and the finished packages are then routed to transmission servers in a form that is ready to deploy to the national TV broadcast service as well as to the Internet.


Advertising

Advertising on the Internet is beginning use video to present more compelling content. The newer codecs such as H.264 allow the macroblocks to be presented in quite sophisticated
geometrical arrangements. It is now feasible to fit video into the traditional banner advertising rectangles that have a very different aspect ratio from normal video. Creating the content may need to be done using video editing tools that allow non-standard raster sizes to be used.
More information about these standard sizes is available at the Interactive Advertising Bureau(IAB) Web site.


Video Conferencing
Large corporations have used video conferencing for many years. As far back as the 1980s,
multinational corporations were prepared to permanently lease lines from the telecommunications companies in order to link headquarters offices in the United States with
European offices. This generally required a dedicated room to be set aside and was sufficiently
expensive that only one video-conferencing station would be built per site. Only one group of people could participate at a time, and the use of the technology was reserved for important meetings.

Video conferencing can now be deployed to a desktop or mobile phone. This is only possible because video compression reduces the data-transfer rate to a trickle compared with the systems in use just a few years ago. Video conferencing applications currently lack the levels of interoperability between competing systems that telephone users enjoy for speech. That will come in time. For now, the systems being introduced are breaking new ground in making this available to the general public and establishing the fundamental principles of how the infrastructure should support it.
An example of an advanced video-conferencing user interface that supports multiple simultaneous users is available in the MacOS X version 10.4 operating system and is called iChat AV.


Remote Medicine
The use of remote apparatus and VR techniques for medicine is starting to facilitate so called
“telemedicine,” where an expert in some aspect of the medical condition participates in a surgical operation being performed on the other side of the world. Clearly there are issues here regarding the need for force feedback when medical instruments are being operated remotely. Otherwise, how can the operating surgeon “feel” what the instrument is doing on the remote servo-operated system? Game players have used force-feedback systems for some time. The challenge is to adapt this for other situations and maintain a totally synchronized remote experience. Video compression is a critical technology that allows multiple simultaneous camera views to be delivered over long distances. This will also work well for MRI, ultrasound, and X-ray-imaging systems that could all have their output fed in real time to a remote surgeon. The requirements here are for very high resolution. Xray images need to be digitized in grayscale to increased bit depths and at a much higher resolution than TV. This obviously increases the amount of data to be transferred.


Remote Education
Young people often have an immediate grasp of technology and readily participate in interactive games and educational uses of video and computing systems. The education community has fully embraced computer simulation, games, and interactive software. Some of the most advanced CD-ROM products were designed for educational purposes. With equal enthusiasm, the education community has embraced the Internet, mainly by way of Web sites. Video compression provides opportunities to deploy an even richer kind of media for use in educational systems. This enhances the enjoyment of consumers when they participate. Indeed, it may be the only way to enfranchise some special-needs children who already have learning difficulties.


Online Support and Customer Services
Online help systems may be implemented with video-led tuition. When designing and
implementing such a system, it is important to avoid alienating the user. Presenting users with an experience that feels like talking to a machine would be counterproductive. Automated answering systems already bother some users due to the sterile nature of the interchange. An avatar-based help system might fare no better and present an unsatisfying experience unless it is backed up by well-designed artificial intelligence.


Entertainment

Online gaming and betting could be categorized as entertainment. Uses of video compression
with other forms of entertainment are also possible. DVD sales have taken off faster than anyone could ever have predicted. They are cheap to manufacture and provide added-value features that can enhance the viewer’s enjoyment. The MPEG-4 standard offers packaging for interactive material in a way that the current DVD specification cannot match. Hybrid DVD disks with MPEG-4 interactive content and players with MPEG-4 support could herald a renaissance in content authoring similar to what took place in the mid-1990s with CD-ROMs.
The more video can be compressed into smaller packages without losing quality, the better the experience for the viewer within the same delivery form factor (disk) or capacity (bit rate). The H.264 codec is being adopted widely as the natural format for delivering high definition TV (HDTV) content on DVD and allows us to store even longer definition programs on the existing 5-GB and 9-GB disks.


Religion

All of the major religions have a presence on the Internet. There are Web sites that describe their philosophy, theology, and origins. Video compression provides a way to involve members of the community who may not be physically able to attend ceremonies. They may even be able to participate through a streamed-video broadcast. This may well be within the financial reach of medium to large churches, and as costs are reduced, even small communities may be able to deploy this kind of service. There are great social benefits to be gained from community-based use of video-compression systems. Such applications could be built around video-conferencing technologies quite inexpensively.


Commerce

Quite unexpectedly, the shopping channel has become one of the more popular television
formats. This seems to provide an oddly compelling kind of viewing. Production values are very low cost, and yet people tune in regularly to watch. Broadcasting these channels at 4.5 megabits per second (Mbps) on a satellite link may ultimately prove to be too expensive. As broadband technology improves its reach to consumers, these channels could be delivered at much lower bit rates through a networked infrastructure.

A variation of this that can be combined with a video-conferencing system is the business-to-business application. Sales pitches; demos; and all manner of commercial meetings, seminars, and presentations could take place courtesy of fast and efficient video compression.


Security and Surveillance

Modern society requires that a great deal of our travel and day-to-day activity take place under surveillance. A commuter traveling from home to a railway station by car, then by train, and then on an inner-city rapid-transit system may well be captured by as many as 200 cameras between home and the office desk. That is a lot of video, which until recently has been recorded on VHS tapes, sometimes at very low resolution, at reduced frame rates, and presented four at once in quarter-frame panes in order to save tape.

Newer systems are being introduced that use video compression to preserve video quality, increase frame rates, and automate the storage of the video on centralized repositories. By using digital video, the searching and facial-recognition systems can be connected to the repository. Suspects can be followed from one camera to another by synchronizing the streams and playing them back together. This is a good thing if it helps to trace and then arrest a felon. Our legislators have to draw a very careful line between using this technology for the good of society as a whole and infringing on our rights to go about our daily lives without intervention by the state. You may disagree with or feel uncomfortable about this level of surveillance, but it will likely continue to take place.


Compliance Recording

Broadcasters are required to record their output and store it for 90 days, so that if someone
wants to complain about something that was said or a rights issue needs to be resolved, the evidence is there to support or deny the claim. This is called compliance recording, and historically it was accomplished through a manually operated bank of VHS recorders running in LP mode and storing 8 hours of video per tape, requiring three cassettes per day per channel. The BBC outputs at least six full-frame TV services that need to be monitored in this way. The archive for 90 days of recording is some 1620 tapes. These all have to be labeled, cataloged, and stored for easy access in case of a retrieval request. The TX-2 compliance recorder was built on a Windows platform and was designed according to the requirements of the regulatory organizations so that UK broadcasters could store 90 days’ worth of content in an automated system. The compliance recorder is based on a master node with attached slaves, which can handle up to 16 channels in a fly configured system. Access to the archived footage is achieved via a Web-based interface, and the video is then streamed back to the requesting client. This recorder could not have been built without video compression, and it is a good
example of the kind of product that can be built on top of a platform such as Windows Media running on a Windows operating system, or other manufacturer’s technology. Because this is a software-based system, the compression ratio and hence the capacity and quality of the video storage can be configured. Less video but at a higher quality can be stored, or maximal time at low quality. The choice is yours.


Conference Proceedings

Using large-screen displays at conferences is becoming very popular. These are being driven by a video feed shot by professional camera people, and the video is often captured and made available to delegates after the conference. Siggraph conference proceedings, for example, make significant use of compression to create the DVD proceedings disk, and the Apple developer conference proceedings have for some years been a showcase of Apple’s prowess with video workflow and production processes as well as its engineering work on codecs.


Broadband Video on Demand

During 2004, the BBC tested a system called the Internet Media Player (BBC iMP). This system presents an electronic program guide (EPG) over a 14-day window. The user browses the EPG listings and is able to call up something that was missed during the previous week. Alternatively, a recording can be scheduled during the next few days. In order to adequately protect the content, the BBC iMP trials are run on a Windows-based platform that supports the Windows Media DRM functionality. If the iMP player were used on a laptop connected to a fixed broadband service, the downloaded material could be taken on the road and viewed remotely. This enables video to be as mobile as music carried around on Walkman and iPod devices. Future experiments in the area of broadband-delivered TV will explore some interesting peer-to-peer file techniques, which are designed to alleviate the bandwidth burden
on service providers. For this to work, we must have reliable and robust DRM solutions, or the super-distribution model will fail to get acceptance from the content providers.


Home Theatre Systems

Hollywood movies are designed to be viewed on a large screen in a darkened room with a surround-sound system. There is now a growing market for equipment to be deployed at home to give you the same experience. The media is still mostly available in standard definition but some high-definition content is being broadcast already. More high-definition services will be launched during the next few years. Plasma, LCD, or LED flat screens are available in sizes up to 60 inches diagonal. If you want to go larger than that, you will need to consider a projection system. At large screen sizes, it helps to increase the resolution of the image that is being
projected, and that may require some special hardware to scale it up and interpolate the additional pixels. At these increased screen sizes, any artifacts that result from the compression
will be very obvious. Higher bit rates will be necessary to allow a lower compression ratio. Some DVD products are shipped in special editions that give up all the special features in order to increase the bit rate. The gradual advancement of codec technology works in your favor. New designs yield better performance for the same bit rate as technology improves. The bottom line is that compressing video to use on a standard-definition TV set may not be good enough for home-cinema purists.


Digital Cinema

Interestingly, the high-definition TV standards that are emerging seem to be appropriate for use in digital-cinema (D-cinema) situations. The same content will play in the domestic
environment just as easily. As high-definition TV becomes more popular and more people install home theatre systems, commercial cinema complexes will need to develop their
business in new ways. They will have to do this in order to differentiate their product and give people a reason to visit the cinema instead of watching the movie at home.



Platforms
With the increasing trends toward technological convergence, devices that were inconceivable
as potential targets for video content are now becoming viable. Science fiction writers have been extolling the virtues of portable hand-held video devices for years, and now the technology is here to realize that capability. In fact, modern third-generation mobile phones are more functional and more compact than science fiction writers had envisaged being available hundreds of years into the future. Handheld video, and touch-screen, flat-screen, and large-screen video, are all available here and now. They are being rolled out in a front room near you right this minute. What we take for granted and routinely use every day is already way beyond the futuristic technologies of the Star Trek crew.


Portable Video Shoot and Edit

Portable cameras have been around for a long time. Amateur film formats were made available to the consumer as 8-mm home movie products; they replaced earlier and more unwieldy film gauges. The 8-mm formats became increasingly popular in the 1950s and ‘60s. The major shortcomings of these were that they held only enough footage to shoot 4 minutes, and most models required that the film be turned over halfway through, so your maximum shot length was only 2 minutes. At the time, battery technology was less sophisticated than what we take for granted now, and many cameras were driven by clockwork mechanisms. These devices were displaced quite rapidly with the introduction of VHS homevideo systems in the late 1970s. Several formats were introduced to try and encourage mass appeal. But editing the content was cumbersome and required several expensive four-head video recorders. Just after the start of the new millennium, digital cameras reached a price point that was affordable for the home-movie enthusiast.

Now that the cameras can be fitted with Firewire interfaces (also called iLink and IEEE 1394), their connection to a computer has revolutionized the video workflow. These cameras use the digital video (DV) format that is virtually identical to the DVCAM format used by professional videographers and TV companies. The DV format was originally conceived by Sony as digital 8-mm tape for use in Sony Handycam® recorders. The current state of the art that is represented by a system such as an Apple Macintosh G4 12-inch laptop with a FireWire connection to a Sony DCR PC 105 camera. The camera and laptop fit in a small briefcase. This combination is amazingly capable for a very reasonable total purchase price of less than $3000. The Apple laptop comes already installed with the iMovie video-editing software that is sufficient to edit and then burn a DVD (with the iDVD application). You can walk out of the store with it and start working on your movie project right away. Of course, there are alternative software offerings, and other manufacturers’ laptops support the same functionality. Sony VAIO computers are very video capable because they are designed to complement Sony’s range of cameras, and the Adobe Premier and Avid DV editing systems are comparable to the Apple Final Cut Pro software if you want to use Windows-based machines.
This is all done more effectively on desktop machines with greater processing power. The laptop solution is part of an end-to-end process of workflow that allows a lot of work to be done in the field before content is shipped back to base.


Video Playback on Handheld Devices
Handheld video playback is becoming quite commonplace. There are several classes of device available depending on what you need. Obviously, the more sophisticated they are, the more expensive the hardware. There is a natural convergence here, so that ultimately all of these capabilities may be found in a single generic device. These fall into a family of mobile video devices that include
  • Portable TV sets supporting terrestrial digital-TV reception
  • Portable DVD viewers
  • Diskless portable movie players
  • PDA viewers

Video Phones
The new generation of mobile-phone devices is converging with the role of the handheld
personal digital assistant (PDA). These mobile phones are widely available and have cameras
and video playback built in. They also have address books and other PDA-like applications,
although these may be less sophisticated than those found in a genuine PDA. Some services were being developed for so-called 2.5G mobile phones, but now that the genuine 3G phones are shipping, they will likely replace the 2.5G offerings.


H.264 on Mobile Devices
H.264 is designed to be useful for mobile devices and consumer playback of video. Rolling this standard out for some applications must take account of the installed base of players, and that will take some time. So it is likely that, initially, H.264 will be used primarily as a mobile format.


The Ultimate Handheld Device

Taking the capabilities of a portable TV, DVD player, PDA, and mobile phone and integrating
them into a single device gets very close to the ultimate handheld portable media device. Well it might, if the capabilities of a sub-notebook computer are included. A fair use policy is now required for consumer digital video that allows us to transfer our legitimately purchased DVD to a “memory card” or other local-storage medium. These memory cards are useful gadgets to take on a long journey to occupy us as we travel, but the content owners are not comfortable with us being able to make such copies. There are still issues with the form factor for a handheld device like this. To create a viewing experience that is convenient for long journeys, we might end up with a device that is a little bulkier than a phone should be. Maybe a hands-free kit addresses that issue or possibly a Bluetooth headset. Usable keypads increase the size of these devices. Currently, it is quite expensive to provide sufficient storage capacity without resorting to an embedded hard disk. That tends to reduce the battery life, so we might look to the new storage technologies that are being developed. Terabyte memory chips based on holographic techniques may yield the power–size–weight combination that is required. Newer display technologies such as organic LED devices may offer brighter images with less
power consumed. Cameras are already reduced to a tiny charged cathode device (CCD)
assembled on a chip, which is smaller than a cubic centimeter. The key to this will be standardization. Common screen sizes, players, video codecs, and connection protocols could enable an entire industry to be built around these devices. Open standards facilitate this sort of thing, and there are high hopes that H.264 (AVC) and the other parts of the MPEG-4 standard will play an important role here.


Personal Video Recorders
Personal video recorders (PVRs) are often generically referred to as TiVo, although they are
manufactured by a variety of different companies. Some of them do indeed license the TiVo software, but others do not. Another popular brand is DirecTV.


Analog Off-Air PVR Devices
A classic TiVo device works very hard to compress incoming analog video to store it effectively and provide trick-play features. The compression quality level can be set in the preferences. The compromise is space versus visible artifacts. At the lowest quality, the video is fairly noisy if the picture contains a lot of movement. This is okay if you are just recording a program that you don’t want to keep forever—for example, just a time shift to view the program at a different time. If you want to record a movie, you will probably choose a higher-quality recording format than you would for a news program. The functionality is broadly divided into trick-play capabilities and a mechanism to ensure that you record all the programs you want to, even if you do not know when they were going to be aired. In the longer term, these devices scale from a single-box solution up to a home media server with several connected clients. This would be attractive to schools for streaming TV services directly to the classroom. University campus TV, hospital TV services, and corporate video-distribution services are candidates. Standards-based solutions offer good economies of scale, low thresholds of lock-in to one supplier, and good commercial opportunities for independent content developers.


Digital Off-Air PVR Devices

When digital PVR devices are deployed, recording television programs off-air becomes far
more efficient. In the digital domain, the incoming transport stream must be de-multiplexed,
and packets belonging to the program stream we are interested in are stored on a hard disk. The broadcaster already optimally compresses these streams. Some storage benefits could be gained by transcoding them. Note that we certainly cannot add any data back to the video that has already been removed at source. Future development work on PVR devices will focus on storing and managing content that has been delivered digitally. This is within the reach of software-based product designs and does not require massive amounts of expensive hardware.
There are complex rights issues attached to home digital-recording technology, and it is in constant evolution.


Mobile PVR Solutions

Another interesting product was demonstrated by Pace at the International Broadcasting
Convention (IBC) in 2004. It was a handheld PVR designed to record material being broadcast
using the DVB-H mobile-TV standard. Coupling this with the H.264 codec and a working DRM solution brings us very close to a system that could be rolled out very soon. Provided rights issues and the content-delivery technology can be developed at the front end, products such as the PVR2GO shown in Figure 2-10 could be very successful.



The Future
The technology that enables PVR devices is getting cheaper, and the coding techniques are pushing the storage capacity (measured in hours) ever upward. Nevertheless, not every household will want to own a PVR. In addition, the higher end of the functionality spectrum may only ever be available to users with a lot of disposable income. Some of the basic functionality may just be built into a TV set. As TV receivers are gradually replaced with the new technology, they ship with video compression and local storage already built in. Pause and rewind of live video, for instance, is very likely to be built into TV sets, and for it to be manufactured cheaply enough, the functionality will be implemented in just a few integrated circuits and will then be as ubiquitous as the Teletext decoders found in European TV sets.
Broadband connectivity is penetrating the marketplace very rapidly—perhaps not quite as fast as DVD players did, but in quite large numbers all the same. A critical threshold is reached when video codecs are good enough to deliver satisfactory video at a bit rate that is equal to or less than what is available on a Broadband connection. Indeed, H.264 encoding packed into MPEG-4 multimedia containers coupled with a PVR storage facility and a fast, low-contention broadband link is a potential fourth TV platform that offers solutions to many of the problems that cannot be easily solved on the satellite-, terrestrial- and cable-based digital-TV platforms. MPEG-4 interactive multimedia packages could be delivered alongside the existing digital-TV content in an MPEG-2 transport stream. Indeed, the standards body has made special provision to allow this delivery mechanism, and MPEG-4 itself does not need to standardize a transport stream because there is already one available.

13 August 2009

Ubuntu Desktop Computing Made Easy (Ubuntu 9.04)

This documentation is intended for folks that would like to add additional programs and applications to their Ubuntu Desktop installation making their overall experience similar to that of other well known operating systems (less the huge software expense).
Recommended: 1.3 GHz Pentium 4 or higher workstation with 1Gb physical memory, 256 Mb graphics card, 10/100 Ethernet card and 20+ Gb hard disk. If you install everything I've listed it takes up about 4 Gb on your hard drive (I use ext4 disk formatting but the default ext3 formatting is fine).



Multimedia functionality and collaborative applications are a big part of the Internet these days, this post is oriented towards installing useful codecs, plug-ins, programs and applications. Please keep in mind older computers may have video performance issues due to high CPU usage and increased memory requirements.

The easiest way to perform most of these installs is to copy and paste from this post into a terminal window (found in Accessories). I strongly suggest installing a few things at a time, testing each along the way.

  • Start by going to System > Administration > Software Sources > Check the first four boxes(leave Source code unticked) under the Ubuntu Software and Updates tabs > Close and Reload

Get all the available Ubuntu updates at this point, look for the update notification icon on the task bar. Reboot after updating your system and then install as many of the following as you wish...again, I suggest installing a few things at a time, testing each along the way.

  • If you're having slowness issues with the default repository go to System > Administration > Software Sources > Ubuntu Software tab > Download from: drop down menu > Other > click Select Best Server and when it finishes the query click Choose Server > Close and Reload.

Many of these installations require access to the Medibuntu Repository and enabling some additional software sources. Directions are on this site or if you have Ubuntu 9.04 "Jaunty Jackalope" simply do the following from a terminal window:

sudo wget http://www.medibuntu.org/sources.list.d/jaunty.list --output-document=/etc/apt/sources.list.d/medibuntu.list
sudo apt-get update && sudo apt-get install medibuntu-keyring && sudo apt-get update

Several codecs and plug-ins are needed for playing a variety multimedia formats correctly...(installing ubuntu-restricted-extras can sometimes be problematic, try this method if you've experienced issues).

sudo apt-get install gstreamer0.10-plugins-good
gstreamer0.10-plugins-bad gstreamer0.10-plugins-ugly
gstreamer0.10-ffmpeg gstreamer0.10-pitfdll
gstreamer0.10-plugins-bad-multiverse
gstreamer0.10-plugins-ugly-multiverse gstreamer0.10-fluendo-mp3
gstreamer0.10-gnonlin gstreamer0.10-plugins-farsight gstreamer0.10-sdl
gstreamer-dbus-media-service gstreamer-tools



Install these as well (some may be installed at this point, no worries)

$ sudo apt-get install realplayer w32codecs libdvdcss2 libxine1-ffmpeg
debhelper fakeroot libfftw3-dev jackd sidplay-base liblrdf0-dev
xsidplay mplayer avifile-divx-plugin avifile-xvid-plugin dh-make
g++-multilib g++-4.3-multilib gcc-4.3-doc libstdc++6-4.3-dbg cvs
gettext-doc jack-tools libjackasyn0 avifile-mad-plugin
avifile-mjpeg-plugin avifile-player avifile-utils avifile-vorbis-plugin
avifile-win32-plugin libcurl3-dbg libgcrypt11-doc libggi-target-emu
libggi-target-monotext libggimisc2 gnutls-doc gnutls-bin guile-gnutls
krb5-doc libraptor1-doc libstdc++6-4.3-doc mplayer-doc diff-doc

Last but not least...
$sudo apt-get install easytag faac faad ffmpeg ffmpeg2theora flac
gxine icedax id3tool id3v2 lame liba52-0.7.4-dev libavfilter0
libflac++6 libid3-3.8.3c2a libjpeg-progs libmozjs0d libmp4v2-0
libmpg123-0 libsox-fmt-alsa libsox-fmt-base libsox1 mpeg2dec
mpeg3-utils mpegdemux mpg123 mpg321 libamrnb3 libamrwb3 sox tagtool
toolame vorbis-tools gecko-mediaplayer


Install some fonts, Adobe Flash too…
sudo apt-get install msttcorefonts mplayer-fonts ttf-xfree86-nonfree xfs
sudo apt-get install flashplugin-nonfree

Install the latest Sun Java JRE
sudo apt-get install gsfonts-x11 java-common odbcinst1debian1
sun-java6-bin sun-java6-fonts sun-java6-jre sun-java6-plugin unixodbc


ATI and Nvidia Drivers and Desktop Effects

This requires some effort on the part of the user to know exactly what graphics card they have installed, use with caution and please read all applicable instructions or notes along the way.

The new Ubuntu 9.04 Jaunty Jackalope system comes with a Nouveau display graphic driver by default and the advanced effects cannot be used. If you've already tried to enable restricted Ubuntu drivers and ATI/nVidia cannot be found in the list try installing the ATI/nVidia driver with this tutorial:

1. Run Applications>Add/Remove
2. From the left menu choose System Tools
3. Next from the right menu, find and select for install: Desktop Effects (Compiz Setup) and ATI/Nvidia binary X.org Driver (nVidia could be version 173 or 177). Selecting the driver will get the list of supported graphics cards.
4. Click Apply Changes and after installation go to System>Administration>Hardware Drivers
5. The system will search for available drivers, choose the recommended option from the list and activate the driver by clicking Activate.
6. Restart your system and the new ATI/nVidia graphic display driver will be in use.

Unsupported updated versions of X.org drivers, libraries, etc. for Ubuntu https://edge.launchpad.net/~ubuntu-x...hive/x-updates

Note: Import the key and add the repositories for your specific distribution in System > Administration > Software Sources then run sudo apt-get update from a terminal window.

Compiz, Emerald and Screenlets

The default Ubuntu display setup lets you choose from None, Normal or Extra. Make it a lot more configurable with the CompizConfig Settings Manager...found in System > Preferences after installing the following:
sudo apt-get install compizconfig-settings-manager gnome-art usplash startupmanager compiz-fusion-plugins-main compiz-fusion-plugins-extra emerald screenlets librsvg2-common fusion-icon

Notes: Make sure you enable Visual Effects "Extra" (right click on your desktop, choose change Desktop Background and click on the Visual Effects tab) before adusting Compiz settings. Reset Compiz defaults by going into CCSM > Preferences > Profile & Backend > Click Reset to defaults.


Audacious is essentially a lot like WinAmp®.
sudo apt-get install audacious

Note: In order to open .m3u files with Audacious set Nautilus (preferences -> behavior tab) to always "view" the file and not ask.

Some folks like the Amarok player.
sudo apt-get install amarok

Esperanza has excellent sound quality but somewhat questionable features and functionality.
sudo apt-get install esperanza xmms2

Kaffeine is my favorite DVD player software. (install realplayer w32codecs libxine1-ffmpeg and libdvdcss2 first).
sudo apt-get install kaffeine

Notes: In Kaffeine be sure to verify the decoder references under Settings and xine Engine Parameters to reflect the correct paths to Realplayer, Win32 codecs and your DVD drive. I ran into a folder permissions issue in my home folder when launching kaffeine, if you experience this very carefully use these commands from a terminal window:
sudo chown -R username:username ~/.kde (put in your "username")
sudo chmod -R 700 ~/.kde

VLC media player is a highly portable multimedia player for many audio and video formats.
sudo apt-get install vlc vlc-plugin-esd mozilla-plugin-vlc

Ardour is a digital audio workstation. record, edit and mix multi-track audio.
sudo apt-get install ardour

soundKonverter converts a large variety of audio formats into ones that you desire.
sudo apt-get install soundkonverter

Jokosher is a complete application for recording, editing, mixing and exporting audio.
sudo apt-get install jokosher

LMMS can produce music including loops, synthesizing and mixing sounds, arranging samples, etc.
sudo apt-get install lmms

Gnutella is a lot like Limewire or Morpheus (see Firewalls and avast! sections below before using).
sudo apt-get install gtk-gnutella

Frostwire is similar to Gnutella (see Firewalls and avast! sections below before using).
http://www.frostwire.com/

Note: Your Java JRE is not broken and the Frostwire package is not corrupt but there is a known issue that causes the install to fail when using the Ubuntu GDebi Package Installer. The latest release of FrostWire requires that you install it from a terminal window sudo dpkg -i frostwire-4.18.1.i586.deb Be aware that the program installs as the root user, when the application launches complete the install process and then relaunch as the current user from Applications > Internet > FrostWire. You should have complete functionality now, customize as desired.

Streamripper will allow you to download internet radio station broadcasts.
sudo apt-get install streamripper

Shoutcast is a good place to shop for internet radio stations. http://www.shoutcast.com/

Vuze can be handy for things not found with Gnutella (see Firewalls and avast! sections below before using).
sudo apt-get install vuze

AceoneISO2 is a CD/DVD image manipulator for Linux (used primarily with .iso files).
http://www.getdeb.net/search.php?keywords=acetoneiso

DeVeDe creates video DVDs and CDs (VCD, sVCD or CVD) from video files in formats supported by MPlayer.
sudo apt-get install devede

K9copy is a free open source DVD backup, copying, compression and authoring utility (requires libdvdcss2).
sudo apt-get install k9copy

AcidRip for converting videos into popular formats.
sudo apt-get install acidrip

K3b is a feature-rich and easy to handle CD/DVD burning application.
sudo apt-get install k3b

Various compression/extraction and encoding/decoding utilities...
sudo apt-get install unace rar unrar zip unzip p7zip-full p7zip-rar sharutils aish uudeview mpack lha arj cabextract file-roller

avast! makes a very good anti-virus product for Linux it can be downloaded free for home use from http://avast.com/eng/download-avast-...x-edition.html You'll need the home user free registration key (emailed to you from their site). The key can be pasted into a terminal window after you type avast at a terminal command prompt. The gui icon is located in Applications > Accessories. Update the program frequently and scan all questionable downloads.

Setup your Gmail, Yahoo, AOL, Hotmail accounts in Thunderbird (use POP port 1024)
http://webmail.mozdev.org/index.html

Thunderbird is a light weight and very popular email client.
sudo apt-get install thunderbird

Filter out spam email in Thunderbird with SpamAssassin.
sudo apt-get install spamassassin

Sunbird is one of the best open source calendars.
sudo apt-get install sunbird lightning-extension

Skype lets you talk and chat with friends all over the world.
sudo apt-get install skype

Note: You might have to configure your Options > Sound Devices > Sound In/Sound Out within Skype and test with the Echo/Sound test Service. I also had to enable and adjust my Ubuntu Volume Controls > Preferences > Mic and Mic Boost settings.

Fonts, fonts and more fonts...for use in a variety of word processing applications (pick and choose).
sudo apt-get install ttf-larabie-straight ttf-larabie-deco xfonts-terminus-dos xfonts-terminus xfonts-terminus-oblique xfonts-mona tv-fonts ttf-tuffy ttf-sjfonts ttf-georgewilliams ttf-fifthhorseman-dkg-handwriting ttf-essays1743 ttf-opensymbol ttf-mgopen ttf-freefont ttf-dustin ttf-dejavu-extra ttf-dejavu-core ttf-dejavu ttf-bpg-georgian-fonts ttf-bitstream-vera equivs ttf-sil-gentium gnome-specimen

Note: Postfix is related to some of these fonts, be careful not to modify your Postfix configurations if you're using it for email purposes, otherwise use the default settings if/when prompted.

I typically don’t use the Arabic and Asian fonts, to remove them from a terminal window type:
sudo apt-get remove ttf-kochi-mincho ttf-kochi-gothic ttf-arabeyes ttf-arphic-ukai ttf-arphic-uming ttf-baekmuk ttf-bengali-fonts ttf-devanagari-fonts ttf-gentium ttf-gujarati-fonts ttf-indic-fonts ttf-kannada-fonts ttf-kochi-gothic ttf-lao ttf-malayalam-fonts ttf-mgopen ttf-oriya-fonts ttf-punjabi-fonts ttf-tamil-fonts ttf-telugu-fonts ttf-thai-tlwg ttf-unfonts-core ttf-indic-fonts-core ttf-wqy-zenhei

Note: Add them by simply using install instead of remove.

HP printer driver issues? http://hplipopensource.com/hplip-web/downloads.html

Adobe still makes one of the best .pdf viewers.
sudo apt-get install acroread acroread-fonts

PDFedit is editor for manipulating PDF documents.
sudo apt-get install pdfedit

AbiWord is a fast and easy to use word processing program similar to Microsoft® Word.
sudo apt-get install abiword

gLabels is a program for creating labels and business cards for the GNOME desktop environment.
sudo apt-get install glabels

iSpell comes in handy when spell checking documents from a terminal window
sudo apt-get install ispell

Wordnet is a comprehensive word database maintained by Princeton University
sudo apt-get install wordnet

The web interface for Wordnet is http://wordnetweb.princeton.edu/perl/webwn

FBReader is an e-book reader for various platforms.
sudo apt-get install fbreader

Dia is similar to Microsoft® Visio.
sudo apt-get install dia

GanttProject is a tool for creating a project schedule with Gantt and resource load charts.
http://ganttproject.biz/download.php

Planner for Gant charts and project plans.
sudo apt-get install planner

Scribus is a desktop publishing application.
sudo apt-get install scribus

Inkscape for illustrations.
sudo apt-get install inkscape

Gimp is an incredible image editing application.
sudo apt-get install gimp gimp-data-extras gimp-gap gimp-plugin-registry

Xara Xtreme is a user friendly vector graphics drawing program.
sudo apt-get install xaralx

Blender is open source software for 3D modeling, animation, rendering, interactive creation and playback.
sudo apt-get install blender

webKam is simple webcam application http://code.google.com/p/webkam-kde4/downloads/list

Elltube is a YouTube downloader and converter http://elltube.sourceforge.net/download

A complete Web Authoring System for Linux desktop users to rival programs like FrontPage and Dreamweaver.
sudo apt-get install kompozer

If you program in C\C++ languages you’ll need Build-Essential packages.
sudo apt-get install build-essential

Geany is a fast and lightweight IDE for programming in various languages.
sudo apt-get install geany

Vim may come in handy for file editing (gedit works good too).
sudo apt-get install vim-full vim-doc cscope

Cream is add-on software for Vim that adds ease of use and functionality.
sudo apt-get install cream

Gedit (Text Editor in Accessories) is installed by default but the plugins are not...
sudo apt-get install gedit-plugins

Note: Enable Gedit plugins in Edit > Preferences > Plugins.
The Gedit wiki is at http://live.gnome.org/Gedit

jEdit is a java based full featured editor (make sure you have Sun JRE installed).
sudo apt-get install jedit

Meld is a visual diff and merge tool.
sudo apt-get install meld

gFTP is a generic FTP client (port 21 is typical and consider file permissions when uploading).
sudo apt-get install gftp

Convert .rpm files to .deb http://www.howtoforge.com/converting...deb_with_alien
sudo apt-get install alien

Htop is a process manager to view available memory and CPU usage or manage running processes.
sudo apt-get install htop

Sysinfo is a simple program which displays your computer's system information.
sudo apt-get install sysinfo

HardInfo displays info about the hardware, software, and can perform simple benchmarks.
sudo apt-get install hardinfo

Byzanz records your desktop and saves it to animated GIF files (viewable in a web browser).
sudo apt-get install byzanz

Note: Byzanz is a panel applet and not listed in Applications, add it by right-clicking the panel and selecting Add to Panel > Desktop Recorder. Desktop effects have to be turned off to use Byzanz. More information is available by typing man byzanz-record from a terminal window.

Fish (the applet, not the shell) is a fun animated panel applet that tells fortunes.
sudo apt-get fortune-mod fortunes-min librecode0

Note: Add the panel applet by right-clicking the panel and selecting Add to Panel > Fish.

Wink creates advanced tutorials and presentations.
sudo apt-get install wink

Glipper is a clipboard manager for the GNOME panel.
sudo apt-get install glipper

Note: If Clipboard manager does not appear in the panel applet menu, in a terminal window cd /usr/lib/glipper then run ./glipper It should allow you to add it as a panel applet at this point. The keyboard shortcut is c

GNOME Commander is a "two-pane" graphical filemanager for the Gnome desktop environment.
sudo apt-get install gnome-commander

Add some useful features to nautilus...
sudo apt-get install nautilus-actions nautilus-gksu nautilus-image-converter nautilus-open-terminal nautilus-script-audio-convert nautilus-script-collection-svn nautilus-script-manager nautilus-sendto nautilus-share nautilus-wallpaper

NTFS Configuration Tool mounts NTFS drives (2000/XP/2003/Vista).
sudo apt-get install ntfs-config
gksudo ntfs-config

Note: Found in System > Administration.

luckyBackup...a powerful, fast and reliable backup & sync tool http://luckybackup.sourceforge.net/download.html

Partimage system backup, instructions can be found at: http://www.psychocats.net/ubuntu/partimage
sudo apt-get install partimage

KDE Partition Manager allows you to manage your disks, partitions and file systems:
sudo apt-get install partitionmanager

GParted is the GNOME partition editor for creating, reorganizing and deleting disk partitions.
sudo apt-get install gparted

Note: Documentation can be found at http://gparted.sourceforge.net/

Reconstructor will help you create your own Ubuntu based distribution http://www.reconstructor.org/index.p...tpage&Itemid=1

Defrag (or fidefrag I should say)

sudo apt-get install bzr python-psyco
bzr branch lp:fidefrag
cd fidefrag/src
sudo python fidefrag.py -d /

Note: It's not a good idea to defrag your whole system, some directories won't react very well. I typically defrag /usr (this one takes a long time), /var, /lib, /home, /etc, /bin and /sbin

Google Earth install: http://tombuntu.com/index.php/2009/0...h-5-on-ubuntu/

Show wallpaper or background color while logging in to Ubuntu: http://ubuntuforums.org/showthread.php?t=753261

Rainy days or a lot of time to kill?
sudo apt-get install frozen-bubble

Kids in the house?
sudo apt-get install gcompris gcompris-sound-en tuxpaint gnucap


Firewalls

Internet security is important these days and firewalls can be quite complex, hopefully the following will help...use only one of these two applications and please read all of the documentation first. Most people are already behind a broadband router configured to give you "TruStealth" protection on the internet...check your current protection at the Sheilds Up! link below before being too concerned.

ufw ("uncomplicated firewall" included with Ubuntu), by default is set to "allow" all network traffic, the wiki instructions are at https://help.ubuntu.com/community/Un...d_Firewall_ufw then sudo ufw enable the firewall at system startup.

Personally I would rather use the gui interface for ufw...
sudo apt-get install gufw

Firestarter is quite easy to configure https://help.ubuntu.com/community/Firestarter
sudo apt-get install firestarter

Load Firestarter at startup: http://www.ubuntugeek.com/firestarte...u-desktop.html
Note: In nano the ^ is the Ctrl key on most keyboards http://mintaka.sdsu.edu/reu/nano.html

Check your firewall protection at Sheilds Up! (click Proceed and use the All Service Ports option).
https://www.grc.com/x/ne.dll?bh0bkyd2

Wireshark is a full featured network protocol analyzer.
sudo apt-get install wireshark


Simple file encryption using GnuPG

From a terminal window in the directory where the file is stored:
gpg -c (encrypts, prompts twice for pass-phrase, creates )
gpg (decrypts, prompts for pass-phrase)

Notes: The source file can be deleted or moved after encryption. Sometimes when decrypting the pass-phrase prompt will pop-up behind the pinentry window. Type man gpg from a terminal window for more options. If you would like more advanced file encryption with keys and signatures visit http://www.gnupg.org/documentation/howtos.en.html for more information.

Advanced file encryption with GNU Privacy Assistant (use with caution and knowledge)
sudo apt-get install gpa


The Jaunty wiki can be found here http://ubuntuguide.org/wiki/Ubuntu:Jaunty

Ubuntu 8.10 (Intrepid Ibex) How-To http://www.funnestra.org/ubuntu/intrepid/

The UNR (Ubuntu Netbook Remix) wiki is here https://wiki.ubuntu.com/UNR

The Ubuntu Pocket Guide can be found at http://www.ubuntupocketguide.com/download_main.html

Ubuntu Desktop Essentials http://www.techotopia.com/index.php/...top_Essentials

Best 100 Open Source Applications http://ubuntulinuxhelp.com/top-100-o...-applications/

Best 50 Ubuntu Opensource Applications For Design And Developing http://www.emmaalvarez.com/2007/12/t...pensource.html

GetDeb software site for Ubuntu and Debian http://www.getdeb.net/

Gnome Desktop software site http://www.gnomefiles.org/

KDE-Apps.org http://www.kde-apps.org/

Cool wallpaper and more http://www.kde-look.org/


Procedure to enable WPA Wireless in Ubuntu

Sometimes wireless adapters (usually internal ones) don’t want to work right after the initial Ubuntu operating system install, even if the system recognises the hardware. The following should help if you’re in that situation.

If you have wired Internet connectivity update the software sources list sudo apt-get update

sudo apt-get install wpasupplicant (may already be installed)

sudo apt-get install network-manager-gnome network-manager (may already be installed)

sudo gedit /etc/network/interfaces Comment out the lines without “lo” entries (using #) and save the file, if you have just installed Ubuntu this may not be necessary.

Create a file by: sudo gedit /etc/default/wpasupplicant, add entry ENABLED=0 and save the file.

sudo touch /etc/default/wpasupplicant

Reboot your system.

When prompted to connect to a wireless network, select the desired one and enter in the key if necessary.


Maximus Issues (windows always maximize when an application is launched)

If you have a Netbook and auto maximize windows is driving you crazy try this from a terminal window: type gconf-editor then go to Apps > Maximus > check no_maximize


If Firefox windows open off screen or are too large to use, you may need to reset Firefox's controls and toolbars.

1. Close down Firefox completely: On the Firefox window, click the File menu then select Exit.
2. From a terminal window type: firefox -safe-mode
3. Firefox should start up with a Firefox Safe Mode dialog with options.
4. Check mark Reset toolbars and controls.
5. Click Make Changes and Restart to restart Firefox


Get your Trash Can and other desktop icons back...

The default for new installed Ubuntu is clean desktop. So, for example, if you want to get your Trash Icon back you need to change the default setting.

Step 1. Run Desktop Configuration Editor

Open Application > Accessories > Terminal and type gconf-editor.

Step 2. Change the value for trash_icon_visible

After the Desktop configuration Editor is displayed, open apps > nautilus > desktop and click the value for trash_icon_visible. This also works for your computer, home and network icons.


Setup Samba peer-to-peer with Windows http://ubuntuforums.org/showthread.php?t=202605

Install Samba stuff
sudo apt-get install samba samba-common samba-tools smbclient swat samba-doc samba-doc-pdf smbfs libpam-smbpass libsmbclient libsmbclient-dev winbind samba-dbg libwbclient0

Once Samba is installed you can setup a very basic shared folder as follows:

You’ll need to create Samba passwords with this command:

sudo smbpasswd -a USERNAME

Make a backup copy of the original smb.conf file, in case you make an error:

sudo cp /etc/samba/smb.conf ~

Add a share to the very end of the file:

sudo gedit /etc/samba/smb.conf

[mystuff]
path = /home/USERNAME/mystuff
available = yes
valid users = USERNAME
read only = no
browsable = yes
public = yes
writable = yes

(There should be no spaces between the lines, and note also that there should be a single space both before and after each of the equal signs.)

Save the file and restart samba with this command:

sudo /etc/init.d/samba restart

Use this command from a terminal window to check that your smb.conf doesn’t contain any syntax errors: testparm

Don't forget to create your shared folder and modify the permissions as needed. You may also have to allow specific IP address TCP/UDP access through your firewall as well. Keep in mind if security is an issue to read up a lot more on the topic.


How to setup remote access http://www.techotopia.com/index.php/..._Linux_Desktop


Web based workstation and application administration

webmin and usermin can be found at http://www.webmin.com/usermin.html


CommuniGate Pro

CommuniGate Systems' goal is to consolidate all forms of Internet Communications into one address space, making the single address for email, IM, VoIP and video calling, more productive, portable, and independent of tariffs and tolls of closed network topologies. https://www.communigate.com/forms/cg...re_you_buy.php


Alternative shells for Linux...

C, K, T, Z & Fish shells
sudo apt-get install csh ksh tcsh zsh fish

Bash Reference Manual http://www.gnu.org/software/bash/manual/bashref.html

chmod calculator http://www.javascriptkit.com/script/...chmodcal.shtml


Adding a Personal Package Archive (PPA) to your Ubuntu repositories

Adding a PPA to Ubuntu takes no more than a couple of minutes.

Step 1: Copy the lines from the apt sources.list entries section of the PPA overview page. For example:

deb http://ppa.launchpad.net/ubuntu-wine/ppa/ubuntu jaunty main
deb-src http://ppa.launchpad.net/ubuntu-wine/ppa/ubuntu jaunty main

Step 2: On your Ubuntu computer, open System > Administration > Software Sources.

Step 3: Click the Third Party Software tab.

Step 4: Click the Add button.

Step 5: Paste the individual lines copied in step 1 by clicking the Add Source button.

When prompted, reload the software sources information. Don't worry if you see a warning about unverified software sources; we're going to fix that next.

Adding the PPA's key to Ubuntu

Now Ubuntu knows about the PPA. It also needs to know how to check the software hasn't changed since Launchpad built it.

Note: This is not an endorsement of any of the software in PPAs. You must make sure you trust the PPA owner before installing their software.

Step 1: On the PPA's overview page you'll see the PPA's OpenPGP key id. It'll look something like this: 1024/12345678. Copy it, or make a note of, the portion after the slash, e.g: 12345678.

Step 2: Open your terminal and enter:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 12345678

Replace 12345678 with the key id you copied in step 1.

Step 3: Finally, tell Ubuntu to re-load the details of each software archive it knows about:

sudo apt-get update

You're now ready to install software from the PPA, using a tool such as apt-get in the Terminal or Synaptic.


Collection of useful commands...
---------------------------------------------------------------
Searching for Packages: apt-cache search some_string
Show Package Info: apt-cache showpkg xxx
Show Package Dependencies: apt-cache depends xxx
Install: apt-get install xxx
Re-Install: apt-get --reinstall install xxx
Remove: apt-get remove xxx
Remove All (configs too): apt-get remove --purge xxx
Upgrade: apt-get -u upgrade
Show Upgrades: apt-show-versions -u
Show All Installed Packages: dpkg --list
Find Package by File Name: apt-file search /bin/ping
Find filenames in a Package: apt-file list xxx
Updating the apt-file Cache: apt-file update
Info on Installed Package aptitude show xxx
System Hardware Info sudo lshw > hardware.txt

Linux Command Directory http://www.oreillynet.com/linux/cmd/

Linux Commands - A practical reference http://www.pixelbeat.org/cmdline.html

Linux Newbie Administrator Guide http://linux-newbie.sunsite.dk/

Clean up your system and free up space with sudo apt-get clean and sudo apt-get autoremove

If you're curious (like me) or have the need to know uname -a && cat /etc/*release in a terminal window will tell you the kernel version and release date, the distro id/release/codename/description.


Ok, about wine...in most cases a free Linux program will work just as well (and in many cases better) as apps on that other well known operating system...but then again there are a lot of folks that use wine...this wiki should help https://help.ubuntu.com/community/Wine

Three Ways to Install Latest Wine in Ubuntu 9.04 Jaunty Jackalope http://www.wine-reviews.net/wine-rev...ope/print.html

Wine Application Database (AppDB) http://appdb.winehq.org/