네트워크에서 오디오를 브로드 캐스트하기 위해 Icecast 서버를 어떻게 설정합니까?


63

인터넷 라디오 스트림으로 사운드 카드의 출력을 브로드 캐스트하는 것은 네트워크에서 오디오를 스트리밍하는 신뢰할 수있는 방법입니다. 예를 들어 무선 LAN의 오디오를 다른 컴퓨터 나 인터넷 라디오 스트림을 재생할 수있는 다른 장치로 전송하는 데 유용합니다.

그러나 나는 이것을 설정하는 방법에 대한 쉬운 단계별 가이드를 찾지 못했습니다.

답변:


75

Icecast2로 오디오 방송


1. Icecast2 설치 icecast2 설치


2. Icecast2 구성 편집

/etc/icecast2/icecast.xml편집기에서 파일 을 루트로여십시오. 보안상의 이유로 다음 <authentication>섹션 에서 비밀번호를 설정해야합니다 .

<admin-user>admin</admin-user>
<admin-password>hackme</admin-password> 

당신은을 변경 한 경우 <source-password>또는 <relay-password>당신은뿐만 아니라 소스 또는 릴레이 측에서 그렇게 할 필요가있다. 즉, 기본값을 그대로 두거나 ices2.xml 파일 (아래 참조)에서도 변경해야합니다. Ices 또는 Darkice 구성 파일에서도 마찬가지입니다.

또한 스트림에 도달 할 수있는 호스트 이름을 정의해야합니다.

<hostname>localhost</hostname>

로컬 네트워크에서만 스트리밍하려면 로컬 호스트 로 두십시오 (해결 된 IP를 제공 할 필요 없음). 청취 할 기본 포트는 8000입니다. 필요할 때만 변경하십시오.


3. 기본값 편집

열기 /etc/default/icecast2편집기에서 루트로 파일을. 마지막 줄은

ENABLE=true

이것이 Icecast2의 전부입니다. 물론 더 많은 설정을 사용할 수 있습니다. 구성 파일에는 매개 변수에 대한 설명이 있습니다.

4. 아이스 캐스트 시작 / 중지

서버는 다음 명령으로 시작 및 중지됩니다.

/etc/init.d/icecast2 start
/etc/init.d/icecast2 stop

Icecast 서버를 실행하는 동안 http://localhost:8000/admin/1 단계에서 정의한 관리자 자격 증명을 입력 한 후 모든 브라우저에서 관리 할 수 ​​있습니다 . 추가 설명서는 Icecast.org 에서 구할 수 있습니다 .

Stream2ip 는 Ices2, Ices 또는 Darkice에 대한 기본 설정이 이미 완료된 스트림을 빠르게 시작하고 중지하기위한 그래픽 프론트 엔드입니다.


ices2 설치로컬 사운드 카드에서 OGG Vorbis 오디오 스트리밍을위한 Ices2

사운드 카드에서 녹음 할 수 있도록 펄스 오디오를 설정하려면 아래의 Darkice 참고 사항을 참조하십시오.

Ices2 디렉토리 만들기

mkdir /var/log/ices   # in case you need logfiles.  
mkdir /etc/ices2      # for putting ices stuff in.  

Ices2 구성 .xml 편집

Ices2는 설정을 위해 .xml 파일을 사용하여 실행됩니다. 구성의 Verbous 예제는에서 찾을 수 있습니다 /usr/share/doc/ices2/examples/. 이러한 파일은 필요에 맞게 편집해야하며 홈 디렉토리의 어느 곳에서나 복사 할 수 있습니다. 구성 파일에 따라 Ices2는 Ogg Vorbis 형식 ( ices-playlist.xml) 의 재생 목록 또는 사운드 카드 ( ices-alsa.xml) 의 출력 을 Icecast2의 스트리밍 소스로 사용합니다.

이 섹션에서 <input>사운드 시스템을 PulseAudio로 설정 한 경우 장치를 교체해야 할 수도 있습니다. 이렇게하려면 해당 줄을 다음과 같이 편집하십시오.

<param name="device">pulse</param>

수신 클라이언트의 스트림 이름은 다음 섹션에서 정의됩니다.

<mount>/example1.ogg</mount>

스트리밍 시작

사운드 카드의 스트림은 먼저 Icecast2 서버를 실행 한 후 다음 명령을 사용하여 Ices2를 실행하여 시작됩니다.

/etc/init.d/icecast2 start
ices2 /home/user/somewhere/ices-pulse.xml # or any other name from .xml file

설정 수신기

