IceCast와 Ices를 이용한 FreeBSD 10에서의 라디오 스트리밍

다음 튜토리얼에서는 IceCast 라디오 스트리밍 서버를 설정하고 FreeBSD 플랫폼에서 오디오 파일 (음악 또는 팟 캐스트)을 재생하는 방법에 대해 설명합니다. 이 튜토리얼에서는 FreeBSD 10.0 이상을 실행 중이고 루트 사용자로 로그인했다고 가정합니다. 또한 구성 파일을 편집 할 텍스트 편집기가 있다고 가정했습니다.

시작하기 전에 오디오 스트리밍 서버의 세 부분을 이해하는 것이 중요합니다. 먼저 서버 소프트웨어 자체 인 IceCast가 있습니다. IceCast는 오디오 스트림이 들어오고 나가는 중앙 허브 역할을합니다. IceCast 서비스는 소스 클라이언트에서 오디오 스트림을받습니다. 소스 클라이언트는 오디오 파일 또는 마이크와 같은 기타 오디오 소스를 읽는 프로그램입니다. 이 예에서 소스 클라이언트는 Ices이며 IceCast 서버에 오디오 스트림을 제공합니다. 세 번째 구성 요소는 청취 클라이언트입니다. 오디오 스트림은 IceCast 서버에서 오디오를 듣는 청취자로 이동합니다. 일반적으로 수신 클라이언트는 웹 브라우저, VLC 멀티미디어 플레이어 또는 WinAMP와 같은 데스크톱 응용 프로그램입니다. 시각적으로 배열은 다음과 같습니다.

 Source client (Ices) --> IceCast server --> Listening client (browser)

FreeBSD에 IceCast 스트리밍 서버를 설정하기 위해 먼저 서버 소프트웨어 자체를 설치합니다. 다음 명령을 실행하여 수행 할 수 있습니다.

 pkg install icecast2

그런 다음 /etc/rc.conf파일 을 열고 IceCast 백그라운드 서비스를 활성화합니다. /etc/rc.conf파일 의 맨 아래에 다음 텍스트를 추가하면 됩니다.

 icecast_enable="YES"

다음 단계는 IceCast 서비스를 구성하는 것입니다. IceCast 패키지는 수정 가능한 샘플 구성 파일과 함께 제공됩니다. 이 샘플 파일은 /usr/local/etc디렉토리에 있습니다. 이 샘플 파일을 편집하기 전에 사본을 만듭니다.

 cd /usr/local/etc
 cp icecast.xml.sample icecast.xml

이제 icecast.xml파일 의 몇 가지 주요 필드를 편집하려고 합니다. 대부분의 파일은 기본 설정으로 남겨 둘 수 있지만 로그인 정보를 변경해야합니다. 인증 섹션 (30 행) 을 방문하여 소스 비밀번호릴레이 비밀번호 를 적절한 것으로 변경하면 됩니다. 이 암호를 사용하면 소스 클라이언트에서 IceCast 서버로 데이터를 스트리밍 할 수 있습니다. 또한 admin-useradmin-password 변수를 시스템 고유의 변수로 변경해야 합니다. 이 두 자격 증명은 IceCast 서버의 웹 기반 인터페이스를 보호합니다. 그런 다음 150 번째 줄 아래에서 변수 mount-name , username비밀번호 . 이 세 변수는 IceCast 서버의 마운트 지점을 보호합니다. 마지막으로 icecast.xml파일 맨 아래에 주석 처리 된 보안 섹션이 표시됩니다. 보안 단락 에서 시작 <- 및 닫는 -> 기호를 제거해야합니다 . 파일이 변경 되면 파일을 저장하십시오.icecast.xml

구성 파일이 편집되면 로깅을 활성화하려고합니다. 이렇게하려면 다음 명령을 실행하십시오.

 mkdir /var/log/icecast
 chown nobody:nogroup /var/log/icecast

마지막으로 IceCast 서버를 시작합니다. 그러면 서버가 입력 및 수신 클라이언트 연결을 수신합니다.

 service icecast2 start

IceCast 서버가 시작되어 실행 중이므로 이제 재생할 것을 제공해야합니다. 다음 단계는 Ices 소스 클라이언트를 설치하는 것입니다. FreeBSD는 현재 Ices 용 바이너리 패키지를 제공하지 않으므로 포트에서 빌드해야합니다. 다음 명령을 실행하여 수행 할 수 있습니다.

 portsnap fetch
 portsnap extract
 cd /usr/ports/audio/ices
 make install
 make clean

