강좌
클라우드/리눅스에 관한 강좌입니다.
리눅스 분류

▒ SENATOR 1.0b(ASF video stream server) 설치

작성자 정보

  • 웹관리자 작성
  • 작성일

컨텐츠 정보

본문

▒ SENATOR 1.0b(ASF video stream server) 설치

 

    일반적으로 스트리밍 서버는 윈도우 서버로만 가능한 것으로 알고 있다. 그래서 스트리밍 서비스를 하려면 윈도우 서버를 사용하고는 했다.
  얼마전 리눅스 서버에서 스트리밍 서비스를 할 수있는 간단한 프로그램을 찾게 되어 이렇게 소개를 한다. 아직 배타판이라서 성능 검증되지는 않았지만, 계속 발전한다면 서비스 정도는 아니지만, 간단한게 활용 할 수있을 것 같다.
 왜 스트리밍 서버를 사용할까? 일반적으로 웹에서 사용하면되지? 이런 의문이 생긴다. 단순히 웹페이에 링크하게 되면 순차적으로 볼 수 밖에 없다.  다음 2개의 동영상을 비교해 보겠다.

되는것

안 되는것
  위 동영상은 베이비복스의 우연이다. 저작권이 걸린다면 문제라면 그 강좌의 마지막에 나온 메일 주소로 메일 한통 바랍니다....

1. 설치

 설치전에 이 강좌를 읽고 직접 이 프로그램을 서비스를 하려고 시도하면 큰 코를 다친다. 단지 설치해 보고, 개인용 사이트로 운영하려면 사용해 보기 바란다. 설치후 다음 문제들을 발견했다.

1. windows XP 에서 실행되지 않는다.
2. 매우 불안전 하다.
3. 가끔 데몬이 죽어버린다.

이젠 설치 법을 다룬다.. 본 강좌를 쓰는 시점에서 테스트를 해 보고 올린 것이기 때문에 다른 버전은 호환되지 않을 수도 있다. 그러니 아래 나오는 버전을 맞추도록 한다.

1. 프로그램 다운로드

  수정한프로그램(senator_1.0b3.tar.gz)   <== 다운로드

-  senator 홈페이지 방문.
http://www.angelfire.com/linux/senator/
여기 방문해서 자료를 받는다.. 현재 버전은  senator-1.0beta3.tar.gz 이다.

-  다음 필요한것은 netclass 0.2.7 이다.
http://netclass.sourceforge.net/
방문해서 위 버전의 netclass를 받는다.  senator 를 설치하려면 꼭 필요하기 때문에 꼭 설치한다.

2. 압축 풀기

 작업 디렉토리를 /root로 하겠다.
netclass-0.2.7.tar.gz
senator-1.0beta3.tar.gz
위 두 파일을 /root로 가져와서 압축을 풀어야 한다.

 (1) netclass-0.2.7.tar.gz 설치
[root@test root]#tar xvfz netclass-0.2.7.tar.gz
이렇게 하면 다음 netclass 디렉토리가 생긴다.
[root@test root]#cd netclass
간단하게 다음과 같이 실행한다.
[root@test netclass]# ./configure && make && make install
이렇게 하면, 환경설정, 컴파일, 설치 까지 한줄에 끝이난다.
특별한 경우가 아니면 에러가 나지 않을것이다.  이렇게 하면 netclass 설치가 끝이난다.

 (2) senator-1.0beta3.tar.gz 설치
[root@test root]# tar xvfz senator-1.0beta3.tar.gz
이렇게하면 다음 디렉토리가 생긴다.
senator-1.0beta3
[root@test root]#cd senator-1.0beta3/
지 이렇게 하였다면 이제 부터 고생 시작이다.
senator 설명 파일을 보면 단순히 make 라고 치면 컴파일이 이루어 진다고 하는데..
그건 아니였다.

% 본강좌에서 제공하는 파일을 받았다면 다음과정을 생략해도 무관한다.

윈도우에서 작업하고 올린건지 ^M 문자 때문에 컴파일 되지 않는다.
파일을 열어서 ^M을 제거하려면 하루 종일 걸린다. ftp 로 ascii 모드로 해서 전송해 버리면 없어진다.

다른 방법은 vi 에서 일괄적으로 지우는 방법 :%s/^M//
위와 같이 해야하는데 ^M을 입력하는 방법은 Ctrl + V , Ctrl + M
이렇게 누르면 ^M 이 입력된다. 다음 .. Makefile을 수정해 주어야 한다.

DEFS = -I$(incdir)
LIBS = -lpthread -lnetclass

이렇게 되어있지만 좀전에 설치한 netclass 패스가 잡히지 않아서 컴파일 되지 않는다. 다음과 같이 바꾸어 주야한다.

