Music/Braodcast2007/10/29 23:02

pareko@sarang.net (2000/06/09)

목 차

 

1. Internet Broadcast의 개념 

 

    - Internet Broadcast의 구조
    - 준비해야 할 사항들

 

2. Internet Broadcast 관련 Program

 

    - Server 관련 Program
    - DJ 관련 Program
    - 기타
    - Client Program

 

3. Server Program Installation / Configuration

 

    - icecast
    - Shoutcast

 

4. Broadcast Test 

 

    - icecast (Linux) + Shout (Linux)
    - Shoutcast (Windows) + DSP (Windows) 
    - icecast (Linux) + Shoutcast (Linux) + DSP (Windows)

 

5. Broadcast Listen 

 

    - WinAmp (Windows)
    - mpg123 (Linux)

 

6. Broadcast Management

 

1. Internet Broadcast 의 개념

 

- Internet Broadcast 의 구조

 

Internet이 발전하면서 개개인이 방송국을 차릴 수 있는 시대가 왔습니다. Internet 방송은 IRC를 통해 유행하기 시작했으며, 지금도 급속도로 발전하고 있습니다. Internet을 이용한 방송은 여러가지 방법이 있는데 Real Server 같은 경우 상당한 비용을 지불해야 합니다. 개인이 Real Server를 운영하기에는 많은 부담이 따르죠. 그래서 저렴한 비용으로 구축할 수 있는 MP3 방송국을 소개하겠습니다.

 

위의 구성도는 MP3 방송국의 전체적인 구조입니다. Server는 청취자의 요청에 응답만 하고, 이 응답에 의한 방송을 하기 위해서는 DJ Program에서 목소리나 음악을 Server에 보내주어야만 합니다. 한대의 Server에는 여러 장르에 해당하는 DJ Program이 접속될 수 있습니다. 각 장르별로 DJ가 별도로 구성될 수 있으며, 청취자도 해당하는 장르의 음악만 들을 수 있습니다. Server와 DJ는 별도로 이루어 질 수도 있으며, 하나의 Program으로 구성될 수도 있습니다. Hardware적인 구성도 Server와 DJ가 한대의 Computer로 구성될 수 있습니다. 대부분 개인이 운영하는 경우는 한대의 Computer에 Server와 DJ가 구성이 되겠죠?

 

- 준비해야 할 사항들

 

Computer는 필수겠죠? 그리고 DJ를 위한 Microphne도 필요하구요. MP3 방송을 하기 위해서는 MP3 File도 필요합니다. 가장 중요한 Internet 회선이 필요합니다. Modem을 사용하신다면 여러명에게 방송하는 것은 포기하는 것이 좋습니다. 대부분의 MP3 File은 128kBits, 44.1KHz Stereo (CD 음질)입니다. 이정도 음질을 Service 하기에는 T1(1.54Mbps)으로도 10명정도밖에 Service 할 수 없습니다. 따라서 실제 방송은 24KBits, 22.05KHz Mono로 방송을 합니다. 이 정도면 50명가량 청취할 수 있습니다. Internet 회선은 빠르면 빠를수록 좋구요. Computer의 성능은 Server에서는 부하가 거의 없지만, DJ는 MP3 File을 Encoding 해야 하기때문에 Computer 성능이 높을 수록 좋습니다. 마지막으로 Server와 DJ Program을 실행할 Computer의 운영체제인데... 대부분의 Internet 방송 Program은 다양한 운영체제를 지원합니다. Windows, Linux, FreeBSD, Solaris 등을 지원합니다. 방송을 하기 위해서는 해당하는 운영체제에 맞는 Program을 준비해야 합니다.

 

2. Internet Broadcast 관련 Program

 

현재 다양한 방송 Program이 나와있는데, 각 회사별로 Server와 DJ를 구분해서 제공하고 있습니다. 그러나, Server와 DJ Program은 서로 다른 회사의 Program을 이용해도 되므로, 회사별로 구분하지 않고 Program 종류별로 구분하도록 하겠습니다.

 

- Server 관련 Program

 

icecast v2.3.1 : Windows / Source / Linux
SHOUTcast v1.9.8 : Windows / FreeBSD / Linux / Solaris / Mac

 

- DJ 관련  Program

 

Shoutcast DSP v1.9.0 : Windows / FreeBSD / Linux / Solaris / Mac

 

- Client Program : 청취자가 방송을 들을 수 있는 Program 입니다.

 

Unix (Linux) : XMMS, mpg123, FreeAMP
Windows : Sonique, WinAmp
Mac : MacAMP

 

3. Server Program Installation / Configuration

 

- icecast

 

www.icecast.org에서 해당하는 Operating System에 맞는 Program을 Download를 받았습니다.

 

Icecast Installation (Windows)

 

Windows를 사용하신다면 zip으로 압축된 File을 Download 받으신 후 특정 Directory에 풀어 놓습니다.

 

Icecast 설치 (Linux)

 

Linux에서 운영하실 경우 RPM으로 설치하는 것보다 Source로 받으신 후 Compile 하시는 것이 좋습니다. Compile 방법은 tar File을 푸신 후 → configure → make → make install 순서입니다. (일반 Program Compile 과정과 똑같습니다.)

 

Icecast Configuration

 

환경설정은 운영체제와 상관없이 동일합니다. 환경설정 File은 conf/icecast.conf 입니다. 첫 칸의 '#' 표시는 주석을 의미합니다. 아래의 내용은 주석을 제외한 내용입니다.

 
    #Server 위치, Administrator Information
    location Mazinga BroadCasting System
    rp_email pareko@sarang.net
    server_url http://pareko.sarang.net/
 
    #Server Limited
    max_clients 50 ← 최대 청취자 수
    max_clients_per_source 10 ← 방송당 최대 사용자 수
    max_sources 5 ← 최대 방송 수
    max_admins 2 ← 최대 관리자 수
    throttle 10.0 ← 대역폭 사용 제한 (MB/s)
 
    #Stream Meta Data
    use_meta_data 0
    streamurllock 0
    streamtitletemplate %s
    streamurl http://yp.icecast.org
    nametemplate %s
    desctemplate %s
    mount_fallback 1
 
    #Password
    encoder_password hackme ← 방송 Data를 보내는 쪽의 Password (DJ)
    admin_password hackme ← Admin Password (Server Status Monitoring)
    oper_password hackme ← Server에 관한 모든 권한 (운영자)
   
    #icydir yp.shoutcast.com
    #icydir yp.breakfree.com
    #icydir yp.musicseek.net
    #icydir yp.van-pelt.com
    #icydir yp.radiostation.de
    #directory yp.icecast.org ← Insternet Broadcast를 icecast.org에 등록
    #directory yp.mp3.de
    touch_freq 5

    #hostname 192.168.1.1
    
    #방송에 사용할 Port
    port 8000
    port 8001

    #Real Server Name
    server_name mazinga.sarang.net   
    force_servername 0

    logfile icecast.log
    accessfile access.log
    usagefile usage.log
    logfiledebuglevel 0
    consoledebuglevel 0
    reverse_lookups 0
    
    #Console Mode 
    #0 : Log를 보여주며 명령 입력 가능
    #1 : Console에 명령 입력 가능
    #2 : Log만 보여줌
    #3 : Background(Deamon Mode)로 Server를 사용
    console_mode 0
client_timeout 30
    kick_clients 0

 

    #staticdir

    c:\windows\desktop

    staticdir static

    templatedir c:\windows\desktop\icecast\templates

     logdir logs

    stats_log stats.log

    statshtml_log stats.html

    stats_time 60

 

    #alias

    radiofri http://195.7.65.207:6903

    kick_relays 10

    transparent_proxy 0

    acl_policy 1

    #deny all *
    #allow all *.ryd.student.liu.se

  •  
  • 실행

 

Windows : 압축을 풀어놓은 Directory로 이동하여 icecast.exe 실행하면 됩니다.
Linux : /usr/local/icecast/bin 위치로 이동하신 후 ./icecast 라고 실행하시면 됩니다.

 

- Shoutcast

 

