1.시스템&인프라/스트리밍

[MistServer] 설치 후 필수 기본 설정 가이드 (v3.8 기준)

쿼드큐브 2025. 11. 6. 10:23
반응형
반응형

MistServer 설치 후 필수 기본 설정 가이드 (v3.8 기준)

"본 글은 과거 티스토리에서 발행했던 콘텐츠를 기반으로, 최신 정보를 반영해 새롭게 정리한 업데이트 버전입니다."

 

📚 목차
1. 관리자 계정 생성 및 로그인
2. 기본 프로토콜 활성화 및 설정 흐름
3. 웹 UI 구성 요소 설명 (3.8 기준)
4. MistServer 설정 저장 구조 이해
5. 스트리밍 환경별 프로토콜 정리
✔ 마무리 - 실무 운영을 위한 핵심 정리

 

1. 관리자 계정 생성 및 로그인

MistServer는 설치 직후에는 관리자 계정이 없는 상태로 실행됩니다. 최초로 웹 UI에 접속하면 자동으로 관리자 계정 생성 화면으로 이동하게 됩니다.

 

MistServer는 기본적으로 포트 4242를 사용하며, 설치 방식에 따라 다음과 같이 접속합니다.

http://<서버 IP>:4242

방화벽이 설정되어 있는 경우, 해당 포트(4242)를 외부에서 접근 가능하도록 반드시 허용해야 합니다.

MistServer 관리자 계정 생성 화면
MistServer 관리자 계정 생성 화면

✔️ 실무 운영 팁

admin, test와 같은 일반적인 계정명은 피하고, 실제 운영 목적에 맞는 고유한 사용자명을 설정하는 것이 보안상 안전합니다.

MistServer는 외부 인증 서버 연동(예: OAuth, LDAP 등)을 기본 지원하지 않으므로, 방화벽 설정 및 IP 기반 접근 제어를 병행해야 합니다.

비밀번호 변경 기능이 별도로 UI에 존재하지 않기 때문에, 생성 시 신중하게 설정하는 것이 좋습니다.

 

2. 기본 프로토콜 활성화 및 설정 흐름

MistServer에서 최초 관리자 계정을 생성한 직후, 로그인 후 자동으로 뜨는 “Enable Protocols” 버튼은 스트리밍에 필요한 기본 프로토콜을 초기값으로 빠르게 활성화해 주는 역할을 합니다.

계정 생성 및 프로토콜 안내
계정 생성 및 프로토콜 안내

이 버튼은 Protocols 메뉴에서 수동으로 체크박스를 ON하는 것과 동일한 효과를 가지며, 해당 설정들은 실시간으로 /config/mistserver.conf 파일에 JSON 형식으로 저장됩니다.

 

MistServer v3.8에서 아래의 스트리밍 및 제어 관련 프로토콜이 기본값 기준으로 일괄 활성화됩니다. 각 프로토콜은 0.0.0.0(모든 인터페이스 바인딩) 기준으로 지정 포트에서 활성화됩니다.

프로토콜 포트 설명
DTSC 4200 MistServer 자체 제어용 내부 프로토콜
HTTP 8080 HLS, DASH 등의 HTTP 기반 스트림 송출
RTMP 1935 OBS, XSplit 등 외부 인코더 입력용
RTSP 5554 CCTV 및 RTSP 기반 카메라 입력 지원
TS over SRT 8889 저지연 안정성 높은 UDP 기반 스트림 전송
WebRTC 18203 초저지연 실시간 전송 (브라우저 또는 앱 대상)

 

✔️ 프로토콜 상세 설정 예시

MistServer는 웹 UI의 Protocols 메뉴를 통해 현재 활성화된 모든 스트리밍 프로토콜을 확인하고, 각 프로토콜의 세부 설정(포트 번호, 인터페이스 등)을 직접 수정할 수 있습니다.

RTSP 프로토콜 설정 예시
RTSP 프로토콜 설정 예시

 

RTSP TCP port 변경 화면
RTSP TCP port 변경 화면

 

✔️ 실무 운영 팁

포트 충돌 주의 다른 웹 서버(Apache/Nginx 등)가 8080을 이미 사용 중이라면 HTTP 포트 변경 필요
WebRTC 전용 포트 WebRTC는 18203 포트를 사용하므로, 방화벽에서 해당 포트를 허용해야 브라우저 재생 가능
방화벽 설정 Ubuntu 서버에서는 ufw 또는 iptables로 필수 포트를 개방해야 정상 동작
Docker 포트 매핑 Docker 사용자는 -p 1935:1935 -p 8080:8080 -p 5554:5554 ... 형태로 포트를 명시해야 외부 접근 가능

 

3. 웹 UI 구성 요소 설명 (3.8 기준)

MistServer 웹 UI 구성요소
MistServer 웹 UI 구성요소

 

✔️ Overview
MistServer에 로그인하면 가장 먼저 확인할 수 있는 대시보드입니다. 현재 실행 중인 스트림 목록과 각 프로토콜의 활성 상태를 요약해서 보여줍니다. 시스템 부하나 입력/출력 현황도 함께 확인할 수 있어, 서비스 운영 상태를 빠르게 점검할 때 유용합니다.

