Hi,

I'm trying to get better control over the quality of an MPEG result,
found this one (among many similar solutions) in the mailing list
archives:

"Export as an YUV4MPEG stream and use a pipe to encode the YUV stream :
 yuvcorrect -v 0 -T INTERLACED_BOTTOM_FIRST | mpeg2enc -v 0 -r 32 -4 1 
 -2 1 -D 10 -g 15 -G 15 -q 5 -b 9400 -f 8 -o $1 

 Export an AC3 sound stream at 224 kbps

 Mplex everything with :
 mplex -f 8 -V audio.ac3 video.m2v -o movie.mpeg"

And there are many more references to piping - quite justified, as it
prevents *huge* temporary files from being created (the YUV4MPEG stream
is about 1GB per minute of video). Otrherwise, one would need at least
60GB of free HD space at all times for every hour of video rendering.


Alas, there's one thing I somehow don't understand: how exactly do I
pipe the output from Cinelerra to the yuvcorrect line?

I thought I understood pipes (they're equally simple as useful), but I
can't seem to make it work here. I tried the following procedure:

[CLI]:       mkfifo cinepipe
[Cinelerra]: Render to YUV4MPEG Stream - file name: cinepipe
[CLI]:       yuvcorrect ... -o video.m2v < cinepipe

However, Cinelerra says it's busy rendering, but it just sits there and
does nothing; nor does top show any activity in the yuvcorrect/mpeg2enc
department.
I suspect that Cinelerra somehow has trouble with named pipes - if I
replace the last CLI command with cat cinepipe > /dev/null, there's
still no progress in Cinelerra.

I'm pretty certain that the solution is *really* simple - but I'm afraid
that I'm even simpler - too simple in fact to see it. Google turned up
lots of tips about plumbing, and the usual explanations and examples
about the | symbol, but nothing much useful on using pipes to process
(stream) output from GUI applications.


Thanks in advance for any explanation,

Regards,

Richard Rasker


_______________________________________________
Cinelerra mailing list
Cinelerra@skolelinux.no
https://init.linpro.no/mailman/skolelinux.no/listinfo/cinelerra

Reply via email to