Movie Making on a Linux Box? No Way!
Despite the existence of binaries, one-third of the downloads that include Broadcast 2000 from heroinewarrior.com are source code. There are a number of reasons for this: you can learn about optimization strategies by passing different compiler flags; you can also get greater independence by re-enacting as much of the software development process as possible.
Building from scratch is very difficult and time consuming. Most of the libraries required in the executable are statically built by the master Makefile to greatly simplify compiling. In recent years however, many new point releases have emerged, compounding the home-compilation outlook. You need the include files for the following point releases:
XFree86 4.0.1. Linux Kernel version 2.2.17.
This can be done by issuing
./configure<\n> make make installin the top directory. There are undoubtedly going to be problems with newer Linux derivatives that we have not seen yet—and you may need to do some hand coding. If it does not build a point release, mismatch is the likely cause.
Issue the command /usr/local/bcast/bcast2000.sh to start Broadcast 2000.
Once installed, Broadcast 2000 can perform many operations with a myriad of configurations for each operation. The operations include many alternatives for video capture and audio capture. The system is designed to scale from basic audio to high bandwidth video, but this subjects users to incredibly detailed customization.
Configuration options are described in the /usr/local/bcast/docs directory. The biggest help is going to be trial and error until configuration profiles are developed.
Let us look at the three stages to a Broadcast 2000 session: acquiring footage, editing footage and saving a show.
Commenly, e-mails sent to support complain of being unable to load movie files. Most users want to load compressed Internet trailers, but in 1998 the Linux world came to a hard reality. None of the new compression formats were going to run on Linux. Since then we passed three generations of video on the Windows platform, but not a single one was licensed for Linux use.
The only videos that you are likely to play back are MPEG-1, uncompressed Quicktime and DV. Quicktime is not a single compression format. It is really a wrapper for many different video formats. Some of these formats are used in professional studios and some of them are fully supported in Linux. There is also support for loading high-resolution photographs, panning and zooming.
Then of course you can impart footage through video capture interfaces. In a practical sense, there is no footage on the Internet that you want to use in a show, and compression is never used as an intermediate format. When you leave the pure playback domain, all the footage is uncompressed and captured from some esoteric device.
Broadcast 2000 supports Video4Linux, Video4Linux 2, Firewire, LML33 and screencapture interfaces, which are customizable from half duplex audio recording to full duplex video recording. These hardware applications vary in the degree of difficulty of installation. Video capture is usually implemented in the kernel by patches, separate source code distributions, compilation and hand coding.
After aquiring footage, the biggest problem that people face is editing the interface. Unlike most of the current trends in GUI design, Broadcast 2000 uses a cut and paste strategy. This mechanism allowed precise editing for many years but seems to have shifted out of vogue.
Selecting video is best accomplished by scrubbing: fast-forwarding, rewinding and inserting labels. Then you select the region between the labels by double-clicking on the time bar. Selecting audio can be done just by looking at the waveform and highlighting. The key to success with Broadcast 2000 is the use of labels. Old-timers may remember something called “Soundedit 16”, which used the same label paradigm. Here we applied it to video.
Another e-mail that we often see in support is usually “can't isolate tracks for editing”. Once again an audio paradigm is applied to video. On old-fashioned 24-track audio decks you had 24 “input/repro” switches. This allowed selected tracks to play back while allowing different tracks to be recorded on. In Broadcast 2000 the ability to isolate tracks for editing and playback is provided by play and record toggles.
On each track there is a play and record toggle that allows just the single track to be affected by cursor selections. Editing is thus purely freestyle with audio tracks being interchangeable with video tracks.
The best part of all is that, when editing, the changes never affect the source files. This makes it possible to relocate hours of footage in an instant, and undo commands are limited to a high 500.
Getting Started with DevOps - Including New Data on IT Performance from Puppet Labs 2015 State of DevOps Report
August 27, 2015
12:00 PM CDT
DevOps represents a profound change from the way most IT departments have traditionally worked: from siloed teams and high-anxiety releases to everyone collaborating on uneventful and more frequent releases of higher-quality code. It doesn't matter how large or small an organization is, or even whether it's historically slow moving or risk averse — there are ways to adopt DevOps sanely, and get measurable results in just weeks.
Free to Linux Journal readers.Register Now!
|Secure Server Deployments in Hostile Territory, Part II||Jul 29, 2015|
|Hacking a Safe with Bash||Jul 28, 2015|
|KDE Reveals Plasma Mobile||Jul 28, 2015|
|Huge Package Overhaul for Debian and Ubuntu||Jul 23, 2015|
|diff -u: What's New in Kernel Development||Jul 22, 2015|
|Shashlik - a Tasty New Android Simulator||Jul 21, 2015|
- Secure Server Deployments in Hostile Territory, Part II
- Hacking a Safe with Bash
- KDE Reveals Plasma Mobile
- Huge Package Overhaul for Debian and Ubuntu
- Home Automation with Raspberry Pi
- Shashlik - a Tasty New Android Simulator
- The Controversy Behind Canonical's Intellectual Property Policy
- Embed Linux in Monitoring and Control Systems
- diff -u: What's New in Kernel Development
- General Relativity in Python