การ rip vcd อย่างง่ายๆด้วย mplayer

1. ตรวจสอบจำนวนและความยาว track

$ mplayer  vcd://
MPlayer 1.0rc1-4.1.2-DFSG-free (C) 2000-2006 MPlayer Team
CPU: AMD Athlon(TM) XP 1800+ (Family: 6, Model: 8, Stepping: 1)
CPUflags:  MMX: 1 MMX2: 1 3DNow: 1 3DNow2: 1 SSE: 1 SSE2: 0
Compiled with runtime CPU detection.
mplayer: could not connect to socket
mplayer: No such file or directory
Failed to open LIRC support. You will not be able to use your remote control.
Playing vcd://.
track 01:  adr=1  ctrl=4  format=2  00:02:00  mode: 3
track 02:  adr=1  ctrl=4  format=2  00:18:68  mode: 3
libavformat file format detected.
LAVF_header: av_open_input_stream() failed
Exiting... (End of file)

อธิบาย: การไม่ใส่หมายเลข track ใน argument vcd://(track no.) เพื่อให้ mplayer รายงานจำนวน track ทั้งหมดออกมาโดยบอกเวลาเริ่มของแต่ละ track ปกติ vcd นั้นเป็น mode 2 XA form 2 จะมีอย่างน้อย 2 track โดย track ที่ 1 จะเป็นข้อมูล ISO ส่วน track ที่ 2 เป็นต้นไปจะเป็นส่วนของข้อมูล mpeg a/v เราสามารถ rip ได้ตั้งแต่ track ที่ 2 เป็นต้นไป

2. ทำการ rip โดย

$ mplayer vcd://2 -dumpstream -dumpfile myvcd01.mpg

อธิบาย: เป็นการ rip track ที่ 2 ซึ่งเป็น track ที่เป็น mpeg track แรกสุด จะได้ file ชื่อ myvcd01.mpg ออกมา โดยนอกจาก option -dumpstream แล้ว ยังมี -dumpvideo และ -dumpaudio ซึ่งจะ rip เฉพาะภาพและเสียงตามลำดับ ในบางกรณีนั้น vcd อาจจะมีมากกว่า 2 track ก็ได้

หมายเหตุ

ทางเลือกอื่นในการ rip vcd อาจใช้ vcdxrip จากแพกเกจ vcdimager

$ vcdxrip -p -t track no.

rip vcd track ที่ n (track ที่เป็น mpeg เริ่มนับจาก 1) หรือ

$ vlc vcdx:///dev/cdrom@E0  :audio-track=0 :demux=dump \
:demuxdump-file="v001.mpg"

track ที่เป็น mpeg เริ่มนับจาก 0 โดยเริ่มนับจาก @E0 - @En ( E0 คือ mpeg track แรกสุด )

mplayer (mencoder) และ vlc นั้นสามารถใช้เข้ารหัสได้หลายรูปแบบ เช่น divx xvid mp4 x264 ซึ่งมีประโยชน์มากในการ rip dvd vcd หรือการ capture จาก tv-tuner/av-composite card หรือ dv/mini-dv ผ่าน firewire ของ camcoder เราสามารถศึกษาได้จาก man mplayer, vlc -H

Comments

เยี่ยมไปเลยครับ... แต่ตอนนี้ผมโชคร้าย
DVD Drive ของ Notebook เสียชีวิตไปแล้ว ทดสอบไม่ได้ T-T
กำลังหาตังค์เปลี่ยนใหม่อยู่ครับผม
___
Neutron: Linux Addict!

เก็บตังค์สักสองพันก็น่าจะได้ combo drive แล้วครับ ถ้าผมจำราคาไม่ผิดนะ

Combo ดีๆเดี๋ยวนี้ราคาก็เริ่มถูกลงแล้วนะครับ เมื่อก่อนเกือบๆ 2 พัน แต่เดี๋ยวนี้ พันกว่าๆเองนะ 1200-1300 ของ Lite-on น่ะครับ

ขออนุญาตแปะรวมไว้ด้วยครับ
เป็นการนำไฟล์ mpg ที่ได้ ไปแปลงต่อเป็น flv และ jpg

แปลง mpg เป็น flv ด้วย ffmpeg
$ ffmpeg -y -i INFILE.mpg -f flv OUTFILE.flv
หรือแปลงด้วย mencoder
$ mencoder INFILE.mpg -of lavf \
-ovc lavc -lavcopts vcodec=flv:vbitrate=768 -ofps 25 \
-oac mp3lame -lameopts abr:br=32 -srate 22050 -vf scale=320:240 \
-o OUTFILE.flv
ทำภาพ thumbnail จากไฟล์ flv ที่ระยะ 12 วินาที ขนาด 160x120 พิกเซล
$ ffmpeg -y -i INFILE.flv -f image2 -ss 12 -sameq -t 0.001 -s 160*120 THUMBNAIL.jpg

คือการแปลง mpg ที่ได้จาก vcd แล้วนำมาแปลงเพื่อเขียนเป็น dvd-video หรือที่บ้านเรามักเรียกว่า v2d ครับ

ถ้าแปลงจาก vcd -> pal-dvd

$ ffmpeg -threads 2 -i source-vcd.mpg -target pal-dvd -s cif -b 1150k -aspect 4:3 -ac 2 -ab 224k destination-dvd.mpg

ออพชั่น -thread นี่ สำหรับซีพียูหลายแกนนะครับ

หรือ ถ้าแปลงจาก vcd -> ntsc-dvd


$ ffmpeg -threads 2 -i source-vcd.mpg -target ntsc-dvd -s qvga -b 1150k -aspect 4:3 -ac 2 -ab 224k destination-dvd.mpg

ส่วนเวลาเขียนลงแผ่น dvd ก็ใช้ โปรแกรมพวก dvd-author ทำการ Import ไฟล์ mpg ที่ได้มาจากขั้นตอนนี้เข้าไป เพื่อสร้างเป็นรูปแบบ VIDEO_TS และ AUDIO_TS ออกมา จากนั้น จึงเขียนลงแผ่นครับ

แผ่นแบบนี้จะเล่นวิดีโอได้นานประมาณ 400 นาที ที่ความละเอียดของภาพเท่า VCD นะครับ

ขอบคุณคร้าบ ช่วยชีวิตไว้พอดีเลย

Creative Commons License ลิขสิทธิ์ของบทความเป็นของเจ้าของบทความแต่ละชิ้น
ผลงานนี้ ใช้สัญญาอนุญาตของครีเอทีฟคอมมอนส์แบบ แสดงที่มา-อนุญาตแบบเดียวกัน 3.0 ที่ยังไม่ได้ปรับแก้