问题标签 [internet-radio]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 尝试使用 C# 阅读和播放实时 ShoutCast 流
我一直在尝试找到一种使用 C# 播放现场 ShoutCast 流的方法。我一直在为此研究互联网,到目前为止,我只找到了一些播放固定长度流的方法,但我想播放直播电台。
有谁知道这是怎么做到的吗?
audio - 移动和网络实时音频(无线电)流媒体的最佳协议是什么?
我正在尝试为互联网广播电台构建网站和移动应用程序(iOS、Android)。网站用户播放他们的音乐或广播,而移动用户只会收听广播电台并与其他听众聊天。
我搜索了一周,并在 Amazon EC2 上使用 Wowza 引擎(使用 HLS 和 RTMP)和 SHOUTcast 服务器制作了一个原型。
使用 HLS 有 5 秒的延迟,但 RTMP 和 SHOUTcast 有 2 秒的延迟。有了这个结果,我想我应该选择 RTMP 或 SHOUTcast。
但我不确定 RTMP 和 SHOUTcast 是最好的协议。:(
我应该选择什么协议?我是否需要提供各种协议来覆盖所有平台?
javascript - Shoutcast + Web Audio API CORS 问题
我有一个问题,我已经研究了一段时间,但没有真正的进展。我目前正在尝试将我的 Shoutcast 流加载到我的 Web 音频 API 上下文中。我认为这会违反 CORS,我是对的。我尝试了通过 XHR 请求,然后再次将音频元素加载到脚本中。它与音频元素一起工作,但在尝试将其加载到脚本中时死了。看来我唯一的选择是尝试以某种方式将 CORS 标头添加到我的 Shoutcast 服务的流中。
我不知道如何做到这一点,也没有运气在网上找到资源。如果有人可以给我一些建议,将不胜感激!
stream - 如何在飞行中重新编码流并翻译?
我有 Icecast/Shoutcast 流的 url,如何以多种比特率中继这些流?我知道如何重新编码文件,但不知道如何重新编码多个比特率的流。
我可以用 Icecast + Ices 或我需要使用哪种软件来做吗?
java - 使用 HTTP 的实时音频流 - 选择协议和 Java 实现
我正在尝试为实时音频(在 Java 中)实现简单的 HTTP 服务器。假设有一个网站,您可以在其中看到正在播放的歌曲列表。当客户端连接到服务器时 - 让我们说在歌曲中间 - 我正在考虑使用“Range”HTTP标头并从歌曲的那部分开始发送数据范围。但是,如果在下载期间连接暂时丢失(并且歌曲完成) - 服务器应该发送之前的歌曲部分并完成它 - 还是服务器应该发送当时正在播放的歌曲的那些部分?什么是最佳实践/原则?
PS - 我不是在寻找用于音频流的 3rd 方软件。
编辑:
现在在对可用的实时流技术进行一些研究之后,我看到了这些目标:
1. 为简单的实时音频流选择协议
2. Java 中的协议实现(服务器端)
linux - Liquidsoap 记录输出文件夹中的所有文件
所以我有一个 Liquidsoap 实例,在端口 8080 上有一个港口输入。
我希望发生的事情是,每当有人连接到 /live 时,流就会被记录并保存在服务器上。
这很好用,但是,例如,如果我正在录制,然后断开连接并允许播放列表启动,当我再次尝试流式传输时,它会创建一个新文件,但会开始写入新文件和以前的录制文件。
它基本上是在写第一个文件。唯一不会发生这种情况的方法是,如果liquidsoap 在两次广播之间重新启动。
这是我的 liq 文件的副本:
javascript - 有什么方法可以获取 Icecast 流的广播状态?
我正在使用 Icecast 2 进行直播和广播。
我希望当广播关闭而不是播放器显示下一个广播时间之类的其他内容时,当广播打开时显示播放器进行流式传输。
android - Icecast:在 Android 上流式传输开始时暂停
我有一台服务器 Icecast 与 Liquidsoap 一起使用流式传输互联网广播,我注意到在某些 Android 设备(例如三星 Galaxy 选项卡)上接收音乐时出现问题 - 在音乐缓冲几秒钟后播放音乐开始大约一秒钟,然后突然停止,然后再沉默几秒钟,然后才开始正常播放。在其他一些 Android 设备上,如 HTC 的愿望 - 没有这样的事情发生 - 音乐在缓冲后开始正常播放。以下是相关流的示例:http ://rdsradio.ru:8000/4th.mp3
当我在 Android 设备上的浏览器 (Google Chrome) 中打开链接时,就会发生这种情况。同样的结果,我使用 android.media.MediaPlayer 类从我目前开发的 Android 应用程序连接到 Icecast 流:mediaPlayer.setDataSource("http://rdsradio.ru:8000/4th.mp3");
此外,即使在那些有问题的设备上,我通常也可以连接并收听其他 Icecast 无线电源的流,例如http://dancewave.hopto.org:9990/dance.mp3 - 这就是为什么我认为我的可能有问题Icecast + Liquidsoap 的设置 - 是什么让音乐一开始就停止播放。
我尝试在/etc/icecast2/icecast.xml 中更改这些参数,例如将burst-size 增加到10-20 倍或将burst-on-connect 设置为0,但根本没有注意到任何差异(我/etc/init.d/icecast2 reload
在更改后运行重新加载配置的参数)。
任何想法 - 如何解决这种行为?
更新:我试图在 Android 上的 VLC 播放器中打开流并且它没有问题,所以使用 android.media.MediaPlayer 似乎有问题(可能 Google Chrome 中的内置 HTML5 音频播放器使用相同的库) . 我将尝试在应用程序中使用不同的媒体播放器。