[XviD-devel] [FRONTEND UPDATE] mplayer modules.
Reini Urban
rurban at x-ray.at
Wed Sep 1 06:52:14 CEST 2004
Edouard Gomez schrieb:
> i've been working on mplayer's frontends these last two weeks
> (by small touches).
>
> Decoder updates:
> - reads width and height from stream, doesn't trust container
> values
> - display aspect ratio support
>
> Encoder updates:
> - merged stuff from mplayer's cvs (better fps, par/dar support,
> psnr gathering using the same format as lavc module).
> Of course that is a "value added"(tm) merge, cleaned
> the stuff, moved things where they belong to, and so on.
> - added support for bvhq option if compiled with cvs head
> xvidcore headers.
> - what else... hell just test and give feedback
>
> Everything up on my site until it's accepted upstream:
> http://ed.gomez.free.fr/#mencoder_modules
well, for me mencoder adds a 1px green line between the video and the
50px subtitle bar. (the first line at the added bottom border)
mingw build. arial.ttf
I haven't found the error in the subtitle code. maybe you know more :)
mencoder -vf expand=0:-50:0:0 -sub sub.srt -ovc xvid -xvidencopts \
bitrate=850 -oac copy video.avi
BTW: attached is also a fixed menc2pass script.
--
Reini Urban
http://xarch.tu-graz.ac.at/home/rurban/
-------------- next part --------------
#!/usr/bin/perl -w
# Helper script to ease MEncoder two pass encoding
# Copyleft 2001 by Felix Buenemann <atmosfear at users.sourceforge.net>
# This file comes under GPL, see http://www.gnu.org/copyleft/gpl.html for more
# information on it's licensing.
#
# 2004-08-24 15:38:17 rurban at x-ray.at
# - fix system() arg usage with recent perl versions
# - fix from -xvidopts to -xvidencopts option
# - TODO: 3pass version with possible size optimization
# for 800MB CD after LAME
use strict;
my $mencoder="mencoder"; # Path to MEncoder (including binary name)
die <<"EOF" unless @ARGV;
menc2pass: No arguments given!
Please give all usual encoding parameters you would give to mencoder, but leave
away the pass=<n> suboption.
EOF
for (my $i=1; $i<=2; $i++) {
my (@parms, $prev);
my $parm = $prev = '';
foreach my $val (@ARGV) {
if ($prev =~ /-lavcopts/) {
push @parms,("vpass=$i:$val");
$parm.="$val vpass=$i:";
} elsif ($prev =~ /-(divx4)|(xvidenc)opts/) {
push @parms,("pass=$i:$val");
$parm.="$val pass=$i:";
} elsif ($val =~ /\s/) {
push @parms,($val);
$parm .= "\"$val\" ";
} else {
push @parms,($val);
$parm .= "$val ";
}
$prev = $val;
}
print "\nPASS $i: Running $mencoder ",join(' ', at parms),"\n";
# print "\nPASS $i: Running $mencoder $parm\n";
system($mencoder, @parms)
and die "mencoder pass $i failed!\n"
}
More information about the XviD-devel
mailing list