www.shoutcast.com에서 해당하는 운영체제에 맞는 Program을 Download 받습니다.

 

Shoutcast Installation (Windows)

 

Windows를 사용하신다면 zip으로 압축된 File을 Download 받으신 후 특정 Directory에 풀어 놓습니다.

 

Shoutcast Installation (Linux)

 

icecast의 배포와는 다르게 Source Code는 배포하지 않고 Binary 형태로만 배포합니다. tar 로 푸시면 실행 File과 환경 설정 File이 나옵니다. 그리고 Sample MP3 File도 들어있구요.

 

Shoutcast Configuration

 

Windows 용과 Linux 용의 Config File Name이 다릅니다. Windows 용은 sc_serv.ini Linux 용은 sc_serv.conf 이며, Windows 용은 GUI 용과 Console 용이 있습니다. 어느 것을 사용하셔도 상관 없으며, 사용하시고자 하는 Directory에 들어있는 Config File의 영향을 받습니다. 차이점은 Console 용은 DOS 창에서 실행되고, GUI 용은 Windows 창에서 실행되며 몇가지 기능이 더 들어있습니다. Windows를 사용하신다면 당연히 GUI 용을 선택하시겠죠?

 

첫칸에 ; 표시가 있는 줄은 주석입니다.

 
    ;Log 관련 설정

    LogFile=sc_serv.log
    RealTime=1
    ScreenLog=1
    ShowLastSongs=10
    HistoryLog=sc_hist.log
    HistoryLogTime=30

    ;Port 관련 설정
    PortBase=8000 ← Service 하고자 하는 Port 번호
    SrcIP=ANY
    DestIP=ANY
    Yport=80
    NameLookups=0
; RelayPort=8000 ; RelayServer=192.168.1.58
 
    ;Server 관련 설정
    MaxUser=32 ← 최대 청취자 수
    Password=changeme ← 방송용 비밀번호
    ; AdminPassword=adminpass ← 관리용 비밀번호
    AutoDumpUsers=0
    AutoDumpSourceTime=30
    ; The default is no IntroFile
    ; IntroFile=c:\intro%d.mp3
    ; BackupFile=C:\intro%d.mp3
    TitleFormat=mazinga Radio: %s
    ; URLFormat=http://www.server.com/redirect.cgi?url=%s
    PublicServer=default
    MetaInterval=8192

 

실행

 

Windows : sc_serv.exe 실행
Linux : ./sc_serv 실행

 

4. Broadcast Test

 

- icecast (Linux) + Shoutcast (Linux)

 

Shoutcast Installation

 

Shoutcast는 음악만 틀어줄 수 있는 DJ Program입니다. www.icecast.org에서 Download 받을 수 있으며, 현재 Windows 용에는 포함되어 있지 않습니다.

 

설치 순서는 'tar 풀기 → configure → make → make install' 입니다. 일반적인 Compile 순서이며, 설치되는 Directory는 '/usr/local/icecast/bin'에 설치되며, Config File은 '/usr/local/icecast/etc' 밑에 설치됩니다.

  •  
  • Shoutcast Configuration

 

Shoutcast Config File은 수정하지 않아도 문제 없습니다. Config File을 수정하지 않을 때는 수동으로 명령을 입력하면 됩니다. 이 부분에 관련된 내용은 Test 부분에서 설명하겠습니다.

 

Config File은 '/usr/local/etc/shout.conf.dist' File인데 '# cp shout.conf.dist shout.conf'로 변경해서 편집하면 됩니다.

그럼 Config File 내용을 하나씩 보도록 하겠습니다.

 
    # 접속 관련 정보
    server_name localhost ← Server가 위치한 Domain이나 IP
    port 8000 ← Server에 접속할 Port
    password 비밀번호 ← Server에 접속하기 위한 비밀번호
    mount default
    
    # Server Information
    name Mazinga BroadCastion System ← Client Program에서 나타나는 문구
    desc 설명 ← 간단한 소개를 적어주세요
    genre pop ← Genre 지정
    url http://pareko.sarang.net/ ← 관련된 URL    
    public no ← icecast.org Server 목록에 나타나게 할지 결정
    
    # Stream Option
    short_titles yes
    title_streaming yes
    id3 no
    autocorrect yes
    
    # Play Option
    playlist shout.playlist ← Play List File 지정
    loop yes ← 반복
    shuffle yes ← 무작위 선곡    
    autodetect yes ← bitrate를 자동으로 적용
    default_bitrate 128000 ← bitrate 를 적용
    force no
    
    # 기타
    daemon no
    verbose no

 

Shoutcast Test

 

Shoutcast는 MP3 연주 전용 DJ Program 입니다. 따라서 연주할 MP3 File의 목록을 가지고 있어야 합니다. Test 하기 전에 목록을 만들어 보도록 하겠습니다.

 
    # cd /usr/local/icecast/etc
    # find /home/pareko/mp3 -name "*.mp*" > shout.playlist
    와 같은 명령을 이용하면 List를 쉽게 만들 수 있습니다.
    
    # cat shout.playlist
    
    /home/pareko/mp3/028-1.sissel_-_if.mp3
    /home/pareko/mp3/03.i_feel_lonely.mp3
    /home/pareko/mp3/04G-BizetHabaneraFromCarmen_CF-CYON.mp2
    /home/pareko/mp3/04_-_toy-box_-_tarzan_and_jane.mp3
    /home/pareko/mp3/074-Love_AffairOST_I_Will.mp3
    /home/pareko/mp3/4non_Blonse-Whats_up.mp2
    /home/pareko/mp3/Adiemus-Adiemus.mp3
    /home/pareko/mp3/Andrea_Bocelli_-_mai_piu_cosi_lontano-rns-sindong.mp2

 

이젠 모든 준비가 끝났으므로 Test 해보겠습니다. Test를 하기 위해서는 방송국 Server를 실행 시키시고, 다른 창에서 Shoutcast를 실행시키시면 됩니다.

 

그러면 Shoutcast를 이용하여 icecast로 음악을 보내겠습니다. 실행은 간단하게 /usr/local/icecast/bin 이동하신 후 Shout라고 입력하시면 됩니다.

 

Server 8000번 Port에 접속된 후 점이 찍히면서 음악이 연주되는 것을 볼 수 있습니다.

  •  
  • Shoutcast Command

 

Shoutcast는 Config File을 수정하지 않고 사용하는 방법입니다.

 
    # ./shout loxalhost -P [비밀번호] -a -x -p /usr/local/icecast/etc/shout.playlist \ -l -g pop -n "Mazinga BoradCasting System" -u "http://pareko.sarang.net"
      
    Option을 설명하면...
    -P : 비밀번호 지정
    -a : 자동으로 bitrate 수정기능 켜기
    -x : cue File을 Update 시키지 않음(CPU 부하를 줄여줌)
    -p : Play List 지정
    -l : Loop 반복기능
    -g : Genre 지정
    -n : WinAmp같은 Client Program에 나타날 Title
    -u : URL 지정 

 

- Shoutcast (Windows) + DSP (Windows)

 

DSP Install

 

DSP는 별도의 Program이 아니고 Winamp에 추가해서 사용하는 Plug In DLL 입니다. Download 받으신 후 실행시키면 Winamp의 설치 Directory를 묻습니다. Winamp가 설치된 Directory를 정확하게 지정하신후 다음 Button을 누르면 설치가 완료됩니다. Winamp가 없으신 분은 Download 받으시면 됩니다.

 

DSP Configuration

 

DSP가 올바르게 설치되어 있으면 Winamp를 실행시킨 후 설정 (Preferences : Ctrl + P) 부분에서 설정하시면 됩니다.

필요에 따라서 Configure Button을 눌러서 세부 설정을 하시기 바랍니다.

 

DSP Test

 

설정을 맞추신 후 Winamp를 다시 실행하면 Shoutcast Source라는 Program이 같이 실행됩니다. 그리고, Tray 부분을 보시면 부채 모양의 Icon이 추가되었음을 알 수 있습니다.

 

