作者cation234 (貓離子)
看板AVEncode
標題Re: [鬱悶]轉rm檔真的很痛苦...
時間Sat Mar 1 23:17:03 2008
rm/rmvb => AVI 非懶人轉檔教學
零. 前言:
之所以會稱為非懶人轉檔教學 是因為已經存有不少rm/rmvb => AVI的轉檔軟體
如winmenc 讓使用者click幾下就能做轉檔
但這類軟體本身不是encoder 而是frontend GUI
其僅是提供方便的使用者介面 對於底層真正進行轉檔的工具軟體做控制
本篇教學則是以最基層的軟體搭配 以解構的方式說明轉檔過程
嫌麻煩的板友就請別再看下去了
在此以rm/rmvb檔轉換為常見的"Xvid視訊+MP3音源之AVI檔案"為例
一. 採用工具:
1. Xvid:
http://www.free-codecs.com/download/Koepi_XviD.htm
會逛AVEncode的人應該不會不知道這是什麼
這是常見的MPEG-4視訊編碼之一
2. LAME ACM MP3 Codec(LAME):
http://www.free-codecs.com/download/LAME_ACM_Codec.htm
現存最好的open source MP3編碼器
3. Real Alternative(RA):
http://www.free-codecs.com/download/Real_Alternative.htm
用以做Real Video與Real Audio之解碼工作
4. Media Player Classic(MPC):
http://www.free-codecs.com/download/Media_Player_Classic.htm
自由度相當高的DirectShow-Based播放軟體
跟Real Alternative搭配再好不過了
配合其他DirectShow濾鏡 更可撥放各式視訊/音訊檔案
且其能提供相當多關於影片的資訊 在轉檔時相當有用
基本上微軟的Windows Media Player可以扔了
5. VirtualDub(VD):
http://www.virtualdub.org/download.html
非常好用的視訊編輯器 可以搭配相當多的視訊/音訊編碼器
本身亦支援不少處理影像用的濾鏡
要轉檔 要內嵌字幕 你一定不會缺乏這軟體
6. AviSynth(AS):
http://sourceforge.net/project/showfiles.php?group_id=57023
非常強大的視訊處理軟體 但是以script檔案方式運作
使用上稍嫌麻煩 功能很多 雖在本教學上所佔份量不多
但卻是負責相當重要的環節 詳見後文
二. 前置作業:
如果你已經裝了K-Lite這一類的codec pack
基本上你可能已經有了: Xvid RA與MPC 若沒有請至以上的網址抓取
RA本身也包含了MPC 安裝時請不要重複安裝
AS目前最新版是2.5.7 抓檔時別抓錯了
在轉檔前請先確定各軟體已正常安裝 確定MPC可以"藉由RA"播放rm/rmvb檔案
這點可以在MPC中播放rm/rmvb檔案時以下列方式確認:
http://img502.imageshack.us/img502/6497/lsrmvbhv6.jpg
此外 也請先確認要轉檔的rm/rmvb檔案之fps是多少 這很重要
可以從MPC之File=>Properties選單得知:
http://img529.imageshack.us/img529/4759/lsfpsnd1.jpg
三. 轉檔步驟:
1. Avisynth frameserving:
請先以Windows之Notepad建立一個"純文字檔"
在其內鍵入一行Avisynth的指令:
DirectShowSource("R:\[I.G&CASO][Lucky_Star][GB][15].rmvb" <<=換行
,fps=23.98,convertfps=true)
(以上指令請一整行打完 在這換行是為了BBS上完整顯示)
DirectShowSource可讓Avisynth呼叫RA解碼器將要轉檔的rm/rmvb檔案解碼
還原出該檔案的視訊/音訊 再將其"餵給"其他軟體 如編碼軟體 或是播放軟體
R:\[I.G&CASO][Lucky_Star][GB][15].rmvb當然就是我要轉檔的檔案完整途徑
(別張揚....)
請盡量用英文檔名 不要有奇怪的字元或簡體字之類的
fps=23.98當然就是指定本影片應有的frames per second
而很多rm/rmvb檔案常常是變動式的fps
故convertfps=true可確保經由Avisynth手續後
解碼出來的影像可以保有恆定的fps值 以免產生影音不同步現象
將本文字檔以ANSI編碼儲存為 檔名.avs 在此以test.avs為例
存檔後 以MPC開啟test.avs(神奇吧) 確定Avisynth正常運作:
http://img508.imageshack.us/img508/9827/lsavsgj0.jpg
2. VirtualDub前置作業:
確保test.avs可用MPC播放後 用VD開啟test.avs 應該會看到類似畫面:
http://img230.imageshack.us/img230/774/lsvddb4.jpg
之所以會有兩個畫面 是因為一個是"濾鏡處理前"
另一個則是"濾鏡處理後" 不過既然我們不對影像做修編 故這無任何影響
請自選單中選擇Video=>fast recompress 因為我們只是轉檔 不上濾鏡
再選擇Audio=>Full processing mode 因為等下要把音訊轉成MP3
3. VirtualDub轉檔:
接下來就是正式的轉檔工作 先從簡單的音訊開始
選擇Audio=>Compression 再選擇LAME MP3 可從右邊看到可用的MP3格式:
http://img110.imageshack.us/img110/4862/vdlamecd2.jpg
要用128 160或192kbps請自行決定 但建議選用CBR(Constant Bitrate)
對於AVI的相容性會比較好
視訊方面 選擇Vidon=>Compression 再選擇Xvid MPEG-4 Codec
然後Configure:
http://img184.imageshack.us/img184/4056/vdxvidsi1.jpg
http://img110.imageshack.us/img110/2035/vdxvidconsk8.jpg
基本上我建議初學者不要更動任何Xvid的設定值 因為這非常有搞頭
故在此採用Single Pass之單次壓縮 並指定以Target quantizer方式運算
quantizer越小 檔案越大 畫質越好 反之則否 請自行斟酌
通常4就可以達到很好的效果了 畢竟破壞性轉檔只有越轉越爛的啦
若想準確的控制檔案大小 那就得採用Two Pass了 但這牽扯到其他設定
於此不多做說明
在指定了視訊及音訊的壓縮方式之後 就可正式開始轉檔了
從VD選單選擇File=>Save as AVI 指定AVI檔案名稱 就可以開始了
VD會告知你轉檔進度:
http://img507.imageshack.us/img507/8371/vsprocessingbe1.jpg
要是你把Show input video與Show output video勾選了
卻沒看到任何影像畫面 請不要擔心 因為在這Video是以Fast recompress處理
若是以Full processing mode作業 才會顯示出影像畫面
不過我們沒對影片掛上任何濾鏡 故沒有任何影響
轉檔理論上會耗去幾十分鐘至上小時不等
雙核CPU使用者這時可以開WoW打發時間什麼的
4. 成果
轉檔完成 我們把一個108MB的rmvb影片 變成147MB的Xvid+MP3的AVI檔案了
(-.-)a
有圖有真相:
http://img406.imageshack.us/img406/2821/lsavitu2.jpg
四. 參考文獻:
1. Avisynth DirectShowSource:
http://avisynth.org/DirectShowSource
關於DirectShowSource指令的參數說明
2. Doom9 Xvid Guide:
http://www.doom9.org/index.html?/xvid-vdub-11.htm
影音編碼討論大站 Doom9 對於Xvid之內部參數設定解說
五.結語:
Real Video這種邪惡的東西 還是少碰為妙
對於影音轉檔/備份有任何問題者 "不要直接問我"
這種東西要解釋起來極度費唇舌
--
版權沒有 翻印不究
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.133.139.98
※ 編輯: cation234 來自: 220.133.139.98 (03/01 23:27)
推 dream1124:大推,這真的很實用 03/02 09:20
推 AirWinters:PUSH 03/02 19:19
推 lesliech:非常感恩^^ 03/10 19:46
※ 編輯: cation234 來自: 220.133.139.98 (03/10 20:45)