使用WME以及AVIutl处理VFR、120FPS的几种测试
偶然在网上看到一种视频采集卡可以直接支持120FPS的采集,也就是最大30FPS的采集。想起来网络中常见的WMV9编码的源AVI,再想到“Windows Media Encoder”是一整套解决方案,包括录制及广播与下载。希望能给大家一点启示,有心人倒是可以再多瞧瞧。懒的了解这种采集卡的编码原理与编码格式了(产品性能说明:至少支持MPEG4)。测试了几个比较笨的处理办法。偶还是多费心偶的网站编程吧。再不努力饭都吃不上了^)^
另外,在处理中,偶的习惯,就是音视频统统分离处理。但目前我还没有见到能把AC3封到WMV中的办法与工具,因此,要么直接把音频处理一块做WMV(如果遭遇不同步问题,那么也请分离音频),要么合成MKV。以下几个方法,使用与否自己决定啦~~~
概念:理想的VFR定义是什么?
“variable bit rate”(可变比特率):数据流的一种特征,指的是比特率将根据数据的复杂程度而发生波动。理想的VFR应该是在动作场面会加快帧速率,静态画面会降低帧速率,这是一种比用大码率处理大动态画面的更优秀的提高画面质量的办法。所有的分段式解决方案都是这种极限情况的步步简化。120FPS也只是其中的一个简化模型。
1、120FPS的以WMV(源最多)、XVID等编码的AVI的处理。
a、如果你的共享精神比较好,那个,哥们,就不用编码了吧?直接出外挂字幕算了;如果你只想方便大家一点,那么你可以把源与字幕同时封到MKV里。具体使用mkvmerge GUI 1.55如何合成非常简单,不再赘述。
b、漫游“weilai”所写的“MKV timecodes應用之試驗教學(VFR MKV) ※2/10新增:120fps to VFR MKV譯文 & GUI程式”(原贴:
http://popgo.net/bbs/showthread.php?s=&threadid=301109 )提到用timecodes文件来做,从分析上来看,总的来说也是分段。见仁见智请自行参考原贴学习。
c、漫游“dio1888”使用的GraphEdit合成办法(原贴:
http://popgo.net/bbs/showthread.php?threadid=340947)。从分析上看,如果源是WMV编码的AVI,那么在GE里看“AVI[/url] Splitter”到“XviD MPEG-4 Codec”之间只需多个“WMVideo Decoder DMO”即可,最终结果是正确的。因此,这个是最简练的内嵌字幕或者及改变编码的解决办法。
d、分段内嵌。120FPS通常是分段比较简单的。如果不超过4个分段,都可以分段再编码如XVID处理。具体操作见偶以前的写文(
http://www.popgo.net/bbs/showthread.php?s=&threadid=325624)。如果是DIVX或者XVID编码的AVI,还可以配合MeteorRain所写的drf120process小程序(使用方法:
http://popgo.net/bbs/showthread.php?threadid=337637)加速分段效率。 如真有耐心,恐怕分10段也不在话下^0^
e、使用VFR WMV。其他比如“想省事的WMV编码的AVI”、“分段复杂的AVI”等都可以做VFR。我所知道的只有WMV一种格式可以方便支持(RMVB就不说了,口味已经被养刁了),因此编码成.WMV格式。不过唯一的难以让人接受的是,似乎目前.WMV还没有办法封入其他如MP3、AC3等音频的办法与工具。这样就只能选择封装了,比如MKV。
目前.WMV的还不能直接用MKVtoolnix1.55封入MKV,需要用GraphEdit把WMV和AC3封成MKV,如果你不想麻烦的话,我倒有个歪方,把音频比如是MP3、AC3改成与视频部分同名并放到同一目录下,用WMC播放即可,效果绝对是顶呱呱的~~~再外挂字幕,唔,我的羊900死定了。哈哈,果然歪方。
2、能不能封完以WMV编码的AVI或者WMV后再从MKV里把它分离出来成可以正常播放的东西?
视频部分就目前漫游的一个讨论贴里,结论不明。我个人的意见是既然人家都费老力封闭到这种格式里了,而且一旦字幕被内嵌,那么这个文件就没有被编辑的价值了,顶多压压RMVB。所以我是不会再研究如何分离出来了。而且我也没这个水。有这工夫,我干脆找RAW再做个得了。
3、24FPS与30FPS混合的DVD。
a、分段处理。从分析来看,如果你能把交错全部解决,基本上分多少段、帧率各为多少你都很清楚了。所以,最好的处理就是分段处理。
因我一直没入手TPRRead(是这个吗?不太象)这个小工具来辅助分段,就干脆只用AVIUTL来做算了。首先“交错解除方式”里改成24FPS自动化”,然后按“→”预览,直到发现有交错开始,倒退到前一帧没有交错的地方,按“end”键,保存项目文件01_24FPS.AUP;前进一帧到交错开始帧按“HOME”键,再到本段交错结束的最后一帧,按“END”,然后“选取范围指定帧速30FPS”,然后另存为02_30fps.aup,然后继续改成24FPS化,继续直到结束。这个过程的耗时比较难以确定。快的话1分钟,慢的话1小时,甚至更多。不过,超过2个小时的片源也未免太垃圾点了吧?视原片的分段复杂性而定。完成后与音频合成。
b、做成VFR WMV。使用DVD2AVI存个.d2c文件(只需要存个文件即可。是不是必须呢,我摸索时是直接用AVIUTL打开VOB,最后丢给WME的是挂字幕的AVS,结果搞了个字幕视频^0^,能不能通过调整步骤把这一步省略,我懒的做了,大家自行验证吧),然后编写AVS,把字幕挂入,如果你共享精神足够,那么还是别挂的好,使用AVIUTL的组态把各段都分好,效果都调整好,反交错都做完,其实就是a办法的整体化做法。然后存成AUP文件。用VFAPIConv.exe把这个AUP文件转成假AVI(这个如何做“假AVI”的技巧还是跟“可曾记得爱”学来的呢)。丢给WME即可。完成后与音频合成。
4、以上例子相关要点操作截图。
①、GraphEdit法,把.wmv与.ac3合成mkv
②、GraphEdit法,非WMV编码的120FPS的AVI的再编码或者及内嵌字幕
③、GraphEdit法,WMV编码的120FPS的AVI的再编码
④、120FPS的AVI到VFR WMV的制作
⑤、使用VFR WMV处理具有混合帧速的VOB。(使用AVIUTL分段处理具有混合帧速的VOB,则处理好一段就存个AUP文件)
结束语:WMV的优秀应该不用多说,与XVID的优劣也是个见仁见智的问题,在下一代编码里更是一大支柱。虽然它是M$的专利,切,我真想把我们的四大发明的版权永远申请。不说多,全球每人征1元吧,就是60亿,足够盖N座希望小学了…… 而且,霉国再想乱丢炸弹砸伤花花草草,必须首先要向中国交专利费,这样,对世界的和平也未尝不是件好事啊!
多说两句:说实在的,写这篇小文是有些郁闷的,版权、私心、利益是我所写之文中最味重的,我从来认为“知识产权”是人类文明发展史上最丑陋的一页。是人类最大的倒退。幸运的是,网络毕竟是网络,还是有太多的热血青年在淡化这股浊气。支持“漫游 FreeWind 工作室”。
附上VDM面对.WMV的反应:
=========================
---------------------------
VirtualDub 错误
---------------------------
不支持: Microsoft 拥有关于 ASF 文件格式的第 6,041,345 号美国专利,禁止第三方应用软件从 ASF 文件中提取数据。应 Microsoft 的请求并为了避免专利侵权,从 1.3d 版起删除了对 ASF 文件格式的支持,因此 VirtualDub 不再支持 ASF 了。请不要询问以后什么版本能再支持。
---------------------------
确定
---------------------------
=========================