"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.
Version 0.6
Comment out the following segment in dc10.c:
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.
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.
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.
Linux 2.4.* Video4Linux 1
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.
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.
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.
In the other case you need to enable use software for positioning
information in the settings->preferences->audio out.
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.
Alternatively you reproduced an idiopathic bug in single frame playback
which causes it to freeze up, usually during Xena.
Unfortunately we don't have the resources to lay out a plan for users
on an individual basis. One thing you discover in the real world is
there never is an exact tool for every task but rather accomplishing it
depends on your ability to make a tool fit. The real question isn't
whether something can be accomplished but how do I use your tool to
accomplish it.
There are ways to get this information however. Many companies offer
"professional services". They can take your needs and spit out a
solution, often better than anything we can give you since they can
more thoroughy pinpoint what you want.
They make resources available for doing this by charging a fee but
consider the alternative of teaching yourself everything about
multimedia.
There's really one more question worth considering: what level of
expense should be involved in setting up the system? In pure computer
science you want to share as many libraries as possible with the
system, reuse code, but in practical environments there are limits on
the amount of code reuse you can achieve.
These limits are imposed by the amount of time available to finish a
project, the user's skill level, and the resources available to get
users up to speed. As with any reality TV show, when things leave the
textbook, things get
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:
PROBLEM: THE BTTV DRIVER LOCKS UP
Version 0.7
/*
* 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);
* }
* }
*/
The following derivatives of the bttv driver need to be replaced:
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.
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.
RECORDING 29.97fps DROPS FRAMES IN LINUX BUT WORKS FINE IN WIN95
#!/bin/sh
while : ; do
sync
sleep 1
done
Reason 1: You're using a derivative of the bttv driver which only allows
2 frames of buffering. The following derivatives defeat this problem:
MY BT8** CARD ISN'T CAPTURING D-1 RESOLUTION
Linux 2.2.* Video4Linux 2
The following derivatives of the bttv driver need to be hacked to support D-1
resolution:
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.
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.
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.
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.
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.
FEASABILITY STUDIES
IS SUCH AND SUCH A PROJECT DOABLE?
We get a lot of email requesting whether something can be accomplished,
the steps in doing it, what kind of system a person should build to
accomplish a certain task, how to build that system, how to budget for
a project. There are really extra questions involved in answering
that: is the solution cost effective? What level of basic computer
science does the user want to be exposed to?
WHY IS SUCH AND SUCH A LIBRARY STATICALLY LINKED
Many computer scientists have studied the directory structure to
Broadcast 2000 and come to the conclusion that most of the binary
should be split off and shared with libraries already present on their
system.
STUPID QUESTIONS