Das könnte an der Zeichencodierung liegen. Zumindest wenn ich mir den Screenshot anschaue mit Silbermond - Leichtes Gep,¢^ck
Da ich sehe das du auf UTF 8 deinen Encoder eingestellt hast, könnte es am IceCast liegen der diese Zeichencodierung nicht richtig versteht und Ergo nicht richtig überträgt.
Zum Test kannst du deinen eigenen Encoder mal auf Automatisch stellen oder andere Codierung versuchen und schauen ob’s dann klappt?
Oder ggf. in der IC Config nach der Einstellung für die Zeichencodierung schauen falls du hierfür Zugang hast.
Danke für deine Antwort.
Aber dann müsste es doch auch spinnen wenn ich nicht über den stream monitor sende oder?
Es ist überall utf 8 eingestellt.
Wo finde ich denn die IC Config?
Grüße
Manuel
Häng das hier mal als Hintergrund-Script ein und beobachte das Systemprotokoll:
// Called when metadata is received from a (relayed) stream
procedure OnItemMetadata(Item: IPlaylistItem; Metadata: string);
begin
SystemLog('Metadaten empfangen: ' + Metadata);
end;
Hallo Torben,
Hier mal das Protokoll
Bei meinem Azuracast kommt weiterhin nur ein “A” an.
Danke schonmal für die Hilfe
Zudem habe ich die Zeichenkodierung mal auf Automatisch gestellt, fehler ist immernoch da
Grüße
Manuel
Unten beim Typ-Filter ist der Haken bei Streams auch gesetzt?
Vermutlich ja aber nur um sicher zu gehen.
@manuel.sueffert Ich schätze auch, dass wir hier eine Verkettung von falschen Zeichenkodierungen haben.
Wenn bei einem Icecast Server UTF-8 im Encoder steht müssen eine ganze Menge Dinge Passen.
Wir haben also die Kette “PC-A ->Icecast->PC-B->Azurecast”
Wie ist die Zeichenkodierung bei PC-A?
Wie ist die Zeichenkodierung beim Mountpoint auf dem Icecast Server konfiguriert? (Auszug aus der Config)
Zeichenkodierung bei PC-B war UTF-8, ist Latin (Automatik)?
Welche Zeichenkodierung erwartet Azurecast? Steckt da auch ein Icecast dahinter oder wie nimmt der den Stream entgegen? Wie ist dort der MountPoint konfiguriert?
EDIT: Damit ich keine falschen Vorschläge mache: Soll anstatt PC-A später auch von anderen eingespeist werden, die ggf. nicht mAirlist sind?
hey, also azuracast ist auch ein icecast. der punkt beim Typ-Filter ist auch Stream ist auch an.
PC-A und PC-B haben die gleiche Zeichenkodierung (UTF-8)
Was bei AzuraCast eingestellt ist muss ich nachfragen darauf habe ich keinen zugruff.
EDIT: Nein, es wird ausschlieslich mAirList genutzt zum verbinden.
Wie ist der Mountpoint beim Icecast zwischen PC-A und B eingestellt?
Am besten einen Auszug aus der Config.
Kann ich dir die Config privat senden?
Du kannst ja Passwörter und Mount Name abändern.
Der Auszug aus dem Mount Point müsste auch ausreichend sein und nicht die kompletten Server Daten.
<!-- Default settings for all mounts that don't have a specific <mount type="normal">.
-->
<!--
<mount type="default">
<public>0</public>
<intro>/server-wide-intro.ogg</intro>
<max-listener-duration>3600</max-listener-duration>
<authentication type="url">
<option name="mount_add" value="http://auth.example.org/stream_start.php"/>
</authentication>
<http-headers>
<header name="foo" value="bar" />
</http-headers>
</mount>
-->
<!-- Normal mounts -->
<!--
<mount type="normal">
<mount-name>/example-complex.ogg</mount-name>
<username>othersource</username>
<password>hackmemore</password>
<max-listeners>1</max-listeners>
<dump-file>/tmp/dump-example1.ogg</dump-file>
<burst-size>65536</burst-size>
<fallback-mount>/example2.ogg</fallback-mount>
<fallback-override>1</fallback-override>
<fallback-when-full>1</fallback-when-full>
<intro>/example_intro.ogg</intro>
<hidden>1</hidden>
<public>1</public>
<authentication type="htpasswd">
<option name="filename" value="myauth"/>
<option name="allow_duplicate_users" value="0"/>
</authentication>
<http-headers>
<header name="Access-Control-Allow-Origin" value="http://webplayer.example.org" />
<header name="baz" value="quux" />
</http-headers>
</mount>
-->
<!--
<mount type="normal">
<mount-name>/auth_example.ogg</mount-name>
<authentication type="url">
<option name="mount_add" value="http://myauthserver.net/notify_mount.php"/>
<option name="mount_remove" value="http://myauthserver.net/notify_mount.php"/>
<option name="listener_add" value="http://myauthserver.net/notify_listener.php"/>
<option name="listener_remove" value="http://myauthserver.net/notify_listener.php"/>
<option name="headers" value="x-pragma,x-token"/>
<option name="header_prefix" value="ClientHeader."/>
</authentication>
</mount>
-->
ich hoffe das ist das richtige
EDIT: hier was aus der error log in icecast von PC-B
2021-09-13 18:37:17] INFO admin/admin.c Metadata on mountpoint /manuels changed to "Calvin Harris feat. Tom Grennan - By Your Side"
[2021-09-13 18:37:17] WARN stats/stats.c No charset found for "ISO8859-1"
Moment, Du streamst in ogg? Vom PC-A?
Nein, eigendlich MP3 aber hier PC-A
EDIT: Das sind die standart einstellungen in der config ich habe da nichts gemacht
Du hast im Icecast die Defaultwerte oder in mAirlist?
oh sorry mein fehler in icecast, wollen wir vielleicht in discord reden, so spamen wir hier nicht alles so voll wäre ein vorschlag von mir
Da es ja ein reiner IceCast in deinem eigenen LAN ist, sind die Einstellungen eigentlich OK. Was ich vermisse ist:
<charset>ISO8859-1</charset>
Zumindest wenn ich mir die Standart Config anschaue unter:
https://www.icecast.org/docs/icecast-trunk/config_file/
Okey, dannn füge ich es mal ein wo genau muss es eingefügt werden in welchem Bereich in der Config?
Das gibt es in der default config nicht, weil das der Default wert ist bei MP3
Mit <charset>UTF-8</charset>
würde ein Schuh daraus aber damit das greift, ist noch deutlich mehr zu korrigieren.
Ich bin gerade mitten in einer mAirlist Serverumstellung, habe nur bedingt Zeit.
So, mein Serverumzug hat geklappt.
Jetzt wo ich dann mal nicht nur mit einem Auge den Quellcode gelesen habe, habe ich die Passage erkannt. Das kam mir irgendwie komisch vor und ja, das ist ja alles auskommentiert. Tut also nix und auch nix falsches.
Ich konfiguriere eigentlich immer alle Mountpoints sehr spezifisch aber nur im LAN und nur mit einem Source, sollte das eigentlich auch so gehen.
Ich habe mir aus der Config mal den Default Abschnitt raus genommen und einkommentiert. ACHTUNG: Ich habe oben geschrieben <charset>UTF-8</charset>
das ist falsch! Es muss ohne Bindestrich geschrieben werden. <charset>UTF8</charset>
<!-- Default settings for all mounts that don't have a specific <mount type="normal">.
-->
<mount type="default">
<public>0</public>
<hidden>0</hidden>
<charset>UTF8</charset>
</mount>
<!-- Normal mounts -->
Alles raus geworfen und eigentlich nur das Charset dazu gepackt. Ob Hidden oder nicht, macht im LAN auch keine Unterschied.
Ich habe die Kommentare vor und nach der Passage drin gelassen, damit Du sehen kannst, wo das einzufügen ist. Nach dem bearbeiten der Config, Icecast neustarten
PC-A muss dann im Encoder auf UTF8 stehen
PC-B je nach dem, was Azurecast erwartet. Da UTF8 mit Titeln aus PC-B funktioniert hat, würde ich das dort auch erst mal auf UTF8 im Encoder stehen lassen.
Funktioniert das nicht drehst Du das ganze komplett um:
In der Icecast Config nimmst Du die Zeile Charset komplett weg, alles andere bleibt. (Icecast neustarten)
PC-A im Encoder: Charset auf Automatisch
PC-B im Encoder: Charset auf Automatisch
EDIT: Grundsätzlich würde ich über die gesamte Strecke einen einheitlichen Zeichensatz verwenden.
@Torben irgendwie gibt es ja immer mal wieder Problem mit der Zeichenkodierung. Daher zweckendfremde ich diesen Post mal als Feature Request.
Ich hätte gerne eine Option (defualt an), die beim Titel Update im HTTP-GET, das eingestellt Charset mit übergibt. Es könnte ältere Icecast Versionen geben, die das nicht verstehen, darum schaltbar. Aber bei den aktuellen wüsste Icecast was kommt und würde unabhängig von dem was im Mount-Point eingestellt ist, die richtige Kodierung benutzen.
Stehe auch gerne als BETA Tester zur Verfügung.