홈으로 홈으로 | 무료회원가입 | 아이디/비번찾기 | 즐겨찾기
추천음악방송메인홈1대1상담음악방송청취
뽕짝아가씨(무료음악채널)
okTrot(무료음악채널)
전통가요(무료음악채널)

온라이브스토어(앱다운로드)

환상의뽕짝파티 무료음악
명작트로트메들리 무료음악
트로트메들리관광 무료음악
동영상노래방
가사검색

POP Player
신나는 고스톱
컴퓨터 오목
작은 음악다방
자동러시 웹플레이어신청

보안∵서버∵쿠키
윈도우∵프레임
이미지∵배경
시간∵달력∵계산
상태바∵타이틀바
음악∵영상
폼∵전송∵테이블
키보드∵마우스
효과∵링크∵메뉴
Script∵php
기타
PHP 강좌
윈도우관련팁
웹관련팁
홈페이지제작팁
기본강좌
레지스트리
윈도우서버
리눅스서버
Android
SHOUTcast 를 이용한 인터넷 라이브 방송 시스템 구축
2년 전
서버측 설정 :

먼저 http://www.shoutcast.com
사이트로 가셔서 Unix&Linux 용 Shoutcast
프로그램을 다운 받는다.

shoutcast-1-7-1-linux-glibc.tar.gz
shoutcast-1-8-0-linux-glibc6.tar.gz

설치디렉토리에다 위 프로그램의 압축을 푼다.
그럼 아래와 같은 파일이 생성될것입니다.

README  content/  sc_serv*  sc_serv.conf  sc_serv.rip

다른건 별로 신경 쓰실 필요는 없고 sc_serv  sc_serv.conf 이 두파일만 신
경 쓰면 된다.

sc_serv : shoutcast server 실행파일
sc_serv.conf : 설정파일

먼저 sc_serv.conf 설정파일을 설정한다. 설정파일 안에 변수들 설명이다.


SHOUTcast Server 환경 설정변수 설명

PortBase :
이건 중요합니다! 사람들이 방송을 듣기 위해서 접속할 포트입니다. 기본값은
8000 이구요 자기 마음대로 바꿀 수 있지만, FTP나 다른 프로그램에서 사용하는
포트와 중복되면 안됩니다. UNIX시스템에서는1024이하의 포트로 설정하기 위해선
루트 권한이 있어야 합니다. PortBase의 포트에 +1 을 한 포트번호가 Dj 플러그
인 에서 서버로 접속할때 쓰이는 포트 입니다. 그러니까 제대로 방송을 하려면
PortBase의 포트넘버와 +1을 한 포트까지 다른데서 사용하지 않는 포트 여야겠죠
^^; 명심하세요.

MaxUser :
청취자 수의 최대치를 설정합니다. 디폴트는 32, 1.2버젼에서는 1024명까지 지원
합니다. 너무 많이 설정해두지 마세요...... 그냥 32로..

Password :
Dj 툴에서 shoutcast서버에 접속하기 위한 비밀번호입니다. changeme가 디폴트인데
자기가 편리한대로 바꿔주세요. 나중에 server control page에 접속할때도 필요합
니다.

Logfile :
로그하기위한 파일 이름을 지정합니다. 로그하시지 않으려면 공백으로 두면됩니다.

SrcIP :
Source IP라는 뜻인데, shoutcast는 중계방송 역할도 할수있습니다. 즉, 자기
자신이 방송을 하지 않더라도 다른 사람이 운영하는 서버에서 방송이 되고
있다면 그곳의 방송을 자기 서버에서 받아서 꼭 자기가 하는 것처럼 중계를
할 수 있다는 거죠. 예를 들어, A의 서버에서는 실제로 방송을 하지 않고 B라
는 곳에서는 실제로 방송 합니다. 그런데 A서버에서 B서버의 방송을 중계한다면
청취자들은 A서버로 접속해서 B서버에서 하는 방송을 들을 수 있다는 거죠.
머리가 다들 좋으실테니 이해하셨으리라 믿겠습니다. ^^; 이 SrcIP항목은 자기가
서버를 운영할 때, 다른 서버 자신의 서버를 중계할 수 있게 하겠느냐 아니면
못하게 하겠느냐를 정하는 겁니다. 127.0.0.1설정을 해준다면 다른곳에서는
자신의 서버를 중계할수가 없습니다. ANY로 해둔다면 어느곳의 서버에서든지
자신의 서버를 중계할 수 있겠죠. ^^; ANY로 해두세요

