查看文章
 
视频预览脚本与视频分割命令<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

类别:shell编程相关||添加到搜藏 |分享到i贴吧|浏览(117)|评论 (0)
 
最近读者:
 
网友评论:
发表评论:
姓 名:
网址或邮箱: (选填)
内 容:
     

   
帮助中心 | 空间客服 | 投诉中心 | 空间协议
©2012 Baidu