The Best iPod Conversion Guide

前言

本教程的宗旨是用Freeware转出最好的iPod视频,以尽量简单的方式讲解。
最后更新于:2009年8月26日 / Last update on Aug/26/2009

本文可任意转载或创作衍生作品,转载或创作时请遵守以下协议并保留以下文字。
Creative Commons LicenseiPod Conversion Guide is licensed under a Creative Commons 署名-非商业性使用-相同方式共享 3.0 Unported License. 基于www.crook.co.cc上的作品创作。

Index - 索引
  1. 关于片源
  2. 关于iPod的硬件机能
  3. 最优化的方案
  4. 需要的工具
  5. 安装 / 升级
  6. 分解片源
  7. 编写AVS脚本
  8. 转换视频
  9. 转换音频
  10. 合成
  11. 关于软字幕
  12. 检查
  13. 导入iTunes

关于片源:
既然我们要转换出质量最好的iPod/iPhone视频
那么片源最好是DVDRip或是以上级别的……
高质量片源怎么找就不用问我了吧?

关于iPod的硬件机能:(看不懂的话请跳过……)


iPod video(固件1.2及以上)/
iPod Classic 6Gen/Nano 4Gen/
iPod Touch 2Gen/iPhone 3G
iPod video(固件1.2以下)
这玩意已经过时了……
所以后文就不讨论这个了……
MPEG-4 AVC MPEG-4 ASP MPEG-4 AVC MPEG-4 ASP
码率 1.5mbits 2.5mbits 768kbits 2.5mbits
最高帧率 30fps
Profile Baseline @ L3.0 Simple Baseline @ L1.3 Simple
最高像素 307,200 76,800 230,400
最高分辨率 (4:3) 640 * 480 320 * 240 544 * 416
最高分辨率 (16:9) 624 * 352 736 * 416 368 * 208 624 * 352
最高分辨率 (2.35:1) 640 * 272 848 * 360 416 * 176 704 * 304
最高音频 160kbits, AAC-LC
文件格式 m4v, .mp4, .mov


最优化的方案:(看不懂的话请跳过……)
  1. 编码方式:
    当然是选最好的—— MPEG-4 AVC(H.264) + AAC-LC
    要用TV Out的话建议为—— MPEG-4 ASP(Xvid) + AAC-LC (MPEG-4 ASP支持的分辨率更高一点)
  2. 帧率:不超过30,最好和片源相同
  3. 码率:
    AVC(H.264)只能是VBR,所以我们不去它的深究码率问题,1mbits就差不多了,用MeGUI给的相应预设配置就好了
    ASP(Xvid)支持CBR或VBR,建议VBR,可以减小视频大小,同样1mbits左右就差不多了
    ASP(Xvid)在相同码率下视频质量不如AVC(H.264),但可以提供更高分辨率
  4. Profile:
    我不知道怎么翻译比较好,大家理解为级别好了。这玩意我花了10分钟研究,才搞清楚……
    iPod 最高支持 MPEG-4 AVC - Baseline @ L3.0 ,所以就用它了(你要是还在用不支持它的老固件我也没办法……)
  5. 分辨率:
    机型 iPod Classic iPod Nano iPod Video iPod Touch iPhone 3G iPhone
    硬件分辨率 320 * 240 480 * 320
    推荐分辨率
    4:3 320 * 240(AVC) 480 * 360(AVC) / 416 * 312(AVC)
    16:9 320 * 180(AVC) 480 * 272(AVC)
    2.35:1 320 * 136(AVC) 480 * 200(AVC)
    推荐分辨率 Best for TV Out
    4:3
    640 * 480(AVC)
    16:9 624 * 352(AVC) / 736 * 416(ASP)
    2.35:1 640 * 272(AVC) / 848 * 360(ASP)
    关于TV Out的说明 使用最大的分辨率可以提高TV Out的质量
    但可能导致在iPod上观看时画质下降(iPod视频缩放的算法造成的……)
    所以如果不用TV Out,分辨率建议使用屏幕的硬件极限(即宽度上点对点)
  6. 音频:
    虽然官方只说支持到160kbits, AAC-LC
    但是事实上用 HE-AAC + PS 的方式也可以~且效果更好啊~
    最好的情况当然是你的原始文件直接符合要求……这样就可以免去转码的问题
  7. 字幕:
    MP4封装是支持在文件中挂SRT或SUB的“隐藏式字幕的”(iTunes中这么称呼)
    但是仅限文本字幕,无法加高级特效或坐标等
    如果片源的字幕是SRT或SUB的文本字幕,建议用隐藏式字幕,请参考本文中“关于软字母”一节
    而像ASS这类带特效的字幕就直接压到影片里吧……

需要的工具:
  1. MeGUI
  2. 其他的像AVS什么的直接在MeGUI里选更新,缺少的组件、软件的都会自己下载(个别除外,如NeroAAC,请自己下载)

从安装说起……
  1. 请先到sourceforge.net下载MeGUI http://sourceforge.net/projects/megui (执行需要 .NET Framework )
  2. 安装MeGUI。如果执行时出现应用程序初始化失败,请下载.NET Framework
  3. 第一次运行时请在Options菜单中选择Update,下载更新列表时稍稍等一回,之后点右下角的Update更新。
    更新到Profile Collections时请根据自己需要选择,我们这里需要x264: Device - iPod5.5G

