1.시스템&인프라/MistServer

1.MistServer 설치 및 서비스 등록: Ubuntu

쿼드큐브 2025. 4. 10. 08:59
728x90
반응형

MistServer는 유연한 프로토콜 지원과 모듈형 구조를 갖춘 오픈소스 미디어 서버입니다.
Ubuntu 24.04 환경에서 MistServer를 설치하고, 시스템 서비스로 구성하는 방법을 설명합니다.

 

MistServer 설치 및 서비스 등록: Ubuntu

 

목차

1. MistServer란?

2. MistServer 설치: Ubuntu

3. MistServer 실행 파일 종류

4. MistServer 구동 확인

5. MistServer 서비스 설정

6. MistServer 서비스 관리 명령어

관련 글 링크

 

 

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 등

출처: https://mistserver.org/mistserver

 

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

 

728x90
반응형