分页: 1 / 2

[分享]魅族miniplayer视频文件格式转换shell脚本(修正自动调整宽长比)

发表于 : 2008-06-20 21:18
steny91
最近学习shell,想着练习下啥,下午写了这个
用法:miniconvert [-o 文件夹] 待转换文件
不用-o选项时转换后文件在当前目录下
转换后文件名:在原文件名前加了[mz] 后缀是avi

代码: 全选

cat miniconvert
#!/bin/bash

filelist=
to=
show()
{
	echo "Usage:$0 [-o dir] files"
}
while getopts o: options
do
	case $options in
		o) to=$OPTARG;;
		\?) show
		exit 1;;
	esac
done

shift $((OPTIND-1))
if [ "$#" -eq 0 ]
then
	show
	exit 1
fi


for from in "$@"
do
	if [ ! -f "$from" ]
	then
		echo ""$from" does not found!"
		continue
	fi

	if [ -z $to ]
	then
		tofile="[mz]${from%.*}.avi"
	elif [ -d $to ]
	then
		tofile="$to/[mz]${from%.*}.avi"
	else
		echo ""$to" is not a Dir"
		show
		exit 1
	fi
	if [ -f "$tofile" ]
	then
		echo "$tofile has found!"
		read -p "Are you wanna overwrite it?(y/n)" yes
		if [ "$yes" != y ]
		then
			echo "$from convert canceled"
			continue
		fi
	fi
	cat <<EOF
-------------------------------------------------------
	Start Convert
	$from
	to
	$tofile
-------------------------------------------------------
EOF
	mencoder -noodml "$from" -o "$tofile" -mc 0 -ofps 18.000 \
	-vf-add crop=0:0:-1:-1 -vf-add scale=320:-3 -vf-add \
	expand=320:240:-1:-1:1 -vf-add rotate=1 -srate 44100 \
	-ovc xvid -xvidencopts bitrate=384 -oac mp3lame \
	-lameopts vbr=0 -lameopts br=128 -lameopts vol=0 \
	-lameopts mode=0 -lameopts aq=7 -lameopts padding=3 \
	-af volnorm -xvidencopts max_bframes=0:nogmc:noqpel 2>/dev/null
	
	cat <<EOF
-------------------------------------------------------
	$from
	Convert to
	$tofile
	Complete!
-------------------------------------------------------
EOF
	echo
done
关于字幕问题,找到一篇文章原文地址http://javafan.blog.sohu.com/94812599.html
-subpos 5 -subfont-text-scale 10 -unicode -font c:\arial.ttf -sub "$from".srt

原文作者的说明:
subpos 是说明字幕的位置:垂直方向上越大越靠下,水平方向的参数我没找到,最小0,最大100
subfont-text-scale 设置字体的大小
-unicode 文字编码方式,其他的没试过
-font 字体文件
-sub 你的字幕文件
------------------------------------------
-font 人人喜好不同 有需要的自己设置
-sub 查找源文件名加后缀.srt的字幕文件

发表于 : 2008-06-22 12:37
1st_sWorD
可以转不?那就不用到windows下转了

发表于 : 2008-06-22 15:55
showgo
魅族 M8的系统是什么啊??
Linux?????

发表于 : 2008-06-22 19:41
steny91
showgo 写了:魅族 M8的系统是什么啊??
Linux?????
不知道啊 感觉像linux
可以转不?那就不用到windows下转了
可以啊 我转了两个小片片:)

发表于 : 2008-06-26 0:37
woohaha
路过标记

发表于 : 2008-08-04 9:06
bones7456
问下,有没有转成 iphone/ipod touch 支持的格式的?

发表于 : 2008-08-04 12:18
bones7456
还有,avi的视频+srt的字幕,mplayer 可以正常播放,mencoder压缩后似乎会把字幕丢掉?

发表于 : 2008-08-08 9:33
steny91
bones7456 写了:还有,avi的视频+srt的字幕,mplayer 可以正常播放,mencoder压缩后似乎会把字幕丢掉?
mencoder加字幕的选项没有写,所以就没了。。。我研究研究

发表于 : 2008-08-08 9:34
steny91
bones7456 写了:问下,有没有转成 iphone/ipod touch 支持的格式的?
没钱买苹果的东东,不知道转换的参数

发表于 : 2008-08-08 14:17
牙签儿
flv好像不行

发表于 : 2008-08-11 10:07
bones7456
steny91 写了:
bones7456 写了:还有,avi的视频+srt的字幕,mplayer 可以正常播放,mencoder压缩后似乎会把字幕丢掉?
mencoder加字幕的选项没有写,所以就没了。。。我研究研究
字幕可以了,加个 -sub xxx.srt 参数就好.
但是mencoder编出来的lavf格式封装有问题,ipod和QuickTime都放不了....只有mplayer可以放...

发表于 : 2008-08-11 10:29
eexpress
这个。几个设备的支持。

发表于 : 2008-08-13 9:19
steny91
这个只是针对魅族的miniplayer。。。木有别的设备

发表于 : 2008-08-13 9:26
bones7456
在这里来个链接吧,转成 ipod touch 格式的视频的脚本在:
http://bones7456.blog.ubuntu.org.cn/2008/08/12/toipod/
viewtopic.php?t=142471&highlight=

Re: [分享]魅族miniplayer视频文件格式转换shell脚本(修正自动调整宽长比)

发表于 : 2009-04-08 20:59
璇歌
File not found: '[mz]视频/The_Origin.avi'
Failed to open [mz]视频/The_Origin.avi.
Cannot open output file '[mz]视频/The_Origin.avi'.


文件路径有目录就会出错:
if [ -z $to ]
then
tofile="[mz]${from%.*}.avi"
elif [ -d $to ]
then
tofile="$to/[mz]${from%.*}.avi"
else
echo ""$to" is not a Dir"
show
exit 1
fi