[Red5 Media Server] 1부. Red5 설치하기 (Windows 10)

2017. 4. 21. 09:40 IT 및 개발


안녕하세요.

몇년만에 다시 Red5 설치를 해보았습니다. 그동안 버전업이 꽤 되었네요^^

예전에도 많은 삽질을 했었는데... 이번에는 다른 문제로 좀 삽질을 하네요.. ㅎㅎ


이 글을 보시고 계시는 분은 미디어 서버하면 가장 먼저 떠오르는게 제품이 뭔가요?

전 와우자 미디어 서버일거라고 생각합니다. 

물론 플래시 미디어 서버도 있지만 요즘 대세는 와우자인거 같네요^^ (개인 생각~~)

그런데 와우자나 플래시 미디어 서버는 비용이 발생합니다. 그것도 많이~~


그래서 오픈소스로 개발된 Red5 미디어 서버를 설치하여 테스트를 진행해 보도록하겠습니다.

Red5 미디어 서버는 자바로 개발되어 있으며, 서버는 톰캣을 사용하고 있습니다.

2017년 4월 21일자 기준으로 릴리즈 버전 1.0.8이고 프리릴리즈 버전 1.0.9 M9 입니다.


아래 설명은 Windows 10에 설치를 합니다. (이하 버전도 설치는 동일합니다.)

Red5 미디어 서버를 개발할게 아니기 때문에 JDK가 아닌 JRE를 설치하도록 하겠습니다.



1. 프로그램 다운로드

   * JRE 다운로드

     - URL : http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html

     - 현재 시점 기준 JRE 8u131이 최신버전입니다.

     - Accept License Agreement를 체크하고 Windows x64 Offline 버전을 다운로드 합니다. (32비트 사용자는 x86을 받으세요.)

   * Red5 미디어 서버 다운로드

     - URL : https://github.com/Red5/red5-server/releases

     - 현재 시점 기준 릴리즈 1.0.8 버전이 최신버전입니다. 물론 프리릴리즈 1.0.9 버전을 사용해도 됩니다.

     - tar.gz로 압축된 파일을 다운로드 합니다.


2. 프로그램 설치 및 설정

   * JRE 설치

     - 다운로드 받은 jre-8u131-windows-x64.exe 파일을 설치합니다.

     - 설치 폴더 : C:\Program Files\Java\jre1.8.0 (위치는 원하는 대로...)

   Red5 미디어 서버 설치

     - 다운로드 받은 red5-server-1.0.8-RELEASE.tar.gz 파일을 압축 해제합니다.

     - red5-server 폴더를 C:\의 루트로 이동합니다.

     - 설치 폴더 : C:\red5-server (위치는 원하는 대로...)

   * 시스템 환경변수 설정

     - 제어판 > 시스템 >고급 시스템 설정 > 환경 변수로 이동합니다.

     - Windows 10에서 제어판은 검색을 통해서 들어가는게 편합니다. RS2에서는 시작버튼 우클릭하면 제어판이 사라졌습니다.

     - 시스템 변수 새로 만들기 (2개)

        + JRE_HOMEC:\Program Files\Java\jre1.8.0

        + RED5_HOMEC:\red5-server

     - 이젠 설치는 끝났습니다. 컴퓨터를 재부팅 해주세요.


3. Red5 테스트 실행

   - Red5 설치 폴더로 이동합니다.

   - red5.bat 파일을 실행합니다.

     

   - 어쩔~~ JAVA_HOME이 설정이 안되어 있다고 뭐라 그러네요.

   - 운영만 할거라서 JRE만 설치했는데요.

   - red5.bat 파일 편집을 해서 JAVA_HOME을 JRE_HOME으로 변경합니다. (3건)

   - 다시 red5.bat 파일을 실행합니다. (중간에 방화벽이 뭐라고 그러면 자바를 허용해 줍니다.)

     

   - 콘솔에서 마지막 라인 oflaDemo appStart라고 뜨면 미디어 서버 실행이 완료됩겁니다.

   - 웹브라우저에서 http://localhost:5080로 접속합니다.

     

   - 정상적으로 웹페이지가 동작합니다. 서버의 콘솔에서도 뭔가 막 올라가네요~~~ 

   - 설치 성공~~ 만세~~~ 그러나 운영을 이런 상태로 할 순 없죠.... 테스트 진행만 성공한 상태입니다.

   - 다음 절차로 윈도우 서비스에 등록해서 서버가 자동으로 실행되도록 설정을 하도록 하겠습니다.


