Cyanview ยกระดับงานถ่ายทอดสด Super Bowl ด้วย Elixir


จะประสานงานเรื่อง visual fidelity ระหว่างกล้อง 200 ตัวสำหรับ live event อย่าง Super Bowl ได้อย่างไร?

คำตอบคือ: ด้วยการใช้ทักษะของ camera shading ซึ่งเกี่ยวข้องกับการปรับแต่งกล้องแต่ละตัวให้มีความสอดคล้องกันในเรื่องของสี (color), การรับแสง (exposure) และองค์ประกอบทางภาพอื่น ๆ เป้าหมายคือการทำให้การถ่ายทอดสดกลายเป็นประสบการณ์ที่สอดคล้องและต่อเนื่อง สำหรับทุกมุมกล้องที่ใช้ คุณต้องการให้หญ้าเขียวเหมือนกัน และสีผิวของผู้คนเหมือนกัน ทุกอย่างต้องถูกจูนอย่างแม่นยำในกลุ่ม product และ brand ที่หลากหลาย ตั้งแต่ broadcast cameras ขนาดใหญ่, drone cameras, PTZ cameras ไปจนถึง gimbal-held mirrorless cameras และอื่น ๆ นี่คือสิ่งที่ Cyanview ทำ Cyanview เป็นบริษัทเล็ก ๆ จากเบลเยียมที่จำหน่ายผลิตภัณฑ์สำหรับวงการ live video broadcast โดยมีจุดเน้นหลักคือ shading

Broadcast เป็นธุรกิจที่คุณมีโอกาสเพียงครั้งเดียวในการพิสูจน์ว่าเครื่องมือของคุณพร้อมใช้งานจริง Reliability คือสิ่งสำคัญสูงสุด ต้องไม่มี hard failure ใด ๆ เกิดขึ้น

ทีมเล็ก ๆ เพียง 3 คนสามารถสร้าง product ที่ทรงพลังและมีประสิทธิภาพมากจนแพร่กระจายไปทั่ววงการโดยอาศัยพลังของ functionality เพียงอย่างเดียว โดยไม่ต้องพึ่งพา marketing ใด ๆ มันก็สามารถสร้างชื่อเสียงในหมู่ผู้เชี่ยวชาญและกลายเป็นอุปกรณ์หลักใน live event ชั้นนำระดับโลก Remote Control Panel (RCP) ของ Cyanview ตอนนี้ถูกใช้งานโดย specialist video operators ใน Olympics, Super Bowl, NFL, NBA, ESPN, Amazon และอีกมากมาย แม้กระทั่ง fashion shows ส่วนใหญ่ใน Paris ก็ใช้ devices ของ Cyanview

devices เหล่านี้ได้นำ Elixir เข้ามาอยู่ในเส้นทางที่สำคัญของการปฏิบัติงานระดับ broadcast อย่างจริงจัง ด้วยการเลือกใช้ Elixir, Cyanview ได้รับความสามารถด้าน networking ระดับ best-in-class, ความ resilient ที่ล้ำสมัย และ ecosystem ที่เอื้อต่อการ iterate ฟีเจอร์ของ product ได้อย่างรวดเร็ว ada5eb8d-7e72-4e82-a053-d6ff32a1bde4

ทำไมต้องเป็น Elixir?

ทีมผู้ก่อตั้งของ Cyanview ส่วนใหญ่มีประสบการณ์ด้าน embedded development และ devices ที่พวกเขาสร้างขึ้นนั้นเกี่ยวข้องกับ low-level C code จำนวนมาก รวมถึงการใช้ FPGA อย่างแพร่หลาย เนื่องจากรายละเอียดระดับล่างของ color science และความต้องการด้าน timing ที่ต้องแม่นยำสูงมาก

