# Broadcast Box - 120ms 지연 시간의 OBS 라이브 스트리밍

> Clean Markdown view of GeekNews topic #16606. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=16606](https://news.hada.io/topic?id=16606)
- GeekNews Markdown: [https://news.hada.io/topic/16606.md](https://news.hada.io/topic/16606.md)
- Type: GN+
- Author: [neo](https://news.hada.io/@neo)
- Published: 2024-09-05T08:33:30+09:00
- Updated: 2024-09-05T08:33:30+09:00
- Original source: [github.com/Glimesh](https://github.com/Glimesh/broadcast-box)
- Points: 23
- Comments: 2

## Summary

Broadcast Box는 WebRTC를 사용하여 초저지연 방송을 가능하게 하며, 빠르고 효율적인 방송 경험을 제공합니다. 초보자도 쉽게 사용할 수 있도록 설계되어 다양한 환경에서 유연하게 사용할 수 있습니다.

## Topic Body

- Broadcast Box는 초저지연으로 방송을 할 수 있게 해주는 도구  
- 사용이 간편하고 수정이 용이하도록 설계되었음. 최신 방송 기술을 보여주기 위해 개발  
- WebRTC를 사용하는 것의 장점  
  - 초저지연 : RTMP와 HLS 대신 WebRTC로 방송과 재생을 처리  
  - 최신 비디오 코덱을 사용할 수 있음. AV1 코덱을 사용하면 동일한 비디오 품질을 50% 적은 대역폭으로 전송할 수 있음  
  - 동일한 세션에서 여러 비디오 스트림을 업로드할 수 있음. 여러 카메라 각도에서 방송하거나 실시간으로 인터랙티브 비디오 경험을 공유할 수 있음  
  - 좋은 사용자 경험을 제공하려면 트랜스코드가 필요함. WebRTC를 사용하면 사용자가 다양한 품질 수준으로 동일한 비디오를 업로드할 수 있어 서버 운영 비용을 절감할 수 있음  
  - WebRTC를 통해 누구나 방송자가 될 수 있음. Broadcast Box를 사용하면 OBS 같은 방송 소프트웨어를 사용할 수 있음. 브라우저에서 직접 방송을 시작할 수 있어 초보자도 쉽게 라이브 스트리밍을 시작할 수 있음.  
  - 필요할 때 Peer-to-Peer : Broadcast Box를 사용하면 공용 IP나 포트 포워딩 없이 비디오를 제공할 수 있음. WebRTC의 P2P 기술을 통해 전용 서버 없이도 비디오를 방송하고 재생할 수 있음.  
- 사용법  
  - Broadcast Box를 로컬에서 실행할 필요 없이 호스팅된 b.siobud.com 에서 바로 사용할 수 있음  
  - 로컬에서 실행하려면 [Getting Started](https://github.com/Glimesh/broadcast-box?tab=readme-ov-file#getting-started) 섹션을 참조  
  
### GN⁺의 정리  
  
- Broadcast Box는 초저지연 방송을 가능하게 하는 도구로, WebRTC를 사용하여 빠르고 효율적인 방송 경험을 제공함  
- 초보자도 쉽게 사용할 수 있도록 설계되어 있으며, 다양한 환경에서 유연하게 사용할 수 있음  
- 방송 기술의 최신 트렌드를 반영하고 있어, 방송 업계에 관심 있는 사람들에게 유용할 것임  
- 유사한 기능을 제공하는 프로젝트로는 OBS, GStreamer 등이 있음.

## Comments



### Comment 28729

- Author: roxie
- Created: 2024-09-09T11:33:38+09:00
- Points: 1

정말 3초 안쪽으로 안정적인 스트리밍이 되네요. webRTC 붐은 온다..

### Comment 28580

- Author: neo
- Created: 2024-09-05T08:33:31+09:00
- Points: 1

###### [Hacker News 의견](https://news.ycombinator.com/item?id=41424954) 
- Broadcast Box를 OBS 테스트용 서버로 만들었음
  - WebRTC/WHIP PR 테스트가 쉬워졌음
  - 사람들이 사용하면서 이점과 흥미를 더 느끼게 됨

- 저지연은 시청자와의 관계를 의미함
  - 친밀한 방송이 새로운 매체가 됨

- 동시 송출은 스트리밍 사이트 운영 비용을 절감함
  - 서버 측에서 ffmpeg/트랜스코딩을 실행할 필요가 없음

- AV1/H265/Opus는 낮은 대역폭 사용자도 방송 가능하게 함
  - 충분한 대역폭 사용자도 이전보다 높은 품질로 스트리밍 가능

- UDP는 IRL/로밍 스트림을 가능하게 함
  - 재연결을 위한 맞춤 설정이 필요 없음

- 멀티 트랙은 여러 비디오 피드나 언어를 동시에 전송 가능하게 함

- 종단간 암호화는 P2P 배포를 가능하게 함

- 이 프로젝트에 관심 있는 사람들은 Cloudflare의 WebRTC 스트리밍 서비스도 흥미로울 수 있음
  - WHIP을 사용한 초저지연 라이브 스트리밍과 WHEP을 사용한 재생
  - OBS WHIP 플러그인을 사용하여 Cloudflare로 바로 연결 가능
  - 가격 모델은 1000분당 $1, 시간당 $0.06에 해당함

- 라이브 스트리밍이 왜 선호되는지에 대한 메타 질문
  - 라이브 스트리밍은 여러 단점이 있음
    - 실시간 참여 필요
    - 편집 불가 (시청자 시간 비효율적 사용)
    - 클라이언트 측에서 속도 조절/불필요한 부분 건너뛰기 불가
    - 인덱스나 목차 불가

- Broadcast Box는 WebRTC를 사용하여 방송과 재생을 수행함
  - RTMP와 HLS 대신 WebRTC를 사용하여 가장 빠른 경험 제공
  - RTMP는 저지연을 달성하는 데 문제가 없음, 소프트웨어 스택이 지연을 결정함
  - HLS는 내재된 결함으로 인해 추가 지연 발생

- 이 기능이 제대로 작동하면 매우 만족할 것임
  - 인터넷을 통해 RPG를 함께 플레이하는 것이 1초 이상의 지연이 있으면 재미없음
  - 저지연 P2P 스트리밍 솔루션을 찾았으나 OBS만으로는 문제 발생
  - 이 사용 사례를 포함해줘서 감사함

- WebRTC를 100k+ 클라이언트에 배포하는 최신 기술 상태
  - 몇 년 전 저지연 스트리밍 분야에 있었을 때 WebRTC는 1초 미만의 지연을 달성했으나, 실제로 배포할 인프라는 부족했음
  - Cloudflare와 다른 벤더들이 표준을 만들고 있었음
  - 수평적으로 확장 가능한 WebRTC 방송기를 운영할 수 있는지 궁금함 (오픈 소스 구현이 있는지)
  - 저지연 HLS나 CMAF는 5초 미만의 지연을 달성했으나, 배포는 매우 쉬웠음 (정적 파일을 CDN/http 서버에 배포)

- Jitsi로 가족과 대화할 때 항상 문제가 발생함
  - 화면을 볼 수 없거나, 저해상도로 보이거나, 카메라가 켜져 있어도 보이지 않거나, 모두 연결이 끊어짐
  - Broadcast Box가 OBS Studio를 사용하여 스트리밍할 수 있는지 궁금함 (독점 서버에 의존하지 않고)
  - 100k+ 클라이언트가 필요하지 않음, 2-4 클라이언트 간의 안정적인 연결만 필요함
  - NAT 외부에서 서버를 운영할 수 있음
  - 120ms 지연은 불가능함, 아르헨티나에 있고 대부분 미국에 있어 인터넷을 통해 미국까지 200ms 이상의 지연이 있음
  - Broadcast Box가 원하는 것이 아니라면 다른 대안이 있는지 궁금함
  - Zoom, Google, Teams는 이미 알고 있음, 그러나 독점 서버에 취약함

- README에서 다음 문구를 봄
  - "P2P를 사용하여 다른 방송자를 스트림에 끌어올 수 있음. 더 이상 특별한 설정이나 서버가 필요 없음"
  - 친구와 공동 스트림을 위해 현재 설정이 있음
    - 친구가 OBS로 게임 플레이를 캡처함
    - 친구가 OBS를 내 집에 있는 Raspberry Pi로 스트리밍함
    - Raspberry Pi가 RTMP 스트림을 수락하도록 nginx를 실행함
    - 다른 기기에서 OBS를 실행하여 내 게임 플레이를 캡처하고 오버레이 추가함
    - 내 OBS가 Raspberry Pi에서 스트림을 캡처하기 위해 VLC를 입력 소스로 사용함
  - 설정이 끔찍함, 비디오가 지연되고 자주 멈춤
  - 이 프로젝트를 살펴보고 싶지만 README를 읽고 나서도 설정 방법이 불분명함
  - 조언이 필요함

- 비디오 방송 지연에 익숙하지 않은 사람으로서, 다른 대안과 비교했을 때 어떤지 궁금함
  - 120ms 측정을 달성하기 위해 사용된 하드웨어 사양이 궁금함

- 몇 년 동안 OvenMediaEngine을 사용해왔음
  - 이와 같은 기능을 제공하지만, 이 프로젝트도 유망해 보임
  - 시도해볼 것임