일단 Shoutcast Server Program과의 연동 부분을 설명 드리겠습니다. 먼저 Shoutcast Server Program을 실행시켜 놓으시고, Sho

utcast Source Program에서 Server Program과의 연동에 필요한 설정을 해야 합니다.

 

Server Program이 작동하는 위치(같은 Computer를 사용하므로 localhost로 설정), Server에서 지정한 Port 번호, 그리고 비밀번호, 설명, Genre, URL 과 같은 정보들을 입력합니다.

 

여기까지 설정을 마치셨으면 이제 Server에 연결하도록 하겠습니다. Shoutcast Source Program 중간 부분에 Connect 부분을 Click 하시면 Server에 연결됩니다.

 

다음은 음성 또는 음악을 Server로 보내야 합니다. Winamp에서 음악을 선택해서 Play시키면 Server로 음악이 전달됩니다. 만약 음성을 전달 하고자 한다면 Push to talk Button을 누르고 얘기를 하면 됩니다.

 

음악이나 음성이 Server로 전달될때 dB단위로 Graph가 나타납니다.

 

- Icecast (Linux) + Shoutcast (Linux) + DSP (Windows)

 

이 내용은 응용 부분 입니다. 다른 Server ↔ DJ Program과의 연결, 다른 종류의 운영체제에서 작동시키는 방법 입니다. 실제로 이렇게 방송을 하실 필요는 없습니다. DJ 하실 분이 별도로 있거나, 현재 사용하는 Network 환경이 빠르지 않는 경우에 활용할 수 있는 방안입니다.

 

다음에서 설명하는 방법은 속도가 빠른 곳에 위치한 Linux Server에서 Server Program을 작동시키고, DJ Program은 Windows에서 방송하는 방법 입니다.

 

회선이 빠른 곳에 위치한 Linux Server에 Icecast 방송국 Server를 설치하신후 환경 설정을 마치고 실행시켜 놓습니다. Shoutcast Program을 이용하여 장르별로 음악을 틀러줍니다. DJ Program을 이용하여 원격지에 위치한 Linux Server에 DJ Program으로 접속합니다.

 

이제부터 DJ 역할을 합니다. DJ Program은 Windows 환경이므로 Linux를 모르는 사람도 쉽게 DJ가 될 수 있다는 점에서 큰 장점이 될 수 있습니다.

 

IRC를 이용하여 청취자의 신청곡과 사연을 읽어줄 수도 있겠죠?

 

5. Broadcast Listen

 

- Winamp (Windows)

 

Winamp에서 방송을 듣는 방법은 간단합니다. Ctrl+L 을 누르면 다음과 같은 화면이 나오는데 이곳에 Server 명과 Port를 적어주시면 됩니다.

 

만약 여러 Channel을 Service 한다면 'http://mazinga.sarang.net:8000/pop' 와 같은 방법으로 접속이 가능합니다. Linux를 사용하신다면 XMMS에도 같은 방법으로 청취하실 수 있습니다.

 

- mpg123 (Linux)

 

mpg123도 간단합니다.

 

$ mpg123 http://mazinga.sarang.net:8000/

 

와 같이 사용가능합니다.

 

- Broadcast Management

 

방송국을 관리하는 방법은 다양합니다. 각 Program 별로 Document를 잘 읽어 보셔야 합니다. 전반적인 설명만 드리겠습니다. 세부적인 운영 방법은 방송국을 운영하면서 얻으실 수 있습니다.

 

어렵게만 생각되던 방송국도 정리하고 보니까 얼마되지 않는 내용이네요. 실제로 방송국을 하루 정도만 운영하다 보면 자신만의 Know-How가 생길겁니다. Hardware나 Program을 다루는 부분 보다는 DJ가 얼마나 진행을 잘하느냐에 달려 있는 것 같습니다.

 

인터넷 방송국을 향해 출발~

저작자 표시 비영리 변경 금지
Creative Commons License

'Music > Braodcast' 카테고리의 다른 글

Shoutcast Server Config File  (0) 2007/10/30
Internet 방송국 차리기  (0) 2007/10/29
Posted by BLUEDAY™