|
虽然mplayer有gif98a video output插件
不过效果不是很好
这个脚本需要
mplayer
convert(imagemagick里的一个程序)
gifsicle
如果你用的是gentoo直接emerge你缺少的package就好了
- #!/bin/sh
- OLDDIR=$PWD
- if [ -z $1 ] || [ -z $2 ]
- then
- echo "usage: "${0}" in.mpg out.gif"
- exit
- fi
- DIR=/tmp/${2/.gif/}
- cd ${DIR}
- if [ -d ${DIR} ]
- then
- echo "${DIR} already exists"
- exit
- else
- mkdir ${DIR}
- echo $PWD
- fi
- exit
- echo "generating jpeg files"
- mplayer $OLDDIR/"$1" -vo jpeg > /dev/null 2>&1
- if ! ls 0*.jpg
- then
- echo "failed generating jpep files"
- exit
- fi
- # remove even numbered files
- TAIL=`ls | tail -n 1 | sed -e 's/\.jpg//g'`
- rm `seq -f %08.f 2 2 $TAIL | sed -e 's/.*/&.jpg/g'`
- for i in 0*.jpg
- do
- echo "converting "${i}" to "${i/jpg/gif}
- convert ${i} ${i/jpg/gif};
- done
- echo "generating gif"
- gifsicle -O2 --resize 256x_ -i --colors 256 -d 5 --loopcount 0*.gif > ${HOME}/"$2"
- if [ $? -ne 0 ]
- then
- echo "failed generating gif"
- exit
- fi
- cd ..
- rm -rf ${DIR}
- echo "done"
复制代码 |
|