แปลงรูปภาพให้เป็นวิดีโอด้วยคำสั่ง convert

อัดรูปดิจิตอล ทำสมุดภาพของคุณเอง
รอรับได้. ท่องเที่ยว แต่งงาน ฯลฯ

www.tanabutr.co.th/photobook


โปรแกรมบรรทัดที่ใช้บ่อยตัวหนึ่งได้แก่ convert ซึ่งเป็นหนึ่งในหลายๆคำสั่งของไลบรารี ImageMagick. คำสั่ง convert เป็นโปรแกรมบรรทัดคำสั่งใช้สำหรับแปลงฟอร์แมตรูปภาพ. เช่นถ้าไฟล์ที่มีอยู่ชื่อ picture.jpg แล้วต้องการแปลงเป็นฟอร์แมตอื่นๆเช่นฟอร์แมต png ก็แค่สั่งคำสั่ง.

$ convert picture.jpg picture.png

ก็จะได้ไฟล์ชื่อ picture.png เป็นฟอร์แมต png. ตรงนี้ดีที่ว่าไม่ต้องเสียเวลาเปิดโปรแกรมแบบ GUI, กดปุ่มโน้นปุ่มนี้ให้เสียเวลา. สั่งเป็นคำสั่งไปเลยเพราะเรารู้อยู่แล้วว่าเราต้องการอะไร.

ถ้าต้องการย่อรูปให้เลือกลงใช้ตัวเลือก -geometry ความกว้าง%xความสูง% เช่น

$ convert -geometry 50%x50% p1010058.jpg scaled.jpg

ก็จะได้ไฟล์รูปภาพแบบ jpg ชื่อ scaled.jpg ที่ย่อแล้ว 50 เปอร์เซ็นต์.

ที่เยี่ยมไปกว่านั้นคือคำสั่ง convert แปลงรูปภาพให้เป็นไฟล์วิดีโอได้ด้วย. สมมติว่ามีรูปที่ถ่ายด้วยกล้องดิจิตอลแล้วต้องการแปลงรูปทั้งหมดเป็นไฟล์วิดีโอฟอร์แมต mpeg แถมย่อให้รูปเล็กๆพอดีๆ, แสดงรูปละ 2 วินาทีก็สามารถทำได้ดังนี้.

$ convert -delay 200 -geometry 20%x20% *jpg test.mpg
Encoding frame 0 ...............
Encoding frame 1 ...............
vbv_delay underflow! (decoding_time=22400.0, t_EOP=32108.1
)vbv_delay underflow: -6110
Encoding frame 2 ...............
vbv_delay underflow! (decoding_time=26000.0, t_EOP=37852.5
)vbv_delay underflow: -8255
Encoding frame 3 ...............
...

ตัวโปรแกรม convert จะใช้ mpeg2enc แปลงให้เป็นไฟล์ mpg. ถ้าไฟล์รูปภาพใหญ่มากก็ควรจะย่อยไฟล์เตรียมไว้ก่อนไม่เช่นนั้นจะใช้เวลานานมากๆ.

ใช้ ffmpeg แปลงเป็นไฟล์วิดีโอฟอร์แมตอื่นได้ถ้าต้องการ.

$ ffmpeg test.mpg test.avi
Output #0, avi, to 'test.avi':
  Stream #0.0: Video: mpeg4, 320x240, 25.00 fps, q=2-31, 200 kb/s
Stream mapping:
  Stream #0.0 -> #0.0
[mpeg4 @ 0x4021bd48]removing common factors from framerate
Press [q] to stop encoding
frame=  429 q=11.1 Lsize=     872kB time=17.2 bitrate= 416.3kbits/s
$ ls -l test*
-rw-r--r--    1 poonlap  users      899938 Mar  1 22:11 test.avi
-rw-r--r--    1 poonlap  users     2582751 Mar  1 22:08 test.mpg
$ file test*
test.avi: RIFF (little-endian) data, AVI, 320 x 240, 25.00 fps, video: DivX 4
test.mpg: MPEG video stream data

ไฟล์ตัวอย่าง

ลิงก์เกี่ยวกับคำสั่ง ImageMagick

Comments: blogger