Daliy Music

白雪............................ A WINTER STORY..............................SWEET RUMORS......

2009年2月5日星期四

修复MPG,起死回生之绝技。全人工修复数据


  1. 昨晚碰到小爱的一个HD,下了好久才完(磕磕绊绊的断网更是火上浇油)。不过,最郁闷的还是我下载完后,不能播放了,无论使用那一个播放器。不过最后还是修好了,想知道这其中的绝技么,看全文吧!!

    我的成果吧(好有成就感):

首先就是最容易想到的,找mpg修复工具,不过找了半天也没找到,还有就是那个All media Fix的工具,千万别用,不仅修复时间长,而且成功率极低。
  • 然后,没法了,只有自己动手了,拿出我的宝贝之一:winhex。 话说这个东西可用途大了,觉得它就像C语言,能操控底层(内存,硬盘什么的),而且也容易操作些 。反正,在此就不罗嗦了,喜欢的话,自己研究去。

  • 用那宝宝打开那破HD,看到里面都是一些很杂乱的数据。(Ps,这下放心了一些,视频不是假的,只是里面有错误罢了)

  • 先是看视频的头部分,这部份主要是说明视频的长度,分辨率,比特率,解码等相关的一些属性,以便播放时能迅速正确的显示。(不过现在大多少播放器,都能在无头部分的视频中自动辨别一些常见的解码方案,比如说mpeg2,wmv,xvid,divx,不过H264的识别还都欠佳。)

  • 看看我的视频,哎,一看前面没有什么规律(一般的视频无论哪种格式,前面都会有很多FFFFF的十六进制值,来表示视频长度)就怀疑头丢失,好吧,我就把一个好的相仿视频(最好长度要大于损坏视频,分辨率一致)的头部分插入到它头上。(晕,这话说的)

  • 不过,无论添加什么头部分,还是没解决问题,视频依然不能播放。抑郁了,无语了。当我想放弃的时候,我随意的把其中一小段视频提取了出来(其实这用C做也可以,不过还要写代码),然后用播放器试试,经常能正常播放了(Ps,这就是上述播放器的自动识别功能,他会一次尝试各种方案来解码,知道找出最优)

  • 笑了几下,原来视频是真货,呵呵。我就想为什么其他的播放不了呢。在查看数据内容时候发现,一些ASCii字符,而且是CSS代码,然后有时还跟着一长串FFFFFF在视频内容部分。我想这就是视频发布者的恶作剧吧,他把自己写得CSS嵌入到视频中,不过在后来的研究中发现,他还把其他视频的一些内容嵌入其中。我靠,他嵌入到开头部分很大一块,这样哪个鬼播放器能识别CSS,并且跳过它,扫描下面的,汗。

  • 知道问题的原因了,事情就好办了。若果有耐心,想想要花12个多小时才能全部把不相干内容剔除掉,毕竟是500多MB的东西,一直看数据,不审阅,不修改就要看好长时间。但是,注意到HD播放器还有一个特点,就是不会全部把所有祯所有数据全部呈现在实际显示中,而且帧率多,比特率也多。于是,嵌入的那些污秽毕竟只是一小部分(大部分很容易看出来,直接剔除就好了),不问他们了,想留就留在视频中吧。

  • 经过稍微大的修改后,我把视频从开头后一点截到尾部前一点。保存下来,用播放器试试吧,肯定能播放的,而且没一点修改的痕迹(真的,呵呵)

  • Ps.幸亏当初提取的其中一段没有乱码在头部。

  • 下面是一些图解。帮助理解,以后遇到什么花屏,不能播放问题了就自己解决吧,也别靠什么修复软件,它们都是死的。






    2 条评论:

    1. 太厉害了,看到这些东西激起了我跟你成为同行的欲望……

               mint

      回复删除
    2. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

      回复删除