DestIP :
이건 청취자를 위한 IP설정인데 ANY로 해두시면 누구나 방송을 들을 수 있습니다.

RelayServer :
[Optional] 자신의 서버로 다른곳에서 방송중인 것을 중계하고자 할 때 서버의
주소를 입력합니다. 중계를 하지 않으면 그냥 디폴트로.

RelayPort :
[Optional] 자신의 서버로 다른곳에서 방송중인 것을 중계하고자 할 때 서버의
포트를 입력합니다. 중계를 하지 않으면 그냥 디폴트로.

RelayPublic :
[Optional] 자신의 서버로 다른곳에서 방송중인 것을 중계하고자 할 때 자신의
서버를 항상 "Public" or "Never"로 설정하세요.
그 밖의 다른 것은 쏘스서버와 돌일하게 설정합니다.

RealTime :
[Console systems only] 이는 청취자수 등의 상태를 서버에 실시간으로 나탈낼
지지의 여부를 결정합니다.

ScreenLog :
[Console systems only] 이 값이 1로 설정되어있으면 SHOUTcast Server의 화면
에 로그정보가 보여집니다. 물론 0 이면 반대 이겠지요.

HistoryLog :
[Optional] "None" 이외의 값을 설정하면 HistoryLogTime에서 설정한 대로 일정
한 간격을 두고 청취자수, 타임스탬프, 메타데이타와 같은 정보를 로그화일에
저장합니다.

HistoryLogTime :
[Optional] 초단위로 설정하는 값에따라서 HistoryLogFile을 기록합니다.

Yport :
[Optional] 이건 yp.shoutcast.com에 접속하기 위한 포튼데요. shoutcast서버와
yp.shoutcast.com간에 통신을 위한겁니다. 프락시를 사용하신다면 800으로 바꾸
시고 아니라면 그냥 80으로 두세요.

NameLookups :
[Optional] 이건 Domain을 reverse해주는 기능입니다. 1로 해놓으시면 도메인으
로도 접속이 가능합니다 대신에 찾을때 속도가 느리죠. 도메인을 좋아하시는 분
은 1로 해두세요

AutoDumpUsers :
[Optional] 1로 설정한다면 소스에서 방송을 하지 않을 때마다 청취자와의 연결을
끊습니다. 다른값을 설정한다면 청취자는 연결된 상태로남아 방송안됨(Dead Air)
메시지 또는 백업파일(아래 BackupFile에서 지정한 화일)을 받게 되겠죠.

IntroFile :
[Optional] 청취가 자신의 서버에 접속했을때, 방송을 바로 듣기 전에 인트로 음악
을 들려주고자 할때 사용하죠. 즉, 청취자가 자신의 서버에 접속을 하면 먼저 인트
로파일을 듣고 나서야 방송을 청취하게 되는 겁니다.. 중요한 것은 인트로 파일명
인데. 자신이 서비스 하는 음질을 파일명에 적어야 하는데 형식은 intro%d.mp3이고
, %d부분을 자신의 음질로 적어주면 OK!. 예를 들어 40k의 음질로 방송을 한다면
c:\\intro40.mp3가 되는 겁니다. 디렉토리는 마음대로~~.

BackupFile :
[Optional] 이것을 지정해두면, 방송소스가 끊어지거나 빙송소스가 30초이상 지연될
때마다 서버가 이 백업화일을 그대로 청취자에게 보내게 됩니다. 주의할점은 이화일
이 MP3 형식이어야하며 당연히 방송하는 스트립과 똑같은 bitrate, sample rate, and
mono/stereo 설정이어야 합니다. 만일 이 파일이 스트림과 틀릴 경우 청취자는 이상
한 소리를 듣게 됩니다..

