프로젝트 소개

polyemesis는 목적지별 다채널 오디오 라우팅을 차별점으로 내세운 자체 호스팅 리스트리밍 서버입니다. 단일 업로드는 운영자가 설정한 만큼의 목적지로 분산되며, 각 목적지는 인코더가 보낸 오디오 트랙에서 합산된 자체 스테레오 믹스를 수신합니다. 비디오는 재인코딩되지 않고 그대로 복사되어 전달됩니다. 이 소프트웨어가 타겟팅하는 유스케이스는 오디오 트랙이 분리된 OBS 세션입니다. 예를 들어 트랙 1은 저작권 음악이 포함된 전체 믹스, 트랙 2는 클린 피드, 트랙 3은 마이크인 경우입니다. 라이브 플랫폼은 일반적으로 하나의 스테레오 쌍만 허용하므로, 단일 믹스로 모두에게 서비스하거나 여러 개의 인코더와 업로드가 필요합니다. polyemesis를 사용하면 사용자는 목적지별로 어떤 트랙을 해당 목적지의 스테레오 피드에 합산할지 선택할 수 있습니다. 라우팅은 트랙별 체크박스 방식의 단순 모드 또는 셀당 게인 값이 있는 채널-출력 믹스 매트릭스로 설정할 수 있습니다. 입력은 SRT 멀티트랙(최대 32개 AAC 트랙, 단일 포트에서 토큰으로 구분)을 지원하며, 단일 트랙 폴백으로 스트림 키를 사용하는 RTMP를 지원합니다. 모든 트랙의 모든 채널에 대해 라이브 오디오 미터가 제공되어 라이브 시작 전 클린 트랙을 확인할 수 있습니다. 비디오 렌디션은 낮은 등급이 필요한 목적지 간에 공유될 수 있습니다. 하나의 인코딩에 참조 횟수(ref-counted)를 적용하여 사용하지 않는 등급은 비용이 발생하지 않으며, 렌디션은 비디오만 재인코딩하고 오디오 라우팅은 목적지별로 유지합니다. 렌디션의 오버레이는 이미지 워터마크와 한 줄의 텍스트를 지원하며, 프레임의 백분율로 위치와 크기를 지정합니다. 목적지는 RTMP(S), SRT 또는 로컬 파일이 될 수 있으며, 각각 독립적으로 시작 가능하고 자동 재연결 및 지수 백오프(exponential backoff) 기능을 갖추고 있습니다. YouTube, Twitch, Facebook, Kick에 대한 플랫폼 로그인을 제공하며, API가 허용하는 경우 채팅 및 메타데이터 푸시를 지원합니다. 또한 4개 플랫폼 전체에 걸쳐 삭제, 차단, 타임아웃을 포함한 채팅 관리와 한 사용자의 메시지를 플랫폼별로 통합하여 보여주는 모더레이터 카드를 제공합니다. 기타 운영 기능으로는 대기 입력(standby ingest)을 통한 페일오버, 생성된 슬레이트 및 소스 선택기, Prometheus 메트릭 및 웹훅 전달 방식의 프로세스 내 알림 규칙, 스트림 및 목적지 전환 시 서명된 라이프사이클 웹훅, Home Assistant 검색이 가능한 MQTT 텔레메트리 유지, Let's Encrypt 또는 로컬 CA를 통한 자동 설정 TLS 등이 있습니다. 포스트 프로덕션 그룹은 보존 기간이 설정된 세그먼트 멀티트랙 녹화, 작업 큐, 전체 텍스트 검색이 가능한 Whisper 전사 및 클리퍼를 포함합니다. 많은 설정이 스트림 중단 없이 적용되며, 저장 동작 시 어떤 설정이 적용되었는지 표시됩니다. 이 소프트웨어는 UI가 내장된 단일 정적 바이너리로 제공되며, pure-Go SQLite를 사용하고 cgo를 사용하지 않습니다. libsrt로 빌드된 FFmpeg 6.0 이상 버전이 필요합니다. FFmpeg 6.0 미만 버전에서는 시작을 거부하며, SRT가 없는 경우 경고를 표시합니다. Docker 이미지도 제공됩니다. 클론에서 빌드할 경우 Go 1.27.0+, Node 20.19+/22.12+ 및 FFmpeg가 필요합니다. README에는 제한 사항이 명시되어 있습니다. 이 프로젝트는 단일 유지관리자가 관리하는 프리릴리스 상태이며 호환성을 보장하지 않습니다. RTMP 멀티트랙은 주 운영 경로가 아니며, 소스별 포트는 제공되지 않습니다. 역할이나 목적지별 권한이 없는 단일 사용자만 존재하며, Instagram Live는 지원되지 않습니다. 소스 비디오의 적합성은 운영자의 책임입니다. 플랫폼 성숙도는 Linux와 Docker가 기본이며 Windows는 검증되지 않았으며, 서비스 중지 시 녹화가 잘리는 알려진 미해결 결함이 있습니다. 비교 표에서는 datarhei/Restreamer 및 restream.io와 비교하며, 플랫폼별로 다른 오디오가 필요하지 않은 경우에는 Restreamer가 더 성숙한 솔루션이라고 명시하고 있습니다. 라이선스는 MIT입니다.