โจทย์คือแปลงไฟล์วีดีโอจากแผ่นดีวีดี Double Layer 8.5G มาเป็นแผ่นดีวีดีธรรมดา 4.7G โดยให้คุณภาพภาพและเสียงคงเดิม
วิธีการคือจะคัดลอกไฟล์ vob มาตัดต่อแล้วเขียนกลับลงไปบนแผ่น 4.7G
ต้องการเครื่องมือคือ ffmpeg dvdauthor mkisofs (genisoimage) และ vlc เพื่อตรวจดูภาพ และ wodim เพื่อเขียนแผ่น
โดยเฉพาะ ffmpeg ต้องการตัวที่มาจาก debian-multimedia.org เพราะมีไลบรารีมากกว่าของ debian เอง
$ sudo vi /etc/apt/sourcelist
... deb http://www.debian-multimedia.org squeeze main ...
$ sudo aptitude update $ sudo aptitude install ffmpeg dvdauthor mkisofs vlc wodim
เตรียมไดเรคทอรี่ temp ไว้เก็บไฟล์ vob ชั่วคราว และ dvd ไว้เก็บโครงสร้างไฟล์สำหรับเขียนลงแผ่น
$ mkdir temp dvd
คัดลอกไฟล์ vob จากแผ่นด้วยคำสั่ง dvdunauthor
$ cd temp $ dvdunauthor /media/cdrom0
จะได้ไฟล์ vob ออกมาหลายไฟล์ แต่เราจะเก็บเฉพาะไฟล์ vob_01t_xxx.vob เท่านั้น
$ rm vob_01m*
ตรวจดูขนาดไฟล์ว่ารวมกันมากกว่า 4.3G หรือไม่ หากมากกว่าให้ลองดูภาพด้วย vlc แล้วสังเกตุช่วงเวลาที่จะทำการตัดต่อไว้
สมมุติเราได้ไฟล์ vob_01t_001.vob ออกมาไฟล์เดียว และจะตัดที่เวลา 1 ชั่วโมง 2 นาที 3 วินาที ใช้คำสั่ง ffmpeg ในการตัด
$ ffmpeg -i vob_01t_001.vob -sameq -target dvd -ss 0:0:0 -t 01:02:03 file1.vob
จะได้ file1.vob เป็นไฟล์ส่วนแรก
และ
$ ffmpeg -i vob_01t_001.vob -sameq -target dvd -ss 01:02:03 file2.vob
จะได้ file2.vob เป็นไฟล์ส่วนหลัง
เตรียมนำไฟล์ที่ได้ไปสร้างเป็นโครงสร้าง dvd คือ
สร้างไฟล์โครงสร้าง xml สมมุติชื่อ auth.xml บรรจุไฟล์ file1.vob ลงไป
$ vi auth.xml
<dvdauthor allgprm="yes"> <vmgm /> <titleset> <titles> <pgc> <vob file="file1.vob" /> </pgc> </titles> </titleset> </dvdauthor>
สร้าง dvd
$ dvdauthor -o ../dvd -x auth.xml
สร้างไฟล์ iso
$ mkisofs -dvd-video -o ../dvd.iso ../dvd
นำไปเขียนแผ่น
$ wodim -v gracetime=2 dev=/dev/cdrom speed=1 -eject ../dvd.iso
ต่อจากนี้ก็เอาไฟล์ที่เหลือ คือ file2.vob มาสร้างเป็นแผ่นต่อไป
เสร็จแล้วครับ