On Fri, 19 Dec 2003 [EMAIL PROTECTED] wrote:
> Ok. I noticed that for some chapters on the DVD, the average bitrate
> reported by mplex was almost 50% of the max bitrate! What does this mean?
Ah, I see my posting made it out - I never saw it come around.
> > After discarding 80 to 90% of the data what did you expect?
>
> What do you mean discarding 80-90%?
I'll use NTSC but the same arithmetic holds for PAL with slightly
different numbers.
DVDs have an encoded frame size of 720x480. A VCD has a frame size
of 352x240. Going from 480 lines to 240 is 50% right there. Then
horizontal scaling from 720 to 352 is half of what's left. Or as
a simple ratio: (352 * 240) / (720 * 480) = .244 or 24% of the
original data.
> Suppose I set bitrate to 9000kbps and -q 8, am I still discarding 80-90%?
Sure - see above ;)
> > Something like
> >
> > y4mscaler -O preset=VCD -S option=sinc:8
>
> I am using transcode's -Z 352x240 option to do the scaling. I didnt think I
> could use another scaler with transcode, can I?
Hmmm, the proper way to scale from DVD to VCD is crop 8 pixels from
each side and do a 2->1 down scale, not just 720->352. I don't know
if that's what transcode's scaling option is doing or not.
Similarily I do not know if transcode can hook into external scaling
programs.
The scaling is one of the crucial factors in downscaling from DVD to
smaller formats. There are many ways to do the scaling and they are
not equal - some trade off quality for speed for example. Others are
slow but more accurate (and from what I've seen y4mscaler is on the
high end of accurate).
What I do for recoding DVDs to smaller formats (as an exercise since
I have DVD burners) is:
mplayer dvd://titleset [-chapter N-M] -dumpstream -dumpfile foo.vob
Then simply use mpeg2dec to decode the data and pipe the output into
the mjpegtool chain. Use a52dec (or demux with vstrip) to get the
audio - that's left as an exercise for the reader ;)
Here's how I'm attempting to get a 90 minute DVD onto a single CD-R
in CVD format - heavily filtered of course since bitrate is the
overriding concern. Moderate use of -Q (and -X) are working fine.
This particular movie is black and white so the chroma is killed with
'y4mshift -M' (sets U and V to 128).
------------------------------
#!/bin/sh
N=foo
mpeg2dec -s -o pgmpipe foo.vob | \
pgmtoy4m -i t -a 10:11 -r 30000:1001 | \
y4mshift -M | \
y4mscaler -v 0 -S option=sinc:8 -O preset=CVD | \
yuvdenoise -c 0 -l 2 -S 0 | \
yuvmedianfilter -T 0 | \
bfr -b 10m | \
mpeg2enc -M 2 -Q 1.0 -X 200 -f 4 -q 9 -E -10 -K kvcd -R 0 -4 2 -2 1 -o $N-cvd.m2v
# mplex -f 4 -o $N.mpg $N.m2v $N.mp2
------------------------------------
Not sure that will work with material that changes frame rate
(from 24 to 30 and back). If you run into A/V sync issues with the
dump/recode method it's because of frame rate changes.
Would not quite fit with -q 8 (just a 20MB too big) I'm doing a new
run with -q 9. Oh, and on a dual Athlon-2800 that pipeline will
keep both cpus busy for about 3.5 hours which is quite good considering
the movie is 1.5 hours.
> What is a CVD exactly? How can I tell mpeg2enc/mplex to produce a CVD?
China Video Disk. Where SVCD is 480x480 a CVD is 352x480 and like a
SVCD the CVD uses MPEG-2. Thus where a SVCD is nominally 40 minutes
a CVD can reasonably be expected to get 60 minutes. With the new
options in the encoder (-R 0, -E -10) 70 or 75 minutes of CVD is fairly
easy - beyond that you'll likely need to lower the quality and filter
aggressively. For playback on a portable SVCD/DVD player with a 4 to
7" LCD screen the picture quality is surprisingly good. On a 25"
TV, well, it's "watchable" is the best that can be said ;)
> If my hardware player can play a VBR MPEG1 (XVCD), are the chances high that it will
> play a CVD?
There's a chance it will but VCD capability does not guarantee that
SVCDs will play. If your player can play SVCDs then it can (almost
certainly) play CVDs. Not a 100% guarantee but the chipsets that
handle SVCD often come from Asia where the SVCD/CVD format is popular.
Cheers,
Steven Schultz
-------------------------------------------------------
This SF.net email is sponsored by: IBM Linux Tutorials.
Become an expert in LINUX or just sharpen your skills. Sign up for IBM's
Free Linux Tutorials. Learn everything from the bash shell to sys admin.
Click now! http://ads.osdn.com/?ad_id=1278&alloc_id=3371&op=click
_______________________________________________
Mjpeg-users mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/mjpeg-users