查看文章 |
视频预览脚本与视频分割命令<linuxeden>
2008-10-21 10:16
-------------------------------------------------------------------- [013目录结构] -------------------------------------------------------------------- . |-- book-2008-08-27 |-- install.sh |-- readme `-- video-preview.sh 0 directories, 4 files -------------------------------------------------------------------- [./readme] -------------------------------------------------------------------- 程序名称: 视频预览 程序功能: 生成视频预览文件preview.jpg于preview-`date '+%F'`内 安装方法: ./install.sh 使用说明: 1.video-preview.sh 运行: video-preview.sh 预览jpg文件数 目标视频文件 总结: 1.视频分割命令 [root@localhost temp]# mencoder -of lavf -oac lavc -ovc lavc -ss 1161 -endpos 26 -o 1.avi -lavcopts acodec=libmp3lame:abitrate=96:vcodec=mpeg4:vbitrate=200 1.rmvb -------------------------------------------------------------------- [./video-preview.sh] -------------------------------------------------------------------- #!/bin/sh filesize= previewdir="preview-`date "+%F"`" info="程序异常退出!" if [ $# -ne 2 ] ; then echo "usage: video-preview.sh output_jpg_nums video_file_name" exit 1 fi if [ ! -e "$2" ] ; then echo "$2不存在于当前目录" echo "$info" exit 1 fi if [ -e "$previewdir" ] ; then echo "删除当前文件夹的子目录$previewdir" rm -f -R "$previewdir" fi echo "创建文件夹$previewdir" mkdir "$previewdir" filesize=`mplayer -identify "$2" -nosound -vc dummy -vo null | grep ID_LENGTH | sed -n -e 's/ID_LENGTH=\(.*\)\..*$/\1/p'` framesreq=$(($1+1)) count=1 while [ $count -lt $framesreq ] do ffset=$(($filesize/$framesreq*$count)) mplayer -ss "$offset" -noframedrop -nosound -vo jpeg -frames 1 "$2" mv "00000001.jpg" "$previewdir"/"$count".jpg count=$(($count+1)) done #sort -n 必需用于当前目录 cd "$previewdir" montage -geometry +0+0 -tile 2x `ls *.jpg | sort -n` preview.jpg cd .. echo "文件$2总时长为: $filesize (s)" echo "preview.jpg已存放在$previewdir文件夹里" echo "程序结束!" exit 0 -------------------------------------------------------------------- [./install.sh] -------------------------------------------------------------------- #!/bin/sh info="安装文件缺失,安装过程中断!" name="视频预览" installdir="/usr/local/bin/" if [ ! -e video-preview.sh ] ; then echo "$info" exit 1 fi chmod +x video-preview.sh cp video-preview.sh "$installdir" echo "$name安装成功!" exit 0 |
最近读者:

