[펌]CentoOS DSS(Darwin Streaming Server) 설치 실시간방송

출처.
http://blog.vinestory.com/87


회사에서 모바일 스트리밍 관련 서버가 필요하여서 알아보던중 같은 mp4 파일로 아이폰과 안드로이드에 서비스가 되어 야한다고 하여서 찾아보던중...
iphone은 어차피 http 80 port로 서비스를 그냥 하면되고  android는 http로는 스트리밍 서비스가안되어 rtsp로 서비스를 해야 되야 됐다.

그래서 검색하다 찾은것이 DSS(Darwin Streaming Server)였다. 모 검색한 간단한 설명을 붙이면

 애플사의 퀵타임 스트리밍 서버는 애플의 소스 공개 정책에 따라 윈도우즈와 매킨토시 양쪽을 모두 지원하는 다윈 스트리밍 서버(Darwin Streaming Server) 프로그램이 소스까지 공개되어 있기 때문에 누구든지 무료로 설치하여 사용할 수 있고, 동영상, MP3등의 디지털미디어를 실시간으로 배포하고 라이브 이벤트를 실현시킬 수 있으며, Linux, Solaris, Windows NT/2000 등 가장 대중적인 엔터프라이즈급 플랫폼을 지원합니다.

이 서버 프로그램은 업계 표준 스트리밍 프로토콜인 RTP/RTSP를 지원하며, 음성과 이미지의 고품질으로 인기가 높습니다.

이런다란다...

DSS 설치 환경은 CeontOS 5.6의 환경에서 진행 하였다.

 cd /usr/local
wget http://dss.macosforge.org/downloads/DarwinStreamingSrvr6.0.3-Source.tar
tar xvf DarwinStreamingSrvr6.0.3-Source.tar
wget http://www.abrahamsson.com/dss-6.0.3.patch
patch -p0 < dss-6.0.3.patch
cd DarwinStreamingSrvr6.0.3-Source
./buildtarball
cd DarwinStreamingSrvr-Linux
./Install
Installing Darwin Streaming Server

Checking for and Killing currently running Darwin Streaming Server
...(생략)...

characters long
Enter DSS Administrator Username : (Admin Username 입력)

DSS Administrator Password cannot contain spaces, or quotes, either single or double, and cannot be more than 80
characters long
Enter DSS Administrator Password: (패스워드 입력)
Re-enter DSS Administrator Password: (패스 워드 확인)
Adding userName admin
Setup Complete!

 이렇게 진행되었으면 설치는 완료 되것이다.

netstat -nlp

해보면 아래와 같은 포트가 열려진것을 확인해볼수 있을것이다. 

tcp        0      0 0.0.0.0:8000                0.0.0.0:*                   LISTEN      4273/DarwinStreamin 
tcp        0      0 0.0.0.0:8001                0.0.0.0:*                   LISTEN      4273/DarwinStreamin 
tcp        0      0 0.0.0.0:1220                0.0.0.0:*                   LISTEN      4316/perl           
tcp        0      0 0.0.0.0:554                 0.0.0.0:*                   LISTEN      4273/DarwinStreamin  
tcp        0      0 0.0.0.0:7070                0.0.0.0:*                   LISTEN      4273/DarwinStreamin 
......

 기본영상이 올라가는 기본경로는 

/usr/local/movies

이니 적당한 폴더를 생성하여 사용하는것이 좋을것이다.

http://Server주소:1220 으로 접속해 보면 관리 화면으로 접속해 볼수 있을것 이다.

처음 접속하면 새로운 패스워드를 접해주면 되고

80포트 사용이라든지 디렉토리 경로 설정이라든지 SSL 사용 설정을 하게 되고

관리 페이지로 들어가게 될것이다.

여기서 여러가지 설정값을 사용할수 있고

Play list 메뉴에서 영상을 추가해주면된다.

그리고 virtualhosts에서 해당 디렉토리(예 /usr/local/movies)를 설정하여 하여 http와 rtsp가 같은 곳을 바로보게 한다면

소스를 iphone 접속과 android 접속을 구분해 준다면 같은 파일을 가지고 스트리밍 서비스를 할수 있다.



------------------------------------------------------------------------------------------------------------------


Darwin Streaming Server (DSS) 설치

애플사의 퀵타임 스트리밍 서버는 애플의 소스 공개 정책에 따라 윈도우즈와 매킨토시 양쪽을 모두 지원하는 다윈 스트리밍 서버(Darwin Streaming Server) 프로그램이 소스까지 공개되어 있기 때문에 누구든지 무료로 설치하여 사용할 수 있고, 동영상, MP3등의 디지털미디어를 실시간으로 배포하고 라이브 이벤트를 실현시킬 수 있으며, Linux, Solaris, Windows NT/2000 등 가장 대중적인 엔터프라이즈급 플랫폼을 지원한다.

이 서버 프로그램은 업계 표준 스트리밍 프로토콜인 RTP/RTSP를 지원하며, 음성과 이미지의 고품질으로 인기가 높다.

그럼, 이제 소스를 다운 받아 설치해보자.
소스는 http://developer.apple.com/darwin/projects/streaming/ 에서 구할수 있다.

다운받은 파일을 /usr/local/에 카피한 후 압축을 푼다.


# cp DarwinStreamingSrvr4.1.3-Linux.tar.gz /usr/local/
# cd /usr/local/
# tar xvzf DarwinStreamingSrvr4.1.3-Linux.tar.gz


압축을 푼 파일을 보면 친절하게도 인스톨 파일이 있다. 그럼 인스톨 파일을 실행시킨다.


# ls
3rdPartyAcknowledgements.rtf qtpasswd sample.mp3
AdminHtml qtusers streamingadminserver.pl
DarwinStreamingServer readme.pdf StreamingLoadTool
Install relayconfig.xml-Sample streamingloadtool.conf
MP3Broadcaster sample_100kbit.mov StreamingServerModules
perlpath.pl sample_100kbit.mp4 streamingserver.xml
PlaylistBroadcaster sample_300kbit.mov streamingserver.xml-sample
qtgroups sample_300kbit.mp4
# ./Install
Installing Darwin Streaming Server

Checking for and Killing currently running Darwin Streaming Server
...(생략)...

Installation Complete

Darwin Streaming Server Setup

DSS Administrator Username cannot contain spaces, or quotes, either single or double, and cannot be more than 255
characters long
Enter DSS Administrator Username : (Admin Username 입력)

DSS Administrator Password cannot contain spaces, or quotes, either single or double, and cannot be more than 80
characters long
Enter DSS Administrator Password: (패스워드 입력)
Re-enter DSS Administrator Password: (패스워드 확인)
Adding userName admin
Setup Complete!
#


여기까지 하면 설치는 모두 끝났다.

 

Darwin Streaming Server (DSS) 설정

그럼 이제 DSS(Darwin Streming Server)의 서버 설정을 해보자.

웹브라우져를 띄워서 http://IP_Address:1220 를 입력하자. (1220 포트는 DSS(Darwin Streming Server)의 관리자 페이지 접속을 위한 포트이다.)
로그인 화면이 나오면 지정한 Admin 계정과 패스워드를 넣고 다음으로 넘어가면, MP3 Broadcast를 위한 패스워드 설정이 나온다. 설정을 하고 다음으로 넘어간다.
다음으로 Secure Administration 설정이 나온다. 설정하고 또 넘어간다.
이제 Media Folder 설정이 나온다. 관리를 편하게 하기 위해 media 계정을 생성하고, 계정의 홈 디렉토리를 이용하면 나중에 관리하기 용이하다. 설정을 하였으면 넘어간다.
끝으로 Streaming on Port 80 설정이 나온다. 설정하고 완료한다.

여기까지를 모두 마치면, DSS(Darwin Streming Server) 관리자 페이지가 보일 것이고, 서버상태를 요약한 메인 화면이 보인다.

---------------------------------------------------------------------------------------------------------


Friday, August 29, 2008

Darwin Streaming Server 6.0.3 on Linux

digg_url="http://cwshep.blogspot.com/2008/08/darwin-streaming-server-603-on-linux.html";0diggsdigg
Quick tutorial for installing DSS on Ubuntu 8.04.1 64bit (x86_64).

Most of these details can be found here: http://dss.macosforge.org/trac/ticket/6

Hopefully they will integrate these patches in to the next release, but until then here are the build instructions for Ubuntu:

Download DSS 6.0.3: http://static.macosforge.org/dss/downloads/DarwinStreamingSrvr6.0.3-Source.tar

Download this patch: http://dss.macosforge.org/trac/raw-attachment/ticket/6/dss-6.0.3.patch (Thank you Sverker Abrahamsson!)

And this patch: http://dss.macosforge.org/trac/raw-attachment/ticket/6/dss-hh-20080728-1.patch

Finally get the modified Install script: http://dss.macosforge.org/trac/raw-attachment/ticket/6/Install

The basic process is:

1. Get the build dependencies from the repositories.
2. Set up the qtss user (this is because the Install script does it in a way that is incompatible with Ubuntu)
3. Extract the source code.
4. Apply both patches.
5. Replace the Install script and chmod +x it.
6. Compile.
7. Install.

Notably for ssl admin you need the openssl and libnet-ssleay-perl packages, unfortunately even with these packages I was unable to get ssl admin to work.

I created the modified Install script; you can do a diff with the original if you want to see what I changed. Mostly just the paths were broken, but I am guessing that some other modules and such will probably not work.

Here is the bash script I used to do everything (including automatically download everything):


#!/bin/bash

sudo apt-get install build-essential wget
sudo addgroup --system qtss
sudo adduser --system --no-create-home --ingroup qtss qtss

wget http://static.macosforge.org/dss/downloads/DarwinStreamingSrvr6.0.3-Source.tar
tar -xvf DarwinStreamingSrvr6.0.3-Source.tar
mv DarwinStreamingSrvr6.0.3-Source DarwinStreamingSrvr6.0.3-Source.orig
wget http://dss.macosforge.org/trac/raw-attachment/ticket/6/dss-6.0.3.patch
patch -p0 < dss-6.0.3.patch
mv DarwinStreamingSrvr6.0.3-Source.orig DarwinStreamingSrvr6.0.3-Source
wget http://dss.macosforge.org/trac/raw-attachment/ticket/6/dss-hh-20080728-1.patch
patch -p0 < dss-hh-20080728-1.patch
#need to answer n then y
cd DarwinStreamingSrvr6.0.3-Source
mv Install Install.orig
wget http://dss.macosforge.org/trac/raw-attachment/ticket/6/Install
chmod +x Install
./Buildit
sudo ./Install




Update 2/2/2009: I changed the links to all point to dss.macosforge.org, which is a much more reliable host. Everyone should also take a look at that thread, as there are a lot of updates, including a newer patch from Horace Hsieh. I haven't played with this in a while, but if I get a chance I will try to update this with the newer patch. Please let me know if there are any problems (I just turned comment notifications on :/).