informatique:nix:linux:recuperer_les_infos_d_un_fichier

Parfois des outils comme avinfo ou ogmtools n'arrivent pas à sortir les bonnes informations d'un fichier vidéo. Pour extraite les informations on peut encore utiliser MEncoder ou FFMPEG.

MEncoder

mplayer -identify -frames 0 -vo null -ao null Karambolage__250620061955.avi 2>>/dev/null|awk -F"=" '
/VIDEO_FORMAT/  { VFORMAT=$2 }
/VIDEO_WIDTH/ { WIDTH=$2 }
/VIDEO_HEIGHT/ { HEIGHT=$2 }
/LENGTH/ { LENGTH=$2 }
/FPS/ { FPS=$2 }
/VIDEO_BITRATE/ { VB=$2 } { VBITRATE=VB/1000 }
/AUDIO_RATE/ { FREQ=$2 }
/NCH/ { CHANNELS=$2 }
/AUDIO_BITRATE/ { AB=$2 } { ABITRATE=AB/1000 }
/AUDIO_CODEC/ { ACODEC=$2 }
END {
print "video:"WIDTH"x"HEIGHT" "LENGTH" sec"" "FPS" fps "VFORMAT" "VBITRATE" kbits"
print "audio:"FREQ" Khz "CHANNELS " channels "ABITRATE" kbits "ACODEC HOUR MIN SEC }' 

C'est du awk de base et cela affiche (dans le même genre que avinfo) :

video:540x432 748.96 sec 25.000 fps FMP4 824.912 kbits
audio:48000 Khz 2 channels 96 kbits mp3

On peut également créer un script pour éviter d'avoir ce bloc de commandes :

#!/bin/bash

if [ -z "$1" ];then
        echo "Usage :"
        echo "vidinfo /path/to/fic"
        exit
fi

/usr/local/bin/mplayer -identify -frames 0 -vo null -ao null "$1" 2>>/dev/null|awk -F"=" '
/VIDEO_FORMAT/  { VFORMAT=$2 }
/VIDEO_WIDTH/ { WIDTH=$2 }
/VIDEO_HEIGHT/ { HEIGHT=$2 }
/LENGTH/ { LENGTH=$2 }
/FPS/ { FPS=$2 }
/VIDEO_BITRATE/ { VB=$2 } { VBITRATE=VB/1000 }
/AUDIO_RATE/ { FREQ=$2 }
/NCH/ { CHANNELS=$2 }
/AUDIO_BITRATE/ { AB=$2 } { ABITRATE=AB/1000 }
/AUDIO_CODEC/ { ACODEC=$2 }
END {
print "video:"WIDTH"x"HEIGHT" "LENGTH" sec"" "FPS" fps "VFORMAT" "VBITRATE" kbits"
print "audio:"FREQ" Khz "CHANNELS " channels "ABITRATE" kbits "ACODEC HOUR MIN SEC }'

Ensuite on l'appelle simplement :

/usr/bin/vidinfo Karambolage__250620061955.avi

video:540x432 748.96 sec 25.000 fps FMP4 824.912 kbits
audio:48000 Khz 2 channels 96 kbits mp3

FFmpeg

ffmpeg -i Karambolage__280520061955_Ipod.mp4

ffmpeg version CVS, build 3276800, Copyright (c) 2000-2004 Fabrice Bellard
  configuration:  --enable-mp3lame --enable-libogg --enable-vorbis --enable-faad --enable-faac --enable-faadbin\
--enable-xvid --enable-dts --enable-pp --enable-pthreads --cpu=i686 --enable-a52 --enable-gpl

built on Jul 11 2006 21:13:04, gcc: 4.0.2 20050808 (prerelease) (Ubuntu 4.0.1-4ubuntu9)
Input #0, mov,mp4,m4a,3gp,3g2, from 'Karambolage__280520061955_Ipod.mp4':
Duration: 00:12:21.2, start: 0.000000, bitrate: 384 kb/s
Stream #0.0: Video: mpeg4, yuv420p, 320x240, 25.00 fps
Stream #0.1: Audio: aac, 48000 Hz, stereo

Must supply at least one output file

Il suffit juste de formater un peu la sortie ;)

  • informatique/nix/linux/recuperer_les_infos_d_un_fichier.txt
  • Dernière modification : 2009/06/29 21:04
  • de 127.0.0.1