查看: 11167|回复: 5
上一主题 下一主题 跳转到指定楼层

如何把RMVB的音频抽出来和WMV还有字幕一起封装成MKV

1912

主题

3302

存在感

931

活跃日
喵~离线 这份期待
 9 

家中的荣誉团员

发帖: 16845
SOS币: 47298
社团: 靈場慕情詞
注册: 2008-07-13
访问: 2023-11-21

楼主
发表于 2010/05/08 | 编辑

猜你喜欢: mkv, rmvb, wmv


事情是这样的。

我下载了TOUCH的国语版本和日语版本两个。

国语版是RMVB格式。   日语版画面好是WMV格式。


现在希望把RMVB里的音频抽出来和日语的WMV以及字幕一起封装成双音轨的MKV。

因为WMV没办法用MKVtoolnix所以求指导方法。

340

主题

1428

存在感

476

活跃日
 7 

家中的荣誉团员

1楼
发表于 2010/05/08 | 编辑
mkvtoolxin就可以做到~~具体的咱再看看去

1912

主题

3302

存在感

931

活跃日
喵~离线 这份期待
 9 

家中的荣誉团员

2楼
发表于 2010/05/08 | 编辑
引用第1楼Stuart_Lee2010-05-08 10:36发表的“”:
mkvtoolxin就可以做到~~具体的咱再看看去


哎哎,可以么?

我用的是2.40版的。 拖WMV进去提示此文件是一种不支持的容器格式(windows media(asf/wmv))

340

主题

1428

存在感

476

活跃日
 7 

家中的荣誉团员

3楼
发表于 2010/05/08 | 编辑
恩~直接运行mmg(mkvmerge GUI.exe)
输入文件里选择添加~那你的rv、wmv、字幕文件都添加进去~轨道里不要勾选rv的视频和wmv的音频...
wmv没试过不晓得~~rv是没问题的~

-------------------
引用第2楼若松美雪2010-05-08 10:41发表的“”:

哎哎,可以么?

我用的是2.40版的。 拖WMV进去提示此文件是一种不支持的容器格式(windows media(asf/wmv))



汗了...这样啊- -

1912

主题

3302

存在感

931

活跃日
喵~离线 这份期待
 9 

家中的荣誉团员

4楼
发表于 2010/05/08 | 编辑
引用第3楼Stuart_Lee2010-05-08 10:41发表的“”:
恩~直接运行mmg(mkvmerge GUI.exe)
输入文件里选择添加~那你的rv、wmv、字幕文件都添加进去~轨道里不要勾选rv的视频和wmv的音频...
wmv没试过不晓得~~rv是没问题的~



rm的确没问题。但是WMV不行呀

340

主题

1428

存在感

476

活跃日
 7 

家中的荣誉团员

5楼
发表于 2010/05/08 | 编辑
你看看这两个贴吧~
http://bbs.sumisora.com/read.php?tid=221573
http://popgo.net/bbs/showthread.php?threadid=427026

这个多少年前就讨论过了,WMV容器是M$专利,很少有第三方工具提供支援,WMV容器到MKV要走graphedit,通过mkv muxer(建议haali)写入MKV,另外小日本的WMV里很多copyframe型的vfr,要用到timecode

几个工具
http://haali.cs.msu.ru/mkv/MatroskaSplitter.exe
http://home.comcast.net/~appleguru/graphedt_october2004.zip
http://haali.cs.msu.ru/mkv/mkv2vfr.exe

下面是一段原文

WMV in .wmv
This is where it gets tricky. Not all WMV's are VFR, but it's pretty common. To get at the timecodes at all, you need to transmux it to MKV. This is not entirely trivial since mkvtoolnix doesn't handle the WMV container due to patent concerns. You need to use Haali's simple DirectShow muxer, which comes with his media splitter (it's included with CCCP as well). To use it at all, you need GraphEdit (see the tools section). Fire up Graphedit and drop the WMV file on it. It will create a "graph" consisting of a source filters, video and audio decoders, and video and audio renderers. Delete everything (by clicking on the boxes and hitting delete) except the source filter and the audio decoder. Next, insert filters, open the DirectShow Filters node and find Haali Matroska Muxer. Give it an output file, then connect the video output pin to the input pin of the matroska muxer (which will then grow another pin), then connect the audio output pin to the new input pin. Now hit the "Play graph" button at the top, and you'll get a MKV file with WMV video and PCM audio. Extract the audio (do what you usually do with it), and use mkv2vfr on the MKV to get a decimated raw and a timecodes file. Encode and mux.

简单说明下:

第一步用graphedit,打开WMV之后,把所有解码滤镜全部删除,保留原始文件,然后开始手动添加滤镜,在direct show filter中找到haali Matroska muxer,添加,这时候会让你指定文件地址,比如把文件保存为test.mkv,点确定,这样graphedit中就多出一个haali Matroska muxer的方框,它代表了这个滤镜,把WMV文件输出和haali Matroska muxer的video输入相连接,play the graph,得到test.mkv。

在这里,偶和原文中提到的方法有个不同,声音没有合成到mkv中,偶一般是单独处理,还是graphedit,打开WMV,删除所有滤镜,但是保留声音解码滤镜,增加file writer,输入要保存的文件名,例如teat.wav,把解码后的wav连接到file writer,play the graph,得到test.wav。当然,也可以用AVS调用directshow载如WMV,然后在VDM中save wave,这个原理相同,只是graphedit是把后台工作给表示出来了而已。这里我们也可以看到graphedit的作用,就是从底层调用各种解码编码滤镜,摆脱那些外壳程序的束缚。


第二步,用mkv2vfr.exe得到CFR的AVI和Timecode v2 这个用dos命令行实现,把"mkv2vfr.exe"拷贝到win\system32,然后运行cmd,输入mkv2vfr "C:\test.mkv" "C:\test.avi" "C:\Timecode.txt"
中间有空格,C:\test.mkv只是举个例子,写上绝对路径就好,最后,用这个avi和tc插120fps,和声音合成,就可以做成avi了。


除了这个方法之外还有许多偏方,比如使用asf2mkv,比如VirtualDub-MPEG2,这个软件修改VD代码实现对M$的.asf .wmv的支援,配合WMVTIMES可以很好解决WMV vfr等等,有兴趣的可以自己去google,不一个一个解释了..




----------我是分割线-----------
不过看起来很麻烦...没试过╮(╯▽╰)╭~~不过要是咱的话大概会用更蠢的方法...把wmv压制成别的格式的再整流...(好吧我几乎没见过wmv格式的文件╮(╯▽╰)╭

再补充一下~graphedit在完美解码里有附带~~所以不必要下载


[ 此贴被Stuart_Lee在2010-05-08 10:57重新编辑 ]

关于我们|无图版|SOSG WIKI

Copyright © 2006-2024 SosG.Net
Total 0.020452(s) query 8, Gzip enabled,  沪ICP备07006640号-3