I recently wrote a script such that I could easily playback files easily in mythtv. It just finds out which codec the file in question is using, and launches mplayer with the correct codec. Nothing much, but I thought someone might find it useful. Just change the $mplayerlocation to wherever it is on your computer and uncomment the last if fi statement to enable vc-1.
Code:
#!/bin/bash #Script to automatically find out which codec a file is using and determine whether or not to use VDPAU. #if no input display usage if [ -z "$1" ]; then echo usage: $0 /path/to/file exit fi #remember to change this to the path of your mplayer binary mplayerlocation=/usr/local/bin/mplayer-vdpau-3263604/mplayer-vdpau cd $mplayerlocation #kinda a lame way to do it, but bring up mplayer and pipe the output to a temporary file, then read which codec the file is ./mplayer -identify -vo vdpau $1 > /tmp/VIDEOCODEC & sleep 0.5 killall mplayer videocodec=`cat /tmp/VIDEOCODEC | grep ID_VIDEO_CODEC | cut -c 16-25` rm /tmp/VIDEOCODEC echo "VIDEO CODEC: $videocodec" if [ $videocodec = "ffh264" ]; then codec='h264' echo \n Playing $1 with $codec codec \n ./mplayer -vo vdpau -vc ffh264vdpau $1 exit fi if [ $videocodec = "ffmpeg2" ]; then codec='MPEG2' echo \n Playing $1 with $codec codec \n ./mplayer -vo vdpau -vc ffmpeg12vdpau $1 exit fi if [ $videocodec = "ffwmv3" ]; then codec='WMV3' echo \n Playing $1 with $codec codec \n ./mplayer -vo vdpau -vc ffwmv3vdpau $1 exit fi #VC1 is not supported on most gpus #uncomment if it is supported on your gpu #if [ $videocodec = "ffvc1" ]; then # codec='VC1' # echo \n Playing $1 with $codec codec \n # ./mplayer -vo vdpau -vc ffvc1vdpau $1 # # exit #fi #if it isnt one of those it is not supported by vdpau #so we should play without vdpau ./mplayer $1 exit
Comment