转换视频格式

一个网友的经验!!!

 这两天的工作,需要将DVD片断转到网站上播放。本以为很简单。不是有很多DVDrip之类的软件吗?结果越接触就越发现不简单。
  可以找到的大部分DVDRip的小软件严重的同质化,首先浪费了我们这种小用户的选择精力。在漫漫的安装、试用、再安装、试用的过程中我终于明白了一点,单靠这种傻瓜化的小软件是不能满足我的需求的。还有就是编码格式的选择也让不专业的我头晕脑胀。试一试吧,视频转换又花去了大部分的时间。最终得到的效果不是颜色偏、有错场现象、就是文件量过大,始终没办法满意。这两天下来安装了不下十种大大小小的转换器,顺带连Vegas、Premiere、AE也加进来帮忙 [sweat]
  后来定下心来,开始上网找教程和帮助。得~教程够专业,用的东西全都是我没有听说的。做一个Rip得好几个大大小小的步骤。好吧,认认真真学习并总结吧。从DVD上rip到的MPEG颜色如何还原成电脑上的RGB空间,我用到了Canopus Procoder里面的颜色转换滤镜,感觉上好了一点(其实并没有确切的证据证明颜色得到正确的变化 [razz] )。用DivX,XviD效果都挺好,可是……就是不能在后期软件、剪辑软件里面再编辑。看来AE里面用来播放AVI格式的控件估计老的可以。后来又花了些时间做了测试,用MS的Mpeg4 v1和v2编码的AVI后期软件还是支持的。QuickTime格式就好多了,用了MEPG4编码的QT文件在其他软件里面都没有问题的。Mpeg编码器也试了不少,效果还可以,主要就是用于再编辑的时候有画面破碎的问题。
  这次我经历的路线是:VOB+INFO -> XviD -> QuickTime(Mpeg4) -> Flash Movie。这可是我在漫长的过程中慢慢摸索出来的一条路线啊。画面质量和文件大小都得到了较好的控制。虽然很麻烦,但心血总算没白费,还是挺开心的。总之,该学乖了。DivX是个好东西,可是不能用来当做生产过程的中间产物,只能做最终输出用。Mpeg也是一样,用来输出VCD、SVCD、DVD的。如果硬盘够大,用于数据的中间格式还是用AVI无压缩的吧,质量、兼容性方面肯定没有问题。但如果不想产生那么大的东西(大到超级恐怖),可以试试看低版本的MS Mpeg4。推荐用QuickTime文件的Mpeg4编码,用最高质量输出效果好、文件量也OK。

