找回密码
 注register册

QQ登录

只需一步,快速开始

查看: 12535|回复: 0

[〖视频音频〗] 视频压缩转换:RMVB篇

hff2 该用户已被删除
发表于 2013-6-2 01:50:22 |阅读模式
RVZMNU0=YMFXR
本帖最后由 hff2 于 2014-1-18 14:28 编辑 [j]YMFXR RJ0HJT[/j]

[j]YMFXR RJ0HJ5[/j]2009年的时候写过一帖,不过现在看来过于简单。之后又有了许多新的发现,虽然现在已经是MP4主流了,不过还是整理一下顺做个总结
[j]YMFXR RJ0HK2[/j][j]YMFXR RJ0HJI[/j]
首先要确定播放器可以正常播放想要压缩的视频,如果片源就不能正常播放(例,花屏、马赛克、视音频错位),那么压出来的RMVB也是不正常的。建议先压缩前使用暴风影音、StormCodec、K-Lite Codec播放器测试一下片源(KMP没用过不太清楚),省的浪费时间。射手播放器因为是使用它独特的   ***下载/download/otomedream/ダウンロード***   包,所以测试出来的结果与压制出来的效果无关[j]YMFXR RJ0HKO[/j]

[j]YMFXR RJ0HJT[/j]然后就是安装各种需要的软件
[j]YMFXR RJ0HKE[/j][j]YMFXR RJ0HJR[/j]
1、字幕提取&文件封装工具:MKVToolnix[j]YMFXR RJ0HJ6[/j]
解压即可使用,无需安装
[j]YMFXR RJ0HJU[/j]如果是内置的字幕文件,首先需要使用mkvewizard   ***下载/download/otomedream/ダウンロード***   把字幕轨提取出来。将文件导入mkvewizard之后可以在下方看到轨道信息,字幕文件一般是第三轨,勾选之后开始提取
[j]YMFXR RJ0HJM[/j]

[j]YMFXR RJ0HK0[/j]                               
需要注册成功才可查看大图
[j]YMFXR RJ0HJB[/j]
                               
需要注册成功才可查看大图
[j]YMFXR RJ0HJF[/j]

[j]YMFXR RJ0HK0[/j]一般需要十几秒的时间(取决于文件大小),提取成功的话会出现“Extraction complete sucessfully”的提示
[j]YMFXR RJ0HJH[/j]

[j]YMFXR RJ0HJR[/j]                               
需要注册成功才可查看大图

[j]YMFXR RJ0HJW[/j]
[j]YMFXR RJ0HJR[/j]如果文件导入mkvewizard之后没有出现轨道信息,那么需要先使用mmg   ***下载/download/otomedream/ダウンロード***   重新封装一下,再将这个重新封装过的mkv文件导入mkvewizard,就可以看到字幕轨了
[j]YMFXR RJ0HKN[/j]

[j]YMFXR RJ0HJ9[/j]                               
需要注册成功才可查看大图

