NAS 멀티캐스트→유니캐스트: udpxy, msd_lite, rtp2httpd 선택 가이드

NAS 멀티캐스트→유니캐스트: udpxy, msd_lite, rtp2httpd 선택 가이드

목표: LAN 안의 모든 기기(PC, 스마트폰, TV)에서 셋톱박스 없이 IPTV를 바로 시청
효과: 한 번 구축하면 집 안 모든 기기에서 시청 가능하고, 채널 전환 속도와 동시 시청 수를 직접 제어할 수 있습니다
난이도: 중간 —— 먼저 광 모뎀을 브리지 모드로 바꾸고, 그다음 NAS에서 Docker 컨테이너 하나를 실행해야 합니다
소요 시간: 약 30분

1. 왜 '멀티캐스트→유니캐스트'가 필요한가

멀티캐스트란

통신사의 IPTV는 멀티캐스트(Multicast)를 사용합니다. 하나의 데이터 스트림을 송신원에서 한 번만 보내면,
네트워크 안에서 그 채널을 '구독한' 모든 기기가 동시에 받습니다.

장점은 대역폭 절약입니다. 100명이 같은 채널을 봐도 통신사는 데이터를 한 번만 보냅니다.

문제: 일반 기기로는 멀티캐스트를 재생할 수 없음

멀티캐스트는 IGMP 프로토콜에 의존하는데, 이 프로토콜은 LAN 내부에서만 유효합니다.
문제는 다음과 같습니다:

  • 스마트폰, 태블릿, 스마트 TV대부분이 IGMP를 지원하지 않습니다
  • 지원하더라도 통신사의VLAN 태그가 붙은 멀티캐스트
  • 서브넷을 넘는 경우(Wi-Fi 기기 등)는 더욱 재생할 수 없습니다

결과적으로: 셋톱박스에서는 보이지만 스마트폰, PC, Apple TV에서는 볼 수 없습니다.

멀티캐스트→유니캐스트가 해결하는 것

LAN 안에서 포워딩 서비스를 실행합니다. 이 서비스는:

  1. IGMP로 멀티캐스트 스트림을 구독합니다
  2. 멀티캐스트 스트림을일반적인 HTTP 유니캐스트 스트림으로 변환합니다
  3. 플레이어로 HTTP 주소를 열 수 있는 기기라면 무엇이든 시청할 수 있습니다
통신사 멀티캐스트 스트림  ->  [NAS의 포워딩 서비스]  ->  HTTP 유니캐스트  ->  모든 기기
rtp://239.x.x.x:4120              http://NAS_IP:5893/rtp/239.x.x.x:4120```

전체 절차는 [를 참고하십시오.](/optical-modem-bridge-mode-tutorial)。

---

## 2. 사전 조건 (이 두 가지를 반드시 먼저 완료)

### 1. 광 모뎀을 브리지 모드로

**이 단계는 필수입니다.** 광 모뎀이 아직 라우터 모드라면 IPTV의 VLAN 데이터가 NAS에 도달하지 않습니다.

전체 절차는 [광 모뎀 브리지 모드 가이드](/optical-modem-bridge-mode-tutorial)를 보시고, 여기서는 요점만 말씀드립니다:

- 광 모뎀 슈퍼 비밀번호를 확보합니다
- 기존 설정을 백업합니다
- 인터넷용 VLAN을 브리지로 변경하고 자체 공유기로 PPPoE 접속합니다
- **핵심**: IPTV의 VLAN은 **그대로 유지**하고 함께 브리지로 바꾸지 마십시오

### 2. 공유기 / 소프트웨어 라우터에서 IGMP 프록시 활성화

공유기의 IPTV 설정에서 **IGMP Proxy**(또는 IGMP Snooping / 멀티캐스트 프록시)를 켭니다.

시스템별 위치:

