首页
/ Airtime 项目技术文档

Airtime 项目技术文档

2024-12-16 21:19:50作者:宗隆裙

1. 安装指南

基本安装步骤

Airtime 的安装过程分为两个主要步骤:

1.1 运行安装脚本

首先,进入 Airtime 项目的根目录,运行安装脚本。

  • 交互式安装: 运行以下命令以启动交互式安装:

    sudo ./install
    

    如果你的终端不是运行 Bash,则需要使用以下命令:

    sudo /bin/bash ./install
    

    你可能需要先安装 Bash。

  • 非交互式全安装: 如果你是从零开始安装 Airtime,并且没有自定义配置,可以使用以下命令进行非交互式全安装:

    sudo ./install -fiap
    

    其中:

    • -f:强制,非交互式(无提示)
    • -i:安装默认的 Icecast 2 设置
    • -a:安装默认的 Apache 设置
    • -p:创建默认的 Airtime PostgreSQL 用户

    这将安装 Airtime 所需的所有组件,并将 /usr/share/airtime 设置为 Apache 的 Web 根目录。

  • 查看所有安装选项: 要查看所有安装选项,可以运行:

    sudo ./install --help
    

1.2 完成安装

运行安装脚本后,打开浏览器并访问 http://localhost 以完成交互式设置。如果你有自定义的 Apache 配置,请导航到你的 Airtime Web 主机。

完成设置后,你将看到一个配置检查清单,以确保 Airtime 安装正确。如果有任何配置错误,检查清单将提供一些有用的提示来解决问题。

如果检查清单全部为绿色,说明你已准备好开始使用 Airtime!

2. 项目使用说明

主要功能

Airtime 是一个开源的广播电台自动化管理应用程序,具有以下主要功能:

  • 基于 Web 的远程管理:授权人员可以通过 Web 界面添加节目素材、创建播放列表或智能块,并进行实时流媒体播放。
  • 自动化调度:Airtime 提供了一个调度功能,允许用户创建带有内容的节目,并在指定的时间和日期播放。播放列表、智能块和远程流 URL 可以多次使用。
  • 可靠的播放输出:Airtime 使用开源的 Liquidsoap 流媒体语言,确保精确到亚秒级的可靠播放。
  • 开放的可扩展架构:电台可以自由扩展和修改程序代码的所有部分,基于 GNU AGPLv3 许可证。

使用流程

  1. 登录管理界面:通过浏览器访问 Airtime 的管理界面。
  2. 添加节目素材:在管理界面中上传音频文件,并为其添加元数据。
  3. 创建播放列表:使用上传的音频文件创建播放列表或智能块。
  4. 调度节目:在调度日历中安排节目播放时间。
  5. 实时流媒体播放:通过 Web 界面进行实时流媒体播放。

3. 项目 API 使用文档

Airtime 提供了 API 接口,允许开发者通过编程方式与 Airtime 进行交互。以下是 API 的基本使用方法:

API 认证

在使用 Airtime API 之前,需要进行认证。通常使用 API 密钥或用户凭证进行认证。

API 调用示例

以下是一个简单的 API 调用示例,用于获取当前播放的节目信息:

curl -X GET http://localhost/api/now-playing -H "Authorization: Bearer YOUR_API_KEY"

常用 API 端点

  • 获取当前播放的节目
    GET /api/now-playing
    
  • 获取播放列表
    GET /api/playlists
    
  • 创建播放列表
    POST /api/playlists
    
  • 获取调度日历
    GET /api/schedule
    

4. 项目安装方式

Airtime 的安装方式主要有两种:

4.1 交互式安装

通过运行 sudo ./install 命令,系统会提示你进行交互式安装,选择安装选项并完成配置。

4.2 非交互式全安装

通过运行 sudo ./install -fiap 命令,系统会自动完成所有组件的安装,并设置默认的 Icecast、Apache 和 PostgreSQL 配置。

4.3 自定义安装

如果你有特定的配置需求,可以通过运行 sudo ./install --help 查看所有安装选项,并根据需要进行自定义安装。


通过以上文档,你应该能够顺利安装、使用 Airtime 项目,并了解如何通过 API 进行交互。

项目优选

收起
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
411
313
ohos_react_nativeohos_react_native
React Native鸿蒙化仓库
C++
87
153
openGauss-serveropenGauss-server
openGauss kernel ~ openGauss is an open source relational database management system
C++
45
107
leetcodeleetcode
🔥LeetCode solutions in any programming language | 多种编程语言实现 LeetCode、《剑指 Offer(第 2 版)》、《程序员面试金典(第 6 版)》题解
Java
50
13
Cangjie-ExamplesCangjie-Examples
本仓将收集和展示高质量的仓颉示例代码,欢迎大家投稿,让全世界看到您的妙趣设计,也让更多人通过您的编码理解和喜爱仓颉语言。
Cangjie
267
391
cherry-studiocherry-studio
🍒 Cherry Studio 是一款支持多个 LLM 提供商的桌面客户端
TSX
300
28
openHiTLSopenHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
86
237
MateChatMateChat
前端智能化场景解决方案UI库,轻松构建你的AI应用,我们将持续完善更新,欢迎你的使用与建议。 官网地址:https://matechat.gitcode.com
623
70
carboncarbon
轻量级、语义化、对开发者友好的 golang 时间处理库
Go
7
2
HarmonyOS-ExamplesHarmonyOS-Examples
本仓将收集和展示仓颉鸿蒙应用示例代码,欢迎大家投稿,在仓颉鸿蒙社区展现你的妙趣设计!
Cangjie
341
197