[code:1]#!/bin/sh
scale_width=150
tile_x=5
tile_y=6
sum=$[$tile_x*$tile_y]
len=`mplayer -quiet -vo null -nosound -frames 0 -identify "$1" | grep ID_LENGTH | awk -F"=" '{print $2}'`
sstep=$[$len/$sum]
mplayer -vo png:z=9 -nosound -sstep $sstep -vf scale=$scale_width:-2,tile=$tile_x:$tile_y:$sum:2:2 "$1"[/code:1]
勉强可用,但还是不太好用。我测试的文件中,有的rmvb抓下来的头两张是一模一样的,但片头显然没那么长时间,不知道怎么回事。还有些rmvb,不知是不是时间轴有问题,mplayer跑起来会没完没了,抓出N张图来,但除了第一张正确之外,其他图片几乎都没内容。另外有些文件可能需要对sstep的数值进行一下修正,譬如说-1之类的,不然也会抓不出东西来。
总之问题多多,而且翻了一圈,似乎也没找到可以获取媒体文件信息的工具。。