ย้ายบล็อกไปที่ bact.cc แล้วนะครับ

พ.ร.บ.คอมพิวเตอร์
หยุด ร่างพ.ร.บ.คอมพิวเตอร์
พื้นที่เก็บข้อมูลออนไลน์ ฟรี 2GB จาก Dropbox (sync กับ Windows, Linux, Mac, iPhone, Android ฯลฯ ได้)

2004-11-09

เป็นชิ้นๆ

เครื่องคอมผมตอนนี้มีโปรแกรมจำพวก 'ดูหนังฟังเพลง' หรือ media player อยู่ประมาณ อืมม.. หลายตัว

เริ่มจาก Windows Media Player ที่มากับวินโดวส์ กะ WinDVD ที่แถมมากับเครื่อง จากนั้นก็เป็น QuickTime กับ iTunes (มาพร้อมกัน) แล้วก็ RealPlayer อีกตัว ยังไม่นับ WinAmp ที่นานๆ ใช้ที (เอาไว้เล่นพวกเพลงจากเกม, tracker)

ถ้าพวกโปรแกรมดูรูป กับ CD ripper ก็เยอะไปอีก

Windows Media Player, QuickTime, RealPlayer สามตัวนี้จำเป็นในการฟัง/ดูพวก streaming ซึ่งแต่ละเว็บ ก็ใช้ฟอร์แมตนั้นบ้างนี้บ้าง จะลงแค่ตัวใดตัวนึงก็ไม่ได้

ส่วน WinDVD นั้น ก็พบว่าสะดวกกว่าโปรแกรมอื่นๆ มาก ในการดูหนัง คือ ใส่แผ่น แล้วกด Play แค่นี้ก็ดูได้แล้ว

ส่วนเรื่องจะฟังเพลง, 4 ตัวจากที่ว่ามาข้างบนก็ฟังได้สารพัดฟอร์แมต โดยเฉพาะฟอร์แมตหลักอย่าง mp3 ทุกตัวทำได้เหมือนๆ กันหมด มีความสามารถครบถ้วน ทั้ง play list, graphical equalizer, หรือจะเขียนซีดีก็ยังได้

ปัญหาคือ แล้วผมจะมีโปรแกรมบ้าพวกนี้ไปทำไมเยอะแยะ ทั้งๆ ที่ใช้ความสามารถไม่หมด -- คือใช้ความสามารถนั้นของโปรแกรมนี้ ความสามารถนี้ของโปรแกรมนั้น อย่างละนิดอย่างละหน่อย

แล้วตัวนึงมันเล็กๆ ซะที่ไหน ประมาณร้อยเม็กทั้งนั้น ลงทั้งหมดนั่นก็ประมาณครึ่งกิ๊ก ? (= 1/4 แฟน)

อยากได้เครื่องเล่นที่มัน แยกชิ้น น่ะ หลักๆ ก็แยกได้ 3 ส่วน input/decoder + processor + encoder/output

input/decoder ก็เป็นตัวอ่านฟอร์แมตต่างๆ mp3, aac, wma, rm, mov, ogg, omg, mid, jpg, png อะไรก็ตามเถอะ ให้ออกมาเป็นข้อมูล ภาพ เสียง ปกติ (คือไม่ได้ถูก encode ไว้)

processor ก็เอาไว้ปรับเสียงดังขึ้นลดลง แต่งเสียง เพิ่มลดแสงสีภาพ อะไรพวกนี้

encoder/output ก็ส่งภาพ/เสียงออกมา ไปออกจอ ออกลำโพง หรือจะไปลงซีดี หรือว่าแปลงเป็นฟอร์แมตอื่น

อย่างถ้าขั้นตอนเป็น อ่านซีดีเพลง-ปรับความดังเสียง-เขียน mp3 แบบนี้ก็คือ CD ripper

หรือถ้าเป็น อ่านไฟล์ภาพ-ปรับขนาดรูป-เขียนลงจอ แบบนี้ก็เป็นโปรแกรมดูรูป