✔️ General
서버 전반적인 설정을 구성하는 메뉴입니다. 서버 이름, 서비스 인터페이스 설정뿐 아니라 인증 방식(API Key, 세션 기반 등)과 TLS 설정도 이곳에서 관리합니다. 보안이나 API 접근 제어를 설정할 때 주로 사용됩니다.

✔️ Protocols
MistServer에서 사용하는 다양한 스트리밍 프로토콜(RTMP, HLS, DASH, RTSP, WebRTC 등)을 활성화하거나 포트 설정을 변경할 수 있는 메뉴입니다. 각 프로토콜 옆의 [Edit] 버튼을 클릭하면 포트 번호, 인터페이스, 전송 설정 등을 직접 수정할 수 있습니다. 실서비스 전에 반드시 점검해야 하는 핵심 메뉴입니다.

✔️ Streams
스트림을 등록하고 구성하는 가장 중요한 메뉴입니다. 입력 방식(Push, Pull, File)과 출력 방식(HLS, DASH, RTMP 등)을 설정하며, 하나의 인풋으로 여러 아웃풋을 동시에 구성할 수 있습니다. 스트림을 삭제하거나 상태를 확인하고 재시작하는 작업도 이곳에서 수행합니다.

✔️ Push
MistServer에서 수신한 스트림을 외부 서버로 다시 전송할 때 사용하는 메뉴입니다. 예를 들어 RTMP 입력을 받아 유튜브나 다른 MistServer로 동시에 전송할 수 있습니다. Automatic Push 기능을 통해 스트림 연결 시 자동으로 푸시되도록 설정할 수도 있습니다.

✔️ Triggers
스트림이 시작되거나 종료될 때 자동으로 스크립트를 실행하거나 외부 API를 호출하도록 설정할 수 있습니다. stream_start, stream_end 같은 이벤트 트리거를 기반으로 자동 녹화, 장애 감지 알림 등을 연동할 때 매우 유용합니다.

✔️ Logs
MistServer 내부에서 발생하는 모든 로그를 실시간으로 확인할 수 있는 메뉴입니다. 스트림 연결, 입력/출력 상태, 에러 메시지 등을 볼 수 있어 문제 발생 시 원인을 분석하는 데 가장 먼저 접근하는 화면입니다.

✔️ Statistics
운영 중인 서버의 트래픽, 스트림 수, 전송량, 리소스 사용량 등 통계 정보를 확인할 수 있는 메뉴입니다. 스트림별로 세부 통계도 볼 수 있어 트래픽 분석이나 리소스 최적화에 활용할 수 있습니다.

✔️ Server Stats
MistServer 자체의 메모리 사용량, 네트워크 전송률, 현재 접속된 세션 수 등 서버 리소스를 실시간으로 모니터링할 수 있는 메뉴입니다. 서버가 과부하 상태인지, 성능 병목이 발생하고 있는지를 파악할 수 있습니다.

반응형

 

4. MistServer 설정 저장 구조 이해

MistServer는 별도의 데이터베이스 없이, 모든 서버 설정을 단일 구성 파일인 mistserver.conf에 JSON 형식으로 저장합니다.

이 설정 파일은 웹 UI에서 설정을 변경할 때마다 자동으로 갱신되며, 수동 편집도 가능합니다.

 

✔️ mistserver.conf 파일 개요

mistserver.conf는 MistServer의 전체 동작 설정을 통합적으로 관리하는 핵심 구성 파일입니다.

이 파일에는 다음 항목들이 포함됩니다

 

▸ protocols: RTMP, HLS, DASH, WebRTC 등 스트리밍 프로토콜 설정
▸ streams: 등록된 스트림 목록 및 각 스트림의 입력/출력 구성
▸ triggers: 자동화 스크립트 및 이벤트 처리 설정
▸ pushes: 외부로 재송출할 Push 설정
▸ config: 서버 이름, 인증 방식, API 제한 등 전반적인 시스템 구성
▸ certificates: HTTPS용 TLS 인증서 정보 (선택)
▸ 기타 운영에 필요한 내부 설정들

 

MistServer의 설정 변경은 대부분 웹 UI 상에서 수행하며, UI에서 값을 저장하면 해당 내용은 자동으로 mistserver.conf에 반영됩니다. 별도로 “저장” 버튼을 누를 필요는 없습니다.

 

✔️ 예시: RTMP 포트 변경 흐름
1. 웹 UI → Protocols 이동
2. RTMP 항목의 [Edit] 클릭 → 포트 번호 1935를 1940으로 변경
3. 저장 시 자동으로 /config/mistserver.conf 파일에 반영됨

4. 필요한 경우 MistServer를 재시작하여 설정 적용

"RTMP": {
  "enabled": true,
  "interface": "0.0.0.0",
  "port": 1940,
  "username": "root"
}

 

✔️ 수동 편집도 가능하지만 주의 필요

