콘텐츠로 건너뛰기
Callaba

OBS 멀티스트리밍: 하나의 feed, 여러 destination

페이지 내용

OBS 멀티스트리밍 가이드

안정적인 OBS program 하나를 보내고 destination은 각각 제어하세요

OBS는 YouTube, Twitch, Facebook, LinkedIn, private player 또는 다른 streaming service용 live program을 만들 수 있습니다. 중요한 architecture 결정은 그 program을 어디에서 복제할지 정하는 것입니다. Production computer에 여러 output을 추가하거나, Callaba에 contribution feed 하나만 publish한 뒤 server에서 destination route를 만들 수 있습니다.

OBS에서 여러 플랫폼으로 동시에 stream할 수 있나요?

가능합니다. 꾸준히 유지보수되는 multi-output plugin은 OBS에서 여러 로컬 streaming session을 열 수 있습니다. Server-side fan-out은 다르게 작동합니다. OBS가 upstream 하나를 보내면 Callaba가 destination별 restream을 만듭니다. 첫 방식은 workstation에서 모든 output을 직접 제어합니다. 두 번째 방식은 destination credential, 상태, 재시작 작업을 production encoder와 분리합니다.

리허설이나 소규모 방송에서는 두 방식 모두 합리적일 수 있습니다. 하지만 OBS process가 종료되거나 현장 upload가 포화될 때 여러 플랫폼이 함께 중단되는 production이라면 single-ingest fan-out이 보통 더 관찰하기 쉽고 복구도 간단합니다. 먼저 Callaba Multi-Streaming에서 제품 흐름을 살펴본 다음 이 가이드에 따라 OBS를 설정하세요.

Fan-out 경계를 의도적으로 선택하세요

여러 로컬 output과 server-side restreaming 비교
질문여러 로컬 OBS outputCallaba로 보내는 OBS feed 하나
현장의 uploadDestination session마다 로컬 outbound capacity를 사용합니다.현장에서는 upstream 하나만 나가고 destination egress는 server가 담당합니다.
Encoding 부하Output이 encode를 공유하는지, 별도 profile이 필요한지에 따라 달라집니다.OBS는 contribution profile을 만들고, 지원되는 destination 변경은 downstream에서 처리합니다.
Credential플랫폼 key는 production workstation 또는 plugin configuration에 저장됩니다.각 플랫폼 key는 Callaba의 개별 restream record에 보관됩니다.
재시작 범위Plugin이나 OBS 문제는 모든 로컬 output에 영향을 줄 수 있습니다.Shared ingest를 건드리지 않고 실패한 destination 하나만 재시작할 수 있습니다.
Operator 화면Output 상태는 OBS와 각 플랫폼의 control room에 모입니다.Callaba dashboard에서는 ingest 상태와 destination 상태를 나눠 볼 수 있습니다.

Server를 사용해도 모든 shared dependency가 사라지지는 않습니다. 모든 destination은 여전히 OBS program, 현장의 단일 upstream session, 그리고 이를 수신하는 Callaba deployment에 의존합니다. 장점은 장애 경계가 명확해진다는 것이지 마법 같은 redundancy가 아닙니다.

Stream key를 입력하기 전에 production을 준비하세요

  • Destination event를 만들거나 예약하고 각 account에 live 권한이 있는지 확인합니다.
  • Callaba가 안정적으로 수신할 수 있는 contribution resolution, frame rate, codec, bitrate, keyframe interval, audio program을 하나 선택합니다.
  • Production network의 지속 가능한 upload를 측정합니다. 짧은 speed test는 리허설이 아닙니다.
  • 움직임, 음성, sync reference가 포함된 짧고 식별하기 쉬운 test program을 사용합니다.
  • 플랫폼 key를 screenshot, 공개 runbook, analytics payload에 남기지 마세요.
  • Shared input과 각 플랫폼 control room을 모두 볼 수 있는 operator를 지정합니다.

Destination 요구사항은 바뀝니다. 오래된 글의 bitrate 표를 복사하지 말고 live 직전에 각 service의 최신 help page를 확인하세요.

제어된 upstream 하나에 맞춰 OBS를 설정하세요

  1. Callaba input을 만듭니다. Production에 맞는 RTMP Server 또는 SRT Server를 사용합니다. 시작한 뒤 dashboard에서 현재 publisher value를 복사합니다.
  2. OBS에서 설정 → 방송을 엽니다. OBS 공식 interface에서는 내장 service 또는 Custom Streaming Server를 선택하고 제공받은 server와 stream key를 입력할 수 있습니다. Callaba 값을 정확히 사용하고 destination 플랫폼 key를 여기에 재사용하지 마세요.
  3. 설정 → 출력을 검토합니다. Shared path가 운반할 수 있고 downstream workflow가 decode할 수 있는 profile을 선택합니다. 첫 test에서는 codec, resolution, audio routing을 동시에 바꾸지 마세요.
  4. Private test를 시작합니다. OBS에서 encoder overload와 dropped frame을 지켜봅니다. Callaba에서는 incoming bitrate가 유지되고 의도한 음성이 포함된 화면이 decode되는지 확인합니다.
  5. 중지한 뒤 다시 연결합니다. Session이 닫히고 동일한 managed publisher가 다시 연결되는지 확인합니다. 이 과정에서 오래되었거나 잘못 복사한 identity를 찾을 수 있습니다.

