On Tue, Feb 10, 2004 at 10:44:34AM -0500, Paul Miller wrote:
> On Mon, Feb 09, 2004 at 04:56:14PM -0500, [EMAIL PROTECTED] wrote:
> > y4mscaler -I active=704x480+12+0 -I matte=696x472+16+0 -S
> > option=sinc8lan -O preset=DVD -O size=704x480 -O
> > Xscale=15:16 -O Yscale=14:15
> 
> Is there a way to get transcode to dump the yuv directly to
> y4mscaler/yuvscaler?  If so, I'd love to know it.

I don't use transcode, but, is there an option available to transcode
to cause it to output to stdout?  If so, then the answer is likely a
yes.

> This is what I'm actually doing:
> 
> transcode -c 0-0:1:00 -k -i $infile -V -y yuv4mpeg,mp2enc -F 1 -E 44100 -b 224 -o 
> $outnam || exit 1
>     ( (mv $outnam $outnam.yuv && cat $outnam.yuv) \
>         | yuvscaler -n n -M RATIO_512_352_384_240 -O VCD \
>         | y4mscaler -I sar=ntsc -S option=sinc:8 -O Xscale=15/16 -O preset=vcd \
>         | mpeg2enc -f 1 -o $outnam.m1v
>     ) || exit 1

First off, why are you running yuvscaler followed by y4mscaler? 
Running the video through two scalers in a row isn't going to add any
quality, and y4mscaler is quite capable of handling it all in one
pass.  I'm not going to try to figure out the y4mscaler options off
the top of my head to make it do all the work, but it's quite
possible.

In any case, assuming you can tell transcode to output to stdout, you
can do this:

transcode -c 0-0:1:00 -k -i $infile -V -y yuv4mpeg,mp2enc -F 1 -E \
  44100 -b 224 \
  | yuvscaler -n n -M RATIO_512_352_384_240 -O VCD \
  | y4mscaler -I sar=ntsc -S option=sinc:8 -O Xscale=15/16 -O preset=vcd \
  | mpeg2enc -f 1 -o $outnam.m1v

Several options that come to mind for connecting transcode to the
rest of the pipe.

++++++++++++

"" [no -o option at all]  Some programs default to stdout if no other
                          output file is specified.

++++++++++++

"-o -"  Some programs accept a special name, "-", to mean stdout.

++++++++++++

"-o /dev/stdout"  This depends on your environment, but if you have a
                  /dev/stdout, writing to it from transcode may send
                  the transcode output to stdout.

++++++++++++

mknod outpipe p <- do this ahead of time, it makes a "fifo" file in
                   your current directory.

Then do "-o outpipe" to transcode in one process / window / shell /
whatever.

Then in another process / window / shell / whatever, run:

cat outpipe | yuvscaler [and the rest of your pipeline]

This last option is very similar to your origional setup, only
writing / reading to / from a fifo pipe file instead of a real file
on disk.

++++++++++++

If you use BASH as your shell, you also should be able to do this:

"-o >(cat)"

and get output from transcode onto stdout.

++++++++++++

One of those should work for you.  The "mknod" and/or BASH method is
pretty well guaranteed to work unless transcode tries to do something
funny with the filename passed it from -o.  The others are "it
depends" type and you'll have to give them a try to see if they work
or not.



-------------------------------------------------------
The SF.Net email is sponsored by EclipseCon 2004
Premiere Conference on Open Tools Development and Integration
See the breadth of Eclipse activity. February 3-5 in Anaheim, CA.
http://www.eclipsecon.org/osdn
_______________________________________________
Mjpeg-users mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/mjpeg-users

Reply via email to