| WilliW | 9 Posts | |
| |
|
|
| WilliW | 9 Posts | |
| wrote on 02.07.16 at 17:37 | | Ok ich antworte mir mal selbst… das Problem sind Doppelpunkte im Passwort, die von der Funktion ParseURL() als Trennzeichen zwischen Host und Port interpretiert werden. Es kann dann keine gültige Portnummer nach dem Doppelpunkt extrahiert werden.
Ich wüsste also, wie man das Problem beheben kann, habe aber leider nicht die Entwicklungsumgebung, um dies zu tun. So muss ich wohl weiter mit VLC herumwerkeln, der diese URL übrigens klaglos öffnet.
Cheers, Willi |
|
|
|
| Yo24hua | 727 Posts | |
| | | | | Legalität, Radio Verzeichnisse, Diskographie Verzeichnisse, Reguläre Ausdrücke, Videos...: Yo24hua's streamWriter Special: > > > https://sites.google.com/site/yo24hua < < <
Alles mit Ruhe & Muse, denn Unmöglich sind nur die Dinge, die man nicht tut! Befreie dich, Befreie dich, Befreie dich und du wirst deinen Weg finden! ··· ¥oæhua ··· |
|
|
| alex | 2549 Posts | |
| wrote on 02.07.16 at 21:01 | | Moin,
stark, dass du dich durch den Quelltext gewühlt hast! Das Problem geht aber noch weiter - streamWriter unterstützt keine HTTP-Authentifizierung, von daher würde es auch nicht funktionieren, wenn ParseURL() alles richtig machen würde. Zu Yo24huas Post, im Prinzip ist das richtig, allerdings bin ich bemüht, Premium-Streams herauszufiltern, so dass es zu keinen Problemen kommt. |
| | | | LG/Best regards, Alex
"Journalism is printing what someone else does not want printed. Everything else is public relations." - George Orwell
D1734FA178BF7D5AE50CB1AD54442494 |
|
|
| WilliW | 9 Posts | |
| wrote on 03.07.16 at 12:56 | | Auch moin :)
Danke für eure Antworten. Dass per Default die URLs an die Community geschickt werden, war mir nicht klar. Da gibt es ja dann die Häkchen in der Konfiguration, um das abzuschalten.
Dann wage ich einmal dem Experten zu widersprechen, was HTTP Auth angeht. Dieses kommt doch nur ins Spiel, wenn Username und Passwort ungültig oder dem Server nicht bekannt sind. Wenn ich - wie in meinem Fall - beides als URL-Parameter mitschicke, und der Server diese Parameter auswertet und als gültig erkennt, wird er keine Authentifizierung anstoßen. Wenn ich meine Komplett-URL in die Browserleiste eingebe oder bei VLC verwende, findet jedenfalls kein HTTP Auth statt, und beide spielen den Stream ohne weitere Nachfrage ab. Wenn ich die Argumente weglasse, zeigt der Browser die Auth-Box an und VLC meldet HTTP 401. Soweit alles schlüssig. Oder täusche ich mich?
Jetzt habe ich auch noch ParseURL() überlistet, indem ich ihm einfach die Portnummer mitgegeben habe. Meine URL lautet nun:
http://streams.calmradio.com:80/api/175/64/stream?user=Willi&pass=pass:wort
Diese wird jetzt auch von streamWriter akzeptiert, denn ParseURL() schluckt den ersten Doppelpunkt samt Portnummer und lässt alle weiteren Doppelpunkte gnädig bestehen. Das Ausgangsproblem dieses Threads ist damit umgangen.
Leider kann er nun mit dem Stream nichts anfangen, ich bekomme "Unbekannter Content-Type". Wie gesagt können alle Browser und alle anderen Streamplayer, die ich ausprobiert habe, diesen Stream abspielen, nur streamWriter hat Probleme damit.
Vielleicht gibt es noch eine Idee? Ich könnte auch einen anderen Player/Ripper verwenden, habe aber noch keinen gefunden, der den Stream in einzelne Dateien pro Track aufspaltet und ID3 Tags hinzufügt. Da hoffe ich noch darauf, dass streamPlayer die Metadaten richtig interpretieren kann.
Wünsche allseits noch einen schönen Sonntag, Willi |
|
|
|
| Yo24hua | 727 Posts | |
| wrote on 03.07.16 at 14:04 | | . Ich kommuniziere öfters mal mit diversen Radiobetreibern bzw. lese allgemein infos dazu. Es gibt etliche davon die solche Ripping Programme über ihre Kennung, die diese bei der Anfrage mitsenden, Blockieren. Das kann durchaus auch hier der Fall sein!
Radio Raven hat das lange zeit so gemacht. Die haben das allerdings aufgegeben weil man das über Proxys umgehen konnte.
Laut https://calmradio.com/terms ist das was du da machen möchtest allerdings auch nicht zulässig! Das nur mal als Hinweis bevor du dir eine Sperrung seitens Calmradio erwirkst (hat es schon in anderen fällen gegeben)! . |
| | | | Legalität, Radio Verzeichnisse, Diskographie Verzeichnisse, Reguläre Ausdrücke, Videos...: Yo24hua's streamWriter Special: > > > https://sites.google.com/site/yo24hua < < <
Alles mit Ruhe & Muse, denn Unmöglich sind nur die Dinge, die man nicht tut! Befreie dich, Befreie dich, Befreie dich und du wirst deinen Weg finden! ··· ¥oæhua ··· |
|
|
| alex | 2549 Posts | |
| wrote on 03.07.16 at 17:14 | | Moin,
als URL-Parameter klappt das natürlich. Schau dir mal mit Wireshark oder so an, was der Server als Content-Type zurückmeldet. Unterstützt werden 'audio/mpeg', 'audio/aacp' und 'audio/aac'. Eventuell fehlt da einfach nur der Typ, obwohl es sich um einen Stream handelt, den streamWriter verarbeiten könnte.
@Yo24hua: Ich habe gerade mal geschaut, irgendwann habe ich den User-Agent aus dem HTTP-Header rausgenommen. Ein Radiosender kann eigentlich nicht mehr erkennen, ob es sich bei dem Client um streamWriter handelt oder nicht. |
| | | | LG/Best regards, Alex
"Journalism is printing what someone else does not want printed. Everything else is public relations." - George Orwell
D1734FA178BF7D5AE50CB1AD54442494 |
|
|
| WilliW | 9 Posts | |
| wrote on 03.07.16 at 18:59 last edited by WilliW on 03.07.16 at 19:10 | | GET /api/175/64/stream?user=Willi&pass=pass:wort HTTP/1.1 Host: streams.calmradio.com Accept: */* Icy-MetaData:1 Connection: close
HTTP/1.1 200 OK Server: nginx Date: Sun, 03 Jul 2016 14:27:24 GMT Content-Type: audio/mpeg; charset=utf-8 Transfer-Encoding: chunked Connection: close Cache-Control: max-age=0, private, must-revalidate Accept-Ranges: none icy-br: 64 ice-audio-info: bitrate=64;samplerate=44100;channels=2 icy-description: CALM RADIO icy-genre: Classical icy-name: CALM RADIO - BAROQUE icy-pub: 1 icy-url: https://calmradio.com/ Cache-Control: no-cache Pragma: no-cache Expires: Mon, 26 Jul 1997 05:00:00 GMT icy-metaint: 16000
… gefolgt von vielen Stream-Bytes. Alle 5 Sekunden setzt streamWriter die Verbindung zurück und baut sie neu auf.
Der Fehler "Unbekannter Content-Type" dürfte laut Source-Code in ICEStream.pas, Zeile 501ff. nicht auftreten, wenn der content type als 'audio/mpeg' erkannt wird. Wird vielleicht 'audio/mpeg; charset=utf-8' erkannt? |
|
|
|
| alex | 2549 Posts | |
| wrote on 04.07.16 at 15:05 | | Wird vielleicht 'audio/mpeg; charset=utf-8' erkannt? Ich denke, dass es daran liegt, habe gestern kurz geguckt. Ich schaue mal, ob ich das diese Woche beheben kann. Wenn es soweit ist, dann poste ich hier. |
| | | | LG/Best regards, Alex
"Journalism is printing what someone else does not want printed. Everything else is public relations." - George Orwell
D1734FA178BF7D5AE50CB1AD54442494 |
|
|
| WilliW | 9 Posts | |
| wrote on 04.07.16 at 17:57 | | Hallo Alex,
das wäre super, denn ich habe inzwischen herausgefunden, dass streamWriter die calmradio-Metadaten richtig interpretiert und richtige Einzeldateien schreibt.
Gruß Willi |
|
|
|
| alex | 2549 Posts | |
| wrote on 07.07.16 at 21:11 | | Moin,
bitte mal mit der neuesten Build testen. |
| | | | LG/Best regards, Alex
"Journalism is printing what someone else does not want printed. Everything else is public relations." - George Orwell
D1734FA178BF7D5AE50CB1AD54442494 |
|
|
| WilliW | 9 Posts | |
| wrote on 09.07.16 at 17:31 | | Das funzt jetzt, vielen Dank Alex!
Allerdings nur mit dem Workaround hostname:80, vielleicht kannst du ja noch fürs nächste Build den URL Parser fixen.
So, dann auf zu Paypal! :) |
|
|
|
| WilliW | 9 Posts | |
| wrote on 09.07.16 at 17:47 | | Ooopsss!
In der Euphorie zu früh gefreut (und gespendet). StreamWriter verbindet sich jetzt, empfängt Daten, zeigt auch die Datenmenge an, spielt aber nichts ab und speichert nichts !!
Sobald ich einen "normalen" Stream auswähle, wird normal abgespielt und gespeichert.
Was nun? |
|
|
|
| alex | 2549 Posts | |
| wrote on 09.07.16 at 22:21 | | Moin,
das ist schade. Ich bin einfach mal so dreist: Könntest du mir die URL mit Benutzername und Passwort testweise zur Verfügung stellen (per Mail)? Oder hast du zufällig einen anderen Stream, der sich so verhält? Sonst kann ich da nicht viel machen fürchte ich…
Achja: Wenn wir das nicht hinbekommen, und die Spende aus deiner Sicht mit der Problembehebung verbunden ist, kann ich das Geld selbstverständlich zurück schicken. |
| | | | LG/Best regards, Alex
"Journalism is printing what someone else does not want printed. Everything else is public relations." - George Orwell
D1734FA178BF7D5AE50CB1AD54442494 |
|
|
| Yo24hua | 727 Posts | |
| | | | | Legalität, Radio Verzeichnisse, Diskographie Verzeichnisse, Reguläre Ausdrücke, Videos...: Yo24hua's streamWriter Special: > > > https://sites.google.com/site/yo24hua < < <
Alles mit Ruhe & Muse, denn Unmöglich sind nur die Dinge, die man nicht tut! Befreie dich, Befreie dich, Befreie dich und du wirst deinen Weg finden! ··· ¥oæhua ··· |
|