11

icecast サーバー (www.icecast.org) のクライアントを開発しています。コンテンツのストリーミングに使用している形式を教えてください。

私は彼らのページを見ていましたが、ストリーム形式に関する情報はまったくありません.

次に、Wireshark トレースを確認しました。GET 要求に対する 200 OK 応答内で受信しているオーディオ データの形式を理解しているため、メタデータが含まれていない単なるバイナリ オーディオ データであるため、SHOUTcastまたはHTTPと比較します。ライブ ストリーミング (HLS)は比較的単純なアプローチです。

そうですか?経験はありますか?

Wireshark トレース スニペット:

GET /bonton-128.mp3 HTTP/1.1
Host: icecast3.play.cz
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/533.19.4 (KHTML, like Gecko) Version/5.0.3 Safari/533.19.4
Accept: application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Language: en-US
Accept-Encoding: gzip, deflate
Connection: keep-alive


HTTP/1.0 200 OK
Content-Type: audio/mpeg
icy-br:128
ice-audio-info: ice-samplerate=44100;ice-bitrate=128;ice-channels=2
icy-br:128
icy-description:Radio Bonton
icy-genre:Pop / Rock
icy-name:Radio Bonton
icy-pub:0
icy-url:http://www.radiobonton.cz
Server: Icecast 2.3.2
Cache-Control: no-cache

Here are then aac or MPEG data

よろしくお願いいたします。

ステン

4

2 に答える 2

17

あなたの目的のために、Icecast と SHOUTcast は同等です。

どちらも HTTP の粗末なバージョンを使用しています。実際、単純な HTTP リクエストを作成して標準の HTTP クライアント ライブラリを使用することができ、ほとんどの場合問題なく動作します。唯一の違いは、SHOUTcast が応答ICY 200 OKではなく返されることです。HTTP 200 OK

上記で行ったように、リクエストを行うと、直接再生できる標準のオーディオ ストリームが取得されます。ご指摘のとおり、MP3 と AAC がほぼ排他的に使用されますが、他の形式も使用できます。

メタデータが必要な場合は、それを受け取る準備ができていることをサーバーに伝える必要があります。このヘッダーをリクエストに入れる必要があります。

Icy-MetaData:1

これを行うと、応答で別のヘッダーが返されることがわかりますicy-metaint:8192。これは、8192 バイトごとにメタデータのチャンクを受け取ることを意味します。

これについてはすでに十分に文書化されているため、これ以上詳しく説明することはしません。ホイールを再入力する必要はありません:

PHP を使用してオーディオ ストリームからトラック情報をプルする

http://www.smackfu.com/stuff/programming/shoutcast.html

ただし、質問がある場合は、StackOverflow に投稿し、icecast または shoutcast としてタグ付けしてください。喜んでお手伝いします。

于 2011-05-20T13:19:22.913 に答える
0

私は最近、icecast を使用したラジオ局のプロジェクトを終了しました。centova、icecast、および lastfm から情報を取得するために使用した、ラジオ プレーヤーと PHP ラッパーをいくつか紹介したいと思います。

于 2013-10-07T21:39:09.503 に答える