红色或蓝底白字表示重点!!!
需要用到的软件(自己惊讶地发现全是开源的……)
MKVtoolnix,MKVextractGUI,avc2avi_mod_GUI,AVI-Mux GUI
AVIRead v0.928,tc2asc v1.3,vfrmkv
MKV - Variable Frame Rate (动态帧速) 转换需要,一般用不着就不用下载。
首先把该装的软件都装好……
P.S.
- MKVextractGUI需要先装MKVtoolnix,然后直接拷贝到同目录下。
- 建议大家把软件更新,虽然说我现在用着没问题。不过新的总会比旧的好吧??
MKV TO AVI + 外挂字幕/AVI + 内嵌字幕
转换 CFR - Constant Frame Rate (固定帧速)
无损!!!可以自由选择视屏音频字幕流
1. 首先播放一下,查看一下媒体信息,记下 Vedio 的 编码方式 和 Frame rate。(建议用KMPlayer查)
2. 运行MKVextractGUI,载入MKV,把它分离。一般会有1个视屏流,X个音频流,Y个字幕。
3. 将视屏流重命名为×.264,运行avc2avi_mod_GUI,选中视屏流,设置它的 编码方式 和 Frame rate,注意不要设错。
2. 运行MKVextractGUI,载入MKV,把它分离。一般会有1个视屏流,X个音频流,Y个字幕。
3. 将视屏流重命名为×.264,运行avc2avi_mod_GUI,选中视屏流,设置它的 编码方式 和 Frame rate,注意不要设错。
P.S. 注意这其实是个DOS程序,如果转换时闪了一下命令提示符就没了,说明文件名解析出错。试试把目录名和文件名改一下。
4. 运行AVI-Mux GUI,把要合成的视屏(avc2avi_mod_GUI转好的AVI文件)和音频拖到上面的窗口中,双击视屏。看到下面有一个Vedio和一个Audio就可以合成了。5. 完成啦,把转好的AVI和字幕重命名成一样的名字,大功告成!
要内嵌字幕就用 WisMencoder 转换一次。不会用的上 http://bbs.mzys.cn/ 学!
转换 MKV - Variable Frame Rate (动态帧速)——这种情况极罕见 (转载……http://bbs.acgcity.com/read.php?tid-625.html)
1. 分离出去除D帧的CFR-AVI,工具:vfrmkv
在命令提示符中执行
mp X:\test.mkv X:\test.avi X:\test.txt
解释:test.mkv为原视频,test.avi为输出的23.976FPS的CFR-
AVI,test.txt为输出的TimeCode V1文档(因为后面用的是TimeCode V2,此处生成的TimeCode
V1无用,PASS掉)
2. mkvextract提取出TimeCode V2,工具:MKVtoolnix
在命令提示符中执行
mkvextract timecodes_v2 "X:\test.mkv" 1:X:\timecodev2.txt
解释: test.mkv为原视频,timecodev2.txt为输出的TimeCode V2文档,前面的1是ID,一般MKV中的视频流ID就是1了(多个视频流的MKV貌似还不常见)。
3. tc2asc(Ver.1.3)将TimeCode V2转换为ASC,工具:tc2asc v1.3
在命令提示符中执行
tc2asc H:\timecodev2.txt H:\timecodev2.asc 120000 1001
解释:timecodev2.txt为上一步输出的TimeCode
V2文档,timecodev2.asc为输出的asc文件,后面的120000为除数,1001为被除数,即120000/1001=119.880。
至于为什么不是整数120FPS就去拜托GOOGLE大神吧
4. AVIRead处理视频,工具:AVIRead v0.928
要玩这个东东首先得安装Microsoft .NET Framework v2.0,没有的话先安装吧。
折腾回来了就打开AVIRead,把第1步中生成的CFR-AVI拖进去,那个吓人的波形图不用管。点Edit -> Insert Drop Frames using script file (60fps)(注意这里是60FPS的,某也搞不清楚为什么。总之某在这被卡了很久才懂),再点File Name右边的Browse导入第3步生成的timecodev2.asc(因为AVIRead只吃asc,要不也不用这么麻烦把TimeCode转来赚去了),Frame Delay不用管默认就好,接着再点Edit -> Change Frame Rate,第一个框改成120000,第二个框改成1001(就是改成120FPS帧速去),OK之后,就去File -> Save As保存为新的AVI,这个AVI就是最终目标120FPS-AVI。
5. 合成,工具:AVI-Mux GUI
这个就不多说了,工具多得是。某用的是AVI-Mux GUI,从原MKV中分离出音轨,再与目标的120FPS-AVI合成就成。
在命令提示符中执行
mp X:\test.mkv X:\test.avi X:\test.txt
解释:test.mkv为原视频,test.avi为输出的23.976FPS的CFR-
AVI,test.txt为输出的TimeCode V1文档(因为后面用的是TimeCode V2,此处生成的TimeCode
V1无用,PASS掉)
2. mkvextract提取出TimeCode V2,工具:MKVtoolnix
在命令提示符中执行
mkvextract timecodes_v2 "X:\test.mkv" 1:X:\timecodev2.txt
解释: test.mkv为原视频,timecodev2.txt为输出的TimeCode V2文档,前面的1是ID,一般MKV中的视频流ID就是1了(多个视频流的MKV貌似还不常见)。
3. tc2asc(Ver.1.3)将TimeCode V2转换为ASC,工具:tc2asc v1.3
在命令提示符中执行
tc2asc H:\timecodev2.txt H:\timecodev2.asc 120000 1001
解释:timecodev2.txt为上一步输出的TimeCode
V2文档,timecodev2.asc为输出的asc文件,后面的120000为除数,1001为被除数,即120000/1001=119.880。
至于为什么不是整数120FPS就去拜托GOOGLE大神吧
4. AVIRead处理视频,工具:AVIRead v0.928
要玩这个东东首先得安装Microsoft .NET Framework v2.0,没有的话先安装吧。
折腾回来了就打开AVIRead,把第1步中生成的CFR-AVI拖进去,那个吓人的波形图不用管。点Edit -> Insert Drop Frames using script file (60fps)(注意这里是60FPS的,某也搞不清楚为什么。总之某在这被卡了很久才懂),再点File Name右边的Browse导入第3步生成的timecodev2.asc(因为AVIRead只吃asc,要不也不用这么麻烦把TimeCode转来赚去了),Frame Delay不用管默认就好,接着再点Edit -> Change Frame Rate,第一个框改成120000,第二个框改成1001(就是改成120FPS帧速去),OK之后,就去File -> Save As保存为新的AVI,这个AVI就是最终目标120FPS-AVI。
5. 合成,工具:AVI-Mux GUI
这个就不多说了,工具多得是。某用的是AVI-Mux GUI,从原MKV中分离出音轨,再与目标的120FPS-AVI合成就成。
0 comments:
Post a Comment