为了从广播中获取比特率,人们通常从元数据头中获取比特率,例如:
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但有些人不会给出这个信息
我的问题是如何从广播中获得比特率?
发布于 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。
发布于 2015-09-23 18:24:58
Shoutcast V1有一个特殊的页面,其中包含比特率(和其他)信息。假设你的广播是在http://some-streaming-server:8000上运行的,那么这个页面的url将是:http://some-streaming-server:8000/7.html
该页面的正文看起来像这样:
<HTML><meta http-equiv="Pragma" content="no-cache"></head<body>4,1,36,80,4,64,Artist - title</body></html>用逗号分割文本,您将得到:
服务器的当前标题状态和峰值监听器数量(来自listeners
https://stackoverflow.com/questions/15954181
复制相似问题