2016-07-06 6 views
0

Was ist der Unterschied zwischen all diesen? Und was bedeuten sie?Ich habe ein paar Fragen über die Einrichtung eines MP3-Radiostreams

  1. /;stream.mp3 [Was genau die tut; Semikolon bedeuten nach dem / slash?]

  2. Auch, was ist der Unterschied, wenn ich die stream.mp3 ausziehen, und lassen Sie das Semikolon nach dem Schrägstrich /; oder wenn ich `stream.mp3 angebracht verlassen?

  3. /stream [Wie kommt es, dass dieser nur stream hat, und das ist es. [Es gibt keine ; Semikolon nach dem / Schrägstrich und es gibt keine stream.mp3?

  4. Warum könnte ein Stream ohne Semikolon arbeiten und warum sollte ein Stream einen haben?

  5. http://91.223.18.205:8000/c11_4? [icecast] Warum hat dieses eine ? Fragezeichen am Ende [und was das bedeuten wird?]

Antwort

0

Shoutcast dient seine administrativen Schnittstelle aus exakt den gleichen Port und Pfad wie die Strom. Angenommen, ich habe einen SHOUTcast-Server auf dem Portunter 198.51.100.100. Wenn ich die folgenden in meinem Browser gehen ...

http:///198.51.100.100:8000/ 

... werde ich die Shoutcast Admin-Seite sehen, wo ich mich anmelden kann und Drop-Verbindungen und was nicht. Wenn ich jedoch dieselbe URL mit einem Media Player (wie VLC oder Winamp) anrufe, höre ich einen Stream.

SHOUTcast weiß, welche geben mir basierend auf der User-Agent Anfrage Kopfzeile. Dieser Header gibt an, welcher Client versucht, eine Verbindung zum Server herzustellen. Wenn ich mit meinem Browser verbinden, könnte es etwa so aussehen:

Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36 

Wenn ich mit VLC verbinden, die User-Agent Request-Header könnte wie folgt aussehen:

NSPlayer/7.10.0.3059 

Shoutcast haben keine Liste aller Browser. Stattdessen sucht es nur nach einem Schlüsselwort ... Mozilla. Dies ist aus historischen Gründen in den meisten Agenten-Strings des Browsers zu finden. Wenn Mozilla im Header der Anforderung User-Agent ist, sendet SHOUTcast die Admin-Seite. Für alle anderen sendet es einen Stream.

Dies schafft viele Probleme. Vor allem bedeutet dies, dass Sie den Stream in einem Browser nicht hören können. Wenn Sie diesen Stream auf einer Webseite laden, enthält der String User-AgentMozilla, und der SHOUTcast-Server sendet die Admin-Seite, was zu einem Fehler beim Player führt.

Es gibt einen Weg darum. Wenn Sie im Anforderungspfad ein Semikolon ; hinzufügen, ignoriert SHOUTcast die tatsächliche User-Agent und ersetzt sie durch MPEG OVERRIDE. (Sie können dies in Ihren SHOUTcast-Serverprotokollen sehen.) Dadurch sendet der Server den tatsächlichen Funkdatenstrom.

Aus diesem Grund ist es üblich, ein Semikolon ; im Pfad für SHOUTcast-Streams zu sehen. Aber was ist mit ;stream.mp3? Jemand hat es eines Tages getan und alle anderen haben es kopiert und eingefügt. So einfach ist das. Der SHOUTcast-Server ignoriert alles nach diesem Semikolon, so dass Sie dort beliebig platzieren können.

Gelegentlich kann es einen Grund für die .mp3 obwohl. Wenn Sie über HTTP laden, sollten Sie in der Lage sein, den Antworttyp-Header Content-Type zu bestimmen, welcher Typ etwas ist. Der "Dateiname" ist völlig bedeutungslos. Sie können einen Webserver so konfigurieren, dass er mit einer beliebigen Dateinamenerweiterung so etwas wie gewünscht benennen kann, und solange Sie den korrekten Antwortkopf Content-Type gesendet haben, ist alles in Ordnung. Einmal, in den letzten ~ 15 Jahren, bin ich auf software that assumed file name extensions were valid and required gestoßen. Dies war eine sehr fehlerhafte Art, Dinge zu tun. Glücklicherweise haben sie es behoben, und alles war gut. Dies ist ein wirklich seltenes Problem, und Sie sollten sich keine Sorgen machen.

Jetzt, dass SHOUTcast Hacks erklärt werden ... auf Ihre anderen Fragen.

/stream [Wie kommt es, dass dieser nur Strom hat, und das ist es. [Da ist kein ; Semikolon nach dem/Schrägstrich und es gibt keine stream.mp3?

Die Server können alles machen, was sie wollen. Es ist nur normales HTTP. Pfade können alles sein. In diesem Fall hat sich jemand entschieden, das, was gerade läuft, anzurufen /stream. Sie benutzen wahrscheinlich auch nicht SHOUTcast. (Auch hier ist Shoutcast Nicht-Standard und nicht normal.)

Warum sollte ein Stream in der Lage sein, ohne ein Semikolon zu arbeiten, und warum sollte man Strom benötigen, einen haben?

Nur SHOUTcast benötigt das Semikolon ;, um wie erwartet zu funktionieren. Andere Server benötigen diesen Hack nicht.

http://91.223.18.205:8000/c11_4? [Icecast] Warum hat dieser einen? Fragezeichen am Ende [und was bedeutet das bedeuten?]

Fragezeichen ? in URLs trennen den Pfad von den query string. Eine Abfragezeichenfolge kann verwendet werden, um eine Liste von Parametern bereitzustellen, normalerweise für ein Skript im Pfad. In diesem Fall spielt das Fragezeichen keine Rolle, da keine Parameter dahinter stehen.

Alte IE (4, denke ich) verwendet, um Dinge übermäßig zu cachen, aber oft nicht, wenn es eine Abfrage-String beteiligt wäre. Manchmal fügen Benutzer Abfragezeichenfolgen mit einer Zufallszahl hinzu, um sicherzustellen, dass sie eine neue Kopie vom Server erhalten. Dies ist ein Hack, der seit langer Zeit nicht mehr benötigt wird. IE 4 kam vor fast 20 Jahren heraus. Heutzutage verwenden wir die richtigen Header für die Cache-Steuerung. SHOUTcast, Icecast und andere machen das richtig.

+0

Leider ignorieren aktuelle Browser die richtigen HTTP-Header, wegen dem, was ich eine "Lücke" im RFC nennen würde. Daher kann es immer noch notwendig sein, einen Abfrage-String mit zufälligen Daten zu verwenden, um ein sauberes Nachladen zu erzwingen. – TBR

+0

@TBR Können Sie näher auf die Caching-Probleme eingehen, in die Sie geraten sind? Ich habe seit langer Zeit keine Probleme mehr gehabt. – Brad

+0

Soll ein Icecast-Link im jwplayer funktionieren, ist am Ende des Links ein Fragezeichen erforderlich? http://91.223.18.205:8000/c11_4? . Was unterscheidet sich von Shoutcast, der einen Schrägstrich/erfordert; mit einem Semikolon. –

Verwandte Themen