首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从shoutcast获取比特率

从shoutcast获取比特率
EN

Stack Overflow用户
提问于 2013-04-12 00:34:24
回答 2查看 706关注 0票数 2

为了从广播中获取比特率,人们通常从元数据头中获取比特率,例如:

代码语言:javascript
复制
icy-notice1: This stream requires 
<A href="http://www.winamp.com/" target=_blank>Winamp</A> 

icy-notice2: SHOUTcast Distributed Network Audio Server/Linux v1.9.5

icy-name: RadioABF.net - Paris Electro Spirit Live From FRANCE

icy-genre: Techno House Electronic

icy-url: <A href="http://www.radioabf.net/" target=blank>http://www.radioabf.net/</A>

content-type: audio/mpeg
icy-pub: 1

icy-metaint: 32768


icy-br: 160

但有些人不会给出这个信息

我的问题是如何从广播中获得比特率?

EN

回答 2

Stack Overflow用户

发布于 2013-04-12 21:18:07

获得比特率的唯一真正方法是解码音频流。

虽然SHOUTcast服务器在它们的报头中给出了这个提示,但它不能保证是准确的,因为比特率可能会改变。正如您所看到的,通过HTTP发送流的其他服务器并不总是遵循SHOUTcast所遵循的头模式。

您也不能简单地测量接收数据的速度,因为许多服务器最初会发送较大的缓冲区来填充客户端缓冲区并测试连接速度。

如果您无法解码该流,许多编解码器将在其帧头中添加该比特率。对于MPEG,the first four bits of the third byte in the frame header give you the bitrate

票数 0
EN

Stack Overflow用户

发布于 2015-09-23 18:24:58

Shoutcast V1有一个特殊的页面,其中包含比特率(和其他)信息。假设你的广播是在http://some-streaming-server:8000上运行的,那么这个页面的url将是:http://some-streaming-server:8000/7.html

该页面的正文看起来像这样:

代码语言:javascript
复制
 <HTML><meta http-equiv="Pragma" content="no-cache"></head<body>4,1,36,80,4,64,Artist - title</body></html>

用逗号分割文本,您将得到:

服务器的当前标题状态和峰值监听器数量(来自listeners

  • Maximum start)

  • Unique listeners

  • Bitrate

  • Song
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15954181

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档