TitleFormat :
[Optional] 청취자에게 보내지는 제목을 설정하는 부분인데, 예를 들어 '꼬마Dj의
12시의 음악여행' 이라는 제목을 모든 곡의 제목에 넣고 싶다면. TitleForamt=
꼬마Dj's 12시의 음악 여행:%s 라고 하면되져. 그렇게 되면 지금 서비스하는 곡의
이름이 '핑클-화이트'일 때, 청취자에게는 다음과 같이
[꼬마Dj's 12시의 음악여행:핑클-화이트]와 같이 보이는 겁니다.
하지만 여기서 한글 문제가 생기는데 윈앰프의 근래 버젼에서는 스트리밍시 한글이
보이지 않고 깨진다는 점이져. 그러니 영어로 멋지게(?) 적어보시기 바랍니다.

URLFormat :
[Optional] 이것은 미니브라우저 URL에 적용된다는 점을 제외하곤 TitleFormat이랑
같습니다. 리다이렉션이나 그것을 기억하고자 할 때만 유용하죠!



CurrentLog :
[Optional] 이것은 SHOUTcast 서버처럼 서버에 있는 파일을 주기적으로 업데이트하
기 위한 메카니즘을 제공해주는 기능입니다. CurrentLog 자체는 하나의 파라미터가
아니고 파라미터의 집합으로서 다음과 같습니다.

CurrentLogIn은 HTML template 파일의 이름입니다.
CurrentLogOut은 서버가 출력할 파일의 이름이고,
CurrentLogTime은 서버가 출력 파일을 업데이트하는 시간입니다.
HTML template 파일을 예로 설명한다. 이 파일이 서버에 저장되어 있고 CurrentLogIn
항목이 지정되어 있다면,
<HTML>
<HEAD>
<TITLE>My Current Stats</TITLE>
<HEAD>
<BODY>
My SHOUTcast server is currently playing
<!-- CURRENTSONG -->
. You get see more information about it at <!-- URL -->
</BODY>
</HTML>

보시다시피, 서버는 적절히 설명되어 있는 필드에 파라미터값들을 넣게 됩니다.
서버가 알아먹는 파라미터들은 LISTENERS, MAXLISTENERS, LISTENERTABLE, GENRE,
DESCRIPTION, URL, HITS, 그리고 CURRENTSONG입니다.
이 파라미터들에 대한 좀더자세한 정보는 SC_SERV.CONF 또는 SC_SERV.INI 파일에
있는 코멘트에서 찾아볼 수 있을 겁니다.


여기까지가 방송에 필요한 서버의 환경설정입니다.
셋팅이 완료되었으면 저장을 하시고 sc_serv 실행파일을 실행하세요.

그런뒤 브라우져로 http://설치서버도메인:BasePort/admin.cgi?pass=password
로 접속하여 reserve ip list 항목에서 방송클라이언트 서버의 ip를 등록시킨다.

여기까지가 방송에 필요한 서버의 환경설정입니다.

참고 :
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
방송을 할때 메모리는 얼마나 필요하며, 내가 사용하는 인터넷 속도로
몇명이 청취할수 있는지 계산하는 방법을 알려드립니다.

청취자 한명에 14KB의 메모리가 필요합니다.
(예를 들어 1000명이 청취 하려면 14MB의 메모리가 필요)

100명의 청취자가 24kbps로 음악을 듣기 위해서는
24kbps*100 = 2,400kbps = 2.4Mbps 의 대역폭이 필요합니다.
(예, 하나로 통신의 ADSL Light인경우는 1Mbps 짜리이므로 ...
56Kbps로 방송을 할때 몇명이 청취가능할까요? ^^.. 계산한번 해보시죠?)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

방송시스템쪽 설정 (방송 클라이언트 서버) :

필요한 설치 프로그램

winamp 2.7x
SHOUTcast Source for Winamp DSP Plug-in v1.8.0
Line Recdrding Plug-in
I3codecp

차례로 설치 한다. 그런후 ...

윈앰프 프로그램을 실행한 후에 "Ctrl+P"를 누릅니다.
(윈앰프에서 마우스 오른단추를 누른뒤에 "Opions" -> "Preference..."

선택해도 됩니다.)

Plug-ins -> DSP/Effect 선택후
"SHOUTcast Source for Winamp v1.8.0 (dsp_sc.dll)" 를 선택하고
"Close" 단추를 누릅니다

그럼 [SHOUTcast Source] 창이 뜹니다.
여기서 Server 과 Format 설정후 Connect 를 한다.

이로써 일단 방송을 할수 있는 환경 자체가 준비 되어진것이다.

운영방식 :

이제 Winamp 에서 곡을 등록하고 연주 시작하면 음악 방속이 시작된다.
음악 연주 컨트롤은 Winamp 방식과 동일하다.  
라이브 방송을 할때 Dj들의 멘트를 삽입해야 하는데 연주와 멘트가 동시에
될수 있도록 할려면 Winamp 설정에서 configure 를 클릭하고 ....

"Enable advanced recording mode"에 체크를 하고 "OK"단추를 누릅니다.

그럼 "SHOUTcast source" 창에 "Advanced Mode" 항목이 추가되었습니다
"샤웃캐스트 소스" 창의 "mixers" 단추를 눌러 아래와 같이 "Record
Control"
창과 "Play Control" 창을 띄웁니다

여기서 녹음 설정및 음질 설정 마이크 설정등을 해줍니다.

멘트를 시작할때는 SHOUTcast source 에서 Advanced Mode 설정에서 Lock 버턴
을 누르면 멘트가 방송에 나오게 됩니다.
추천추천 : 215 추천 목록
번호 제목
3,016
 우클릭 완벽차단 스크립트
3,015
 iframe 높이 100% 맞추기
3,014
 curl 함수를 이용한 HTTP REFERER 변경
3,013
 윈도우10 시스템 파일 및 Dism 검사
3,012
 텍스트 줄바꿈, 글자자르기 CSS
3,011
 jQuery Mobile에서 유용한 코드 10가지.
3,010
 [PHP] dirname()함수와 $_SERVER 관련 상수들
3,009
 [PHP] 파일 크기, 사이즈 불러오는 함수, filesize()
3,008
 [jQuery] jQuery Quick API
3,007
 [ transition ] 링크 hover 색상 변화 속도 조절
3,006
 PHP 5.3.0 에서 사라진 함수들 대체
3,005
 어떤 파일들이 include 나 require 되었는지 확인하는 함수(get_included_files)
3,004
 PHP 날짜 형식 및 계산하기(날짜 더하고 빼기)
3,003
 jQuery Mobile에서 유용한 코드 10가지.
3,002
 값이 배열 안에 존재하는지 확인하는 in_array함수
3,001
 사용자가 웹브라우저에서 뒤로가기를 했을때 감지하는 방법
3,000
 [jQuery]버튼 활성화, 비활성화
2,999
 jQuery show() / hide() / toggle() 사용법
2,998
 jquery 여러가지 이벤트
2,997
 border-radius 속성
2,996
 네이버 오픈API 음성합성 API 사용하는 PHP 샘플코드
2,995
 UTF8 한글 자르기..
2,994
 iconv 에러 발생시 계속 처리하기 옵션
2,993
 [PHP] 현재 페이지의 도메인 , URL 정보 알아내기.
2,992
 [PHP] 막강 기능 배열..
2,991
 [CSS] - Input clear `X ` 버튼 제거 ( IE, Chrome, Firefox )
2,990
 [Mobile] - 모바일웹 Href 태그속성들
2,989
 [JqueryMobile] - 현재화면의 가로세로 사이즈 구하기
2,988
 [JqueryMobile] - 화면의 가로, 세로 사이즈 구하는 방법
2,987
 jquery로 가로 넓이(width), 세로 높이(height) 자동 조절
2,986
 iframe 높이 jquery로 자동조절하기
2,985
 jQuery 오른쪽 영역의 높이를 왼쪽 영역의 높이와 동일하게 하기
2,984
 jquery에서 테이블 짝수, 홀수 번째 TR 배경색 변경하기
2,983
 jquery에서 테이블에 마우스 오버시 해당 행의 배경색상 변경하기
2,982
 jquery 스크립트내 특정값 확인하기 (디버깅)
목록
인기절정뽕짝파티
인기트로트모음
지루박디스코메들리
밤무대애창곡
전자올겐경음악
세월따라노래따라
가슴시린트로트
트로트쌍쌍파티
7080추억속으로
종합성인가요방
못잊을옛날노래
카바레 음악
트롯디스코팡팡
관광 메들리
트롯카페
가요감상실
추억의옛노래
스페셜가요광장
BillBoard Free
추천가요모음
경음악.전자올겐
스페셜음악여행
WOLRD POPs
K-POP\BillBoard
JP\CN
POP TOP BEST
K.R.노래방

최신인기가요특집
추천가요\인기
F뮤직 인기\발라드
F뮤직 애창\트로트
트로트성인가요
인기가요
프리미엄 POP
경음악\기타
프리미엄 최신가요
프리미엄 성인가요
가요축제\트롯1번지
댄스\메들리\리믹스
카페\명상\경음악\기타
뮤직트로트 부산광역시부산진구 가야동 ㅣ 개인정보취급방침
Copyright (C) musictrot All rights reserved.