프로젝트 소개
VLX FrameFlow는 Debian 기반 Single Board Computer(SBC)와 VPS 인스턴스를 전문가급 라이브 방송 하드웨어로 변환하도록 설계된 모듈형 Go 스위트입니다. 더 넓은 VLX 스트림 플로우 생태계 내에서 Edge Acquisition & Transport 계층으로 기능하며, 이 생태계에는 컴포지션을 위한 VisionBridge와 제어를 위한 ChatBridge도 포함됩니다.
주요 기능:
1. **고가용성 본딩 라우터**: 듀얼 프로토콜 본딩을 사용하여 여러 인터넷 연결을 집계합니다. UDP 트래픽(예: SRT 비디오 스트림)은 MLVPN을 통해 집계되며, TCP 트래픽(텔레메트리, API, 일반 인터넷)은 투명 프록시 역할을 하는 Shadowsocks와 결합된 MPTCP를 사용합니다.これにより、하나의 연결이 실패해도 복원력 있는 업링크를 보장합니다.
2. **멀티 카메라 스트리밍 인코더**: 연결된 카메라에서 비디오와 오디오를 캡처하기 위해 V4L2와 FFmpeg를 활용하여 이를 SRT 스트림으로 인코딩합니다. 이러한 스트림은 본딩 터널을 통해 중계 서버(MediaMTX)로 푸시되어 무손실 폴백 및 고품질 전송을 가능하게 합니다.
3. **실시간 GPS 텔레메트리**: gpsd와 통합되어 USB/시리얼 GPS 하드웨어를 자동으로 감지합니다. 위치 데이터를 읽어 원격 엔드포인트에 JSON 텔레메트리를 POST하여 실시간 추적을 가능하게 하고, ChatBridge와 같은 다른 생태계 구성 요소와의 통합을 허용합니다.
4. **서버 릴레이 및 제어**: 서버 구성 요소는 VPS에서 실행되어 릴레이 노드 및 방화벽 관리자로 작동합니다. MLVPN 터널을 통해 안전하게 챗브릿지와 같은 동반 앱에서의 명령을 SBC 클라이언트로 전달합니다. 또한 인그레스 및 이그레스를 위한 로컬 MediaMTX 서비스를 관리합니다.
5. **원격 관리 UI**: 웹 브라우저를 통해 접근 가능한 경량의 임베디드 Svelte 단일 페이지 애플리케이션(SPA)을 제공합니다. 프론트엔드는 백엔드 API를 폴링하여 시스템 상태, systemd 상태, 컬러화된 콘솔 출력을 표시함으로써 현장 단위를 원격으로 관리할 수 있도록 운영자에게 허용합니다.
아키텍처 및 배포:
- 스위트는 클라이언트(SBC)와 서버(VPS)의 역할을 분리합니다. 클라이언트는 사용자 공간 systemd를 통해 특권이 없는 사용자로 실행되며, CLI 모듈의 루트 실행을 거부하여 보안을 강화합니다. 서버는 라우팅 및 방화벽 규칙을 관리하기 위해 루트 권한이 필요합니다.
- 구성은 셸 소스 환경 파일과 YAML 피어 정의를 통해 처리되며, 다중 클라이언트 설정을 위한 결정적 슬롯 모델을 지원합니다.
- 이 프로젝트는 GNU General Public License v3.0 라이선스 하에 배포됩니다.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.