2009年6月18日 星期四

Ubuntu 轉換AVCHD mts 檔為 DVD Video

基本上我是照 Acmelab's BlogHOWTO: Convert and write AVCHD (.mts) to DVD with Linux 轉換跟 jw 借的 Sony Full-HD HDR-SR11 硬碟攝影機錄下的 ssh 抓周影片,另外也要感謝 lkchu 全家的參與,讓抓周更熱鬧 :P

在 Acmelab 的步驟中,原本是轉 Canon, Panasonic 兩家的 mts 檔,但我試 Sony 錄的也可以成功轉換,也發現其實 mts 檔就是錄 H.264 (mpeg-4 AVC) 的影像格式,主要就只有五個步驟:

一、安裝 mplayer svn trunk
svn checkout svn://svn.mplayerhq.hu/mplayer/trunk mplayer
cd mplayer
./configure
make && make install

二、安裝 mencoder(在 mplayer trunk 內)、dvdauthor、growisofs(在 dvd+rw-tools 內)

三、轉換的指令列
>mencoder -oac copy -ovc lavc -of mpeg -mpegopts format=dvd -vf scale=720:576,harddup -lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=5000:keyint=15:aspect=16/9:threads=4 input-file.mts -ofps 50 -fps 50 -o output_file.mpg

其中 input-file.mts 就是 DV 裡的 mts 檔,output_file.mpg 就是要輸出的 mpeg2 (因為原文是要轉 DVD-Video format) 檔案 DVD-Video 的 mpeg stream 限制

四、轉 mpeg2 為 dvd format
dvdauthor -o dvd -x dvd.xml
測試用:mplayer dvd:// -dvd-device ./dvd

五、燒錄 DVD 格式檔到光碟上
growisofs -dvd-compat -Z /dev/dvdrw -dvd-video ./dvd/

基本上,如果你以上步驟都正常,就比我幸運,不用再往下看了 :P

我另外遇到的問題是在 build mplayer 時,link 不到 libz? 於是另外安裝了 Ubuntu 的 libz package:

sudo apt-get install libz-dev
(或是 sudo apt-get remove zlib1g-dev)

然後在 configure mplayer 時要 link 到 libz
./configure --extra-ldflags=-lz

再 make mplayer 就可以把 mencoder 編譯出來了。
測試時是將檔案轉為 mpeg2 格式,就可以在 Windows 播出來了 :D
改的轉換參數隻有把 PAL 的 720x576 換成 NTSC 的 720x480

>mencoder -oac copy -ovc lavc -of mpeg -mpegopts format=dvd -vf scale=720:480,harddup -lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=5000:keyint=15:aspect=16/9:threads=4 input-file.mts -ofps 50 -fps 50 -o output_file.mpg

Cheers! Salute to ffmpeg! and AcmeLab :P

相關文章: