- Cyanview는 슈퍼볼 같은 대형 생중계에서 수백 대 카메라의 색·노출·피부톤을 맞추는 카메라 셰이딩 장비를 만들며, 핵심 제어 경로에 Elixir를 사용함
- 방송 현장은 한 번의 실패도 치명적이어서, Cyanview는 IP 네트워크 제어와 Erlang VM의 장치 조정 능력을 제품 기반으로 삼음
- RCP와 RIO 장비는 Yocto Linux 위에서 Elixir와 C 로직으로 동작하고, MQTT 기반 통신과 제한적인 클라우드 릴레이로 원격 제작을 지원함
- Elixir의 바이너리 인코딩·디코딩과 supervision tree는 다양한 독점 장비 통합, 연결 장애 격리, 빠른 기능 검증에 활용됨
- 9명 규모 팀이 200대 이상 카메라 연결, Le Mans·Ninja Warrior·Australian Open·US Open 같은 현장을 지원하며 작은 팀의 제품 범위를 넓힘
방송 현장에서 Cyanview가 푸는 문제
- 슈퍼볼 같은 생중계에서는 약 200대 카메라의 색상, 노출, 시각적 톤을 맞춰야 함
- 카메라 셰이딩은 각 카메라가 같은 잔디색과 같은 피부톤을 보여주도록 조정하는 작업임
- 대상 장비는 대형 방송 카메라, 드론 카메라, PTZ 카메라, 짐벌 장착 미러리스 카메라까지 다양함
- Cyanview는 라이브 비디오 방송 산업용 제품을 판매하는 벨기에의 소규모 회사이며, 주력 분야는 셰이딩임
- 방송 산업의 도구는 한 번의 라이브 이벤트에서 바로 검증돼야 하고, 하드 실패를 허용하기 어려움
RCP가 퍼진 방식과 사용 현장
- 3명 규모의 작은 팀이 만든 Remote Control Panel(RCP)은 마케팅보다 기능을 통해 업계에 퍼짐
- RCP는 전문 비디오 오퍼레이터가 다음 현장에서 사용함
- Olympics
- Super Bowl
- NFL
- NBA
- ESPN
- Amazon
- Paris의 다수 패션쇼
- 단일 RCP에서 100대 이상 카메라를 문제없이 다룬 사례가 있으며, 이는 Elixir 네트워크 스택 위에 구현됨
- Cyanview는 Elixir를 선택해 네트워킹 기능, 복원력, 빠른 제품 기능 반복을 얻음
Elixir를 선택한 이유
- Cyanview 창업팀은 주로 임베디드 개발 경험을 갖고 있었고, 제품에는 저수준 C 코드와 FPGA가 많이 들어감
- 색 과학의 저수준 세부 사항과 빡빡한 타이밍 요구사항 때문에 저수준 구현이 필요함
- 카메라 소프트웨어는 완전 디지털화 이후에도 아날로그 시스템이나 독점 연결 방식에 묶여 있는 경우가 많음
- 초기부터 IP 기반 제어를 목표로 삼으면서, 범용 네트워크 위에서 소프트웨어가 장비를 다루는 구조가 됨
- 원격 제작이 늘어나면서 중앙 위치에서 제작팀이 운영하고 현장 인력을 줄이는 방식이 확산됨
- 맞춤형 무선 주파수나 직렬 와이어 프로토콜은 대륙 간 거리로 확장하기 어려움
- Erlang VM은 네트워크를 통해 수많은 장치를 안정적으로 통신·조정하도록 설계됐고, 이 점이 Elixir 도입으로 이어짐
프로토콜 통합과 원격 제작 사례
- 개발자 Ghislain은 여러 네트워크 프로토콜로 카메라와 비디오 장비를 통합하기 위해 Elixir를 도입함
- Elixir는 개별 비트 단위까지 바이너리 데이터를 인코딩·디코딩하는 실용 기능을 제공함
- Cyanview의 핵심 지식재산은 대량의 장비 통합과 리버스 엔지니어링에 있음
- 제품은 고객이 쓰는 다양한 전문 카메라 시스템과 관련 장비에 호환되도록 설계됨
- 외부 장비와 원활히 통합할 수 있도록 API도 제공함
-
Beijing–Paris 원격 제어 사례
- 중국 Olympics 사례에서 Beijing 스튜디오는 많은 Panasonic PTZ 카메라를 사용했고, 팀 대부분은 Paris에서 원격 제어해야 했음
- Panasonic 카메라 프로토콜은 인터넷 사용을 염두에 두지 않았고, 조정마다 정확한 타이밍과 여러 메시지가 필요했음
- 네트워크 지연은 타임아웃, 연결 끊김, 시스템 실패로 이어질 수 있었음
- Cyanview 장비를 Beijing의 카메라 옆에 두고 Paris에서 IP로 제어하는 방식으로 운용함
- 같은 장소의 장비들은 커스텀 MQTT 프로토콜로 네트워크상에서 통신하고 조정함
RCP·RIO와 UI 구성
- 전체 시스템은 Yocto Linux를 실행하는 RCP 장비와 Elixir·C 기반 로직으로 구성됨
- Python은 스크립팅과 도구 용도로 여전히 쓰이지만 역할은 점차 줄어듦
- 여러 마이크로컨트롤러와 온카메라 장치가 MQTT로 통신함
- 클라우드 릴레이는 연결성을 돕고, 대시보드와 컨트롤러 UI는 감시와 제어를 제공함
- 핵심 장비는 두 가지임
- RCP: 제작 쪽 제어 장비
- RIO: 카메라의 저지연 조작을 담당하는 장비
- RCP와 RIO는 모두 Elixir를 실행함
- 설정 UI는 현재 Elm으로 구축돼 있음
- 우선순위에 따라 설정 UI는 언어 수를 줄이기 위해 Phoenix LiveView로 전환될 수 있음
- 컨트롤러 웹 UI는 이미 LiveView로 되어 있고, 저사양 임베디드 Linux 머신에서도 잘 동작함
제한적인 클라우드와 로컬 장비 클러스터
- Cyanview의 클라우드 부분은 현재 제한적이며, SaaS 중심 구조가 아님
- 클라우드 릴레이는 카메라 제어 배포·공유, 위치 간 네트워크 포트 전달, 관련 기능을 담당함
- 클라우드 릴레이도 Elixir로 구축됨
- 현장의 Elixir 장비들은 작업에 맞춘 커스텀 MQTT 기반 프로토콜로 IP 클러스터를 형성함
- 이 장비들은 수백 대 카메라와 다른 비디오 장치와 통신함
장애 격리와 supervision tree
- 많은 독점 장비와 통합하다 보면 장비별 신뢰성과 문서 품질이 크게 다름
- 일부 장비는 흔히 쓰여서 특성이 잘 알려져 있고, 일부는 좋은 문서를 제공하지만, 다른 장비는 예측하기 어려운 동작을 보임
- 한 카메라 연결에서 일시적 문제, 버그 있는 프로토콜, 물리 연결 장애가 발생해도 나머지는 계속 작동해야 함
- Elixir의 supervision tree는 개별 연결 문제를 전체 시스템 장애로 번지지 않게 하는 데 유리함
9명 팀의 역할 분담
- Cyanview는 9년 동안 천천히 성장했으며, 평균적으로 매년 1명씩 추가됨
- 현재 9명 규모 팀이 세계 최대급 방송 이벤트를 지원함
- Elixir 개발자는 2명임
- Daniil은 일부 UI 개편과 더 많은 클라우드 기능 방향을 맡음
- Ghislain은 카메라와 통합 작업을 맡음
- LiveView와 Elm은 장비 UI와 대시보드에 사용됨
- 다른 임베디드 개발자들은 일상 업무에서 Elixir를 많이 쓰지는 않지만, Elixir로 프로토콜과 인코딩을 구현하는 데 익숙함
- 이들이 Elixir를 깊게 배우지 않은 주된 이유는 시간이 부족하고, 깊은 Elixir 전문성이 필수는 아니었기 때문임
- 팀의 업무는 PCB 설계, 전자 부품 선택, 프로토콜 리버스 엔지니어링, 디스플레이 인터페이스, FPGA 구현, 생산 테스트 관리, 실제 프로덕션, 펌웨어 업데이트까지 포함함
기능 확장과 고객 중심 개발
- Cyanview 장비는 다음과 같은 현장에서 사용됨
- 24 Hours of Le Mans의 40대 이상 차량 온보드 카메라
- Ninja Warrior
- Australian Open
- US Open
- Louvre의 스튜디오
- NFL pylons
- 200대 이상 카메라 동시 연결
- IP 위에서 동작하는 세계를 대상으로 Elixir 기반 장비를 만들었고, 이를 통해 다양한 장비 지원과 새로운 기능 제공을 동시에 수행함
- 기존의 로컬 무선 주파수, 직렬 연결, 유연하지 않은 독점 프로토콜에서 IP 네트워크로 이동하면서 카메라 시스템 운용 방식이 바뀜
- 기능 세트에는 다음이 포함됨
- 제한 없는 멀티캠
- Tally lights
- Pan & Tilt 제어
- 컬러 코렉터 통합
- 전 세계 범위 원격 제작
- 짐벌 장착 미러리스 카메라로 관중 장면을 촬영하는 수요가 늘자, Cyanview는 짐벌 제어를 빠르게 프로토타이핑하고 고객과 테스트해 검증함
- 유연한 아키텍처는 핵심 기반을 깨뜨리지 않으면서 새 기능을 빠르게 배송할 수 있게 함
- Canon이나 RED처럼 방송 셰이딩 리모트를 만들지 않는 카메라 회사들은 고객에게 Cyanview를 추천함
- Cyanview는 대부분의 방송 하드웨어 회사와 경쟁하기보다 파트너로 자신을 봄
- 마케팅보다 고객 이벤트 성공 지원과 깊은 고객 서비스를 중시함
앞으로의 방향
- David Bourgeois는 다시 선택하더라도 Elixir를 고르겠다고 답함
- Erlang VM은 Cyanview의 요구에 잘 맞았고, Elixir가 기본 제공하는 기능의 가치는 직접 구현해 보기 전에는 충분히 알기 어렵다고 봄
- Cyanview는 팀을 더 키우고 싶지만, 시간이 걸리더라도 책임감 있게 성장하려 함
- 현재 작은 팀이 감당할 수 있는 것보다 할 일이 더 많음
- 주요 RCP 장비와 함께 보완 제품들이 이미 있으며, 향후 더 많은 제품이 예정돼 있음
- 클라우드 제품과 지금까지의 학습을 바탕으로 한 하드웨어 프로젝트가 계획돼 있음
- Elixir는 세계 최대 규모 라이브 방송 일부에서 더 중요한 역할을 맡게 됨