LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1445|回复: 1

一个将mpg转成gif的脚本

[复制链接]
发表于 2005-12-6 21:57:54 | 显示全部楼层 |阅读模式
虽然mplayer有gif98a video output插件
不过效果不是很好

这个脚本需要
mplayer
convert(imagemagick里的一个程序)
gifsicle
如果你用的是gentoo直接emerge你缺少的package就好了

  1. #!/bin/sh

  2. OLDDIR=$PWD

  3. if [ -z $1 ] || [ -z $2 ]
  4. then
  5.         echo "usage: "${0}" in.mpg out.gif"
  6.         exit       
  7. fi

  8. DIR=/tmp/${2/.gif/}

  9. cd ${DIR}

  10. if [ -d ${DIR} ]
  11. then
  12.         echo "${DIR} already exists"
  13.         exit
  14. else
  15.         mkdir ${DIR}
  16.         echo $PWD
  17. fi
  18. exit

  19. echo "generating jpeg files"
  20. mplayer $OLDDIR/"$1" -vo jpeg > /dev/null 2>&1

  21. if ! ls 0*.jpg
  22. then
  23.         echo "failed generating jpep files"
  24.         exit
  25. fi

  26. # remove even numbered files
  27. TAIL=`ls | tail -n 1 | sed -e 's/\.jpg//g'`
  28. rm `seq -f %08.f 2 2 $TAIL | sed -e 's/.*/&.jpg/g'`


  29. for i in 0*.jpg
  30. do
  31.         echo "converting "${i}" to "${i/jpg/gif}
  32.         convert ${i} ${i/jpg/gif};
  33. done

  34. echo "generating gif"
  35. gifsicle -O2 --resize 256x_ -i --colors 256 -d 5 --loopcount 0*.gif > ${HOME}/"$2"

  36. if [ $? -ne 0 ]
  37. then
  38.         echo "failed generating gif"
  39.         exit
  40. fi

  41. cd ..
  42. rm -rf ${DIR}

  43. echo "done"
复制代码
 楼主| 发表于 2005-12-6 22:00:13 | 显示全部楼层
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表