作者chweng ()
看板AVEncode
标题Re: [请问] 音轨抽离
时间Thu Dec 3 10:37:27 2009
我提供一个方法,不用安装太多不必要的转档程式或解码器,只需要两个免安装的小
软体,就可以达成抽换影音轨道的需求。好处是不用担心被一般泛用型的转档程式把
影片又转烂一次,不过这需要一点命令列的操作。下面会一步一步说明。
首先请下载 MediaInfo(命令列版)和 MP4Box 这两个小程式。
MediaInfo:
http://sourceforge.net/projects/mediainfo/files/binary/mediainfo/
0.7.25/MediaInfo_CLI_0.7.25_Windows_i386.zip/download
(请将两行网址接在一起,或直接服用缩址
http://preview.tinyurl.com/yzamoqn)
MP4Box:
http://kurtnoise.free.fr/mp4tools/MP4Box-0.4.5.zip
将下载回来的两个档案解压缩,连同你从 YouTube 下载回来的 mp4 档案(假设档名
为 video.mp4)、以及你要用来置换的音乐档案(假设档名为 audio.mp3),通通放在
同一个资料夹内。为了方便说明,在此以 C:\TEMP 作为范例。
继续下面步骤之前,请先确定以下几个档案,全部都已经摆在 C:\TEMP 资料夹内了:
MP4Box.exe、js32.dll、MediaInfo.exe、MediaInfo.dll、video.mp4、audio.mp3
接着,从开始、所有程式、附属应用程式,打开「命令提示字元」,依序键入以下指令:
(注意,在命令提示字元中无法用快速键贴上指令,但是你可以用右键)
(以下黄色字的部分为指令;灰色字则为注解说明)
(先附一张实际操作的截图画面
http://chweng.posterous.com/mediainfo-and-mp4box)
cd C:\TEMP
--
切换至工作资料夹。
MediaInfo.exe --Inform=Video;%ID% video.mp4
--
取得来源影片 Video 轨的 ID 识别码,通常是 1,也有可能是 2 或其他数字。
MediaInfo.exe --Inform=Video;%FrameRate% video.mp4
--
取得来源影片的 Frame Rate,通常为 23.976 或是 29.970。
MP4Box.exe -raw 1 video.mp4
--
解出 video.mp4 档案中第一轨的内容。如果在第二个指令中,
发现影片轨的 ID 并不是 1,则请自行置换成正确的 ID。
MP4Box -tmp . -fps 29.970 -add video_track1.h264 -add audio.mp3 -new final.mp4
--
重新封装刚刚解出的影片、以及事先准备好要替换的声音,输出为 final.mp4。
注意 29.970 须与指令三取得的值相符,否则会发生影音和预想的状况不同步。
而 video_track1.h264 则会因为影片轨的 ID 不同而有所不同,请自行替换。
就这样,只需要几个简单的指令,应该不很困难。动手操作看看吧 ^^
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.116.199.72
1F:推 andy199113:感觉相当简单容易! 12/03 12:48
2F:推 AsDfJJJ:推教学文 12/03 15:41
3F:推 louis925:推~~~ 简单易懂,这也可以配合FLV_Extract 12/05 16:44
4F:→ louis925:用FLV_Extract抽取flv的影片然後在合成要的mp4 12/05 16:45