当前位置: 首页 > 工具软件 > dvd:rip > 使用案例 >

linux拷贝音频文件,Linux中提取DVD的音频的方法

孙自怡
2023-12-01

火 于 2005-12-13 17:02:13发表:

4. 把所有的avi文件用下面的命令处理一下:

mencoder -idx mymovie_1.avi -ovc copy -oac copy -o mymovie_1_out.avi

5. 合并所有的avi成一个文件:

cat mymoive_1_out.avi mymoive_2_out.avi ... mymoive_8_out.avi > mymovie.avi

mencoder -noidx -ovc copy -oac copy -o mymovie_final.avi mymove.avi

OK! 搞定!

dvd我们一般把它rip成avi格式。用的编码一半是xvid.mpeg4,lavcopts

质量较好的编码一半选用3pass编码方式,得到的文件大小一般也是700M左右。就是说要编码三次。(可惜不能用rmvb,它就比avi小多了,质量也很好)。

第一次是音频编码,可以顺便剥离字幕,第二次是第一次视频编码,主要为了得到一个编码表;

第三次就是按照第二次得到的码表再次编码,顺便把第一次得到的音频合成进去。

简单的就如下:

PHP代码:

3-pass编码的例子:dvd-rip

rm frameno.avi -- 移去这个文件,它可能来自以前的3-pass编码(它会干扰当前编码)

mencoder dvd://2 -ovc frameno -o frameno.avi -oac mp3lame -lameopts vbr=3

mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:vpass=1 -oac copy -o movie.avi

mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:vpass=2 -oac copy -o movie.avi

几个解释补充:

1:音频加字幕:

PHP代码:

mencoder dvd://1 -vobsubout subtitles -vobsuboutindex 0 -sid 2 -o frameno.avi -ovc frameno

注意 :这里的frameno.avi就是你得到的音频。我这里没有进行编码,就是说直接把dvd的音频流给剥离出来(其实就是ac3编码)。

如果如果你想用lame编码成mp3那么参考Fortraner的介绍。

-vobsuboutindex 0 -sid 2 这个参数就是为了从dvd文件里把字幕给剥离出来。前面的0就是说我们选的字幕(就是sid 2)做为我们最后得得到字幕文件的index 编号为0的字幕。(字幕包括以.idx和.sub结尾的一对文件。)

sid 2 表示我们选的dvd字幕中的sid编号(language id)为2字幕。为什么选2呢?因为你用mplayer -vobsubid 2播放dvd时正好出来的是中文。如果你用-vobsubid 1得到的是中文那么你就用1。

关于字幕提取。详见mplayer的官方文档(有中文的)。

举个一次性在进行3-pass编码的同时从DVD复制两份字幕的例子:

PHP代码:

rm subtitles.idx subtitles.sub //这里是为了防止原先存在的字幕的干扰。

mencoder dvd://1 -vobsubout subtitles -vobsuboutindex 0 -sid 2 -o frameno.avi -ovc frameno

mencoder dvd://1 -oac copy -ovc divx4 -pass 1

mencoder dvd://1 -oac copy -ovc divx4 -pass 2 -vobsubout subtitles -vobsuboutindex 1 -sid 5

2:视频编码:

视频编码的参数设置 Fortraner已经说的很详细了。

我对参数的设置就不知其所以然了。问题是如何用参数才能使编码质量达到比较高的水平。这里是有很多东西可以研究的。但我拼命看man,文档,实验了好多方法,感觉也和上面给出的简单的例子的编码质量差不多。-_- ! 大家试试Fortraner兄的参数。看看有没有大的改观。

3:还是讲讲怎么从dvd copy吧。

a:上面的例子是用来 dvd://? 的参数。这表示直接用dvd光驱。?表示的是我们从那个轨道开始编码。一般dvd有好几个轨道。第一个往往是片头和什么节目预告之类的。所以我一般直接从2开始。3也是。一般没什么用了。具体你可以看看光盘里的info文件。有几个。

b:那么像Fortraner兄说的没有光驱或已经把vod文件拷贝出来的怎么办?

Fortraner兄的方法也是一个好办法。但不是最好的。太麻烦。

 类似资料: