Chinaunix首页 | 论坛 | 博客
  • 博客访问: 711266
  • 博文数量: 140
  • 博客积分: 5097
  • 博客等级: 大校
  • 技术积分: 991
  • 用 户 组: 普通用户
  • 注册时间: 2006-01-05 19:13
文章分类

全部博文(140)

文章存档

2018年(1)

2015年(5)

2014年(5)

2013年(2)

2011年(16)

2010年(6)

2009年(9)

2008年(45)

2007年(26)

2006年(25)

分类:

2006-10-26 13:08:18

MKV解包工具

mkv字幕分离说明

目的: 有些 avi 影片檔是以 mkv 方式包装, 当要以 TMPGEnc Plus 转 mpg, 以
    方便烧录成 VCD 时, 会发现无法显示字幕, 如果可将封装于档案内的字幕
    档分离出来的话, 便以 avi + 字幕 方式转出有字幕的 mpg 檔 (方法网上
    已有广泛讨论, 此处不再描述).

ps : a. 此类 .avi 档案, 可以更名为 .mkv, 一样可以正常操作.
      或将 .mkv 档案, 更名为 .avi , 以便利用 TMPGEnc Plus 转 .mpg 档案
    b. 若为 .avi 档案, 可利用GSpot软件, 帮忙识别为何种封装方式.

(1) 到以下网站下载 mkvtoolnix软件及mkvtoolnix runtime archive

 

  Downloads -> Windows ->

  1. 下载 MKVToolnix v1.5.0
  2. 下载 runtime (mkvtoolnix-runtime.rar)

(2) 两者都要下载, 然后所有档案解压到同一数据夹(例如 C:\MKV)上.

(3) 本文件以该软件所提供命令列操作为主, 不同操作系统进入命令列方式如下
  a.(9'x) 开始 -> 程序集 -> 附属应用程序 -> MS-DOS 模式 -> 出现命令列窗口
  b.(XP ) 开始 -> 执行 -> 输入 cmd -> 确定 -> 出现命令列窗口

(4) 用 mkvmerge 或 mkvinfo 都可以看到字幕在第几个 tracks
  或者使用其提供的 GUI 程序也可以找到字幕所在 track 及使用的语言.

  C:\MKV>mkvmerge -i film.avi
  File 'film.avi': container: Matroska
  Track ID 1: video (V_MS/VFW/FOURCC, XVID)
  Track ID 2: audio (A_MPEG/L3)
  Track ID 3: subtitles (S_TEXT/SSA) <- 字幕所在 track
  Track ID 4: subtitles (S_TEXT/SSA) <- 字幕所在 track
 
  C:\MKV>mkvinfo -g film.avi
  ...(略)
  (MKVInfo) | + A track at 397
  (MKVInfo) | + Track number: 3 at 400
  (MKVInfo) | + Track UID: 1051997168 at 403
  (MKVInfo) | + Track type: subtitles at 410
  (MKVInfo) | + Codec ID: S_TEXT/ASS at 413
  (MKVInfo) | + CodecPrivate, length 1254 at 425
  (MKVInfo) | + Language: chi at 1683         <- 使用的语言
  (MKVInfo) | + Lacing flag: 0 at 1690
  (MKVInfo) | + A track at 1693
  (MKVInfo) | + Track number: 4 at 1696
  (MKVInfo) | + Track UID: 449712430 at 1699
  (MKVInfo) | + Track type: subtitles at 1706
  (MKVInfo) | + Codec ID: S_TEXT/ASS at 1709
  (MKVInfo) | + CodecPrivate, length 1254 at 1721
  (MKVInfo) | + Default flag: 0 at 2979
  (MKVInfo) | + Language: eng at 2982         <- 使用的语言
  (MKVInfo) | + Lacing flag: 0 at 2989

(5) 分离字幕的指令

  C:\MKV>mkvextract tracks film.avi -c UTF-8 3:film.ssa
  Extracting track ID 3 to a SSA/ASS file 'film.ssa'.
  progress: 100%

  ps : a. 指定所要国家语言的字幕 track: 例如 track 3 <- 国语
      b. 在 UTF-8 后面的 3 是 track 位置, 后面是你自己命名的字幕檔名
      c. 不加 UTF-8 这个参数, 分离出来的字幕档会变乱码

(6) film.ssa 即为所要的字幕档了.

(7) << 心得 >>

  a. 虽然档名都是 .avi 檔, 但档案封装方式却有各种不同方式, 所以必须搭
    配各种的不同的 codec 译码, 好让操作系统辨识.
  b. avi 影片檔, 可内含各种独立的字幕档, 因此观看时可作选择, 也可利用
    软件将其抽离或加入. 而像rmvb影片文件则无此结构, 故其字幕无法作任何
    修改.

(8) 以上为仅简要说明, 还望各位同好先进多多指教.

mkvtoolnix 是MKV打包工具, 同时也可以拿来做解包之用


但试了下, 用GUI界面操作的话, 分离了个字幕档看了下,

除了STYLE里的中文正常, 其他都乱码...

但直接用命令行操作的话, 除了STYLE里的中文乱码, 其他均正常解出, 且无错Orz
阅读(7718) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~