Theppitak's blog

My personal blog.

01 กุมภาพันธ์ 2550

Scheduled Video Broadcast

ผมเองก็ไม่แน่ใจหรอกนะ ว่าอะไรหลายๆ อย่างที่เซ็ตไว้ที่โรงเรียน จะได้ใช้งานจริงหรือเปล่า แม้แต่เว็บโรงเรียนที่เคยทำไว้ ก็มีหลายส่วนที่สุดท้ายก็ไม่มีใครแตะต้องเลย (สาเหตุหลักคือการต่อต้านไอทีของครูเก่า) แต่ไหนๆ ก็ได้ลงแรงเซ็ตไปแล้ว อย่างน้อยๆ ก็ขอให้เกิดประโยชน์บ้าง ด้วยการบันทึกเป็นประสบการณ์เก็บไว้

งานอีกชิ้นหนึ่งที่เซ็ตไว้ในช่วงเดือนมกราที่ผ่านมา ก็คือระบบสถานีกระจายภาพ โดยจะเล่นวีดิทัศน์ตามกำหนดเวลาที่ตั้งไว้ ออกทางจอทีวีที่มีแผนจะติดตั้งไว้ที่จุดต่างๆ ของโรงเรียน

ทีแรก ก็นึกถึง solution แบบ video streaming ไว้ก่อนเลย เพราะจะสามารถใช้ LAN ของโรงเรียนกระจายสัญญาณไปที่จุดต่างๆ ได้เลย แต่ด้วยข้อกำหนดที่ต้องการแสดงสื่ออย่างอื่นนอกจากวีดิทัศน์ได้ด้วย เช่น slide show จึงต้องเปลี่ยนมาเป็นระบบเล่นออกจอเดียว แล้วใช้วิธีพ่วงสายทีวีเอา

ซึ่งก็ปรากฏว่าง่ายลงเยอะ โดยปัญหาถูกลดลงเหลือแค่การตั้งเวลาเล่นสื่อเท่านั้น ทำให้สามารถใช้โปรแกรมได้หลากหลายขึ้น จากเดิมที่คิดว่าคง VLC แน่ๆ ก็สามารถใช้เครื่องมืออย่าง Totem หรือ xine ได้ (Mplayer นั้น ยังไม่เคยใช้) แต่ปรากฏว่าไม่มีเวลาพอจะสำรวจความสามารถเรื่องการตั้งเวลาของ xine ได้แค่สำรวจ vlc และ totem เท่านั้น

vlc นั้น มี VLM ที่สามารถกำหนด schedule ได้ จึงสามารถตั้งโปรแกรมสถานีได้ ว่าจะเล่นอะไรเวลาไหน แต่ข้อจำกัดคือ ยังขาดความยืดหยุ่นในการควบคุมหากต้องการภาพออกจออย่างต่อเนื่อง โดยไม่เผยให้เห็นเดสก์ท็อปข้างหลัง เพราะเท่าที่ดูคำสั่งแล้ว ปัญหาใหญ่คือ VLM ไม่สามารถแทรกการควบคุมหลังจากเล่นสื่อที่เล่นรอบเดียวจบแล้วได้ และไม่สามารถปิดสื่อที่เล่นแบบ repeat ได้ด้วย เพราะเมื่อปิดแล้วก็จะเริ่มเล่นใหม่เสมอ หากจะทำได้ ก็แค่สั่ง pause หรือ play เท่านั้น

ผลก็คือ ถ้าจะโปรแกรมให้มีสื่อคั่นเวลาในช่วงต่อระหว่างโปรแกรม (เพื่อไม่ให้เผยเดสก์ท็อปข้างหลัง) จะทำได้ยาก เพราะจะให้ pause สื่อคั่นเวลาที่ repeat แล้วเล่นสื่อตามโปรแกรมรอบเดียว จบแล้ว play สื่อคั่นเวลาต่อ ก็ทำไม่ได้

นอกจากนี้ ยังมีปัญหาเรื่องการเหลื่อมของโปรแกรม โดยหากถึงเวลาเล่นสื่อตามกำหนด แล้วยังมีสื่ออื่นเล่นอยู่ vlc ก็จะไม่ยอมเล่นสื่อตามกำหนดนั้นเสียเฉยๆ โดยมีข้อความ debug บอกว่า resource ไม่ว่าง

อาจมีวิธีปรับแต่งได้มากกว่านี้ แต่ด้วยเวลาที่จำกัด จึงไม่สามารถสำรวจมากกว่านี้ได้ และเมื่อมาดู totem กลับพบวิธีควบคุมที่ง่ายกว่า

แทนที่จะใช้ telnet interface เหมือน vlc (ซึ่งความจริงคงสะดวกสำหรับการใช้งานในเครือข่าย) totem สามารถควบคุมผ่าน command line ได้ โดยสามารถสั่ง replace สื่อที่กำลังเล่นในหน้าต่างเดิมได้เลย โดยใช้ตัวเลือก --replace filename|URI (ใส่หลายสื่อได้)

ข้อดีอีกอย่างหนึ่งของ totem คือ ถ้าเล่นสื่อที่ไม่มีภาพ ก็จะแสดงภาพพื้นหลังคงไว้ เป็นรูปโลโก้ของ totem ซึ่งสามารถ hack ให้เป็นรูปอื่นได้ จึงเป็นการเพิ่มทางเลือกในการเล่นเพลงคั่นรายการได้โดยไม่เผยเดสก์ท็อปด้านหลัง

ส่วนเรื่องการตั้งเวลาเล่น totem ยังไม่มีความสามารถนี้เหมือน vlc แต่ก็ไม่ใช่ปัญหา เพราะสามารถตั้ง crontab สั่ง replace play list ของ totem ตามกำหนดเวลาได้

หมดเวลาสำรวจ.. ยังไม่ได้ดูตัวอื่นต่อเลย ก็คงลงเอยที่ totem นี่แหละ เมื่อตั้งให้เปิด totem แบบ fullscren โดยอัตโนมัติในแบบ kiosk แล้ว ก็แค่รอ cron สั่งเล่น play list ตามกำหนดเวลาเท่านั้นเอง ข้อเสียเปรียบหลักๆ ของ totem สำหรับงานนี้ ก็คงอยู่ที่เรื่อง format ที่เล่นได้ ยังไม่หลากหลายเท่า vlc แต่ก็พยายามถูไถ ด้วยการแปลง format ได้

คำถามที่อาจเกิดขึ้นคือ แล้วจะใช้ crontab ควบคุม vlc แบบที่ควบคุม totem ไม่ได้หรือ? คำตอบคือ vlc เผยเดสก์ท็อปด้านหลังง่ายเกินไป พอเล่นสื่อที่ไม่มีภาพ ก็จะหดหน้าต่างปิดส่วนแสดงภาพไปเลย หรือถ้าเล่นวีดิทัศน์จบแล้ว ก็หดหน้าต่างลงทันทีเหมือนกัน เมื่อเทียบกับวิธี replace play list ของ totem แล้ว ดู totem จะควบคุมได้ตามความต้องการมากกว่า

ป้ายกำกับ: , , , ,

0 ความเห็น:

แสดงความเห็น (มีการกลั่นกรองสำหรับ blog ที่เก่ากว่า 14 วัน)

<< กลับหน้าแรก

hacker emblem