mplayer.pl

Skrypt pobiera rozmiar okna, jeżeli to możliwe skaluje je. Dzięki temu można wyświetlać napisy na czarnym polu.

#!/usr/bin/perl
$parametr="@ARGV";
# $parametr=~s/ /\\ /gi;
@FORM=`mplayer -ao null -vo null \
-frames 7 -identify "$parametr" 2>/dev/null`;
$X=0;
$Y=0;
$FORM="NIEZNANY";
foreach $atrybut (@FORM)
{
        if ( $atrybut =~ /^ID_VIDEO_WIDTH/ )
        {
                $X=substr($atrybut, 15, -1);
        }
        if ( $atrybut =~ /^ID_VIDEO_HEIGHT/ )
        {
                $Y=substr($atrybut, 16, -1);
        }
        if ( $atrybut =~ /^ID_VIDEO_FORMAT/ )
        {
                $FORM=substr($atrybut, 16, -1);
        }
}
if ( $FORM =~ "NIEZNANY" )
{
        exec "xmessage -center \"ERROR\"";
        exit(1);
}
print "X = $X\n";
print "Y = $Y\n";
# Rozszerzanie obrazu
$Y_expand=$X*3/4;
print "Y_expand = $Y_expand\n";
if ($Y_expand>$Y)
{
        $expand=$Y_expand-$Y;
}
else
{
        $expand=0;
}
exec "mplayer -ao alsa -vo xv -vop expand=0:-$expand \"$parametr\""