| 시스템 | 위치 |
|---|---|
| OpenWrt | 네트워크 → 인터페이스 → IPTV 인터페이스 → IGMP Proxy 체크 |
| iKuai | 고급 애플리케이션 → 멀티캐스트 설정 |
| ASUS | 내부 네트워크 → IPTV → IGMP Proxy 활성화 |
| Synology Router | 보통 별도 설정이 필요 없음 |

### 3. 통신사의 멀티캐스트 주소 확보

**멀티캐스트 주소는 지역과 통신사에 따라 다르며 범용 값이 없습니다.**획득 방법:

1. **패킷 캡처**:셋톱박스가 정상 재생 중일 때 공유기로 패킷 캡처하여 IGMP Join 패킷을 찾습니다
2. **인터넷 검색**:「[도시] [통신사] iptv 멀티캐스트 주소」로 검색
3. **설치 기사에게 문의**: 바로 알려 주는 경우도 있습니다

필요한 것은 다음 두 가지입니다:

- **VLAN ID**(예: 85, 3961 등 통신사마다 다름)
- **멀티캐스트 IP와 포트**(예: `239.125.2.66:4120`)

> 겸사겸사 현재 네트워크 환경도 확인해 보십시오:[NAT 유형 검출 도구](/nat-test.php)

---

## 3. 세 가지 방식 중 선택 (핵심)

결론부터 말하면:**이 세 도구는 하는 일이 같고, 차이는 유지보수 상태와 성능입니다.**

### 방식 1: udpxy —— 가장 오래되었고 자료가 가장 많음

**중국어권 IPTV에서 10년 넘게 쓰여 온 방식입니다.**

| 항목 | 설명 |
|---|---|
| 장점 | Docker 이미지가 성숙(`ifmm/udpxy` 는 **19,691회 풀**), 튜토리얼이 가장 많고 함정 정보도 완비 |
| 단점 | **공식이 4년째 유지보수되지 않음** |
| 적합 | 처음 시도, 단일 기기 시청 |

**반드시 알아야 할 사실**: udpxy 공식 README에도 이렇게 적혀 있습니다:

udpxy has not been extended or supported for 4+ years,
having been replaced by Gigapxy - a superior enterprise-oriented product.


**그것이 사용할 수 없다는 뜻은 아닙니다** —— 10년 넘게 안정적으로 동작해 왔고, 단지 업데이트가 멈췄을 뿐입니다.
다만 더 나은 성능이나 새로운 기능을 원한다면 아래 두 가지를 보십시오.

### 방식 2: msd_lite —— udpxy의 현대적 대안

**이름은 Multi Stream daemon에서 왔으며, 커뮤니티에서 udpxy 대안으로 널리 인정받고 있습니다.**

| 항목 | 설명 |
|---|---|
| 장점 | 더 가볍고 자원 사용이 적으며 성능이 좋음 |
| 단점 | 중국어 자료가 udpxy보다 적음 |
| 적합 | OpenWrt 공유기, 장기간 안정 운영 |

**Enshan 같은 포럼에서 "udpxy 대안"을 검색하면 가장 먼저 추천되는 것이 이것입니다.**

### 방식 3: rtp2httpd —— 기능이 가장 풍부

**이 프로젝트는 "udpxy의 현대화 버전"을 표방하며, 작성자가 V2EX에 공개했습니다.**

| 항목 | 설명 |
|---|---|
| 장점 | 지원:**FCC 고속 채널 전환 프로토콜** 지원, RTP/RTSP 등 여러 프로토콜 지원 |
| 단점 | 설정이 udpxy보다 약간 복잡 |
| 적합 | 다중 기기 동시 시청, 채널 전환 속도 중시 |

### 비교 요약

| 항목 | udpxy | msd_lite | rtp2httpd |
|---|---|---|---|
| 유지보수 | 중단(4년+) | 활발 | 활발 |
| 진입 난이도 | 가장 낮음 | 중간 | 중상 |
| 자원 사용 | 중간 | **낮음** | 중간 |
| 채널 전환 속도 | 보통 | 좋음 | **최고(FCC)** |
| 중국어 자료 | **가장 많음** | 중간 | 적음 |
| 추천 용도 | 첫 시도 | 장기 운영 | 최고의 체감 |

