vMix 강의 10편 | SRT 실전: 원격 중계, Caller·Listener, 지연과 암호화
이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.
이번 강의를 마치면 인터넷 너머의 카메라나 다른 vMix를 SRT로 받아 끊김 없이 방송에 넣을 수 있고, "설정이 다 맞는데 안 붙는" 상황에서 어디를 봐야 하는지 알게 됩니다. 장비 선택은 이미 SRT 하드웨어 인코더·디코더 13종 비교에 정리했으니, 이 글은 vMix 안의 설정과 연습 순서에 집중합니다.
이 글은 vMix 강의 시리즈 10편입니다. 이전 편: NDI 실전: 네트워크 설계부터 NDI Bridge 원격 연결까지 · 다음 편: vMix Call: 원격 게스트를 방송 화질로 부르기
1. SRT가 RTMP와 다른 점
RTMP는 TCP 위에서 동작해 패킷이 빠지면 전체가 멈추고 다시 보냅니다. 그래서 회선이 흔들리면 지연이 들쑥날쑥해지고 결국 끊깁니다. SRT는 UDP 위에서 잃어버린 패킷만 골라 다시 보내고(ARQ), 그 재전송을 기다릴 시간을 지연 버퍼(Latency)로 미리 정해 둡니다. 버퍼 안에서 복구된 패킷은 시청자에게 끊김으로 보이지 않습니다. 여기에 Passphrase로 암호화까지 되니, 공개 인터넷으로 카메라를 보내는 용도에 맞습니다.
vMix의 SRT는 입력과 출력 모두 Caller·Listener·Rendezvous를 지원하고, 영상은 H.264 또는 HEVC, 오디오는 AAC-LC를 TS(Transport Stream)에 담은 것만 받습니다. 다른 코덱은 안 됩니다. 인터레이스는 지원하지 않으니 프로그레시브로 보내야 합니다. GPU 인코딩·디코딩을 쓰므로 NVIDIA 카드를 권하고, 오래된 GeForce 9xx 이하는 지원하지 않습니다. 윈도우 10에서 HEVC를 쓰려면 Microsoft Store의 HEVC Video Extensions가 필요합니다. SRT 출력 수는 에디션에 따라 다릅니다. Basic HD와 HD는 1개, 4K 이상은 4개입니다.
2. Caller / Listener / Rendezvous: 누가 포트를 여는가
SRT는 누가 포트를 여는지로 모드가 정해집니다. Listener 쪽에 포트포워딩이 필요하고, Latency는 RTT의 3~4배로 잡습니다.
이 셋을 이해하면 SRT 연결 문제의 절반이 끝납니다.
| 모드 | 하는 일 | 포트포워딩 | 언제 쓰나 |
|---|---|---|---|
| Listener | 지정한 포트를 열고 기다립니다. Hostname은 무시됩니다 | 필요 (Listener 쪽 공유기) | 고정 IP나 포트를 열 수 있는 쪽 |
| Caller | 상대의 주소·포트로 찾아갑니다 | 불필요 | 현장·테더링처럼 IP가 바뀌는 쪽 |
| Rendezvous | 양쪽이 같은 포트로 동시에 찾아갑니다 | 대부분 불필요 | 양쪽 다 포트를 못 열 때 |
규칙은 하나입니다. 한쪽이 Listener면 다른 쪽은 Caller입니다. 보통 스튜디오 vMix를 Listener로 두고 현장 인코더나 스마트폰을 Caller로 보냅니다. 스튜디오 공유기에서 그 포트를 vMix PC로 포워딩해야 하고, 통신사 공유기 뒤에 또 공유기가 있는 이중 NAT라면 둘 다 열어야 합니다. 포트를 열 수 없는 환경(회사 보안망, 모바일 테더링)이 양쪽이면 Rendezvous를 시도하는데, 모든 방화벽에서 되는 것은 아닙니다. 그래도 안 되면 중간에 SRT 릴레이 서버를 두는 수밖에 없습니다.
vMix 설정 위치는 이렇습니다. 받기는 Add Input → Stream / SRT에서 Stream Type을 SRT (Caller)·SRT (Listener)·SRT (Rendezvous) 중 고릅니다. 보내기는 Settings → Outputs / NDI / OMT / SRT에서 Output의 톱니바퀴를 열고 Enable SRT를 켠 뒤 Type을 고릅니다.
3. Latency 값 정하기: RTT의 3~4배
Latency는 재전송을 기다리는 시간입니다. 짧으면 복구할 틈이 없어 끊기고, 길면 지연이 늘어납니다. vMix 문서의 기준은 상대 IP까지 핑(RTT) 시간의 최소 4배입니다. 20ms면 80ms 이상, 국내 유선이라면 보통 120~200ms에서 시작하고, 해외나 모바일 회선처럼 RTT가 크고 변동이 심하면 500ms~2초까지 올립니다. 저는 안정이 우선인 본방송은 넉넉하게 잡고, 양방향 대화가 있는 구성에서만 줄입니다.
한 가지가 자주 틀립니다. Latency는 양쪽에 같은 값을 넣어야 합니다. 한쪽만 바꾸면 큰 값이 적용되거나 동작이 예측되지 않습니다. 입력 쪽에는 Decoder Delay가 따로 있는데, 이것은 네트워크가 아니라 인코더의 프레임 간격이 고르지 않을 때(지터) 쓰는 값입니다. 프레임이 100ms 간격으로 들쭉날쭉하게 오면 150 이상으로 둡니다.
4. Passphrase 암호화와 Stream ID
Passphrase는 양쪽에 같은 문구를 넣어야 연결되는 암호입니다. Key Length는 16·24·32 중 고르고 8을 곱하면 비트 수입니다(32 = 256비트). 공개 인터넷을 지나는 카메라 영상은 암호화를 켜는 것이 기본입니다. 반대로 "설정이 다 맞는데 안 붙는" 상황의 단골 원인이 한쪽만 Passphrase를 넣은 경우이니, 처음 연결 테스트는 암호 없이 하고 붙은 뒤에 켜세요.
Stream ID는 서버나 장비가 여러 스트림을 구분할 때 쓰는 선택 항목입니다. 클라우드 SRT 서비스나 일부 디코더가 요구하면 그쪽이 알려 주는 문자열을 그대로 넣습니다. 요구하지 않으면 비워 둡니다.
5. vMix 송신 ↔ 수신: 세 가지 조합