DEFS = -I$(incdir) -I../netclass/src
LIBS = -L../netclass/src -lnetclass -L/usr/lib -lpthread

추가된 부분은 -I../netclass/src 은 헤드파일의 경로이고,
-L../netclass/src -lnetclass 이 부분은 라이브러리 파일의 경로이다.

위와같이 수정하고 난 뒤 make 명령어를 내린다. 에러 없이 컴파이이 되었다면,  레드헷 사용자라면, make install_redhat데비안 사용자라면, make install_debian 이렇게 설치를 한다.

2. 환경파일 설정
 
정상적으로 설치 되었다면, 컨피그 파일을 수정해 준다. 위치는 다음과 같다.
[root@test senator-1.0beta3]# cat /etc/senator.conf
# Senator config file
# Copyright (c) 2002  anonymous author
#
# the config parser is case sensitive!
# port number of the server
portNumber 1755   <-- 이 부분이 포트가 들어가는 부분이다. (스트리밍 서버는 1755)
# max client connection to prevent flooding
maxConnections 15  <-- 최대 접속자
# root of the data files
rootDirectory /home/doly/www  <-- 동영상 파일이 위치할 경로
# the virtual filename of the status page
# if left blank there will be no status
# information made availble. Don't forget the /
statusPageName /status.html  <--- 상황을 볼 수 있는 가상파일

# below this line is the advanced config
# please read the source code of more information
# before changing anything
# use HTTP stream protocol
#
# Mediaplayer supports both raw streaming and
# and streaming using some sort of protocol
#
# If you want to use the HTTP stream protocol
# you must identify your server with the
# starting string "Cougar"
#
# Cougar is ofcourse (c) microsoft... hmmm
#
# valid types:
#
# true,1,yes,yeppers,go!
# false,0,no,nope,bleuh
#
HTTPStreamProtocol yeppers  <--  그냥 놔 두면 된다.

# server identification string
#
# asfLinux, Cougarama, or any other
#
identifyAs Cougarama  <--  그냥 놔 두면 된다.( 바꾸면 서비스 안됨)

3. 테스트
 앞에서도 언급했지만, 서비스용으로는 아직 부 적합 하다. 다음과 같이 테스트만으로 끝내길 바란다

브라우저의 url창에: mms://ip:포트번호/파일이름
예) mms://210.114.223.192:1755/우연.asf


[root@test senator-1.0beta3]# /usr/bin/senator -v -d

Senator 1.0beta2 asf video streamer
Copyright (c) 2002, anonymous author
server started (log begins)
config file : /etc/senator.conf
running at port: 1755
server running in non daemon mode
installing signal handlers
starting the stream server
waiting for connection
[67.78.24.20] client connected
[67.78.24.20] client requested fileheader for : /우연.asf
[67.78.24..20] sending client the HTTP 200 header
 
위와같이 접속 하고 끊어지고 상황을 볼 수있다.

4. 운영
  프로그램이 아직 배타라서 운영하기는 권장하지 않고, 개인적으로 도시락 싸들고 다니면서 말리고 싶다. 하지만 꼭 원한다면, 운영 해 보도록 한다.

1. 시작 : /etc/rc.d/init.d/senator start
2. 종료 : /etc/rc.d/init.d/senator stop
% 본 강좌에서 받은 파일로 설치하지 않았다면 위 과정에서 에러가 날 것이다. 스크립트를 수정하거나 본강좌에서 제공하는 것을 받아서 운영한다.

3. 운영 상황보기
 앞에서 설정한 환경파일 (/etc/senator.conf)에서 가상 파일을 하나 정했을 것이다. 이 파일이 상황을 보여 주는 파일인데 다음과 같은 화면으로 상황을 볼 수있다.
 status.gif

5. 마치며...
 
이 프로그램을 설치한다고 시간을 많이 허비했다. 허비한 시간이 아까워서 이렇게 남기고 나처럼 시간 허비하는 사람이 없기를 바라면서 이 강좌를 마무리 한다. 이 프로그램을 임시 서버에서 돌리기 때문에 언제 정지 할지 모르는 상황이다. 혹시 이 서버가 죽어 있고 , 꼭 테스트 해 보길 원한다면, 메일로 문의 바란다. 메일주소는 doly 엣 superuser.co.kr 이다. 메일 주소를 무단 수집해서 스팸메일을 보내는 이를 막기 위해서 위와 같이 표기했으며, 엣 부분은 @ 치환하면 된다.
  이상... 수퍼유저 운영자 doly ...

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,017 명
  • 현재 강좌수 :  35,690 개
  • 현재 접속자 :  229 명