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

Reply via email to