浅青吧 关注:30贴子:2,054

【教程】10bit播放器设置+解码器调节+MKVtoolnix使用教程

只看楼主收藏回复

本教程内容如下,如果有你想知道的内容,按图索骥就行了。括号内A代表适合一般读者,B代表适合研究视频编码的:
(以下为系统解码器相关知识,MediaCoder/MEGUI使用者强烈建议阅读)
1. 什么是分离器,解码器和渲染器(A)
2. 为什么要删除Windows7系统自带解码器,怎么删(B)
3. 如何设置完美解码10bit+最佳画质的解码器设置。(A)
4. 解码器设置(B)
5. 用ffdshow实现编码添加滤镜(A)
(以下为MKVtoolnix相关教程)
6. 如何将一个视频无损地、很方便地转为MKV格式(A)。
7. 如何将外挂音轨、外挂字幕封装到MKV文件里去,使之成为一个单独文件(A)。
8. 如何将>4GB的视频文件较快的切割成<4GB的分块,以获得android
系统fat32支持(A)。
9. 下载好的文件音画不同步,相差几秒钟,如何调整(A)。
10. 怎样从文件里无损分离出音轨,以及内嵌字幕(B)。


IP属地:福建1楼2013-01-25 10:43回复
    1. 分离器,解码器和渲染器相关知识
    首先不解释媒体文件的封装格式了。以一个MKV为例:
    封装视频流一个,H.264格式;
    音频流两个,flac+aac
    字幕一个,ass格式
    一个章节文件
    那么我们播放的时候,发生了什么事情呢?
    首先,这个mkv必须先被解包。这个过程是分离器的作用。分离器的作用,就是将视频文件临时分离成不同的部分。如果有多个流,比如音频流,选择哪一个流也是分离器的作用。一般分离器。会默认选择第一个流,用户也可以自己切换,这个切换就是通过分离器实现的。主要的分离器有:haali,lav,gabest
    然后,解码器将编码翻译成通用的视频流。比如H.264是一个高压缩的视频格式,好像一个电报码一样复杂,解码器的作用就是将电报码换成通俗易懂文字。同时,音频流也需要被解码。如果解码工作由CPU完成,这个过程被称为软解,如果主要由GPU完成,这个过程被称为硬解。解码器本身可能影响画质,比如CoreAVC有的时候不能正确处理颜色,比如ffdshow在Intel集显上开硬解会有画质问题。常见的解码器有:ffdshow/lav/CyberLink

    最后,就是渲染器的作用了。渲染器的作用,就是接受解码器传来的数据,用DirectX等图形引擎,将画面转换出来。不同的渲染器也会对视频做不同的处理,比如resize(改分辨率),deband(去色带),sharp(锐化)等。如果显卡设置中设置了画质加成,也是在渲染器层面上进行加成。所以同个视频,不同播放器的效果,主要是由渲染器造成的。渲染器有:

    MadVR(通常被认为是画质最好的,并且自带解码器,可以在不用删除系统自带解码器的前提下获得较好的播放效果,不受AMD/NV/Intel显卡设置的视频效果影响)
    VMR9(只能接软解,能开启显卡对于视频的设置)
    EVR Costume Pres(可以接硬解,能开启显卡对于视频的设置)
    解码器的相关详细介绍会在后文再提及。
    以上是播放的时候,编码的时候也类似,分离器分离片源,喂给解码器,解码器解码完毕,将图像丢给编码器编码。


    IP属地:福建2楼2013-01-25 10:46
    回复
      2. 为什么要删除Windows 7系统自带解码器,怎么删
      Windows 7(可能也包括Windows Vista)自带了一套系统解码器,并且会阻止用户自己设置解码器。因此想要使用自带的解码器,就需要删除Windows 7自带的解码器。如果你采用madVR做渲染器播放,或者采用ffms做avs的滤镜,这一步可以不做。事实上,普通用户可以跳过这一步。
      请自行删除C:\WINDOWS\SYSTEM32\msmpeg2adec.dll & C:\WINDOWS\SYSTEM32\msmpeg2vdec.dll (如果是64bit用户,还需一并删除syswow64下的两个文件)。如果碰到TrustedInstaller权限问题,请参考http://wenku.baidu.com/view/70606321af45b307e871970d.html 。提醒,删除之前请做好备份,删除之后唯一一个问题就是无法正常进行Windows系统评分。


      IP属地:福建3楼2013-01-25 10:46
      回复
        3. 以完美解码为核心的系统解码器设置
        完美解码是一个较为强大的播放软件。所谓播放软件,就是分离器、解码器和播放器的组合。之所以钟爱这个,是因为它包括的东西很齐全,而且设置界面最为友好和强大,尤其是对于经常处理视频压制的人来说格外方便。最新的build是20120703,下载地址:http://www.skycn.com/soft/29561.html
        安装之后那个设置器就是让你自己调教各种组件的(以下配置为推荐配置):

        主播放器可以选MPC,也推荐pot。
        视频渲染器:
        注意,N卡用户请自行关闭驱动里面黑位错误(NV控制面板-调整视频颜色设置-通过NVIDIA设置-高级-完全(0-255))。不同文件的分离器这个自己看着办,我都用haali是觉得它很万能,但是有的时候也会出问题。如果出问题(很少情况下),可以试着改成lav。同时以下设置不是教你如何对付高清病毒而用的:


        IP属地:福建4楼2013-01-25 10:47
        回复
          如果你的机器够”强劲”的话(我记得推荐配置是所谓的Althlon X2 3600+ ,1GB DDR2, Radeon HD2600XT 512MB/8400GS 512MB),同时你不在乎不开显卡驱动加成(事实证明看高清的时候显卡加成一般是帮倒忙),你可以采用基于MadVR的设置:


          IP属地:福建5楼2013-01-25 10:48
          回复
            如果你需要开驱动加成,并且保证随时都是软解,以至于画质不会被降低,你可以用这个设置:
            如果你需要开AMD的演示模式,或者需要开硬解(前提是你知道取决于硬件和软件,硬解可能会降低画质),你可以用如下设置(LAV解码器里面硬解选项自己调整,后文有介绍。或者可以用ffdshow(DXVA)等硬解):


            IP属地:福建6楼2013-01-25 10:48
            回复
              4. 解码器设置
              各种格式的分离器,建议只选haali。部分时候如果是比较新的东西,比如MP4/MOV内封alac音轨,可以用lav。另外AMD平台用lav分离,编码的时候可能出现音画不同步,请小心(这种时候果断推荐用ffmpegsource而不是DirectShowSource)。
              解码器:推荐用lav或者ffdshow。编码用户更推荐ffdshow。无论你选择ffdshow还是lav,请尽量设置不要用多线程解码(taro前辈曾经告诉过我这在编码时候很容易bug)。如果需要开启硬解,选那些标注了DXVA的,或者点击解码器旁边的设置,找到硬解。以lav为例:
              出现available表示你的系统可以用这个硬解设置。一般还是推荐copy-back。貌似不会降低画质。具体可以在自己电脑上截图仔细看。反正我Intel集显开硬解某些情况下各种瞎眼。
              确认自己能开启自己需要的解码器(前提是你XXOO了系统解码器)的方法:
              1、渲染器选EVR/VMR9,H.264解码器选ffdshow
              2、点击应用,然后点击ffdshow旁边的“配置”,开启解码器的任务栏图标。

              对音频解码器ffdshow如法炮制。
              每次修改后保存,然后随便播放一个H.264的视频文件。
              这时候,如果系统解码器成功开启,右下角任务栏应该有图标:

              出现这个,表明你已经可以用完美解码设置中心随心所欲的设置自己想要的解码器了。


              IP属地:福建7楼2013-01-25 10:50
              回复
                5. 用ffdshow添加基础滤镜。
                ffdshow提供了一系列滤镜。这些在播放和编码的时候都很有作用。
                开启任务栏图标(见上条),右键之。一堆滤镜我就不一一解释了,比如里面的去色带等,在处理渣画质作品很有用。如果你编码的时候用的是DirectShowSource等依赖系统解码器的片源处理,编码时候右下角也会有图标,只要右键红色的ffdshow视频解码器的图标,开启滤镜就行了。
                如果经常调节解码器混乱了,只要用完美解码设置中心的修复解码器命令即可
                以上关于完美解码的设置教程就这么多。下文讲述MKVtoolnix的使用。


                IP属地:福建8楼2013-01-25 10:51
                回复
                  MKVtoolnix是一套完整的MKV处理工具,整合版下载在这里:
                  http://pan.baidu.com/share/link?shareid=102917&uk=3657779105
                  这是个绿色软件,直接解包就可以了。
                  mmg.exe是它的图形化窗口执行文件。


                  IP属地:福建9楼2013-01-25 10:51
                  回复
                    6. 如何将一个视频无损地、很方便地转为MKV格式
                    将视频转为MKV,用MKVtoolnix可以很容易的办到。前提是,你的视频不是flv这种封闭格式。比如MP4、MOV、TS转MKV就可以用MKVtoolnix。(对于flv,我的建议是用MediaCoder,勾选视频音频复制,转成MKV。拖进去,设置输出文件名,OK。)详细的请看下面。


                    IP属地:福建10楼2013-01-25 10:52
                    回复
                      7. 如何将外挂音轨、外挂字幕封装到MKV文件里去,使之成为一个单独文件
                      打开mmg.exe,将所有你需要的文件(可以是多个,比如多个视频、音频、字幕、章节等等),mmg会一个一个显示这些文件都有哪些组成部分,勾选你需要的部分,调整顺序,设定必要的default track(默认播放哪个),最后指定输出文件名(不要和任何输入文件相同)。
                      比如说,fate/zero 1080p下半季如果你觉得外挂字幕很不爽,你就可以将视频和字幕都加进去,然后整合输出。如果你觉得flac音轨太奢侈,你就可以去掉flac音轨,同时加入有损音轨(比如同时720p版mp4拖进去,只选择其中的aac音轨),这样能有效减小体积。
                      图中所示是先后选择自制的魔法少女小圆720p MP4文件,和澄空的外挂字幕。如图所示,输入文件的框里显示mp4文件和ass文件,tracks列表里,分别是视频、音频和字幕。这时候整合输出,就是内嵌字幕的MKV文件。


                      IP属地:福建11楼2013-01-25 10:52
                      回复
                        8. 如何将>4GB的视频文件较快的切割成<4GB的分块,以获得android 系统fat32支持
                        Android原生不支持4GB以上文件(fat32限制)众所周知(不过听说有补丁),对于视频文件,可能轻而易举的突破这个限制,这个可以用MKVtoolnix进行裁剪。裁剪的原理,和winrar分卷类似。首先将你需要裁剪的文件拖入mmg,如果有外挂字幕什么的一并拖进去。
                        随后标签打到global,enable splitting,选择按大小划分。这里没有我们需要的,只要自己填上4000M就可以了(准确点是4096MB)。有些读者反映>2GB也会出问题,只要按2000M划分就没问题了。随后就是输出。


                        IP属地:福建12楼2013-01-25 10:53
                        回复
                          MKVtoolnix也可以按时间长度划分和按指定时间点划分(其他几个选项就是,这点浅显的英文不用我解释吧)。不过这两个并不能十分精确。有兴趣的读者可以自行尝试。


                          IP属地:福建13楼2013-01-25 10:54
                          回复
                            9. 如果是音轨或者字幕跟视频相差若干秒,可以用mmg调整延迟。首先将文件拖进去,然后点击对应音轨,最下方的format specific option中,调整好延迟就行了。单位是毫秒。比如需要提前1.5s,那么就是延迟-1500ms,填上1500就行。然后输出。字幕同理。


                            IP属地:福建14楼2013-01-25 10:54
                            回复
                              10、分离不同的tracks,这个要额外安装MKVExtractGUI2或者MKVcleaver。我给的软件包里面已经包括了前者,直接用就行。
                              用MKVExtractGUI2打开任意MP4/MKV文件,然后勾选你要分离的tracks,点击extract就行了。这种做法可以避免有损提取,i.e.,如果你想分离bgm,你可以先用截取的方法获得你想要的那段视频,然后分离音轨。这样做你可以完全无损的提取音轨,不用担心二次编码造成的音质损失,也不用做aac->flac这样的蛋疼事情。


                              IP属地:福建15楼2013-01-25 10:54
                              回复