**:**:

- **처음 해 보는 경우**:udpxy는 자료가 많아 문제가 생겼을 때 찾기 쉽습니다
- **안정화 후 최적화하고 싶다면**:msd_lite로 교체
- **다중 기기 + 전환 속도 중시**: rtp2httpd를 선택

udpxy**udpxy** 로 시연합니다. 가장 시작하기 쉽고, 나머지 둘로 옮겨 갈 때의 방식도 완전히 같기 때문입니다.

---

## 4. 실전: NAS에서 Docker로 udpxy 배포

### 왜 공유기가 아니라 NAS인가

공유기에서도 돌릴 수 있지만 NAS에는 몇 가지 장점이 있습니다:

- **CPU가 보통 더 강력**、다중 동시 스트리밍에서 더 안정적
- **24시간 켜져 있음**、공유기 부하를 신경 쓸 필요 없음
- **Docker 관리가 편리**해 업그레이드와 롤백이 쉽습니다
- 겸사겸사 다른 것(미디어 라이브러리 등)도 돌릴 수 있습니다

### docker-compose.yml

NAS의 Docker 디렉터리 아래에 `udpxy` 폴더를 새로 만들고 이 파일을 넣습니다:

```yaml
version: "2"
services:
  udpxy:
    image: ifmm/udpxy
    container_name: udpxy
    network_mode: host
    restart: always

그리고 실행합니다:

docker-compose up -d

더 복잡한 compose 설정을 생성하려면 를 참고하십시오.를 사용하십시오.

반드시 지켜야 할 세 가지

1. network_mode: host 는 필수

가장 많이 빠지는 함정입니다. udpxy는 멀티캐스트 트래픽을 직접 수신해야 하는데,
Docker의 기본 브리지 네트워크를 사용하면 를 참고하십시오..

따라서 network_mode: host 는 생략할 수 없습니다.

2. 포트 5893

udpxy는 5893 포트를 고정으로 사용하며 두 가지 기능을 함께 제공합니다:

경로 용도 http://NAS_IP:5893/status/ http://NAS_IP:5893/restart/ http://NAS_IP:5893/rtp/멀티캐스트IP:포트 유니캐스트 변환 후 재생 주소

3. NAS 네트워크 설정

NAS와 IPTV VLAN이 같은 2계층 네트워크에 있어야 합니다.
흔히 쓰는 두 가지 방법:

  • NAS 듀얼 NIC:한 포트는 일반 네트워크에, 다른 포트는 IPTV VLAN에 연결
  • 스위치 트렁크: 스위치에서 IPTV VLAN을 NAS로 통과시킴

바이패스 라우터 구성을 쓴다면 를 참고하십시오.를 참고하십시오.

성공 여부 확인

1단계1단계

http://NAS_IP:5893/status/

: 브라우저에서 상태 페이지 열기

**통계 정보가 보이면 서비스가 실행 중입니다.**2단계

# 멀티캐스트 주소가 239.125.2.66:4120 이라고 가정
curl -I 'http://NAS_IP:5893/rtp/239.125.2.66:4120'

: 채널 하나 테스트HTTP/1.0 200 OK 이 반환되면 포워딩이 정상입니다.

5. 플레이어에서 사용하기

주소 형식

이 변환 규칙만 기억하면 됩니다:

원래 멀티캐스트 주소 변환된 재생 주소 rtp://239.125.2.66:4120 http://NAS_IP:5893/rtp/239.125.2.66:4120

PC에서

플레이어 사용법 VLC 미디어 → 네트워크 스트림 열기 → 주소 붙여넣기 PotPlayer Ctrl+U → 주소 붙여넣기 MPV mpv http://NAS_IP:5893/rtp/...

TV / 셋톱박스

  • Kodi: PVR IPTV Simple Client 애드온을 설치하고 m3u 재생목록을 가져옵니다
  • 스마트 TV: TV 내장 플레이어를 쓰거나 VLC for Android TV를 설치합니다
  • Apple TV: VLC 또는 Infuse 사용

권장 방법: 모든 채널 주소를 하나의 .m3u 파일로 정리하면
플레이어에서 한 번만 가져오면 전체 채널을 볼 수 있어 매번 주소를 입력할 필요가 없습니다.

#EXTM3U
#EXTINF:-1, CCTV-1 종합
http://NAS_IP:5893/rtp/239.125.2.66:4120
#EXTINF:-1, CCTV-2 경제
http://NAS_IP:5893/rtp/239.125.2.67:4120

6. 어떤 NAS면 충분한가

좋은 소식: 멀티캐스트→유니캐스트는 I/O 집약적 작업이라 CPU 요구가 높지 않습니다.

나쁜 소식: 4K를 여러 개 동시에 재생하면 CPU와 네트워크 모두 요구됩니다.

대략적인 기준 (실측이 아니므로 본인 환경에서 확인하십시오)

시나리오 대략적인 하드웨어 요구 1080p 1채널 거의 모든 NAS 가능(ARM 저가형 포함) 1080p 2~3채널 Intel N100급 x86 NAS면 여유 4K 1채널 N100 이상 4K 다중 동시 J4125 이상 권장, 2.5G 포트 필요

놓치기 쉬운 몇 가지:

  1. CPU보다 네트워크 포트가 더 중요 —— 기가비트 포트로 4K 3채널은 빠듯합니다
  2. NAS의 다른 서비스가 자원을 경쟁 —— Plex 트랜스코딩을 함께 돌린다면 여유를 남기십시오
  3. ARM NAS도 동작 —— ifmm/udpxy 이미지는 arm64와 armv7을 지원

특정 모델의 점수를 확인하려면 NAS CPU 성능 순위표의 CoreMark 실측 데이터를 보십시오.

7. 자주 묻는 질문

Q1: 재생이 안 되고 계속 로딩만 돕니다

다음 순서로 점검하십시오:

  1. 먼저 상태 페이지 확인(/status/)이 열리는지 —— 열리지 않으면 컨테이너가 실행되지 않은 것입니다
  2. network_mode: host 확인 —— 가장 흔한 원인입니다
  3. 멀티캐스트 주소가 맞는지 확인 —— 기억에 의존하지 말고 패킷 캡처로 대조하십시오
  4. 공유기에서 IGMP 프록시가 켜져 있는지 확인
  5. NAS가 IPTV VLAN에 있는지 확인

Q2: 재생은 되는데 심하게 끊깁니다. 어떻게 점검하나요?

먼저 '소스 끊김'인지 '네트워크 끊김'인지 구분하십시오:

  • 다른 채널을 시도 —— 특정 채널만 끊기면 소스 문제입니다
  • 유선 연결로 시도 —— Wi-Fi는 끊기고 유선은 괜찮다면 무선 대역폭 문제입니다
  • 상태 페이지의 트래픽 통계 확인 —— 포워딩 자체가 패킷을 버리지 않는지 확인

Q3: 채널 전환에 3~5초 걸리는데 정상인가요?

정상입니다. 멀티캐스트→유니캐스트의 전환 지연은 주로 다음에서 비롯됩니다:

  • 플레이어가 HTTP 요청을 다시 보냄
  • 서비스가 다시 IGMP Join 함
  • 키프레임(I 프레임)을 기다림

더 빠르게 하려면: FCC 고속 채널 전환 프로토콜을 지원하는 rtp2httpd를 사용하십시오.

Q4: 일부 채널만 볼 수 있는 이유는?

흔한 원인:

  • 채널 목록이 불완전 —— 캡처한 멀티캐스트 주소는 그 시점에 셋톱박스가 구독한 것뿐입니다
  • 일부 채널은 암호화됨 —— 셋톱박스 인증이 필요해 포워딩할 수 없습니다
  • VLAN이 다름 —— 일부 통신사는 라이브와 다시보기 VOD를 다른 VLAN에 둡니다

Q5: 스마트폰을 Wi-Fi에 연결해 볼 수 있나요?

가능합니다. 스마트폰과 NAS가 같은 LAN에 있으면 됩니다.
다만 NAS가 IPTV VLAN에 있고 스마트폰이 일반 네트워크에 있다면 공유기에서 VLAN 간 라우팅를 참고하십시오.

Q6: 대역폭을 많이 차지하나요?

핵심 개념: 멀티캐스트는 LAN 내에서는 몇 명이 보든 대역폭을 한 몫만 사용합니다.
하지만 유니캐스트로 변환하면 시청자마다 한 몫씩 차지합니다를 참고하십시오.

시나리오 LAN 대역폭 사용 1080p 1채널 약 8~15 Mbps 4K 1채널 약 25~40 Mbps 1080p 3채널 동시 약 24~45 Mbps

기가비트 LAN이면 충분합니다. 다만 Wi-Fi라면 신호 품질에 주의하십시오.

Q7: 통신사가 내부 포워딩을 알아챌까요?

기술적으로: 포워딩은 사용자의 LAN 내부에서 일어나며, 통신사 측에서 보이는 것은 셋톱박스와 동일한 IGMP 구독입니다.
실제로는: 일부 통신사는 동시 구독 수를 제한하며(예: 2채널만 허용), 초과하면 거부합니다.

제안: 과도한 동시 시청은 피하십시오. 체감을 해칠 뿐 아니라 제한을 유발할 수 있습니다.

Q8 보충: 멀티 다이얼이 IPTV에 영향을 주나요?

영향을 줍니다. 단선 멀티 다이얼을 함께 사용하면 그로 인해 생긴 여러 회선 출구가 IPTV VLAN을 방해해,
셋톱박스가 IGMP 멀티캐스트를 받지 못할 수 있습니다.

제안: IPTV 인터페이스를 mwan3 부하 분산에서 제외하십시오. 구체적인 방법은
OpenWrt 단선 멀티 다이얼 가이드: mwan3로 속도 합치기를 참고하십시오.

Q8: Synology / QNAP / Zspace 모두 가능한가요?

모두 가능합니다. Docker만 돌아가면 됩니다.

브랜드 설명 Synology Container Manager에서 compose를 바로 가져옴 QNAP Container Station이 compose 지원 Zspace Docker를 지원하지만 UI 제약이 많음 UGREEN / fnOS 둘 다 지원

유일한 차이는 네트워크 설정 방식 —— 단일 NIC과 듀얼 NIC은 설정이 다릅니다.

8. 정리

세 가지 방식을 한 줄로

방식 한 줄 요약 udpxy 노련하고 안정적이며 자료가 가장 많음. 처음이라면 이것 msd_lite 더 가볍고 빠름. 안정화되면 이것으로 교체 rtp2httpd 전환이 가장 빠름. 다중 기기에서 최고 체감을 원하면 이것

가장 많이 빠지는 세 가지 함정

  1. network_mode: host 를 잊음 —— 멀티캐스트를 못 받아 '계속 로딩'으로 나타남
  2. 광 모뎀이 아직 라우터 모드 —— VLAN이 NAS에 도달하지 않으니 먼저 브리지로
  3. 공유기 IGMP 프록시를 켜지 않음 —— 멀티캐스트 패킷이 LAN으로 들어오지 못함

핵심 가치

이 구성의 본질은 통신사의 IPTV를 '셋톱박스 한 대'에서 해방시켜,
'LAN 안의 하나의 HTTP 스트림'으로 바꾸는 것입니다 —— 이제 어떤 기기로든 볼 수 있고,
플레이어도 채널 목록도 자유롭게 고를 수 있습니다.

구축 비용은 거의 없습니다(NAS는 이미 돌고 있으니까요). 그리고 얻는 체감 향상은 매우 큽니다.