前段時間買了一塊2TB硬盤,裏面裝滿全高清視頻。看是看得很爽,但硬盤還想裝別的東西,電影又捨不得刪掉,只好對電影進行壓縮,以節省空間。
經過一番折騰,終於成功完成了壓制任務,下面説一下過程。
一、目標
分辨率選擇720p,視頻採用h.264編碼,音頻採用ac3編碼,封裝格式選擇mkv,大小選擇1小時2G左右,碼率選擇視頻4000kbps,音頻448kbps。
二、來源
視頻來源主要有ts、t2ms封裝的vc-1視頻,avc視頻(h.264,mpeg4)。
音頻來源主要有dts、ac3、e-ac3。
三、工具
壓縮工具選擇著名的MeGUI(版本:2008)。解碼器包用終極解碼。
工具安裝步驟:
1. 最好是一個乾淨的操作系統。將現有操作系統裏的播放器與解碼器徹底卸載一般也可以。
2. 安裝終極解碼。
3. 安裝MeGUI,並進行在線升級。(必須升級,因為安裝包缺少很多插件,升級時會自動安裝。升級以後的程序文件夾可以打包保存,將來可以直接解壓後使用)
四、VC-1到x264
MeGUI不能直接支持ts和t2ms,所以不能直接壓制。網上説的方法試過N種,全部失敗。最後經過不斷摸索,終於找到了壓制方法。
1. 用tsMuxer(在MeGUI程序文件夾的tools目錄內)將文件的視頻和音頻進行分離。有些分段的ts文件,可以合併與分離一塊進行。
2. 用mkvmerge(在MeGUI程序文件夾的tools目錄內)將vc-1視頻封裝成mkv格式。
3. 打開MeGUI,選擇[Tools->AVS Script Creator],將上一步生成的mkv文件拖到[Video Input](如果彈出視頻窗口,説明一切正常,如果沒有視頻窗口彈出,則是視頻不被支持,mkv一般不存在該問題),如果需要切黑邊,選擇[Crop],然後用[Auto Crop]或者是手動選擇切掉多少,改變四個數值的時候,可以在視頻窗口看到切掉的黑邊由黑變白,很直觀方便的。選擇[Resize],寬度寫1280,然後選中後邊的[Suggest Resolution (mod 16)],就會自動計算高度。(寬度和高度一般要選擇16的整數倍,這樣可以獲得最高的壓縮率)。最後點擊[Save]。
4. 這時會再次彈出視頻窗口,不過這時的視頻是切去黑邊,改過分辨率的視頻。(視頻窗口可以隨時關閉)
5. [Video Output]裏是輸出文件名,[Encoder settings]選[x264:BD5],[File format]選[mkv],最後點擊[Enqueue](是上半部分視頻區域的按鈕,下半部分是壓縮音頻的)。具體的壓縮參數可以點擊[Encoder settings]後邊的[Config],在彈出的對話框中修改。
6. 切換到[Queue]視圖,選中剛剛的job,點右鍵,選擇[Send to worker –> worker 1 ],如果沒有worker,則需要先new一個worker。
7. 點擊[Start]開始編碼。編碼完畢後會得到一個只包含視頻的mkv文件。
五、x264到x264(AVC)
x264編碼的文件進行壓制前,要先用[dgavcindex]工具對文件進行索引,生成dga文件。
1. 打開[dgavcindex],將視頻文件拖入,這時應該可以看到視頻,然後選擇[File –> Save Project],需要一段時間,會生成一個dga文件和分離出的音頻文件。
2. 按之前描述的方法進行視頻壓制,只不過在[Video Input]裏選擇dga文件。
六、ac3到ac3
MeGUI界面的下半部分用來壓縮音頻。
1. 用tsMuxer將音頻分離。或者對於x264的文件,用[dgavcindex]生成索引的時候也會分離出音頻。
2. 將音頻拖入MeGUI下半部分的[Audio Input]。
3. [Audio Output]裏是輸出文件名。
4. [Encoder settings]裏選擇[Aften AC-3: Aften – DVD - Good]。
5. 點擊[Enqueue],將任務加入隊列。
6. 切換到[Queue],點擊[Start]開始壓制。
七、dts到ac3
MeGUI不能直接支持分離出的dts音頻,需要先將dts音頻封裝成mka格式(使用mkvmerge),然後再進行壓制。
八、文件合併
用mkvmerge將壓縮過的視頻,音頻,字幕合併成一個mkv文件。
總結
壓制過程中發現很多音視頻流MeGUI不能直接支持,但是將音視頻流封裝成mkv,mka格式後,MeGUI都可以直接支持。