[KLUG Hardware] Re: More about DV -- A more "layman" article ...

Bryan J. Smith hardware@kalamazoolinux.org
08 Jun 2002 13:52:18 -0400


[ Will someone please _shoot_me_ for forgetting one of the "A"'s in
Kalamazoo over and over and over, again and again and again!1  ;-P ]

On Sat, 2002-06-08 at 12:40, Brian Ashe wrote:
> MPEGs are about as cross-platform as you can get. I have played them in
> Windows, Mac OS 9 & X (Quicktime 5 has good Quicktime support*), Linux,
> BeOS, and (I think) QNX. 

Yes.  MPEG is fairly standardized.  It's per-frame and inter-frame
compression, but designed so it can be played from any point --
especially MPEG-2.  Most other formats that are "lighter" only "refresh"
every 3-20s, so they look horrendous if you start in the middle of it.

> QuickTime has good Mac & Win support and works in Linux some with Crossover.

Yes, I have it.  It's sluggish running on even my dual-Athlon, but its
the only way to get the Qt/Sorenson codec.

> However, MPEGs generally look better, play better at full-screen (even on
> modest HW & no HW MPEG support), have better sound, and smaller files. 
> AVI is a big weird thing that I don't understand too much. As far as I know,
> it kind of serves as a wrapper for just about any codec you can think of
> (including DivX ;-), which is MPEG-4 based, AFAIK.)

Correct.  It's a general stream, very similar to the original
non-Sorenson Qt, that can encapsulate a number of encodings.  E.g.,
MJPEG, DivX, etc... -- even MPEG.  I have NOT run into an AVI file that
MPlayer ( http://www.MPlayerHQ.hu ) could NOT play under Linux, either
natively (which it _does_ do a number of AVI and DivX formats
_natively_), or c/o its extensive WINE-DLL codec package (i.e. a
collection of Win32 codecs that can be utilized under MPlayer c/o WINE).

There are also more "lossy" Windows formats such as ASF, WMV, etc... 
MPlayer plays those too.  There is a lot of overlap.

> Sometimes they play back fine on Macs, sometimes not. Sometimes the files
> are small and play back great full-screen (like when made with an
> All-In-Wonder Pro with ATI's VCR2 codec), sometimes they are huge and
> junky (like whatever my old Hauppauge card made--*gigantic* files that
> were very pixelated when played back full-screen). 

Yes, ATI has its own AVI sub-format.  I believe MPlayer includes those
WINE-DLLs too in its standard package.

> MPEG is also the basis of VCD (Video CD.)

VCD (352x240) and SVCD (480x480) are just two instances of MPEG-2.

> I have made VCDs and here is my recipe:
> Capture in VCD mode with an ATI TV-Wonder (PCI, $99) in Windows 2000.
> Capturing in Win98 was horrible--audio & video would drift out of sync after
> 5 minutes, would be a couple seconds out of whack after ~20 minutes, and
> would be whole sentences off by the end of a movie.

That's because Win/DOS uses timers to "task switch."  It has 0 priority
scheduling capabilities.  The overwhelming majority of other OSes, such
as Linux, Win/NT, etc..., have far better scheduling.  And we're not
even talking soft (let alone hard) real-time scheduling yet.

> Capping in w2k is great--I can consistantly get a whole movie with perfect
> sound and no dropped frames. bitrate is almost exactly 10 MB/min, so
> your average 90-100 minute movie comes in at about 1 GB.

At VCD, 352x240.  At that rate, only 5-8MBps are coming from the video
card, over the PCI bus (or AGP, which is a dedicated PCI bus with a few
tricks), to main memory, to CPU for compression to MPEG (or some AVI
format) and sub-1MBps back to main memory before going out DMA to disk. 
At NTSC 704|720x480, the rate is now 30-40MBps.  That's a _lot_ to slam
from card -> PCI -> memory -> CPU (and reduce).

That's why it's better to either do the compression at the card, or the
external device via MJPEG or DV.  The "stream" of 30-40MBps at high
resolution is now reduced to a more manageable 3-6MBps (varies with
MJPEG, fixed at 3.6MBps for DV) _before_ it hits the PCI bus. 
Additionally, you're not taxing your main CPU with compression -- hence
why 704|720x480 MJPEG/DV capture is feasible with 200MHz+ processors,
instead of requiring 500MHz+ processors just for 352x240 software
capture.

> I haven't fiddled with the settings much, but when I try to make a VCD with
> what ATI says is a VCD-format MPEG, it doesn't work. Luckily, I once upon a
> time spent $250 for an MPEG converter from Xing. I used to use it to change
> AVIs (capped with my old ATI All-in-wonder) into MPEGs but it will also
> convert an MPEG into a good VCD-happy MPEG. (It doesn't recompress the
> video, just demuxes the audio.) 

Analog capture Linux users have an utility set known as MJPEGTools.  It
can convert to/from a host of AVI formats (including DivX), MPEG
(including VCD/SVCD) and even DV now.  There are editors to go with it. 
The equivalent DV suites are coming along as well.

> Once I've run my capped MPEG through XING, it's ready for burning. Roxio's
> Easy CD Creator 5 (the store-bought version, not the lite one that comes
> with burners) does the trick and makes VCDs (~70 minutes of 352x240** MPEG)
> that will play in just about any consumer DVD player or on a computer,
> either with a VCD-playing app, or by just launching the individual MPEGs.

Okay, this is where I have a question.  Is it simply a matter of burning
an ISO with a .vcd file on it?  Or do you have to put an "information
file" with it for the player?  Or is it something completely different? 
I haven't done this yet, but wanted to start putting my Babylon 5
episodes to VCD as soon as I started purchasing the official tapes (I
believe being legal ;-).

> Yes, 70 minutes is not enough for any Hollywood movie, so I just keep my
> MPEGs on a server, ready to be viewed on any machine in the house. If
> desired, a computer can be built for $200-300 that can serve as a dedicated
> entertainment appliance and send full-screen video out to a TV. Quality is
> almost as good as a $70 VHS VCR. :-)

Correct.  From the DV docs I read, VCD (352x240 MPEG-2) is considered 2x
VHS (SP), and about the same as SVHS.  DV (720x480) is considered 10x.

> Final thought: in 2-4 years, burning full-screen DVDs will be affordable
> (both HW and media) and commonplace. 

Actually, at less than $300 (closing in on $250), 3rd generation DVD-RAM
drives are able to do 4.7GB DVD-R(G) today.  And they *DO* play in
standard DVD players.

> * and quicktime 6 *is* MPEG-4-based, though my first look shows you still
> have to use something else for audio. :-( 
> http://www.apple.com/quicktime/preview/quicktime6

Isn't MPEG-4 still being debated?  And Apple's selection might not be
the final?  I haven't followed this closely.  Or maybe I'm thinking of
Microsoft, who was the one that chose their own that did NOT become the
standard?  Or both of them did this?

> ** MPEG uses nonsquare pixels sometimes, so a 352x240 MPEG should be played
> back in a 320x240 (or any 4:3) window, despite the fact that it's apparently
> 10% wider. 

Yep.

-- Bryan

-- 
The community has created the fastest, most standards-compliant
web browser with extensive popup, cookie and privacy management.
But all the IT media can talk about is how it renders MSIE-only
sites a bit rough even though MSIE on Mac cannot even view them!
----------------------------------------------------------------
Bryan J. Smith, SmithConcepts, Inc.    mailto:b.j.smith@ieee.org
Engineers and IT Professionals      http://www.SmithConcepts.com