给MP4/M4V添加软字母 For iTunes(Windows)

话说今天研究了一下GPAC 3GPP Text Stream。
终于知道了为什么自己以前压出来的带软字母的片子都有问题了……
对于失败的过去不多说了,进入正题。
  1. mp4格式的视频请先直接改后缀名为m4v
  2. 用subresync或类似软件把字幕转成srt
  3. 把srt字幕的编码改成UTF-8
  4. 用MP4BOX(在CMD下)执行这样一句(不含引号)“mp4box -ttxt filename.srt”
  5. 用记事本打开这个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』的白边,会很不爽~
  6. 接着找如下一行(改字幕颜色,默认是白色,不想改请跳过~)
    <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~
  7. 改好了就保存吧~
  8. 接着用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”查看
  9. 完成!enjoy~
mp4box-dev-20090715下载:http://www.videohelp.com/download/MP4Box-0.4.6-dev_20090715.zip

0 comments:

Post a Comment