作者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
推 andy199113:感覺相當簡單容易! 12/03 12:48
推 AsDfJJJ:推教學文 12/03 15:41