#!/bin/bash vid="$1" ; shift if [ "$1" = "-w" ]; then export width="$2" shift; shift fi if [ "$1" = "-h" ]; then export height="$2" shift; shift fi export scale="${1:-1}" midentify "$vid" | perl -ne ' /ID_VIDEO_HEIGHT=(\d+)/ and $height = $1; /ID_VIDEO_WIDTH=(\d+)/ and $width = $1; END { $aspect = $width / $height; $scale = $ENV{scale}; if ($ENV{width} || $ENV{height}) { if ($ENV{width}) { $scale = $ENV{width} / $width; } if ($ENV{height}) { $scale1 = $ENV{height} / $height; if (!$scale || $scale1 < $scale) { $scale = $scale1; } } } for $x ($width, $height) { $x = int($x*$scale+0.5); } print "${width}x${height}\n"; } '