终于知道了为什么自己以前压出来的带软字母的片子都有问题了……
对于失败的过去不多说了,进入正题。
- mp4格式的视频请先直接改后缀名为m4v
- 用subresync或类似软件把字幕转成srt
- 把srt字幕的编码改成UTF-8
- 用MP4BOX(在CMD下)执行这样一句(不含引号)“mp4box -ttxt filename.srt”
- 用记事本打开这个ttxt文件(这重要啊~~非常重要啊~~我就是在这里磕了……)
先找到如下一行<textstreamheader width="400" height="60" layer="0" translation_x="0" translation_y="0">
width指字幕的最大宽度,单位为px(像素),改成直接和影片宽度相等就好
(要是设的大于视频尺寸,iTunes自动加白边,丑死了~)
height指字幕的大小,单位为px(像素),设置为实际大小的两倍。依个人需要~
translation_y指字幕在影片中的垂直位置,这个值很重要!- 要是希望字幕的下边和影片的下边重合,字幕在影片里,请设置为:影片高度-字幕高度
- 要是希望字幕在影片下面,请设置为:影片高度-(字幕高度/2)
因为iTunes会帮你加白底所以要改掉默认的字幕颜色 - 要是希望把字幕的上边和影片的上边重合,字幕在影片里,请设置为:-(字幕高度/2)
极不推荐,因为顶上会多出高『字幕高度/2』的白边,会很不爽~
- 接着找如下一行(改字幕颜色,默认是白色,不想改请跳过~)
<Style styles="Normal" fontID="1" fontSize="18" color="ff ff ff ff"/>
前几个标签iTunes会无视掉……包括fontsize……
这里要注意的就是color,也就是字体颜色,格式为R G B A(分别是红/绿/蓝/透明,取值为00~FF)
FF FF FF FF是全白不透明
而黑色不透明是00 00 00 FF~ - 改好了就保存吧~
- 接着用MP4BOX(在CMD下)执行这样一句(不含引号)“mp4box -add filename.ttxt:lang=threeDigitLanguageCode filename.m4v”,将字幕打进去~
说明:- 请务必使用最新版的mp4box,不然iTunes不认,要改hex才成。下载见帖子最后。
- threeDigitLanguageCode是字幕语言的标识,中文用“zho”,即“mp4box -add filename.ttxt:lang=zho filename.m4v”
- 关于可以使用的语言标识有哪些,请使用“mp4box -languages”查看
- 请务必使用最新版的mp4box,不然iTunes不认,要改hex才成。下载见帖子最后。
- 完成!enjoy~
0 comments:
Post a Comment