ถ้าทำแบบนี้ได้ ผู้ใช้ก็สามารถเลือกลงเฉพาะที่ตัวเองจะใช้ได้ (แบบเลือกมาเป็นชิ้นๆ เอามาเสียบๆ ต่อกัน แล้วใช้ได้เลยน่ะ, ไม่ต้องเลือกโค้ดมาคอมไพล์เอง -_-") ไม่ต้องลงอะไรที่ไม่อยากใช้ ไม่ได้ใช้

ตัว play list ก็อาจจะเป็นลักษณะ frontend ที่ควบคุมครอบตัว decoder-processor-encoder อีกที

จริงๆ ตอนนี้พวก media player ต่างๆ เค้าก็มี plug-in เอาไว้ทำพวกนี้อยู่เหมือนกัน แต่ก็ใช้ได้กับโปรแกรมนั้นเท่านั้น -- อยากให้มีประมาณว่ามาตรฐานกลางอะไรซักอย่าง สำหรับโปรแกรมจำพวก AV (audio/visual นะ ไม่ใช่ adult video :P)

จะได้ทำแบบพวกเครื่องเสียงไฮไฟได้ ซื้อมาเป็นชิ้นๆ แล้วก็เสียบๆ สายต่อกัน อยากเปลี่ยนชิ้นไหนก็ได้ ชิ้นอื่นยังใช้ได้อยู่

จริงๆ จะว่าไป มันก็คือคอนเซปต์ของโปรแกรมใน UNIX รึเปล่า? ทำอย่างเดียว ทำให้ดี สื่อสารกันผ่าน pipe, ส่วนใหญ่ข้อมูลจะมาเป็นรูปข้อความ (เอาไป parse กันอีกที) หรือไม่ก็ผ่าน socket

กรณีนี้ ก็ให้ AV components ทั้งหลายพวกนี้ มีรูปแบบการติดต่อกลางอันนึง ที่ component อื่นๆ เข้าใจได้เหมือนกันหมด

ใครรู้จัก โปรแกรม หรือ ชิ้นส่วน อะไรทำนองนี้มั๊ยครับ? บนระบบปฏิบัติการอะไรก็ได้

6 comments:

Isriya said...

mplayer?
VLC?

Hui/ฮุ้ย said...

โครงสร้างของ A/V ใน Windows (DirectShow) เป็นชิ้นส่วนแบบนี้อยู่แล้ว มีส่วนที่เป็น Input สำหรับ Decode ไฟล์แบบต่างๆ ทั้งภาพและเสียง หรือจับจากกล้องเลย

มีส่วนที่เป็น Output แสดงบนจอ หรือเขียนลงไฟล์(แบบต่างๆเลือกได้อีก)

โมดูลสำหรับแยก Pipe หรือประมวลผลบางอย่าง (DirectShow Filters) ก็มีมาให้

โปรแกรม WinDVD หรือ MediaPlayer พวกนี้ ส่วนมากก็เป็นแค่หน้ากาก ข้างในก็ใช้ชิ้นส่วนพวกนี้มาต่อกัน เพื่อเปิด/เล่นเพลง

ลองเอา DirectX SDK มาลง แล้วเรียกโปรแกรม GraphEdit
เล่นๆดูก็สนุกดีเหมือนกัน

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/directshow/htm/usinggraphedit.asp

bact' said...

อืมม แต่ก็ยังไม่ได้ออกแบบมาสำหรับผู้ใช้ทั่วไปอยู่ดีใช้มั๊ยครับ
(ต้องโปรแกรมเอา)

แล้วบน UNIX/Linux มีอะไรแบบนี้มั่งมั๊ยเนี่ย? หรือต่างคนต่างทำ?

Thep said...

gstreamer เด๊ะๆ เลยครับ http://gstreamer.freedesktop.org

Tunyalit Karnjanakul said...

จริงๆแล้วไม่ต้องใช้เยอะขนาดนั้นก็ได้มั้งครับ

iTune + Quicktime ก็พอแล้วครับ

Quicktime = ดูหนัง/ฟังเพลง/ดูรปู/ปรับเสียง/แปลงไฟล์เสียง/แปลงไฟล์ภาพ/แปลงไฟล์รูป

iTune = ฟังเพลง/ปรับเสียง/แปลงไฟล์เสียง/burn mp3 CD/burn Audio CD/หรือ Rip CD ก็ได้ด้วย / ตัวโปรแกรมสามารถแสดง MP3 TAG และยังแสดงไฟล์รูปใน TAG ได้ด้วย และยังสามารถ ทำ CD Cover ได้ คือเอาไฟล์รูปที่อยู่ใน MP3 Tag มา Print เป็นปก CD ได้เลย


แค่นี้ก็พอแล้วครับ ควาามสามารถของ iTune+Quicktime มันมากกว่าทีคุณคิดใช่มั้ยล่ะ ^_^

bact' said...

QuickTime ดูพวก divx, ogg, ogm ไม่ได้ครับ (ไม่ต้องพูดถึง rm หรือ wma/wmv)
ตอนนี้ใช้วิธีไปโหลด decoder สำหรับ Windows Media Player มา
(แทนที่จะต้องโหลดโปรแกรมเพิ่มอีก)
ยังไม่เคยเจอ decoder สำหรับ QuickTime

ส่วนเรื่องดู DVD, WinDVD สะดวกที่สุดครับ ไม่เรื่องมาก

iTunes ก็เล่นเพลงจากพวก tracker ไม่ได้ครับ