2

シャウトキャストからビットレートを取得するには、次の例のように Metadata ヘッダーから取得していました。

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

しかし、一部のシャウトキャストはこの情報を提供しません

私の質問は、shoutcast からビットレートを取得する方法です。

4

2 に答える 2

0

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>

そのテキストをカンマで分割すると、次のようになります。

  • 現在のリスナー
  • ストリーム ステータス
  • ピークリスナー
  • リスナーの最大数 (サーバーの起動から)
  • 一意のリスナー
  • ビットレート
  • 曲名
于 2015-09-23T10:24:58.197 に答える
0

ビットレートを取得する唯一の実際の方法は、オーディオ ストリームをデコードすることです。

SHOUTcast サーバーはヘッダーでこのヒントを提供しますが、ビットレートが変化する可能性があるため、正確であるとは限りません。ご覧のとおり、HTTP 経由でストリームを送信する他のサーバーは、SHOUTcast が行うヘッダー パターンに常に従うとは限りません。

多くのサーバーは最初に大きなバッファを送信してクライアント バッファを満たし、接続速度をテストするため、データを受信する速度を単純に測定することもできません。

ストリームをデコードできない場合、多くのコーデックはそのビットレートをフレーム ヘッダーに入れます。MPEGの場合、フレーム ヘッダーの 3 番目のバイトの最初の 4 ビットがビットレートになります。

于 2013-04-12T13:18:07.173 に答える