Streamripper sind ein leidiges Thema. Die einen mögen sie, treiben sie doch die Hörerzahlen in die Höhe, die anderen hassen sie. Ich, als ehemaliger Betreiber eines Radios, zähle mich zu letzteren. Warum? Ganz einfach: Ein Radio zu betreiben, kostet nicht nur einiges an Zeit, sondern auch eine Menge Geld. Wieviel, dies hängt zumindest hier in Deutschland unter anderem von der Sendequalität (kbps) und vor allem von den eindeutigen Hörerzahlen (Unique IPs) ab. Hinzu kommen noch die Kosten, um neue Musik legal zu erwerben.
Das Streamrippen ist zwar in Deutschland legal, aber ich möchte als Moderator bzw. Betreiber für Hörer Radio machen und nicht Streamripper kostenlos mit Musik versorgen.
Wie kann ich denen also nun den Spaß am Rippen versauen?
Dazu muss man wissen, wie automatische Streamripper eigentlich funktionieren. Die meisten überwachen einfach die übertragenen Metadaten (Interpret – Titel) und erkennen, am Wechsel dieser, den Anfang eines neuen Songs.
Wie kann ich diese Eigenschaft nun gegen Streamripper einsetzen?
Ganz einfach – zumindest beim SAM Broadcaster, denn hier kann ich mittels eines kleinen PAL-Scripts (Playlist Automation Language), eine Metadata Rotation realisieren.
metarotation.pal
var Slogan : TSongInfo; var CurSong : TsongInfo; // Script in dauerschleife laufen lassen PAL.Loop := True; // Warte HH:MM:SS bis zum nächsten Wechsel PAL.WaitForTime('+00:01:00'); Slogan := TSongInfo.Create; Slogan['artist'] := 'Moderatorname / Radioname (Ersetzt Interpret)'; Slogan['title'] := 'Sendungsname (Ersetzt Songname)'; Encoders.SongChange(Slogan); Slogan.Free; // Warte HH:MM:SS bis zum Wechsel zurück zu den originalen Songinformationen (Interpret - Titel) PAL.WaitForTime('+00:00:15'); CurSong := ActivePlayer.GetSongInfo; Encoders.SongChange(CurSong); CurSong.Free;
Nach dem Start wartet das Script 1 Minute, dann ändert es die Metadaten (Interpret – Titel) in die unter Slogan[‚artist‘] und Slogan[‚title‘] angegebenen Informationen. Nach weiteren 15 Sekunden Wartezeit werden die Metadaten dann wieder auf Interpret – Titel des aktuellen Songs zurückgesetzt und das Script beginnt von vorne.
Der Streamripper erhält also keine vollständige Aufnahme, sondern Stücke von einer Minute und von 15 Sekunden Länge und müsste sich diese entsprechend zusammenschneiden.
Wer ganz gemein sein will, der ändert PAL.WaitForTime(‘+00:01:00′); ebenfalls in PAL.WaitForTime(‘+00:00:15′);
Somit würde ein 2 Minuten Song in 8 Teile a 15 Sekunden zerstückelt.
Das Ganze geht übrigens auch mit dem SC Trans, hier ist der Aufwand jedoch etwas größer, doch dazu später vielleicht mehr.