4. Red5 윈도우 서비스 등록

   * 서비스 프로그램 다운로드 및 설치

     - Red5는 Apache procrun daemon을 사용하여 윈도우 서비스에 등록을 합니다.

     - Red5 서비스 등록 참고사이트 : https://github.com/Red5/red5-service

     - Apache procrun daemon 다운로드 : http://www.apache.org/dist/commons/daemon/binaries/windows/

     - commons-daemon-1.0.15-bin-windows-signed.zip 다운로드 합니다.

     - 다운로드 받은 파일을 압축해제 후 prunmgr.exe, prunsrv.exe, amd64 폴더까지 3개만 Red5 설치 폴더에 복사합니다.

       


   * 서비스 설치

     - Red5 설치 폴더에서 install-service.bat 파일을 실행합니다.

     - 그러면 윈도우의 사용자 계정 컨트롤이 뭐라 그럽니다. 

     - 이 앱이 디바이스를 변경할 수 있도록 허용하시겠어요? 당연히 예를 눌러줍니다.

     - 윈도우 검색에서 서비스를 검색하고 실행합니다.

     - 아래로 내리다보면 Red5 서비스가 제대로 등록된것을 볼 수 있습니다.

       

     - 이 상태에서 서비스를 시작하면 Red5 시작을 못하고 에러를 발생합니다.

     - 전 이 부분에서 멘붕이 찾아왔습니다. Red5 service 사이트에서도 procrun 문제로 제대로 동작을 안하다고만 하고.

       솔직히 별짓을 다해봤습니다. Java용 다른 서비스 프로그램도 사용해보고... 결국 포기 단계까지... 

       그냥 스케줄러에 red5.bat을 등록하고 사용해야 했죠~~

     - 윈도우 서비스의 속성에는 특별한게 없습니다. 그래서 procrun의 전용 매니저 프로그램이 있습니다.

     - prunmgr.exe 파일입니다. 처음에 이거 실행해도 뭐가 문제인지 몰랐는데요. 문제점은 아래에..

   * procrun 매니저

     - Red5 설치 폴더에서 prunmgr.exe //MS//Red5 이렇게 실행을 합니다.

     - Startup, Shutdown 탭에 가보세요. 데이터가 엉망으로 들어가 있습니다.

     - 원래는 모든 데이터가 자동으로 들어가야 하는데 윈도우 버전이 올라가면서 서비스 등록시 prunsrv.exe 파일이 제대로 동작이 안되는거 같습니다.

     - Startup, Shutdown 탭의 내용을 아래와 같이 설정합니다. (install-service.bat 파일 참고)

     - Startup 탭 설정

       ㆍClass : org.red5.daemon.EngineLauncher

       ㆍWorking apth : C:\red5-server

       ㆍMethod : windowsService

       ㆍArguments : start

       ㆍMode : jvm

       

     - Shutdown 탭 설정

       ㆍClass : org.red5.daemon.EngineLauncher

       ㆍWorking apth : C:\red5-server

       ㆍMethod : windowsService

       ㆍArguments : 9999

       ㆍTimeout : 0

       ㆍMode : jvm

       

     - Java 탭 설정

       ㆍJava Options에서 -XX:+UseStringCache을 제거합니다.

       ㆍJava 8에서 해당 기능을 더 이상 지원하지 않는다고 합니다.

     - 이젠 General 탭으로 이동해서 Start를 클릭해 봅니다. (윈도우 서비스에서 실행하는거와 같습니다.)
     - 드디어 성공했습니다. ㅠ.ㅠ;; 정말 기쁘더군요~~

       

     - 이젠 Startup type을 Automatic으로 변경 후 적용을 해줍니다. 그러면 PC가 부팅이 되면 Red5 미디어 서버가 자동으로 실행됩니다.

     - 웹브라우저에서 http://localhost:5080로 접속합니다.

       


Red5 설치가 드디어 완료되었습니다.