[j]YMFXR RJ0HJJ[/j]
[j]YMFXR RJ0HJ4[/j]2、RMVB压缩工具:EasyRealmediaProducer[j]YMFXR RJ0HJY[/j]
解压后按照提示安装,可直接使用默认设置至安装完毕。(以下简称ERP。)
[j]YMFXR RJ0HJS[/j]
[j]YMFXR RJ0HJV[/j]3、AVS代码工具:AviSynth[j]YMFXR RJ0HJ1[/j]
解压后按照提示安装,可直接使用默认设置至安装完毕
[j]YMFXR RJ0HKA[/j]
[j]YMFXR RJ0HKM[/j]4、播放器:StormCodec
[j]YMFXR RJ0HJR[/j]如果已有暴风或者K-Lite播放器的话可以跳过这一步。我个人很喜欢使用这个英文版StormCodec,因为完全没有广告。(有些杀毒软件可能会认为这个软件含有   ***下载/download/otomedream/ダウンロード***   ,可以忽视。压缩包里的.dll文件是可以在win7下正常显示StormCodec图标的替换文件,替换安装文件夹内的同名文件即可。)[j]YMFXR RJ0HJD[/j]
[j]YMFXR RJ0HKF[/j]
5、   ***下载/download/otomedream/ダウンロード***   包:K-Lite Codec Basic[j]YMFXR RJ0HKO[/j]
因为英文版StormCodec版本比较旧,所以需要另外安装   ***下载/download/otomedream/ダウンロード***   包才可以正常播放近期的MP4视频。完美   ***下载/download/otomedream/ダウンロード***   没有用过,不是很清楚效果如何。我个人比较喜欢K-Lite的   ***下载/download/otomedream/ダウンロード***   包
[j]YMFXR RJ0HJ9[/j](注意:   ***下载/download/otomedream/ダウンロード***   包一定要在ERP之后安装,不然会出现字幕编码无法识别、有些文件无法播放的问题。)
[j]YMFXR RJ0HK1[/j]其实K-Lite Codec Mega是自带播放器的,但是K-Lite的MPC播放器对COOK格式的RMVB的支持度不是很好,所以我更偏好只有   ***下载/download/otomedream/ダウンロード***   包的Basic版
[j]YMFXR RJ0HJI[/j],上面百度云盘的下载是K-Lite Basic 960,因为MP4的编码程序一直有在更新,所以建议K-Lite   ***下载/download/otomedream/ダウンロード***   包也时不时更新一下。播放MP4视频的时候,如果发现用别的播放器(例如射手)没有问题,但是用暴风就会有马赛克或者语音延迟的问题,那么可能就是要更新   ***下载/download/otomedream/ダウンロード***   包了。可以去这里下载最新版的K-Lite
[j]YMFXR RJ0HJ0[/j]
[j]YMFXR RJ0HKF[/j]安装K-Lite的时候H.264的   ***下载/download/otomedream/ダウンロード***   器需要选择ffdshow才可以正常播放MP4视频,其他的可以默认。注:960以上的新版K-Lite不知为何没有ffdshow   ***下载/download/otomedream/ダウンロード***   器,所以建议安装旧版的960[j]YMFXR RJ0HJ6[/j]
[j]YMFXR RJ0HJP[/j]
                               
需要注册成功才可查看大图
[j]YMFXR RJ0HJ9[/j]
[j]YMFXR RJ0HK7[/j]
如果想要看到动态字幕效果,需要在字幕设置里勾选Allow animated effects.
[j]YMFXR RJ0HJC[/j]
[j]YMFXR RJ0HJK[/j]
                               
需要注册成功才可查看大图

[j]YMFXR RJ0HJQ[/j]
[j]YMFXR RJ0HKK[/j]工具都安装完毕之后就可以开始压RMVB了。可以直接丢入ERP进行压缩,或者使用AVS代码
[j]YMFXR RJ0HK6[/j][j]YMFXR RJ0HJX[/j]
1、直接使用ERP的情况[j]YMFXR RJ0HKD[/j]
打开Easy RealMedia ProducerV1.94   ***下载/download/otomedream/ダウンロード***   ,将视频导入,不需要修改参数的话可以直接点击左下角的“开始压缩”
[j]YMFXR RJ0HJH[/j]

[j]YMFXR RJ0HK6[/j]                               
需要注册成功才可查看大图

[j]YMFXR RJ0HJQ[/j]
[j]YMFXR RJ0HJC[/j]需要修改参数的话,点击该文件,然后点击上方的“参数设置”,会出现一个可以让我们设置码率、画面、音量等等的窗口。(界面语言可以在“环境设置”里修改。)[j]YMFXR RJ0HJZ[/j]

[j]YMFXR RJ0HJ1[/j]                               
需要注册成功才可查看大图
[j]YMFXR RJ0HJI[/j]