ถ้าเคยทำงานกับ camera software มาก่อน จะรู้ว่ามันเป็นอะไรที่หลากหลายมาก แม้เทคโนโลยีจะเข้าสู่ระบบ digital อย่างเต็มตัวแล้ว แต่หลายส่วนก็ยังคงผูกติดกับระบบ analog หรือใช้ proprietary connectivity solution Cyanview ตั้งเป้าหมายไปที่ IP (Internet Protocol) ตั้งแต่เริ่มต้น ซึ่งหมายความว่า software ของ Cyanview สามารถทำงานบนเครือข่ายทั่วไป (commodity networks) ที่เป็นมาตรฐานและเข้าใจง่าย สิ่งนี้สอดคล้องอย่างมากกับการเพิ่มขึ้นของ remote production โดยเฉพาะในช่วงการระบาดของ covid-19 ที่ทีมงาน production ดำเนินงานจากศูนย์กลาง โดยมีคนประจำน้อยมากในสถานที่จริง โปรโตคอลอย่าง custom radio frequency หรือ serial wire จึงขยายไปถึงข้ามทวีปได้ยาก

สิ่งนี้ยังเป็นการเปิดทางให้กับ Elixir ด้วย เนื่องจาก Erlang VM ถูกออกแบบมาให้สามารถสื่อสารและประสานงานกับอุปกรณ์นับล้านได้อย่าง reliable ผ่าน network

Elixir ถูกนำเข้ามาโดยนักพัฒนา Ghislain ซึ่งต้องการสร้าง integration กับกล้องและเชื่อมต่อกับอุปกรณ์วิดีโออื่น ๆ ที่ต้องใช้หลากหลาย protocol ผ่าน network ภาษานี้มาพร้อมกับฟีเจอร์ที่มีประโยชน์มากมายสำหรับการ encode และ decode ข้อมูล binary จนถึงระดับ bit เดียว Elixir ให้พวกเขาพื้นฐานที่แข็งแกร่งและเครื่องมือที่ช่วยให้พัฒนาได้รวดเร็ว

ตั้งแต่นั้นมา Ghislain ก็กลายเป็นผู้สร้าง core intellectual property ของ Cyanview ในขณะที่อุปกรณ์จริงต้องมีความแข็งแรง, เชื่อถือได้ และคุณภาพสูง ความลับสำคัญของ product กลับอยู่ที่จำนวน integration อันมหาศาลและกระบวนการ reverse engineering ที่ลึกมาก ทำให้ product นี้สามารถทำงานร่วมกับระบบกล้องมืออาชีพและอุปกรณ์ที่เกี่ยวข้องได้หลากหลายที่สุด มันถูกออกแบบมาให้ compatible กับทุกอย่างที่ลูกค้าใช้งาน และยังมี API เพื่อให้สามารถเชื่อมต่อกับอุปกรณ์อื่น ๆ ได้อย่างราบรื่น

David Bourgeois ผู้ก่อตั้งของ Cyanview เล่าเรื่องราวให้เราฟังว่า การตัดสินใจทางเทคนิคเหล่านี้ร่วมกับ Elixir ช่วยให้พวกเขาแก้ปัญหาในโลกจริงได้อย่างไร:

“ในช่วงการแข่งขัน Olympics ที่ประเทศจีน สตูดิโอในปักกิ่งใช้กล้อง Panasonic PTZ จำนวนมาก อย่างไรก็ตาม ทีมงานส่วนใหญ่ของพวกเขาอยู่ที่ปารีส และต้องควบคุมกล้องเหล่านั้นจากระยะไกลเพื่อจัดรายการต่าง ๆ ตลอดทั้งวัน ปัญหาคือ โปรโตคอลของกล้อง Panasonic ไม่ได้ถูกออกแบบมาเพื่อใช้งานผ่านอินเทอร์เน็ต — มันต้องการ timing ที่แม่นยำและต้องส่งหลาย message สำหรับการปรับค่าทุกครั้ง เมื่อมี network latency ก็จะเกิด timeout, disconnect และระบบล่ม… สุดท้ายพวกเขาจึงวาง devices ของเราไว้ข้างกล้องในปักกิ่ง และควบคุมมันจากปารีสผ่าน IP — ตามที่ออกแบบไว้เป๊ะ”

อุปกรณ์ Cyanview RIO ติดตั้งอยู่กับกล้องในสนามกีฬา

33b005cc-539b-4b2a-ad57-0d51fde0ad05