分解片源
  1. MKV格式请用“MKVextractGUI”分解为视频轨,音频轨,字幕轨。视频轨用“avc2avi”重新封装为AVI。(具体方法可以参考这里
  2. AVI格式请用AVIMuxGUI把音频轨分离。

编写AVS脚本
  • 说明:若想使用软字幕(即“隐藏式字幕”),请参考本文中“关于软字母”一节
  1. 打开记事本,参照以下格式写:
    Directshowsource("AVI片源")
    TextSub("字幕位置") #IDX+SUB这样的图形字幕请这样写 VobSub("字幕所在位置")
    convertToYV12() #这一句并非必要,加上可以解决不同格式之间的色彩问题
    lanczosresize(320,240) #分辨率为宽,高。具体请参照前面的推荐分辨率
  2. 保存为*.avs

转换视频
  1. 首先说明,因为MeGUI直接转换出的MP4可能会有“Error-2002: a bad public movie atom was found in the movie”这样的错误。所以我们先将视频转换为RAWAVC,然后再和音频封装。
  2. 运行MeGUI,加载保存的AVS,如果问是否使用FFShow,选永远用,会有一个预览窗口打开,看着没问题就可以关掉了
  3. Vedio Output可以不管……你设个位置也行
  4. Encoder Settings选择x264: Device - iPod5.5G
  5. 点击右边的Config,建议把Mode设为Auto 2 pass,转到Advanced标签页,在Custom Commond Line加上这么一句
    --fps 24000/1001
    这条命令是调整输出帧速,不加永远是23.000
    整数就用整数,23.976请填24000/1001,29.97请填30000/1001
  6. 点Update保存这个Profile,或者点New另存。然后点OK。
  7. File Format请选择RAWAVC
  8. 点Enqueue把这个任务加入队列,要添加多个请一个一个加。
  9. 转到Queue页面,点Start,开始漫长的等待吧……
    我用AMD Athlon64 X2 4000+ OC@2.8G 大概每1分钟可以压1分钟长度640×480的视频……

转换音频
  1. 抽取片源的音轨
    AVI可以用AVI Mux GUI抽取
    MKV用MKVextractGUI抽取
    这两个应该都能在MeGUI安装目录里一个名为Tools的文件及里找到
    其它格式请自己解决……
  2. 如果音轨是AAC(HE-AAC+PS/HE-AAC/AAC-LC均可),那就可以直接用,无需进行转换,可以直接跳到合成……
  3. Audio Input 导入你的音频
  4. Cuts忽略……你真的需要我也没办法……
  5. 点Config,Profile选NERO-AAC:NDAAC - iPod - High
    (这个MeGUI不会自动下载,请先下载。之后在Options-Settings-Program Paths-Audio里设置好neroAacEnc.exe的位置)
  6. Extension选RAW-AAC
  7. 点Enqueue把这个任务加入队列,要添加多个请一个一个加。
  8. 转到Queue页面,点Start……

合成
  1. MeGUI-->Tools菜单-->Muxer-->MP4 Muxer
  2. Video选择.264的RAWAVC视频,设置一下帧率(切记与转换时设置相同)
  3. Audio选则.AAC的RAW-AAC音频,设一下Language
  4. 点Queue,到Queue标签页,点Start

关于软字幕
  • 首先,这里讲解的是软字幕(soft sub,iTunes中称为“隐藏式字幕”)的压制方法。
    请先完成上面的步骤将视频压好。
  1. 在MeGUI的安装目录找到tools文件夹,进入并找到mp4box
  2. 将压好的mp4格式视频直接改后缀名为m4v
  3. 用subresync或类似软件把字幕转成srt
  4. 把srt字幕的编码改成UTF-8(可以用记事本改)
  5. 用MP4BOX(在CMD下)执行这样一句(不含引号)“mp4box -ttxt filename.srt”
  6. 用记事本打开这个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』的白边,会很不爽~
  7. 接着找如下一行(改字幕颜色,默认是白色,不想改请跳过~)
    <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~
  8. 改好了就保存吧~
  9. 接着用MP4BOX(在CMD下)执行这样一句(不含引号)“mp4box -add filename.ttxt:lang=threeDigitLanguageCode filename.m4v”,将字幕打进去~

检查
  1. 不是转好了么?NO!(谁叫Apple和别家不一样呢……)
  2. 由于iTunes检测长度是以最长的轨道为准……所以如果视频比音频短了0.02s之类的事发生,将会在播放到最后时白屏。所以我们要针对这个问题做个检查。(某组的DVDRip让我做了若干次这事……)
  3. 下载一个叫MP4Info的软件 http://rubyforge.org/projects/mp4info/
  4. 在命令提示符中执行MP4Info "你的MP4文件",会看到类似下面的信息:
  5. 1-01.mp4:
    Track Type Info
    1 video H264 Baseline@3, 1451.450 secs, 853 kbps, 640x352 @ 23.976024 fps
    2 audio MPEG-4 AAC LC, 1450.816 secs, 194 kbps, 48000 Hz
  6. 可以看到这里audio是1450.816 secs,video是1451.450 secs。这个是没有问题的。但是要是Audio>Video,那就有问题了……
  7. 在MeGUI的安装目录下的Tools目录中找到一个叫MP4box的程序,在命令提示符中执行这样一句
    MP4Box.exe -splitx 0:1451 "有问题的MP4文件"
    这里1451是视频长度,因为MP4Box有点问题,所以切割长度就直接视频长度取整数
  8. 输出文件,XX_001.mp4便是完成的文件。

导入iTunes
  1. 这个我就不多说了,相信大家都会
  2. 记得编辑标签!这是好习惯!

外部链接

0 comments:

Post a Comment