직접 mistserver.conf 파일을 편집하는 것도 가능하지만, 다음과 같은 주의사항이 있습니다:
▸ MistServer가 실행 중일 때 직접 수정하면 설정이 덮어씌워질 수 있습니다.

→ 운영 중인 상태에서는 수동 편집보다 UI 또는 API 기반 수정을 권장합니다.


▸ JSON 문법 오류가 있을 경우 MistServer가 정상적으로 시작되지 않을 수 있습니다.

→ 수정 전 반드시 JSON 유효성 검사 도구로 확인하세요.


▸ Docker 환경에서는 외부 설정 파일을 마운트해서 직접 관리할 수 있으므로, 수동 백업 및 Git으로 버전 관리도 가능합니다.

 

✔️ 실전 활용 팁

▸ mistserver.conf 파일은 MistServer 전체 구성의 스냅샷 역할을 하므로, 주기적으로 백업해 두는 것이 좋습니다.

▸ 다른 서버로 이전할 경우, 해당 파일을 복사해 동일 경로에 배치하면 전체 설정을 한 번에 복원할 수 있습니다.

 

5. 스트리밍 환경별 프로토콜 정리

MistServer는 다양한 스트리밍 환경에 대응하기 위해 여러 가지 전송 프로토콜을 기본으로 지원합니다.

브라우저 기반 영상 재생부터 초저지연 양방향 통신, 감시 시스템 연동까지 목적에 따라 최적의 프로토콜을 선택할 수 있습니다.

 

🔷 HTTP 기반 프로토콜

MistServer는 HLS, DASH, MP4, WebM 같은 HTTP 기반 스트리밍을 지원합니다.
이 방식은 브라우저 호환성이 뛰어나고, 방화벽을 통과하기 쉬워 웹/모바일 환경에서 가장 널리 사용됩니다.
🔸 CMAF (HLSv7, DASH): fMP4 기반의 최신 포맷으로, 낮은 지연과 DRM 호환성이 뛰어납니다.
🔸 WebM/MKV: HTML5 브라우저에 최적화된 오픈 포맷입니다.
🔸 MP4 over HTTP: 단일 파일 스트리밍에 적합하며, 재생 안정성이 높습니다.
🔸 HTTP 전송은 기본적으로 8080 포트를 사용하며, UI 접속과 API 호출도 이 포트를 통해 이루어집니다.

 

🔷 실시간 스트리밍 프로토콜

실시간 방송이나 감시 시스템처럼 지연이 중요한 환경에서는 HTTP 방식보다 빠른 실시간 프로토콜이 필요합니다.
🔸 RTMP (1935): OBS, FFmpeg 등에서 송출할 때 사용하며 여전히 가장 널리 쓰이는 방식입니다.
🔸 RTSP (5554): IP 카메라나 CCTV 연동에 필수적인 프로토콜입니다.
🔸 SRT (8889): 패킷 손실을 복구하면서 안정적으로 데이터를 전송하는 저지연 방식입니다.
🔸 WebRTC (18203): 1초 미만의 지연으로 브라우저에서 바로 재생 가능한 초저지연 프로토콜입니다.

🔷 MistServer 내부 전용 프로토콜 (DTSC)

DTSC는 MistServer 내부에서 사용하는 전용 포맷으로, 입력된 스트림을 처리하고 여러 출력 포맷(HLS, WebRTC 등)으로 빠르게 변환하는 데 사용됩니다.

사용자가 직접 설정할 필요는 없지만, 서버의 고성능 스트리밍 처리에 핵심적인 역할을 합니다.

 

✔ 마무리 - 실무 운영을 위한 핵심 정리

MistServer는 설치 직후 관리자 계정 생성, 주요 프로토콜 활성화, 설정 자동 저장 구조만 이해하면 바로 실서비스에 투입할 수 있을 만큼 간결한 구조를 갖추고 있습니다.


운영자는 필요한 포트만 열고, 설정 파일을 주기적으로 백업하며, UI 메뉴 흐름(Streams, Protocols, Logs)만 익혀두면 안정적인 스트리밍 운영이 가능합니다.


이제 입력 스트림 구성과 실제 송출 테스트를 통해 본격적인 실시간 서비스 구성을 시작할 수 있습니다.

 

👉 관련 글 링크

1. [MistServer] 설치 실습 - Ubuntu에 직접 설치 vs Docker 컨테이너 실행

2. [MistServer] 설치 후 필수 기본 설정 가이드 (v3.8 기준)

3. [MistServer] Input 실습: 다양한 입력 방식 설정과 스트림 결과 확인

4. [MistServer] Push 기능을 이용한 스트림 녹화 설정

5. [MistServer] DVR(Time-Shift) 설정과 재생 실습

6. [MistServer] OBS Studio와 MistServer 3.8을 이용한 라이브 방송 실습(RTMP,WHIP)

7. [MistServer] API 인증 방식과 HTTP·WebSocket API 비교

8. [MistServer] 스트림 관리 API 실습 (Python)

 

 

 

반응형

※ 게시된 글 및 이미지 중 일부는 AI 도구의 도움을 받아 생성되거나 다듬어졌습니다.

 

반응형