Add Input → Stream / SRT. 수신 모드(Caller·Listener), 포트, Latency, Passphrase를 넣는 곳입니다.

Settings → Outputs / NDI / OMT / SRT. vMix에서 SRT로 내보낼 때는 여기서 Output별로 켭니다.
vMix끼리: 가장 쉽습니다. 보내는 쪽 Output 톱니바퀴에서 Enable SRT, Caller, 상대 IP와 포트, Quality에서 비트레이트와 Video Codec(H264/HEVC)을 정합니다. 받는 쪽은 Add Input → Stream / SRT, Listener, 같은 포트. 오디오는 최대 8채널이고 Split Stereo Pairs into Separate Tracks를 켜면 스테레오 쌍마다 별도 트랙으로 나갑니다. 통역 채널을 같이 보낼 때 유용합니다.
하드웨어 인코더 → vMix: 현장에 카메라와 인코더만 두고 스튜디오 vMix가 받는 구성입니다. 인코더 선택은 위의 장비 비교 글을 보세요. vMix 쪽은 Listener로 두고 포트포워딩만 하면 됩니다. 하드웨어 인코더는 Caller가 기본인 제품이 많아서 이 조합이 가장 자연스럽습니다.
스마트폰 앱 → vMix: Larix Broadcaster처럼 SRT를 지원하는 앱을 Caller로 두고 vMix를 Listener로 받습니다. 휴대폰 테더링으로도 되기 때문에 현장 리포터 카메라나 비상용 백업 카메라로 씁니다. 모바일 회선이라 Latency를 넉넉히(500ms 이상) 잡아야 합니다.
받은 SRT 입력은 Use Hardware Decoder를 켜 두면 GPU로 디코딩합니다. 단, Instant Replay에 넣으려면 이 옵션을 꺼서 CPU 디코딩으로 둬야 합니다. MultiCorder로 녹화하면 재압축 없이 원본 TS 그대로 저장됩니다.
6. 이기종 장비 호환: 설정이 다 맞는데 안 붙을 때
같은 회사 장비끼리는 잘 되는데 다른 회사 장비와 vMix를 섞으면 안 붙거나 소리가 안 나오는 경우가 있습니다. 제가 겪은 순서대로 확인합니다.
- 오디오 코덱: vMix는 AAC-LC만 받습니다. 인코더가 Opus나 MP2로 보내면 영상만 오거나 아예 안 붙습니다. 인코더 설정에서 AAC로 바꾸세요.
- 컨테이너: TS가 아니면 안 됩니다. 일부 장비는 다른 포장을 쓰니 사양서를 확인하세요.
- 인터레이스: 1080i로 보내면 vMix가 받지 못합니다. 인코더 입력을 1080p로.
- 모드 중복: 양쪽 다 Caller거나 양쪽 다 Listener.
- Passphrase·Key Length 불일치, Latency 불일치.
- 멀티트랙 오디오: 인코더가 스테레오 쌍을 트랙으로 나눠 보내면 vMix가 자동으로 합쳐 다채널로 받습니다. 소리가 엉뚱한 채널에 들어 있으면 Audio Channel Matrix에서 다시 배치합니다.
이걸 다 맞췄는데도 안 붙는 조합을 실제로 겪었습니다. 그래서 이기종 조합은 본방송 전에 반드시 실제 장비끼리 테스트하는 것 외에 방법이 없습니다. 연결 상태는 Statistics 창의 SRT 탭에서 봅니다. 대역폭, 패킷 손실, 전송량, RTT가 입력·출력별로 나오니 "붙었는데 끊긴다"는 여기서 패킷 손실과 RTT를 보면서 Latency를 조정합니다.
7. 여러 곳이 받을 때 대역폭
SRT는 1:1 구조입니다. vMix의 SRT 출력에 여러 곳이 접속하면 접속마다 스트림을 따로 보내므로, 업로드 대역폭이 접속 수만큼 필요합니다. 10 Mbps 스트림에 세 곳이 붙으면 30 Mbps에 여유분까지 더한 업로드가 있어야 합니다. 수신처가 늘어날 예정이면 중간에 분배 서버를 두거나, 한 곳에서 받아 다시 NDI로 나누는 구조를 고려하세요. 비트레이트 자체는 7편의 회선 계산과 같은 원칙입니다. 업로드의 50~70% 안에 모든 송출의 합이 들어와야 합니다. CBR을 켜면 정지 화면에서도 비트레이트를 채우기 위해 약 10%가 더 붙는다는 점도 계산에 넣으세요.
실습 과제
스마트폰 SRT 앱과 vMix 한 대로 진행합니다.
- vMix에 Add Input → Stream / SRT, Listener, 포트 하나(예: 9000)를 정하고 공유기에서 그 포트를 vMix PC로 포워딩합니다.
- 스마트폰은 모바일 데이터로, Caller, 공유기 공인 IP와 같은 포트, Latency 120으로 연결합니다.
- Statistics 창의 SRT 탭을 열고 RTT와 패킷 손실을 1분간 기록합니다. 그동안 스마트폰을 들고 걸어 다니며 끊김을 봅니다.
- 양쪽 Latency를 500, 2000으로 바꿔 같은 테스트를 반복하고, 끊김 횟수와 체감 지연을 표로 비교합니다.
- 마지막으로 Passphrase를 양쪽에 넣어 다시 연결하고, 한쪽만 지웠을 때 어떤 증상이 나는지 확인해 둡니다.
RTT의 몇 배에서 끊김이 사라지는지 자기 회선 기준으로 알게 되면, 현장에서 Latency를 고민하는 시간이 사라집니다.
자주 하는 실수
- 양쪽 다 Caller: 서로 찾아가기만 하고 아무도 기다리지 않습니다. 한쪽은 반드시 Listener거나 둘 다 Rendezvous여야 합니다.
- 지연을 너무 짧게: RTT의 4배 미만이면 재전송할 틈이 없습니다. 끊기면 먼저 Latency를 두 배로 올려 보세요.
- 포트포워딩 없이 Listener: 공유기 뒤의 Listener는 밖에서 보이지 않습니다. 포워딩하거나 역할을 바꿔 vMix를 Caller로 두세요.
- 처음부터 암호를 걸고 테스트: 안 붙는 원인이 암호인지 포트인지 구분이 안 됩니다. 암호 없이 붙인 뒤 켜세요.
핵심 요약
- SRT는 잃은 패킷만 재전송하고 Latency 버퍼 안에서 복구합니다. vMix는 H.264/HEVC + AAC-LC, TS, 프로그레시브만 받습니다.
- 한쪽이 Listener면 다른 쪽은 Caller이고, Listener 쪽 공유기에 포트포워딩이 필요합니다. 양쪽 다 못 열면 Rendezvous.
- Latency는 RTT의 최소 4배로 양쪽에 같은 값을, 모바일·해외는 500ms 이상으로 잡습니다.
- 이기종 장비는 오디오 코덱(AAC-LC), TS, 프로그레시브, 모드, 암호, Latency 순서로 확인하고 본방송 전 실제 테스트가 필수입니다.
- SRT는 1:1이라 수신처 수만큼 업로드가 필요합니다. Statistics의 SRT 탭에서 RTT·패킷 손실을 보며 조정하세요.
FAQ
Q1. SRT와 NDI Bridge 중 원격 카메라에는 어느 쪽이 맞나요? 카메라 한두 대를 인터넷으로 받는 용도면 SRT가 단순하고, 인코더·앱 선택지도 넓습니다. 원격지에 NDI 소스가 여러 개 있고 그 네트워크 전체를 붙이고 싶을 때 NDI Bridge가 맞습니다. 9편의 NDI Bridge 설명을 함께 보세요.
Q2. 유튜브에 SRT로 바로 보낼 수 있나요? 플랫폼이 SRT 인제스트를 지원해야 합니다. 지원 여부와 주소 형식은 각 플랫폼 문서에서 확인하세요. 지원한다면 vMix의 Output 톱니바퀴에서 Caller로 플랫폼 주소와 Stream ID를 넣는 방식입니다.
Q3. HEVC로 보내면 비트레이트를 얼마나 줄일 수 있나요? 같은 화질에서 H.264보다 줄어들지만 비율은 영상 내용에 따라 다릅니다. 받는 쪽이 HEVC 디코딩을 지원하는지가 먼저이고, 양쪽 모두 GPU 디코딩이 되는 환경에서 실제 영상으로 비교해 정하세요. 숫자로 단정하지 않는 편이 안전합니다.
질문이나 다른 현장 경험은 Threads로 알려 주세요. 다음 편에 반영하겠습니다.