Ices 소스 클라이언트에는 사용자 계정과 로깅이 필요합니다. Ices 소프트웨어의 사용자를 작성하고 계정에서 비밀번호를 설정하려면 다음 명령을 실행하십시오.

 pw groupadd ice
 pw useradd ices -g ice -m
 passwd ices

사용자가 생성되면 이제 Ices에 대한 로깅을 활성화 할 수 있습니다.

 mkdir /var/log/ices
 chown ices:ice /var/log/ices

이제부터는 더 이상 루트 사용자 액세스가 필요하지 않으며 ices 사용자 로 작동 할 수 있습니다 . 다음으로 두 개의 디렉토리를 만들어야합니다. 하나의 디렉토리 music에는 스트리밍 할 오디오 파일이 포함됩니다. 두 번째 디렉토리 인 conf에는 구성 파일이 포함됩니다.

 su ices
 cd /home/ices
 mkdir music conf
 cp /usr/local/share/ices/ices-playlist.xml conf/configuration.xml

이제 샘플 구성 파일이 준비되었습니다. 이제 conf/configuration.xml환경에 맞게 파일 을 편집해야 합니다. 변경해야 할 파일의 유일한 부분은 60 행입니다. 여기 에서 파일에 설정 한 암호마운트 위치 를 제공해야 icecast.xml합니다. 예를 들어 icecast.xml파일 에서 마운트 이름을로 설정 한 경우 파일의 마운트 매개 변수 도로/radio.ogg 변경해야 합니다 . 우리의 암호 필드가 일치해야 소스 암호를 우리가에서 만든 파일을. 파일이 편집 되면 변경 사항을 저장해야합니다.configuration.xml/radio.oggconfiguration.xmlicecast.xmlconfiguration.xml

구성 파일이 준비되면 다음 단계는 스트리밍 할 오디오 파일을 music디렉토리 에 복사하는 것 입니다. .oggIceCast는 .mp3기본 설정으로 파일을 처리하지 않으므로 오디오 파일은 모두 형식 이어야합니다 . 스트리밍하려는 모든 오디오 파일이 music디렉토리에 있으면 재생 목록을 만들어야합니다. 재생 목록은 스트리밍하려는 음악 목록이있는 일반 텍스트 파일입니다. 다음 명령으로 재생 목록을 쉽게 만들 수 있습니다.

 cd /home/ices/conf
 ls -d ../music/*.ogg > playlist.txt

오디오 파일은 파일에 표시된 순서대로 재생 playlist.txt됩니다. 스트리밍 오디오 순서를 조정하기 위해 텍스트 편집기에서 파일을 편집 할 수 있습니다.

오디오 파일 스트리밍을 시작하기 위해이 명령을 실행하기 만하면됩니다.

 ices configuration.xml

참고 : 종종 Ices 소스 클라이언트를 실행 한 다음 로그 아웃하고 다른 작업을 수행 할 수도 있습니다. 이 경우 화면 세션 내에서 Ices를 실행하고 싶습니다 . 다음은 화면으로 얼음을 달리는 방법에 대한 예입니다.

 screen
 cd /home/ices/conf
 ices configuration.xml

그런 다음 Ctrl + A 를 누르고 D 키를 누릅니다. 그러면 스크린 세션이 분리되고 Ices가 백그라운드에서 오디오를 재생하는 동안 로그 아웃 할 수 있습니다. 나중에 로그인하여 실행하여 Ices를 중지 할 수 있습니다.

 screen -r
 killall ices
 exit

이제 웹 브라우저에서 포트 8000의 서버�� 연결하여 오디오 스트림을들을 수 있습니다. URL은 다음과 같습니다 http://myservername:8000. 다른 사람이 스트림을들을 수있게하려면이 주소를 공개적으로 사용할 수 있습니다.

앞에서 IceCast는 .ogg파일이 아닌 파일을 재생한다고 언급했습니다 .mp3. 이것은 FreeBSD에서 극복하기가 상당히 쉽습니다. 루트 사용자로서 파일을 파일 로 변환하는 sox 라는 변환 도구를 설치할 수 있습니다. 모든 파일이 디렉토리 에 있다고 가정하면 다음과 같이 sox를 ​​설치하고 변환을 수행 할 수 있습니다..mp3.ogg.mp3/home/ices/music

 pkg install sox
 cd /home/ices/music
 for i in *.mp3; do sox ./"$i" ./"$i".ogg; done

그런 다음 다음을 사용하여 재생 목록을 새로 고칠 수 있습니다.

 cd ../conf
 ls -d ../music/*.ogg > playlist.txt

오디오 스트리밍은 대역폭을 많이 소비 할 수 있습니다. 라디오 스테이션을 청취하는 하나 또는 두 명의 클라이언트는 많은 대역폭을 요구하지 않지만 50 명 이상의 클라이언트가 할당 된 월별 대역폭을 초과하여 서버를 푸시 할 수 있습니다. 예상치 못한 재정 비용을 피하기 위해 스트리밍 서버에서 대역폭 상한을 설정하는 것이 좋습니다.

댓글 남기기

NTLite를 사용하여 업데이트로 Windows 사용자 지정 ISO를 만드는 방법

NTLite를 사용하여 업데이트로 Windows 사용자 지정 ISO를 만드는 방법

NTLite를 사용하여 Vultr 시스템과 호환되는 Windows 사용자 지정 ISO를 만드는 방법을 단계별로 설명합니다. 최신 드라이버와 업데이트 통합을 포함한 완벽 가이드.

Vultr에서 BGP 구성

Vultr에서 BGP 구성

Vultr BGP 설정을 위한 단계별 튜토리얼. ASN 할당부터 IP 라우팅 구성, BIRD 데몬 설정, FreeBSD 특이사항 및 실전 문제 해결 팁 7가지 포함한 최종 가이드

WsgiDAV를 사용하여 Debian 10에 WebDAV 배포

WsgiDAV를 사용하여 Debian 10에 WebDAV 배포

WebDAV (Web Distributed Authoring and Versioning)를 이용한 원격 파일 작성을 위한 프레임워크로, WsgiDAV 설치 및 구성 방법을 안내합니다.

데비안 7에 Mailcow 설치

데비안 7에 Mailcow 설치

Mailcow는 DoveCot, Postfix 및 기타 여러 오픈 소스 패키지를 기반으로 하는 경량 메일 서버입니다. 데비안에서 Mailcow 설치 방법을 안내합니다.

AI가 랜섬웨어 공격의 증가와 싸울 수 있습니까?

AI가 랜섬웨어 공격의 증가와 싸울 수 있습니까?

랜섬웨어 공격이 증가하고 있지만 AI가 최신 컴퓨터 바이러스를 처리하는 데 도움이 될 수 있습니까? AI가 답인가? AI boone 또는 bane인지 여기에서 읽으십시오.

ReactOS: 이것이 Windows의 미래입니까?

ReactOS: 이것이 Windows의 미래입니까?

오픈 소스이자 무료 운영 체제인 ReactOS가 최신 버전과 함께 제공됩니다. 현대 Windows 사용자의 요구 사항을 충족하고 Microsoft를 무너뜨릴 수 있습니까? 이 구식이지만 더 새로운 OS 환경에 대해 자세히 알아보겠습니다.

WhatsApp 데스크톱 앱 24*7을 통해 연결 유지

WhatsApp 데스크톱 앱 24*7을 통해 연결 유지

Whatsapp은 마침내 Mac 및 Windows 사용자용 데스크톱 앱을 출시했습니다. 이제 Windows 또는 Mac에서 Whatsapp에 쉽게 액세스할 수 있습니다. Windows 8 이상 및 Mac OS 10.9 이상에서 사용 가능

AI는 어떻게 프로세스 자동화를 다음 단계로 끌어올릴 수 있습니까?

AI는 어떻게 프로세스 자동화를 다음 단계로 끌어올릴 수 있습니까?

인공 지능이 소규모 회사에서 어떻게 인기를 얻고 있으며 어떻게 인공 지능이 성장할 가능성을 높이고 경쟁자가 우위를 점할 수 있는지 알아보려면 이 기사를 읽으십시오.

macOS Catalina 10.15.4 추가 업데이트로 인해 해결보다 더 많은 문제가 발생함

macOS Catalina 10.15.4 추가 업데이트로 인해 해결보다 더 많은 문제가 발생함

최근 Apple은 문제를 해결하기 위해 macOS Catalina 10.15.4 추가 업데이트를 출시했지만 이 업데이트로 인해 Mac 컴퓨터의 브릭킹으로 이어지는 더 많은 문제가 발생하는 것 같습니다. 자세히 알아보려면 이 기사를 읽어보세요.

빅데이터의 13가지 상용 데이터 추출 도구

빅데이터의 13가지 상용 데이터 추출 도구

빅데이터의 13가지 상용 데이터 추출 도구