서비스 등록하는 부분에서 많은 고생은 했지만 이 글을 보고 설치하시는 분들은 어려움 없이 쉽게 설치를 하길 바랍니다.

1부는 여기서 마치고 2부에서는 번외로 매니저 프로그램인 prunmgr.exe 파일을 시작프로그램에 등록하는 방법에 대해서 알아보도록 하겠습니다.

감사합니다. 끝~

이 댓글을 비밀 댓글로
  1. 안녕하세요. 좋은 강좌 먼저 감사드리고요.

    저는 2016 서버 OS 입니다.
    JDK 설치로 했고요. 그래서 %JAVA_HOME%는 그대로 두고 red5.bat 실행에는 문제 없이 잘되었습니다.

    서비스 등록 부분에서 문제가 되었습니다.
    install-services.bat 를 수정하였습니다. 내용중.

    :gotJdkHome
    if not exist "%JAVA_HOME%\jre\bin\java.exe" goto noJavaHome
    if not exist "%JAVA_HOME%\jre\bin\javaw.exe" goto noJavaHome
    if not exist "%JAVA_HOME%\bin\javac.exe" goto noJavaHome
    if not "%JRE_HOME%" == "" goto okJavaHome
    set "JRE_HOME=%JAVA_HOME%\jre"
    goto okJavaHome
    :noJavaHome


    "%JAVA_HOME%\jre\bin 을 "%JAVA_HOME%\bin 으로 변경하였고요. jre 경로가 아니므로..

    set "JRE_HOME=%JAVA_HOME%\jre" 는
    set "JRE_HOME=%JAVA_HOME%" 으로 해서
    서비스 등록까지는 잘되었는데 운영자님처럼 실행이 안되었습니다.

    startup 부분을 보면 working path 에
    위 arguement가 한줄로 다 되어있더군요. 옵션인수이므로 문제 없다 싶었으나,, 안되길래.
    각 인수를 빼서 운영자님처럼 각 항목에 세팅했습니다

    그러나 여전히 서비스 시작 오류가 됩니다.

    그래서 수동으로 CMD에서
    prunsrv.exe //RS//Red5 를 해보면
    다음과 같이 나옵니다.


    [2017-10-25 17:02:50] [warn] [ 4936] The system cannot find the Registry key for service 'prunsrv'
    [2017-10-25 17:02:50] [error] [ 4936] Load configuration failed
    [2017-10-25 17:02:50] [error] [ 4936] 지정된 파일을 찾을 수 없습니다.
    [2017-10-25 17:02:50] [error] [ 4936] Commons Daemon procrun failed with exit value: 2 (Failed to load configuration)
    [2017-10-25 17:02:50] [error] [ 4936] 지정된 파일을 찾을 수 없습니다.

    위 구문으로 구글 검색해보았으나,, 마땅히 알 수 가 없네요.
    해결책이 있을까요.? 없다면 저도 영 수동으로 해야할듯한데요 도움 좀 주세요.
  2. 아참.. 그리고 Red5는 1.0.10 Milestone 4 설치했습니다.

    Red5가 무료인가요? Pre realease 버전으로 되어있는데 이게 무료의 의미인지 궁금합니다.
    일반 교육기관에서 무료사용이 가능한지 구매를 해야하는지 말입니다.
    그리고 무료라면 ,, 연결 클라이언트에 제한이 얼마나 있는것인지 아시는지요.
    Pro 버전이 있는 것으로 보아 뭔가 기능상의 차이나 있을 법한데 자세한 설명을 찾아볼 수 없네요.
  3. 문제가 다른데 있었네요. 제가 설치한 자바는 9.0.1 입니다.
    위 설명하신데 있듯이 자바옵션 부분에서 버전별로 이게 사용하는게 있고 없는게 있네요.
    위8 버전에서 UseStringCache를 삭제하라 하셨듯이,
    9버전에서는 UseParNewGC 를 삭제해야 합니다.

    삽질하다가 red5-error.log를 열어보니 아래 내용이 있길래 감잡았습니다.

    Option UseParNewGC was deprecated in version 9.0 and will likely be removed in a future release.

    자바옵션에서 삭제하고 하니 시작 잘됩니다. 윈도우서비스로 시작이 안될경우 ,로그를 보고 , 자바옵션들을 잘 살펴보고 제거해야될 것 같네요.