devices ที่อยู่ในสถานที่เดียวกันจะสื่อสารและประสานงานกันบน network ด้วย custom MQTT protocol สามารถรองรับกล้องกว่าร้อยตัวได้โดยไม่มีปัญหา บน Remote Control Panel (RCP) เดียว ซึ่งถูก implement โดยใช้ Elixir’s network stack

องค์ประกอบทางเทคนิค

ระบบโดยรวมประกอบด้วยอุปกรณ์ RCP ที่รันระบบ Yocto Linux โดยที่ logic ส่วนใหญ่พัฒนาด้วย Elixir และ C ถึงแม้ว่า Python จะยังถูกใช้สำหรับ scripting และ tooling อยู่บ้าง แต่บทบาทของมันก็ลดลงเรื่อย ๆ การตั้งค่าระบบยังรวมถึง microcontrollers หลายตัวและอุปกรณ์ที่ติดตั้งอยู่บนกล้อง ซึ่งทั้งหมดสื่อสารกันผ่าน MQTT นอกจากนี้ยังมี cloud relays สำหรับเชื่อมต่อ และ dashboards รวมถึง controller UIs สำหรับดูแลและควบคุม อุปกรณ์สำคัญสองตัวคือ RCP ซึ่งใช้ควบคุมฝั่ง production และ RIO ซึ่งจัดการ manipulation ของกล้องแบบ low-latency ทั้งสองตัวนี้ใช้ Elixir

ส่วน UI สำหรับ configuration ตอนนี้สร้างด้วย Elm แต่ในอนาคตอาจเปลี่ยนไปใช้ Phoenix LiveView ขึ้นอยู่กับลำดับความสำคัญ เพื่อให้จำนวนภาษาที่ใช้น้อยลง ส่วน controller web UI ใช้ LiveView อยู่แล้ว และสามารถทำงานได้ดีมากบน embedded Linux เครื่องเล็ก ๆ ที่สเปกต่ำ

ระบบในส่วนของ cloud ปัจจุบันถือว่ามีน้อยมาก ซึ่งถือว่าไม่ปกติในโลกที่เต็มไปด้วย SaaS ปัจจุบันมี cloud relays สำหรับกระจายและแชร์การควบคุมกล้อง รวมถึงการ forward network ports ระหว่างสถานที่ต่าง ๆ และฟีเจอร์อื่น ๆ ที่เกี่ยวข้อง ทั้งหมดยังพัฒนาใน Elixir เช่นกัน แต่ cloud ไม่ใช่แกนหลักของธุรกิจ อุปกรณ์ที่รัน Elixir ในแต่ละสถานที่จะสร้าง cluster ผ่าน IP โดยใช้ custom MQTT-based protocol ที่เหมาะกับงานนี้ และสามารถสื่อสารกับกล้องและอุปกรณ์วิดีโออื่น ๆ ได้หลายร้อยตัว

แน่นอนว่า การเชื่อมต่อกับอุปกรณ์ proprietary จำนวนมาก ย่อมมาพร้อมกับความท้าทาย บาง integration มีความเสถียรมากกว่าตัวอื่น บางอุปกรณ์เป็นที่นิยม ทำให้ quirks ต่าง ๆ เป็นที่รู้กันจากประสบการณ์ล้วน ๆ มีอุปกรณ์บางตัวที่มี documentation ดีให้ใช้อ้างอิง แต่บางตัวก็เต็มไปด้วยความลึกลับและเซอร์ไพรส์ไม่รู้จบ ในบริบทนี้ David เน้นย้ำถึงความสำคัญของกลไกใน Elixir ที่ใช้สำหรับการฟื้นตัวจากความล้มเหลว:

“ถ้า connection ของกล้องตัวใดตัวหนึ่งมี blip, protocol มี bug หรือสายสัญญาณเสีย มันสำคัญมากที่ทุกอย่างอื่นต้องยังทำงานต่อไปได้ และนี่คือจุดที่ supervision trees ของ Elixir ให้ข้อได้เปรียบที่สำคัญมาก”

การเติบโตและโครงสร้างทีม