[j]YMFXR RJ0HK0[/j]默认的参数压缩出来的是RV9的RMVB,虽然压缩速度比较快,但效果没有RV10的好。下面是我常用的RV10的设置,常用的需要修改的参数已用红框标出
[j]YMFXR RJ0HJI[/j]- 码率:决定视频质量和大小的一个重要参数,一般480P的视频我会使用600kpbs的平均码率(一集动画压出来大约是100MB)。ERP会根据平均码率来智能决定压缩质量,一般动态画面较多的视频最终可能会略大于平均码率(但是小于最大码率)。如果基本都是静态画面(例,AVG乙女游戏视频),那么最终一般会低于平均码率(低多少取决于画面大小)
[j]YMFXR RJ0HK0[/j]- 画面大小:可根据自己的需要调整。不需要调整的话可以不勾选
[j]YMFXR RJ0HJG[/j]- 音量:可根据自己的需要调整。-12dB到+12dB,再大或者再小就需要使用AVS代码了。不需要调整的话可以不勾选
[j]YMFXR RJ0HJS[/j]- 音频延迟/提前:我之前试过,不是很好用,所以视音频错位的片源我一般是用Mediacoder加工一下,然后再用ERP压RMVB[j]YMFXR RJ0HJK[/j]
- 影片结束时间:即视频切割,可根据自己的需要调整,不过只能调整结束时间不能调整开始时间。想要同时调整开始和结束时间的话可以使用安装目录下的Easy RealMedia EditorV1.73   ***下载/download/otomedream/ダウンロード***   ,导入RMVB文件后点击“参数设置”,然后选择“编辑单个文件”,输入起始和结束时间即可(见下方右图)。但是ERE的切割效果不是很好,经常会在片尾出现爆音,而且只支持RMVB文件,所以我一般还是使用AVS代码来进行视频切割。不过ERE的“多个文件合并”的效果倒是很不错,而且速度很快,推荐
[j]YMFXR RJ0HJX[/j]

[j]YMFXR RJ0HKG[/j]                               
需要注册成功才可查看大图
下载/download/otomedream/ダウンロード***   eed81.jpg" border="0" alt="" />
[j]YMFXR RJ0HJF[/j]                               
需要注册成功才可查看大图
[/url][j]YMFXR RJ0HK9[/j]
[j]YMFXR RJ0HKO[/j]
顺附上该RV10/AAC的设置文件: RV10.rar 🔻RV10.rar🚧SSL下载🔻 (771 Bytes, 下载次数: 2)
[j]YMFXR RJ0HJW[/j]打开ERP,“参数设置-读取”该文件即可。在电脑配置不够高的情况下,压RV10虽然会略清晰,但是也会比RV9更耗时近一倍,建议根据自己的需要做选择
[j]YMFXR RJ0HKF[/j]
[j]YMFXR RJ0HJI[/j]需要做画面切割的话可以点击“过滤设置”右边的“更多”,然后输入剪裁区域(可为单数、可不对称,解释详见AVS代码压缩部分),或者手动直接从画面上调节
[j]YMFXR RJ0HJE[/j]
[j]YMFXR RJ0HJ2[/j]
                               
需要注册成功才可查看大图
[j]YMFXR RJ0HKO[/j]
[j]YMFXR RJ0HJ0[/j]
需要加载字幕的话,只要让片源和字幕文件的名字保持一致(例,test1.avi和test1.ass),让这两个文件处在同一个文件夹内,然后把片源丢去ERP压制即可。AVI和WMV格式的视频可直接自动加载字幕,MKV和MP4的则需要使用AVS代码来加载
[j]YMFXR RJ0HKK[/j]
[j]YMFXR RJ0HKL[/j]2、使用AVS代码进行压缩的情况
[j]YMFXR RJ0HKJ[/j]为了防止出现“字幕重影”(双字幕) ,含内置字幕的MKV文件在压制前,需要用mmg重新封装一个只含视频轨和音频轨的mkv——视频导入mmg后,轨道选项中不要勾选S_TEXT那一轨(或者多轨)。内置字幕需要用mkvewizard预先提取出字幕轨,外置字幕的话则可以直接继续下一步
[j]YMFXR RJ0HJJ[/j]
[j]YMFXR RJ0HJ4[/j]AVS的功能很强大,下面只介绍一些常用代码。(该AVS文件下载: sample.rar 🔻sample.rar🚧SSL下载🔻 (901 Bytes, 下载次数: 0)
[j]YMFXR RJ0HJH[/j]LoadPlugin("C:\Program Files (x86)\AviSynth 2.5\plugins\DirectShowSource.dll")
[j]YMFXR RJ0HJ2[/j]LoadPlugin("C:\Program Files (x86)\K-Lite Codec Pack\Filters\vsfilter.dll")
[j]YMFXR RJ0HJG[/j]DirectShowSource("D:\文件名.mkv",fps=23.98,convertfps=true)
[j]YMFXR RJ0HJ7[/j]
AmplifydB(20)
[j]YMFXR RJ0HJT[/j]Crop(2,40,636,400)
[j]YMFXR RJ0HJ6[/j]LanczosResize(640,480)[j]YMFXR RJ0HJQ[/j]
TextSub("D:\文件名_Track3.ass")
[j]YMFXR RJ0HJN[/j]Trim(120,2400)
[j]YMFXR RJ0HJQ[/j]Changefps(23.98)

[j]YMFXR RJ0HKK[/j]
[j]YMFXR RJ0HJ2[/j]头两行分别是载入压制源和字幕滤镜,其中 C:\Program Files (x86) 是安装目录文件夹所在位置,需根据软件的安装路径来设置
[j]YMFXR RJ0HJJ[/j]
[j]YMFXR RJ0HKJ[/j]第三行:载入片源,其中 D:\文件名.mkv 是要压缩的片子的路径、名称和格式,需根据自己的情况修改fps=23.98,convertfps=true 和最后一行的 Changefps(23.98) 是在片源有帧数变化时(例,OPED是30帧/秒,其他部分是23.98帧/秒)用来防止视音频错位的,如果没有出现下列错误提示就可以不使用
[j]YMFXR RJ0HKD[/j]
[j]YMFXR RJ0HJO[/j]
                               
需要注册成功才可查看大图

[j]YMFXR RJ0HKC[/j]注:Win7的系统似乎不认convertfps代码,所以我现在一般不使用fps=23.98,convertfps=true
[j]YMFXR RJ0HJR[/j]
[j]YMFXR RJ0HK8[/j]第四行:调整音量。不需要调整的话可以将这一行删除
[j]YMFXR RJ0HJH[/j]
[j]YMFXR RJ0HJK[/j]第五行:画面切边。不需要调整的话可以将这一行删除Crop(1,2,3,4),其中1=需要切除的宽度(必须是2的倍数),2=需要切除的高度(必须是2的倍数),3=裁剪后的宽度(原始宽度-切除宽度x2),4=裁剪后的高度(原始高度-切除高度x2)。所以 Crop(2,40,636,400) 表示将一个640x480视频的上下各切掉 2像素,左右各切掉 40像素(注:上下或左右切除像素必须一致,且不能只切单边)[j]YMFXR RJ0HJA[/j]

[j]YMFXR RJ0HKL[/j]第六行:调整画面大小。上一行的切边让画面变成了636x400,所以这里需要再把画面调回640x480
[j]YMFXR RJ0HKC[/j]
[j]YMFXR RJ0HJN[/j]第七行:载入字幕(注:因为代码是一行行读取的,如果之前做了画面切割&大小调整的工作,预先载入字幕的话,字幕会随画面一起被切除或者拉伸,从而出现扭曲,所以建议先做完画面切割调整的工作后再载入字幕。)其中 .ass 是字幕文件的格式。如果有字幕和语音对不上问题,可以使用Popsub修改。要是Popsub打开的字幕文件是乱码的话,可以先用写字板打开字幕文件,把该文件保存为Unicode格式后再重新导入Popsub
[j]YMFXR RJ0HKA[/j]

[j]YMFXR RJ0HKA[/j]                               
需要注册成功才可查看大图

[j]YMFXR RJ0HJ0[/j]
[j]YMFXR RJ0HJR[/j]第八行:视频切割Trim(开始帧数,结束帧数),帧数值=视频帧数x秒,视频帧数(FPS)可在播放该视频时查看属(xing)Trim(120,2400) 表示从120/23.98=5秒开始,到2400/23.98=100秒结束[j]YMFXR RJ0HJ9[/j]

[j]YMFXR RJ0HJS[/j]                               
需要注册成功才可查看大图

[j]YMFXR RJ0HJ9[/j][j]YMFXR RJ0HJX[/j]
需要做视频合并的话,可以使用下列代码:
[j]YMFXR RJ0HK1[/j]LoadPlugin("C:\Program Files (x86)\AviSynth 2.5\plugins\DirectShowSource.dll")[j]YMFXR RJ0HKB[/j]
LoadPlugin("C:\Program Files (x86)\K-Lite Codec Pack\Filters\vsfilter.dll")
[j]YMFXR RJ0HJL[/j]a=DirectShowSource("D:\test1.mp4")
[j]YMFXR RJ0HJS[/j]b=DirectShowSource("D:\test2.mp4")
[j]YMFXR RJ0HJ0[/j]final=a+b
[j]YMFXR RJ0HJW[/j]return final

[j]YMFXR RJ0HJ3[/j]
[j]YMFXR RJ0HKA[/j]偶尔会出现“Frame not match”的错误(例,连接一个用MP4压出来的RMVB和一个用RMVB压出来的RMVB,虽然都是23.98fps),不知如何解决[j]YMFXR RJ0HK8[/j]

[j]YMFXR RJ0HJM[/j]合并几个视频中的几段:
[j]YMFXR RJ0HK3[/j]LoadPlugin("C:\Program Files (x86)\AviSynth 2.5\plugins\DirectShowSource.dll")
[j]YMFXR RJ0HJY[/j]LoadPlugin("C:\Program Files (x86)\K-Lite Codec Pack\Filters\vsfilter.dll")[j]YMFXR RJ0HJV[/j]
a=DirectShowSource("D:\test1.rmvb").trim(200,300)[j]YMFXR RJ0HJY[/j]
b=DirectShowSource("D:\test1.rmvb").trim(1200,1300)[j]YMFXR RJ0HJR[/j]
c=DirectShowSource("D:\test2.rmvb").trim(2200,2300)
[j]YMFXR RJ0HJN[/j]d=DirectShowSource("D:\test2.rmvb").trim(3200,3300)[j]YMFXR RJ0HJH[/j]
e=DirectShowSource("D:\test3.rmvb").trim(4200,4300)[j]YMFXR RJ0HKI[/j]
f=DirectShowSource("D:\test4.rmvb").trim(5200,5300)
[j]YMFXR RJ0HK3[/j]final=a+b+c+d+e+f
[j]YMFXR RJ0HK0[/j]return final

[j]YMFXR RJ0HKC[/j]
[j]YMFXR RJ0HJP[/j]合并AVI、MKV、MP4的代码同上,把.rmvb改成.avi、.mkv、.mp4即可。不过压高清视频的时候每个视频都要调用filter和  spliter,建议一次不要连太多,不然开始   ***下载/download/otomedream/ダウンロード***   的时候会很慢,而且右下角工具条那里会出现很多滤镜图标,太多的话就很可能会导致ERP不能正常运行然后强制结束(←经验之谈)[j]YMFXR RJ0HKA[/j]

[j]YMFXR RJ0HK1[/j]某些视频中间因为有很快的闪动画面(如下图),可能会导致ERP无法继续任务而卡在某一个时间点
[j]YMFXR RJ0HKA[/j]

[j]YMFXR RJ0HJ3[/j]                               
需要注册成功才可查看大图

[j]YMFXR RJ0HKI[/j][j]YMFXR RJ0HJQ[/j]
这种情况可以使用Trim和视频合并代码的结合版:
[j]YMFXR RJ0HJV[/j]LoadPlugin("C:\Program Files (x86)\AviSynth 2.5\plugins\DirectShowSource.dll")
[j]YMFXR RJ0HJ0[/j]LoadPlugin("C:\Program Files (x86)\K-Lite Codec Pack\Filters\vsfilter.dll")
[j]YMFXR RJ0HK8[/j]a=DirectShowSource("D:\test1.mkv").TextSub("
D:\test1.ass").Trim(0,24157)
[j]YMFXR RJ0HJ3[/j]b=DirectShowSource("
D:\test1.mkv").TextSub("D:\test1.ass").Trim(24160,42600)
[j]YMFXR RJ0HK7[/j]final=a+b
[j]YMFXR RJ0HKG[/j]return final

[j]YMFXR RJ0HJ3[/j]
[j]YMFXR RJ0HJS[/j]根据ERP卡住的时候计算一下第一段片子的结束帧数,跳过几帧之后开始第二段片子,片源、字幕、Trim之间用点(.)相连。可以专门截出问题的那几秒(第一段片子的开始帧数设略小于问题帧,第二段片子的结束时间设略大于问题帧),研究一下跳过的帧数的适合数量
[j]YMFXR RJ0HKA[/j]
[j]YMFXR RJ0HJY[/j]AVS代码写完之后,将这个.avs文件导入ERP,然后点击“开始压缩”即可。使用AVS压出来的RMVB的名字同AVS文件的名字。例,AVS代码文件叫“sample.avs”的话,压缩出来的RMVB就是“sample.rmvb”。建议不要起和字幕文件一样的名字,不然查看RMVB的时候会自动导入同名字幕(如果两者在同一文件夹下),从而出现字幕重影(双字幕)的问题
[j]YMFXR RJ0HK8[/j][j]YMFXR RJ0HJM[/j]
,压缩带idx/sub字幕的avi视频的时候,压出来的RMVB在查看前记得要重命名,不然会出现绿色斜纹(如下图)。估计是在播放的时候因为名字一致,所以也加载了源字幕,所以才出现了异常[j]YMFXR RJ0HKG[/j]
下载/download/otomedream/ダウンロード***   H5" class="guestviewthumb_cur" onclick="showWindow('login', 'member.php?mod=logging&action=login'+'&referer='+encodeURIComponent(location))" src="http://i324.photobucket.com/albums/k357/hff2/blog/rmvb16_zpse1a79529.jpg" border="0" alt="" />
[j]YMFXR RJ0HKC[/j]                               
需要注册成功才可查看大图

[j]YMFXR RJ0HK9[/j][j]YMFXR RJ0HJG[/j]
视频压缩转换:MP4篇(主Mediacoder)
[j]YMFXR RJ0HJ2[/j]
[j]YMFXR RJ0HJL[/j]
【论坛搜索关键词】:🔍视频

评分

参与人数 1论坛币 +8 发帖积分 +2 魅力 +2 收起 理由
赭彦 + 8 + 2 + 2 感谢分享经验

查看全部评分

本帖被以下淘专辑推荐:

相关帖子

您需要登录后才可以回帖 登录 | 注register册

本版积分规则

银行|😀|手机版|Archiver|联系 翼梦管理员|联系 舞城管理员|☆翼の夢★舞の城☆聯盟 ( 苏ICP备13061143号 ) | 繁體中文化      

苏公网安备 32011302320404号

GMT+8, 2024-9-19 11:19 , Processed in 0.728961 second(s), 30 queries , Gzip On.      

快速回复 返回顶部 返回列表 立刻刷新