TROUBLESHOOTING

"Your professors are wrong. Every question is a stupid question." -- gcc version 2.95.2

Most of the problems userse encounter are due to operating system limitations. Since Linux was designed for embedded systems, video applications tend to go against the grain but there are ways around the compacted nature of the operating system.

RECORDING

PROBLEM: THE DC10/BUZ/ZORAN/LML33/MJPEG ETC DRIVER LOCKS UP
The following derivatives of the dc10/buz/zoran/lml33/mjpeg etc driver need to be patched:

Version 0.6
Version 0.7

Comment out the following segment in dc10.c:

/*
 * 			if (zr->codec_mode != BUZ_MODE_IDLE) {
 * 				if (v.norm != zr->params.norm || v.channel != zr->params.input) {
 * 					printk(KERN_ERR "%s: VIDIOCSCHAN called while the card in capture/playback mode\n", zr->name);
 * 					return -EINVAL;
 * 				} else {
 * 					printk(BUZ_WARNING
 * 					       "%s: Warning: VIDIOCSCHAN called while the card in capture/playback mode\n", zr->name);
 * 				}
 * 			}
 */

PROBLEM: THE BTTV DRIVER LOCKS UP
The following derivatives of the bttv driver need to be replaced:

Kernel 2.2.* Video4Linux 1

Replace the bttv.c file with the patched version of bttv.c at http://heroinewarrior.com/bcast2000.html to defeat most of the bttv lockups. Overwrite the copy of bttv.c in /usr/src/linux/drivers/char and recompile the kernel. This driver is omitted from the shipped kernel for various pedantic reasons.

TRYING TO RECORD FROM AN UNCOMPRESSED VIDEO SOURCE CRASHES IT
Reason 1: Issue echo "0x7fffffff">/proc/sys/kernel/shmmax to increase the amount of shared memory the operating system can allocate.

Reason 2: There are separate configuration settings for audio and video recording. If you select video4linux for video capture the audio may still attempt to capture from firewire. Be sure to set the preferences->audio in.

RECORDING SPITS OUT FRAMES AND THEN PAUSES AND THEN SPITS OUT FRAMES
Reason 1: Your using software compression, attempting a higher framerate and more compression than your computer is capable of. Lower the frame rate or compression quality or use a less demanding codec.

Reason 2: Your hard drive is too slow. Lower the framerate or use a smaller format.

Reason 3: Your hard drive is benchmarked fast enough but is still responding too slowly. Use the following script to flush the operating system's cache every second, ensuring more consistant hard drive performance.

#!/bin/sh

while : ; do
	sync
	sleep 1
done
RECORDING 29.97fps DROPS FRAMES IN LINUX BUT WORKS FINE IN WIN95
Reason 1: You're using a derivative of the bttv driver which only allows 2 frames of buffering. The following derivatives defeat this problem:

Linux 2.4.* Video4Linux 1
Linux 2.2.* Video4Linux 2

Load the Linux 2.4.0 Video4Linux 1 derivative with "gbuffers=32 gbufsize=0x100000" to allocate 32 frame buffers instead of 2.

In Linux 2.2 install the Video4linux 2 derivative of the bttv driver.

MY BT8** CARD ISN'T CAPTURING D-1 RESOLUTION
The following derivatives of the bttv driver need to be hacked to support D-1 resolution:

Linux 2.2.* Video4Linux 2

You need to hack btv/bttv-v4l2.c to support it. Change all the occurances of 640 in btv/bttv-v4l2.c to 720.

THE LML33 DRIVER PRODUCES GARBAGE ON THE LEFT SIDE OF THE FRAME OR DOESN'T FILL THE ENTIRE FRAME
The LML33 supports only 720x480 resolution. Be sure to set the frame size accordingly in File->new before you start to record.
RECORDING FROM MY FIREWIRE CAMCORDER DOESN'T WORK!
Reason 1: The operating system failed to detect the device when you loaded the firewire modules, which is normal. Linux1394 was mainly designed for computer networking not camcorders. You need to cancel recording and reload the modules until it works.

Reason 2: You power cycled your camcorder with the firewire modules loaded and the operating system failed to redetect the device. You need to cancel the recording and reload the firewire modules.

Reason 3: You plugged in your camcorder after the firewire modules loaded and the device was never detected. You need to cancel the recording and reload the firewire modules every time you power cycle the camera.

Reason 4: You're not playing any video on the camcorder. You need either live video or tape playback for the firewire system to work. Once you start playing video, you'll automatically get a picture.

Reason 5: The audio must be set to 16 bit. 12 bit audio can't be detected.

Reason 6: Maybe you don't really like short haired blonds.

PLAYBACK

NOT ALL THE IMAGES IN MY COMPOSITE ARE DISPLAYED!
The rendering strategy in settings->preferences->video is set to fastest rendering. In order to perform compositing you need to do something called alpha blending. Every option except fastest rendering enables alpha blending to varying degrees of quality.
THE TRACK VIEW AND POSITION INDICATOR FAIL TO KEEP UP WITH THE MOVIE!
You either have play every frame enabled in settings->preferences->video and your project contains audio or your sound driver doesn't work. In one case the position indicator locks to the audio position regardless of which video frame is being rendered and you need to disable playback on the audio tracks.

In the other case you need to enable use software for positioning information in the settings->preferences->audio out.

WHEN I DEINTERLACE A MOVIE I GET GHOSTS WHENEVER A SCENE CHANGES OR THERE'S FAST MOTION!
The two fields in an interlaced movie not only represent different pixels of the frame but different points in time, usually 1/60 seconds apart.

Your movie was compressed in such a way that the chrominance components for a single scan line are duplicated across two scan lines and thus two points in time. When you deinterlace it you see the chrominance components of one point in time applied to the luminance components of another point in time. A better alternative is to either scale the image to 1/2 or apply line average deinterlacing.

EDITING

PARTS OF THE AUDIO TRACKS ARE APPEARING EMPTY EVEN THOUGH THE TRACK WAS SELECTED DRAWABLE
The Number of index files to keep setting is too low. When you closed another Broadcast 2000 session it deleted index files which your current session needs to draw the waveform.

NOTHING I RENDER ENCODES ON REALPRODUCER
Render as RGB video and 16 bit audio to encode on that piece of crap.

AUDIO

WHY DON'T YOU SUPPORT MULTIPLE SOUNDCARDS?
Because there's no way to synchronize them. An offset of as little as 1/40000 seconds causes something called phase cancellation. 4 channel soundcards are already becoming ubiquitous anyway.

YOUR FSCKING SYNTHESIZER PLUGIN DOESN'T WORK!
Deselect "Disable tracks when no edits" in preferences->playback and select a region on the timeline to play back.

VIDEO

THE FRAMES LOOK COMPRESSED VERTICALLY OR HORIZONTALLY
Set the aspect ratio in video->resize to what the movie should be viewed in.

PLAYBACK JUST FREEZES UP AND DOESN'T STOP
You've got a plugin attached and configured to run impossibly slow. You should save the project, ctrl-C it on the command line, and reconfigure the plugin.

Alternatively you reproduced an idiopathic bug in single frame playback which causes it to freeze up, usually during Xena.

REVERSING VIDEO OR PLAYING VIDEO BACKWARDS PRODUCES GARBAGE
Some file formats like MPEG require temporal information to render frames, which isn't available when the file is read backward. Render the movie forward as Quicktime before reversing it.

RENDERING AND PASTING TO THE TIMELINE PRODUCES ONLY BLANK FRAMES
If a movie exceeds 2 GB during a render or recording only the last subfile is pasted into the project and the end padded with blank frames. You need to load from disk all the subfiles which made up the recording and concatenate them.

STUPID QUESTIONS