ทีมเติบโตขึ้นตลอดช่วง 9 ปีที่บริษัทดำเนินงานมา แต่เติบโตอย่างช้า ๆ และมั่นคง โดยเฉลี่ยแล้วบริษัทเพิ่มพนักงานเพียงปีละ 1 คน ปัจจุบัน Cyanview มีพนักงาน 9 คน และให้การสนับสนุน live broadcast events ที่ใหญ่ที่สุดในโลกหลายรายการ

มีนักพัฒนา Elixir อยู่สองคนคือ Daniil ซึ่งมุ่งเน้นการปรับปรุง UI และวางแผนขยายไปสู่ cloud functionality มากขึ้น และ Ghislain ผู้ดูแลกล้องและ integration ทั้ง LiveView และ Elm ถูกใช้ใน UI ของอุปกรณ์และ dashboards

สิ่งที่น่าสนใจคือ นักพัฒนา embedded คนอื่น ๆ ส่วนใหญ่บอกว่าพวกเขาไม่ค่อยรู้เรื่อง Elixir มากนัก และไม่ได้ใช้มันในงานประจำวัน แต่พวกเขาก็สามารถ implement protocol และ encoding ต่าง ๆ ด้วย Elixir ได้อย่างสบาย เหตุผลหลักที่พวกเขาไม่ได้เรียนรู้ Elixir อย่างลึกซึ้งก็เพราะเวลา — พวกเขามีงานด้านอื่นต้องโฟกัส และการเชี่ยวชาญ Elixir อย่างลึกยังไม่จำเป็น เพราะงานของพวกเขานั้นครอบคลุมมากกว่านั้น เช่น การออกแบบ PCB, การเลือก component อิเล็กทรอนิกส์, การ reverse engineer โปรโตคอล, การเชื่อมต่อกับ display, การ implement FPGA, การจัดการทดสอบผลิตภัณฑ์, การผลิตจริง และการปล่อย firmware updates

นวัตกรรมและการมุ่งเน้นลูกค้า

29be0074-395c-4090-a7c5-f850bb8e2e9e ผู้ควบคุมใช้งาน Cyanview RCP สำหรับฝูงชนขนาดมหาศาลในสนามกีฬา

ไม่ว่าจะเป็นการติดตั้ง onboard cameras บนรถกว่า 40 คันในงาน 24 ชั่วโมงของ Le Mans, การถ่ายทอดรายการ Ninja Warrior, รายการ Australian Open และ US Open, การควบคุม studio ในพิพิธภัณฑ์ Louvre, การติดตั้งในเสา NFL pylons หรือการเชื่อมต่อกล้องกว่า 200 ตัวในเวลาเดียวกัน — product นี้พูดแทนตัวมันเอง Cyanview สร้างอุปกรณ์ขึ้นมาสำหรับโลกที่ทำงานบนพื้นฐานของ IP โดยใช้ Elixir ซึ่งเป็นภาษาที่มี networking และ protocol ฝังอยู่ในแก่นของมัน การเลือกเช่นนี้ทำให้พวกเขาทำได้ทั้งสองอย่าง: รองรับอุปกรณ์ทุกประเภท และพัฒนา feature ที่ไม่มีใครเคยมีมาก่อน

โดยการเปลี่ยนจากการใช้ radio frequency แบบ local-area แบบเดิม, การเชื่อมต่อแบบ serial และ proprietary protocol ที่ยืดหยุ่นต่ำ ไปสู่ IP networking — อุปกรณ์ของ Cyanview ได้สร้างนิยามใหม่ให้กับการทำงานของระบบกล้อง ชุดฟีเจอร์ของพวกเขานั้นไม่เคยมีในวงการมาก่อน: multicam ไม่จำกัดจำนวน, Tally lights, การควบคุม Pan & Tilt, การ integration กับ color corrector และ remote production ระดับโลก

