[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