mplayer
vem com um utilitário midentify
que faz basicamente o que você deseja.
A saída se parece com atribuições de variáveis, por isso é muito fácil de usar em scripts / simples de analisar.
Se midentify
não estiver instalado com o pacote mplayer
, talvez você tenha um script midentify.sh
em /usr/share/mplayer
ou algo parecido. Caso contrário, midenfify
apenas executa mplayer
com um conjunto específico de argumentos:
#!/bin/sh
#
# This is a wrapper around the -identify functionality.
# It is supposed to escape the output properly, so it can be easily
# used in shellscripts by 'eval'ing the output of this script.
#
# Written by Tobias Diedrich <[email protected]>
# Licensed under GNU GPL.
if [ -z "$1" ]; then
echo "Usage: midentify.sh <file> [<file> ...]"
exit 1
fi
mplayer -vo null -ao null -frames 0 -identify "$@" 2>/dev/null |
sed -ne '/^ID_/ {
s/[]()|&;<>''"'"'\!$" []/\&/g;p
}'
Os parâmetros -ao
, -vo
e -frames
impedem que mplayer
reproduza o clipe. O resto é apenas formatação.
Exemplo:
$ midentify some_random.avi
ID_VIDEO_ID=0
ID_AUDIO_ID=0
...
ID_VIDEO_BITRATE=258488
ID_VIDEO_WIDTH=320
ID_VIDEO_HEIGHT=240
ID_VIDEO_FPS=29.917
...
ID_LENGTH=4216.76
...
ID_AUDIO_BITRATE=64000
ID_AUDIO_RATE=22050
...