ความง่ายและความปลอดภัยในการปล่อยฟีเจอร์ใหม่ทำให้บริษัทสามารถรองรับสิ่งใหม่ ๆ ได้อย่างรวดเร็ว ตัวอย่างหนึ่งคือการใช้งาน mirrorless cameras บน gimbal ที่เพิ่มมากขึ้นเพื่อถ่าย crowd shots Cyanview สามารถสร้าง prototype ของการควบคุม gimbal, ทดสอบกับลูกค้า และยืนยันการทำงานได้ภายในเวลาสั้นมาก การสร้างต้นแบบและการ validate ฟีเจอร์อย่างรวดเร็วนี้เกิดขึ้นได้เพราะสถาปัตยกรรมที่ยืดหยุ่น ซึ่งทำให้มั่นใจว่าแกนหลักของระบบจะไม่เสียหาย

บริษัทกล้องที่ไม่ได้ผลิต shading remotes สำหรับ broadcast เช่น Canon หรือ RED แนะนำให้ลูกค้าใช้ Cyanview แทนที่จะแข่งขันกับบริษัท broadcast hardware ส่วนใหญ่ Cyanview มองว่าตัวเองเป็นพาร์ตเนอร์ พลังของทีมเล็ก ๆ, product ที่มีคุณภาพ และเครื่องมือที่ทรงพลังสามารถสร้างความประหลาดใจได้อย่างแท้จริง แทนที่จะเน้น marketing Cyanview ทำงานอย่างใกล้ชิดกับลูกค้าโดยมุ่งเน้นการสนับสนุนให้ event ของลูกค้าประสบความสำเร็จ และให้บริการที่ลึกซึ้งแบบตัวต่อตัว

มองย้อนกลับและมองไปข้างหน้า

เมื่อถูกถามว่า ถ้ามีโอกาสเลือกอีกครั้ง จะเลือกใช้ Elixir หรือไม่ David ตอบว่า:

“แน่นอนครับ เราได้เห็นแล้วว่า Erlang VM ทำอะไรได้บ้าง และมันตอบโจทย์ความต้องการของเรามากจริง ๆ คุณจะไม่รู้ซึ้งถึงสิ่งที่ Elixir มอบให้ ‘out of the box’ จนกว่าคุณจะลองลงมือ implement ด้วยตัวเอง มันไม่ใช่โชคอย่างเดียวที่เราหยิบมันขึ้นมาใช้ — แต่เราก็ถือว่าโชคดีอยู่ดี เพราะ Elixir นำเสนอหลายสิ่งที่ตอนแรกเราไม่รู้ว่าจะมีคุณค่าสำหรับเราขนาดนี้ และตอนนี้เรามองเห็นสิ่งเหล่านั้นชัดเจนมากแล้ว”

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

การพัฒนาอยู่ในจังหวะที่คึกคักมาก โดยมี product เสริมอื่น ๆ ที่วางควบคู่กับอุปกรณ์หลักอย่าง RCP อยู่แล้ว และในอนาคตก็มีแผนอีกมาก ทั้งการขยายไปยัง cloud และโปรเจกต์ hardware ใหม่ ๆ ที่ต่อยอดจากบทเรียนที่เรียนรู้มา ในขณะที่สิ่งเหล่านี้ค่อย ๆ พัฒนา เราจะได้เห็นบทบาทที่สำคัญยิ่งขึ้นของ Elixir ใน live broadcast ขนาดใหญ่ระดับโลก

แผงควบคุม Cyanview Remote Control Panels ในห้องควบคุม 0a5ebabe-7893-4911-83f5-4e0e7f357adf

สรุป

ผลิตภัณฑ์คุณภาพสูง ที่มอบนวัตกรรมได้อย่างตรงจังหวะ ในวงการที่ขาดแคลนเรื่อง integration ที่ดี Elixir คือเครื่องมือที่ให้ leverage อย่างจริงจังในการพัฒนา integration จำนวนมากได้อย่างมั่นใจและมีความเสถียรอย่างสม่ำเสมอ ในยุคที่ productivity และทีมขนาดเล็กที่ทำงานได้อย่างมีประสิทธิภาพคือทุกอย่าง Cyanview คือหนึ่งในตัวอย่างที่ชัดเจนที่สุดว่า Elixir สามารถ empower ทีมเล็ก ๆ ให้สร้างผลลัพธ์ที่ยิ่งใหญ่ได้อย่างไร

references: