디스코스에 Azuracast API 연동

Discourse에 AzuraCast API 통합

AzuraCast 링크: https://www.azuracast.com/

AzuraCast API 링크: Swagger UI

AzuraCast 소프트웨어는 웹 라디오 운영을 위한 오픈 소스 완결 솔루션입니다. 모든 기능이 브라우저를 통해 제어되며, 완전히 브라우저 기반의 스트리밍 클라이언트도 구현되어 있습니다. 라디오 자동화 기능은 지속적으로 개발되고 있으며 일부 기능은 여전히 개선이 필요하지만, 이미 생산 환경에서 사용할 수 있는 수준에 도달했습니다.

AzuraCast의 기반 구조는 검증된 컴포넌트를 기반으로 하되, 현재의 기술 수준에 부합하도록 노력하고 있습니다. Icecast 스트리밍 플랫폼(Shoutcast 선택 가능)과 Liquidsoap 스크립트 언어를 사용하여 스트리밍 플랫폼을 구성하며, 개별 스트림은 방대한 웹 애플리케이션을 통해 관리됩니다. 모든 시스템에서 설치를 최대한 쉽게 하기 위해 모든 컴포넌트는 Docker 컨테이너로 가상화되어 있습니다. 설정은 몇 가지 커맨드 라인 명령으로 줄여졌으며, 나머지는 브라우저에서 수행됩니다. 따라서 AzuraCast는 모든 일반적인 Linux 시스템에서 실행되어야 합니다. Raspberry Pi와 같은 ARM 기반 플랫폼은 현재 지원되지 않습니다.

라디오의 다양성을 위해
플랫폼의 기본 원리는 단일 라디오 방송국이 아니라 여러 개의 독립적인 방송국을 제공할 수 있는 가능성입니다. 이를 통해 완전한 호스팅 서비스를 운영할 뿐만 아니라, 모든 취향에 맞는 적절한 음악 색감을 제공하는 웹 라디오도 운영할 수 있습니다. 각 방송국은 자체 프로필을 가지고 있으며, 자신의 음악 파일과 플레이리스트를 관리합니다. 또한, 내장된 웹 DJ나 전통적인 스트리밍 소프트웨어를 통해 라이브 방송을 송출할 수 있는 권한이 부여된 사용자를 생성할 수도 있습니다. 광범위한 설정, 통계 및 기타 관리 도구가 인터페이스를 완벽하게 보완합니다. 우리는 보조 기술 사용자를 위해까지 고려하여, 전체 화면이 스크린 리더를 통해 매우 잘 작동하도록 설계했습니다.

방송 프로세스에서의 개선 필요성
로테이션은 플레이리스트를 사용하여 설계됩니다. 그러나 사용자 인터페이스에서는 처음에는 목록에 할당된 파일 대신 설정과 계획 규칙만 보이며, 이는 다른 라디오 자동화 시스템에서 전환할 때 다소 혼란을 줄 수 있습니다. 플레이리스트를 편집할 때 노래 기반인지 URL 재생(즉, 전달된 메시지나 프로그램과 같은 외부 콘텐츠)인지 결정합니다. 그러나 혼합된 플레이리스트는 아직 불가능합니다. 예를 들어, 로컬 오프너 파일, URL을 통해 전달된 메시지, 로컬 클로저가 포함된 메시지 컨테이너는 간접적으로만 가능합니다. 음악 파일 영역의 플레이리스트는 콘텐츠로 채워집니다. 개별 파일이나 전체 폴더는 여러 플레이리스트에 할당할 수 있으므로 파일의 중복 업로드는 필요하지 않습니다. 새 콘텐츠는 브라우저를 통해 업로드할 수 있습니다. 대량의 데이터를 다룰 경우, Docker 컨테이너에 임시 FTP 서버를 설정할 수 있지만, 이는 커맨드 라인을 통한 개입이 필요합니다.

Auto-DJ의 동작은 방송국의 관리 영역에서 정의됩니다. 이는 소위 크로스페딩(즉, 개별 파일 간의 전환)도 스마트한 옵션을 제공한다는 것을 보여주며, 믹싱 시 트랙의 볼륨을 고려하지만 아직 무음 감지를 포함하지 않아 때로는 노래 간의 전환이 다소 거칠게 느껴질 수 있습니다. 또한 파일 유형별 별도의 페딩 설정도 없습니다. 음악 조각 간의 전환은 상당히 길게 설정할 수 있지만, 징글이나 음성 트랙은 페딩을 최소화하거나 아예 없애고 싶어 합니다. 따라서 여기서는 여전히 최적화할 부분이 많습니다. 사실, AzuraCast는 이미 숙련된 사용자에게 Liquidsoap 설정에 자체 코드를 주입할 수 있는 옵션을 제공합니다.

결론
AzuraCast는 끊임없이 개발되고 있으며, 현재는 거의 매일 업데이트되고 있습니다. 소프트웨어가 이미 생산 환경에서 사용 가능하지만, 숙련된 라디오 제작자들은 여전히 하나 또는 두 가지 기능을 기다리고 싶어 할 것입니다. 그러나 소수의 주요 개발자가 프로젝트를 이끌고 있다는 점을 감안할 때, AzuraCast는 유사한 상용 제품과 비교해 볼 수 있으며 일부 측면에서는 이를 능가하기도 합니다. 따라서 지켜볼 가치가 있습니다. 간단한 Docker 설치를 통해 진행 상황을 모니터링하기 위한 테스트 환경을 빠르게 설정할 수 있습니다.

개발은 GitHub에서 이루어집니다. 팀은 Icecast 스트림을 위한 PHP 기반 제목 표시와 같은 개별 소프트웨어 컴포넌트를 자체 프로젝트에 사용할 수 있도록 제공하기도 합니다. 설치 설명서와 지원 옵션이 포함된 웹사이트는 Azuracast.com에서 찾을 수 있습니다.

여러 해 전에 이곳에서 소개된 airtime처럼 AzuraCast가 소멸하지 않기를 바랄 뿐입니다. 그리고 그…

1개의 좋아요

AzureCast와의 API 통합은 꽤 넓은 범위의 작업입니다. Discourse에서 AzureCast와 원하는 종류의 통합이 onebox를 통해 라디오 스테이션으로 링크하는 것인지는 가정하고 있습니다.

:arrow_up: 작동하지 않는 것으로 보입니다. onebox 임베드는 Discourse 주제에서 다음과 같은 작은 오디오 플레이어를 포함할 수 있어야 합니다:

AzureCast에는 임베드 지원이 있는 것 같습니다:

공개 페이지: AzuraCast에는 기존 웹 페이지에 통합하거나 자체 커스터마이징된 플레이어의 기반으로 사용할 수 있는 임베드 가능한 공개 페이지가 포함되어 있습니다.

따라서 soundcloud에서처럼 다음과 같은 것이 가능해야 합니다:

5개의 좋아요