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