RTMP 전용 절차는 OBS로 RTMP 송수신하기를 참고하세요. Production에서 SRT contribution을 사용한다면 OBS SRT 설정 가이드 를 열고 현재 OBS output method를 확인하세요.

Destination 하나를 추가해 검증한 다음 다음 destination을 추가하세요

  1. Callaba에서 Restreaming 을 열고 검증된 OBS feed를 source로 새 restream을 만듭니다.
  2. 지원되는 destination type을 선택하거나 플랫폼이 제공한 custom output URL과 key를 정확히 입력합니다.
  3. OBS contribution이 destination 요구사항을 이미 만족하면 transcoding을 끈 상태로 둡니다. 플랫폼에 다른 profile이 필요할 때는 그 contract가 요구하는 setting만 변경합니다.
  4. Restream을 시작하고 플랫폼 preview를 엽니다. 화면, 음성, account 상태, 플랫폼 warning을 확인합니다.
  5. 승인된 route에 event와 destination을 반영한 이름을 붙이고 다음 플랫폼에서도 반복합니다.

현재 field는 Callaba Restreaming 사용자 가이드를 따르세요. Live Multiview demo 는 operator용 monitoring 화면을 보여주지만, 실제 source와 destination에는 여전히 production test가 필요합니다.

전부 재시작하지 말고 failure tree로 진단하세요

모든 destination이 작동하지 않고 ingest 화면도 없습니다

OBS부터 확인합니다. Output 상태, encoder health, publisher value, firewall, 현장 upload를 살펴보세요. 플랫폼 stream key로 없는 shared source를 고칠 수는 없습니다.

Ingest는 정상인데 한 플랫폼만 화면이 없습니다

OBS는 계속 실행하세요. 해당 restream의 URL, key, 상태, media 요구사항, 플랫폼 control room만 확인하고 필요하면 영향받은 route만 재시작합니다.

모든 destination이 동일한 media를 거부합니다

Shared codec, raster, frame cadence, keyframe interval, audio를 현재 destination 요구사항과 비교합니다. 여러 control을 추측으로 바꾸지 말고 의도한 transformed output을 만드세요.

OBS가 dropped frame을 보고합니다

지속 가능한 outbound capacity와 경쟁 traffic을 측정합니다. Contribution bitrate를 낮추는 것은 진단 단계가 될 수 있지만 최종 profile은 화면 품질과 destination test를 통과해야 합니다.

Plugin은 유용하지만 위험의 책임 범위를 바꿉니다

모든 방송에 server-side fan-out이 필요한 것은 아닙니다. Workstation에 encoding과 upload 여유가 충분하고, operator가 모든 control을 로컬에 두길 원하며, plugin을 설치된 OBS release에서 검증했다면 유지보수되는 multi-output plugin이 실용적일 수 있습니다. Plugin은 유지보수 중인 project source에서 받고 production 전에 update 상태를 확인하세요.

추가 output이 모두 “공짜”라고 가정하지 마세요. Main encoder를 공유하는 configuration도 있고, 추가 encoding이나 scaling을 실행하는 구성도 있습니다. Network session마다 reconnect 동작도 다릅니다. 전체 output을 실제와 비슷한 시간 동안 실행한 다음 destination 하나와 network를 끊어 operator가 해야 할 일을 확인하세요.

Destination matrix가 승인된 뒤에 automation을 추가하세요

Scheduling system이나 customer dashboard에서 destination을 만들어야 한다면 멀티플랫폼 live streaming API workflow를 사용합니다. 승인된 source, output type, media profile, naming policy를 유지하세요. Key를 browser log와 client-side analytics에 남기지 말고, retry가 중복 live route를 만들지 않도록 operation을 idempotent하게 설계합니다.

API response는 control operation을 확인할 뿐입니다. 외부 플랫폼이 준비되었는지, program 소리가 들리는지, audience가 의도한 event를 보는지는 증명하지 않습니다. 플랫폼 preview와 decoded media를 승인 과정에 포함하세요.

공식 참고 자료

자주 묻는 질문

OBS는 기본 기능으로 하나의 stream을 여러 플랫폼에 보내나요?

표준 Stream 설정은 선택된 service나 custom server 하나를 지정합니다. 여러 로컬 output에는 보통 유지보수되는 plugin이나 다른 외부 방식이 필요합니다. Server-side fan-out에서는 OBS가 stream 하나를 Callaba로 보내고 destination은 그곳에서 만듭니다.

Server-side multistreaming에는 upload bandwidth가 얼마나 필요한가요?

현장은 contribution feed 하나와 일반 overhead, 안전한 여유를 지속해서 전송할 수 있어야 합니다. Destination egress는 Callaba deployment가 담당합니다. 두 경계를 전체 production bitrate로 측정하세요.

Destination마다 다른 bitrate나 resolution을 사용할 수 있나요?

선택한 Callaba route, codec profile, deployment capacity가 필요한 변환을 지원하면 가능합니다. 문서화된 destination 요구가 있을 때만 별도 profile을 추가하고 decoded output을 확인하세요.

방송 제작은 OBS에 두고 destination 운영은 downstream으로 옮기세요

Callaba에서 OBS contribution 하나를 검증하고 플랫폼을 각각 추가한 뒤 live operator가 실제로 사용할 재시작 절차를 리허설하세요.

Callaba 멀티스트리밍 workflow 계획하기