MistServer는 유연한 프로토콜 지원과 모듈형 구조를 갖춘 오픈소스 미디어 서버입니다.
Ubuntu 24.04 환경에서 MistServer를 설치하고, 시스템 서비스로 구성하는 방법을 설명합니다.
MistServer 설치 및 서비스 등록: Ubuntu
목차
1. MistServer란?
MistServer는 라이브 스트리밍과 VOD(주문형 비디오)를 모두 지원하는 고성능 미디어 서버입니다.
RTMP, HLS, DASH, WebRTC 등 다양한 프로토콜을 지원하며, FFmpeg, GStreamer, OBS와도 쉽게 연동됩니다.
MistServer는 완전한 모듈형 구조(Modular System)를 갖춘 미디어 서버로, 사용하지 않는 기능에 대해 리소스를 소비하지 않으며, 필요할 때만 동적으로 로드 및 언로드할 수 있습니다.
- 입력(ingest): RTMP, SRT, HLS, DASH, WebRTC, UDP, RTP
- 출력(delivery): HLS, MPEG-DASH, RTMP, RTSP, WebRTC, SRT 등
2. MistServer 설치: Ubuntu
설치 및 제거는 매우 간단합니다. curl 명령어 한 줄로 설치할 수 있습니다.
root 권한으로 다음 명령을 실행하여 MistServer를 설치합니다.
/usr/bin에 실행 파일이 설치됩니다.
# 0. root 권한 전환
sudo su
# 1. MistServer 설치
# 실행 파일은 /usr/bin에 설치됩니다.
# 최신 버전 설치
curl -o - https://releases.mistserver.org/is/mistserver_64Vlatest.tar.gz 2>/dev/null | sh
제거 방법
# MistServer 완전 제거
curl -o - https://releases.mistserver.org/uninstallscript.sh 2>/dev/null | sh
3. MistServer 실행 파일 종류
MistServer는 여러 개의 실행 파일로 구성되며, 각각의 역할이 분명하게 나뉘어 있습니다.
바이너리 | 설명 |
MistController | 핵심 컨트롤러. 모든 API 요청, 로그, 프로세스 관리 담당 |
MistIn-* | 입력 스트림 처리 (RTMP, HLS, 파일 등) |
MistInBuffer | 입력 데이터 버퍼링 및 메타데이터 유지 |
MistOut-* | 출력 스트림 처리 (RTMP, DASH, HLS 등) |
MistAnalyser | 버퍼 분석 및 디버깅 도구 (선택적) |
MistUtil | 진단 및 개발용 유틸리티 |
MistProc | 스트림 인코딩 등 보조 처리 (FFmpeg 등과 연동) |
4. MistServer 구동 확인
프로세스 확인
$ ps -ef | grep mist
포트(기본값 4242) 확인
MistServer는 기본적으로 4242번 포트를 사용합니다.
5. MistServer 서비스 설정
MistServer를 systemd 서비스로 등록하여 자동 구동할 수 있습니다.
서비스 파일 위치
/etc/systemd/system/mistserver.service
서비스 설정 예시
[Unit]
Description=MistServer
After=network.target
[Service]
Type=simple
ExecStart=/usr/bin/MistController -c /etc/mistserver.conf
Restart=always
RestartSec=2
TasksMax=infinity
TimeoutStopSec=8
ExecStopPost=/bin/bash -c "rm -f /dev/shm/*Mst*"
[Install]
WantedBy=multi-user.target
ExecStart= 내용을 편집하여 실행 옵션을 변경할 수 있다.
옵션 | 설명 |
--accesslog, -A | 액세스 로그를 기록할 위치 지정. 'LOG'(기본값)으로 설정하면 일반 로그 파일에 기록됨. 빈 값이면 액세스 로그 비활성화. 특정 파일명을 입력하면 해당 파일에 기록됨. |
--account, -a | username:password 형식의 문자열을 사용하여 새 계정을 생성하거나 기존 계정을 덮어씀. |
--config, -c | 기본값이 아닌 특정 구성 파일을 지정하여 사용. |
--configrw, -C | 'r': 설정 변경 사항을 디스크에서 읽음. 'w': 변경 사항이 60초 동안 없으면 디스크에 기록. 'rw'(기본값): 둘 다 수행. 다른 값이면 아무것도 하지 않음. |
--debug, -g | 디버그 메시지를 출력할 레벨을 설정 (0~10). |
--help, -h | 사용법과 버전 정보를 출력하고 종료. |
--interface, -i | 수신할 인터페이스 주소를 지정. 0.0.0.0으로 설정하면 모든 인터페이스에서 수신 가능. |
--logfile, -L | 모든 표준 출력을 지정한 로그 파일로 리디렉션. |
--port, -p | MistServer가 수신할 TCP 포트를 지정. |
--prometheus, -S | Prometheus 스타일의 통계를 API 포트에서 수집할 수 있도록 허용. |
--update, -D | 시작 전에 업데이트를 확인하고 설치. |
--username, -u | 권한을 전환할 사용자 이름 지정 (기본값: root). |
--version, -v | 라이브러리 및 애플리케이션 버전을 출력하고 종료. |
6. MistServer 서비스 관리 명령어
# 서비스 파일 리로드
$ sudo systemctl daemon-reload
# MistServer 시작
$ sudo systemctl start mistserver
# 부팅 시 자동 실행 설정
$ sudo systemctl enable mistserver
# MistServer 상태 확인
$ sudo systemctl status mistserver
# MistServer 중지
$ sudo systemctl stop mistserver
# 서비스 비활성화 및 제거
$ sudo systemctl disable mistserver
$ sudo rm /etc/systemd/system/mistserver.service
$ sudo systemctl daemon-reload
MistServer는 다양한 스트리밍 프로토콜을 지원하고, 모듈형 구조를 통해 효율적인 리소스 사용이 가능한 강력한 오픈소스 미디어 서버입니다.
Ubuntu 24.04에서 설치부터 서비스 구성, 실행까지 단순한 절차로 안정적으로 운영할 수 있습니다.
관련 글 링크
7. systemctl 명령어 요약 정리(서비스 등록 및 관리)
https://docs.mistserver.org/mistserver/quickstart/installation
'1.시스템&인프라 > MistServer' 카테고리의 다른 글
6. MistServer DVR 스트림 녹화 설정: Time-Shift 재생 (0) | 2025.04.11 |
---|---|
5. MistServer Stream 녹화 설정 및 테스트: Push (0) | 2025.04.11 |
4. MistServer Stream 설정 및 재생 테스트: Inputs,Outputs (0) | 2025.04.11 |
3.MistServer 스트리밍 이해하기: Inputs,Outputs,Push,Recording (0) | 2025.04.11 |
2.MistServer 기본 설정하기: 계정등록, 프로토콜 설정 (0) | 2025.04.10 |