수신기 측에서 라디오 "방송국"이 켜집니다. <serverIP>:8000/example1.ogg여기서 <serverIP>스트리밍 서버의 IP는 icecast.xml 파일에 정의 된 포트입니다 (기본값 8000).

스트리밍 종료

스트림은 Ices2를 종료하거나 Icecast2 서버 실행을 중지하여 종료됩니다.

killall ices2
/etc/init.d/icecast2 stop

mp3 재생 목록을 방송하기위한 얼음

mp3 파일 이 포함 된 재생 목록을 브로드 캐스트 할 수 없습니다. 우리는 설치해야 ICES 우리가해야 소스에서 설치를 .

서버 주소, 비밀번호 및 스트리밍 속성으로 구성 파일을 설정 한 후 (예를 들어, 문서에 잘 나와 있음 /usr/share/doc/ices/examples) Icecast2 서버를 통해 재생 목록 (예 : .m3u 형식)에서 mp3 오디오 파일을 스트리밍 할 수 있습니다.

/etc/init.d/icecast2 start
ices -c <path_to_config_file> -F <path_to_playlist>

추가 옵션에 대해서는의 매우 정교한 매뉴얼 페이지에서 설명서를 읽으십시오 man ices.


darkice 설치라이브 스트리밍을위한 Darkice

로컬 사운드 카드의 출력을 OGG Vorbis 또는 Darkice를 사용하여 mp3 스트림으로 스트리밍 할 수 있습니다. 로컬 사운드 카드의 스트리밍을 가능하게하려면 먼저 Pulseaudio에서 Darkice의 레코딩 장치를 정의해야합니다. 이것은 pavucontrol을 사용 하여 수행 할 수 있습니다 pavucontrol 설치. 에서 기록 탭을 선택 Monitor of <your soundcard>에 대해 "ALSA 플러그인 [darkice]" .

구성 파일 (에 제공된 잘 문서화 된 예 /usr/share/doc/darkice/examples)은 Icecast 서버 및 로컬 사운드 환경에 맞게 조정해야합니다.

[general]
duration        = 0      # duration in s, 0 forever
bufferSecs      = 1      # buffer, in seconds
reconnect       = yes    # reconnect if disconnected

[input]
device          = default # or `pulse' for Pulseaudio
sampleRate      = 44100   # sample rate 11025, 22050 or 44100
bitsPerSample   = 16      # bits
channel         = 2       # 2 = stereo

[icecast2-0]
bitrateMode     = vbr       # variable bit rate (`cbr' constant, `abr' average)
quality         = 1.0       # 1.0 is best quality
format          = mp3       # format. Choose `vorbis' for OGG Vorbis
bitrate         = 256       # bitrate
server          = localhost # or IP
port            = 8000      # port for IceCast2 access
password        = hackme    # source password to the IceCast2 server
mountPoint      = mystream.mp3  # mount point on the IceCast2 server .mp3 or .ogg
name            = mystream

이 구성을 저장 한 후 (예 :에서 ~/music/darkice.cfg) 먼저 Icecast 서버를 실행 한 후 다음을 호출하여 로컬 사운드 카드에서 펄스 오디오 출력을 스트리밍 할 수 있습니다.

/etc/init.d/icecast2 start
darkice -c ~/music/darkice.cfg

수신기 http://<localhost>:8000/mystream.mp3에서 청취 하도록 조정합니다 . <localhost>Icecast 서버의 IP입니다.


3
"로컬 네트워크에서만 스트리밍하려는 경우 로컬 호스트로 두십시오"부분과 관련하여 다른 장치가 연결할 수있는 네트워크 연결 가능 IP 또는 인터페이스 일 필요는 없습니까?
Oli

admin-user 및 admin-password는 기계 사용자 / 암호와 관련이 있습니까?
Charbel

1
@Charbel : 아니요, 관련이 없습니다. 원하는 비밀번호를 선택하십시오. 예를 들어 이들이 icecast 관리 웹 인터페이스 ( localhost : 8000 / admin ) 에 액세스해야합니다 .
Takkat

좋은 답변입니다. 감사합니다. 많은 튜토리얼에서 icecast와 mpd가 함께 언급되어 함께 작동하는 것을 봅니다. icecast와 mpd의 관계를 이해하지 못합니다. 명확히 할 수 있습니까? 각각의 역할은 무엇입니까?
CoolUserName 2016 년

1
Icecast2 암호는 일반 텍스트로 저장되고 Darkice에서 사용됩니다. 여기서 비밀 암호를 재사용하지 마십시오.
elomage
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.