上次转视频的痛苦经历仍然记忆犹新。所以近来有空的时候就在网上找些相关资料来学习。工作中经常会遇到一些影音格式之间的相互转换,还有swf文件也常常需要转成在电视或者其他设备上可以播放的版本。所以还是很有必要把相关知识弄清楚的。
QuickTime Pro绝对是个好东西。可以简单编辑和导视频。原来身边就一直存在这么好用的工具却知道最近才发现 [sweat] 。QT支持的格式也算不少了,能用它打开就能用它来转格式,非常简单。所以我首先选择QT。选择何种视频和音频的编码,保持质量与文件大小的平衡也是一个重要的问题。参考了不少网上流传的mov格式的文件,主要是一些motion工作室放出的作品和一些电影的trailer。得出:视频编码用Sorenson Video 3,音频编码用QDesign Music 2。压缩质量在Medium以上,码流根据视频尺寸大小在100~400kbs之间就可以有不错的质量了。mov是网上流传的主流格式,有比较大的优势。一些用divx或xvid压缩的avi文件虽然更小一些,但是用户需要安装各种对应的编码,就显得比较麻烦。
MPEG是VCD、SVCD、DVD等的标准文件。制作和转换mpg文件网上首推TMPGEnc,不过我觉得MainConcept的MPEG编码器也不错。TMPGEnc 3.0 XPress比旧的版本界面更友好、功能更强大。不仅可以编码Mpeg文件,也可以调用系统中安装的avi编码器来直接制作avi格式的文件。预设了VCD、DVD等多种mpeg的设置。我装的MainConcept是For Premiere的插件,设置和TMPGEnc差不多。相同质量的文件,大小却比TMPGEnc生成的小不少(不解中)。制作和转Mpg格式需要接触到长宽比、像素比、场序等等很专业的视频术语。足可以弄晕一堆初学者。所以如果你的目标观众是电视用户,那还是先用心补补课吧。其实这类工作繁琐的原因就是电脑和电视(或者其它显示设备)工作方式不同的原因。如果大家都是1:1的像素比,都是逐行扫描,都是同一色彩空间……就不会有这么多麻烦事了 [razz]
avi主要是两大类:For windows的avi,也就是电脑上的avi;另一种就是DV avi。DV avi主要是用软件或采集卡从DV设备上采集来的avi文件,一般用的是Microsoft提供的DV压缩编码,叫Microsoft DV。仍然存在不同设备的差异,这种avi文件在电脑上看的时候画面抖得厉害,不知道在DV或电视上是什么样(没机会看看 [sweat] )。电脑上的avi没有用任何编码压缩的时候是暴大的,等于一帧就是一张BMP图片。常用的DivX,xvid都是MPEG-4编码(又有一大段历史,再晕一片)。做DVDrip的最终文件几乎都是用这两种编码生成的。用个计算码率的小软件帮助计算下目标文件的大小,设置就相对比较简单一些。当然这些压缩器还有很多设置可以帮助得到更好的质量,并保持小的文件量。什么一次编码、二次编码等等,那些是”达人”玩的,我会晕的。
轮到swf。不知什么原因,不是所有的swf文件都可以用QT打开。如果QT能搞定那就最好,转成mov之后就天下太平,爱转啥转啥。如果不能就麻烦点。方案一,用Flash中的Export Movie导出。这个方法有限制性。首先,不能解释actionscript。所以互动,用as写的动画等等,都不会生成。其次。它只能导出Flash的主时间轴。如果你的主时间轴只有一帧,上面放了个几十帧的MC。用Flash Player播放没问题的,MC里的东西正常播放。导出视频的话就只有一帧。即使把主时间线拉到足够长。MC内部的动画还是不会被导出的。这是因为MC的时间轴是独立于主时间轴的,Flash Player会解释这种结构。视频可就只有单线而已。用Graphic元件可以解决这种问题,因为Graphic是依赖与主时间轴的。所以如果制作Flash文件是为了导出视频的,就一定要用Graphic元件。只要你在编辑环境下Enter播放看到的和Ctrl+Enter看到的内容完全一样的,就可以Export Movie了。
如果已经用了MC或者as了怎么办。这种情况就要借助第三方软件了,如SWF to Video。它们的原理是录制,和录屏幕的原理差不多。所以as的效果,MC的效果都可以被保留。包括与用户的互动所产生的效果也可以被记录下来。理解了原理之后就会正确的设置参数了。软件默认读出主时间线的帧数来作为录制的长度,很多情况下这个值是一定要更改的,不然效果就和用Flash Export出来差不多了。这类软件也可以提供多种目标格式的输出,但是效果不佳,特别是Mpg。我一般用它们生成一些中间格式,再用前面提到的一些转换软件制作最终格式。中间格式的选择也让我很头痛。所谓中间格式当然最好是无压缩的,不然会造成重复压缩,品质下降。然而无损avi是那么的庞大,而且还存在2G限制。所以有些情况是不得不压缩。用前面提的DivX或xvid是个不错的办法,但是也带来另外的问题……
用DivX或xvid压制的avi文件不能用正常导入Premiere或AE中。当时我只有用ProCoder或TMPEGEnc来转制成mov格式来解决。我用来做中间格式的文件还要在用mov来中间一次,当然不是最佳的解决办法。后来发现了AviSynth和VFAPI这两个好东西。AviSynth装好For Premiere的插件之后,Premiere就认识.avs格式的文件了。这种格式的文件其实也是一种脚本,功能也是暴强大(再晕)。不管其他、Premiere不认的avi文件用avs搭了桥之后终于能够完美的读出来。AE却没有这种好运气,还是没有找到插件让它认识avs。不过我却发现VFAPI,这东西到现在我还是不太清楚是什么原理。用它的转化器处理一下avs之后就变成了VFAPI Codec的avi(过程极快)。AE就认得这种avi了。呵呵,能用就好,也不麻烦。暂时先不求甚解了。
最后总结一下工具包:QuickTime 6.5 Pro + TMPGEnc 3.0 XPress + Canopus ProCoder 2 + AviSynth 2.5(+Plugin for pr) + VFAPI + SWF to Video pro + My MPC 系列之迪奥 DIY 版(包括大多数的编解码器) + MainConcept Coder for Premiere + Premiere