1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

Shoutcast Transcoder: Zwei DJ-Namen

Dieses Thema im Forum "Internetradio- und Heimstudio-Software" wurde erstellt von endy66, 22. Dezember 2011.

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. endy66

    endy66 Benutzer

    Guten Tag

    Mich würde interessieren, wie der DJ Name im Stream angezeigt werden kann.
    Wenn ich z.b. per Sam Broadcaster oder Virtual DJ auf den Stream gehe, wird
    weiterhin das angezeigt, was der Transcoder (Playlist) vorher gesendet hat.
    Lediglich das Titleupdate funktioniert, nicht aber der Stationname.

    Hoffe, dass mir jmd helfen kann.

    Mit freundlichen Grüssen
     
  2. MADxHAWK

    MADxHAWK Benutzer

    Hallo endy66,

    Um deine Frage kurz und bündig zu beantworten: GARNICHT, zumindest nicht über die Metainformationen.
    Alle derzeitigen Versionen des sc_trans leiten ausschließlich NUR die Metainformationen Artist und Title weiter, NICHT jedoch Station Name, Stream URL, Genre, AIM, ICQ, IRC.
    Dies wird eventuell in folgenden Versionen nachgerüstet.

    Bei Sam und soweit ich weiss auch bei mAirlist kannst du jedoch die Ausgabe der Titelinformationen formatieren.

    In Sam z.B. so: DJ-SchlagMichTot mit $combine$
    würde zu einer Titelanzeige führen die so aussieht:
    Falls es um den gr-radiostatus geht siehe auch hier-> http://www.radioforen.de/index.php?threads/gr-radiostatus-v2-6.33598/

    - MAD
     
  3. endy66

    endy66 Benutzer

    Ok vielen Dank für die schnelle und ausführliche Antwort!

    Mit freundlichen Grüssen
     
  4. MADxHAWK

    MADxHAWK Benutzer

    Ich hab hier eventuell eine Alternative aber auch nur weil ich gerade an etwas ähnlichem arbeite.

    PHP:
    function sct_get_djname()
    {
        
    // IP oder Hostname des SC-Trans Servers
        
    $sc_host 'stream.host.de';
     
        
    // API Port des SC-Trans
        
    $sc_port '7999';
     
        
    // API User (Default: admin)
        
    $sc_user 'admin';
     
        
    // API Adminpass (Default: goaway)
        
    $sc_pass 'goaway';
     
        
    mt_srand((double)microtime()*1000000);
        
    $seq mt_rand(1,100);
        
    $post 'op=getstatus&seq=' $seq;
     
        
    $ch curl_init($sc_host '/api');
        
    curl_setopt($chCURLOPT_PORT$sc_port);
        
    curl_setopt($chCURLOPT_TIMEOUT5);
        
    curl_setopt($chCURLOPT_POSTtrue);
        
    curl_setopt($chCURLOPT_RETURNTRANSFERtrue);
        
    curl_setopt($chCURLOPT_HTTPAUTHCURLAUTH_BASIC);
        
    curl_setopt($chCURLOPT_USERPWD$sc_user ':' $sc_pass);
        
    curl_setopt($chCURLOPT_POSTFIELDS$post);
        
    $curl curl_exec($ch);
        
    $xml = new SimpleXMLElement($curl);
        
    curl_close($ch);
     
        if (
    $xml->data->status->activesource['source'] == 'dj')
        {
            return (string)
    $xml->data->status->activesource->name;
        }
        else
        {
            return 
    'Jukebox';
        }
    }
    Die Funktion liest den aktuellen DJ Namen (wie er beim SC Trans eingetragen ist) aus und gibt ihn zurück. Ist kein DJ on Air bzw. läuft die SC-Trans Playliste wird Jukebox ausgegeben.

    Beispiele zum Aufruf der Funktion:
    PHP:
    // Echo Ausgabe z.B. im Browser
    echo sct_get_djname();
     
    //DJ Name einer Variablen zuordnen (z.B. in bestehenden Scripten)
    $name sct_get_djname();
    Das Script verfügt über keinerlei Fehlerbehandlung, Kann keine Verbindung aufgebaut werden wird Jukebox zurückgegeben.

    -MAD
     
  5. endy66

    endy66 Benutzer

    kling nicht schlecht. danke dir schonmal. gibt es denn eine möglichkeit, damit der shoutcast server
    den streamtitel auch vom transcoder (via dieser variabel) holen kann, bezüglich des Stationnamen?

    Mit freundlichen Grüssen
     
  6. MADxHAWK

    MADxHAWK Benutzer

    nein, dies ist nicht möglich, da diese Daten wohl beim "Handshake" zwischen Streamserver und Sendequelle übertragen werden und nicht wie das Titelupdate über ein Urlaufruf. Das Script kann man nur nutzen für z.B. eine Streambox auf der Website.

    - MAD
     
  7. endy66

    endy66 Benutzer

    dann funktioniert das aber, wenn ich auf den transcoder streame, damit mir das script dann, z.b. auf meiner
    Webseite, dann den dj namen anzeigen kann? Wie mach ich das am besten mit dem Script?

    Mit freundlichen Grüssen
     
  8. MADxHAWK

    MADxHAWK Benutzer

    Kommt drauf an wie deine Seite aussieht und welche Möglichkeiten du zum einbinden hast. Das Script gibt übrigens den Moderatornamen zurück, welcher im SC-Trans als DJ angegeben ist nur um mißverständnissen vorzubeugen.

    Greetz
    -MAD
     
  9. endy66

    endy66 Benutzer

    Achso, also das Script gibt nicht den Namen, den man beim Clienten im Stream angibt an? Benutze vbulletin als Forensoftware. Wie würdest du das ganze machen?
    Hast du ev. icq o.ä.?

    Mit freundlichen Grüssen
     
  10. MADxHAWK

    MADxHAWK Benutzer

    Nein, Du kannst ja bei sc_trans mehrere DJs anlegen (wieso nennen die diese eigentlich DJs?) und eben diese Namen gibt das Script zurück.
    Ich würde für jeden Moderator (DJ) einen Login und Event anlegen, die Bilder wie die angelegten Moderatoren bennennen und dann halt die Funktion nutzen um den Bildnamen zu erhalten.
    Beispiel:

    PHP:
    include (./sct_get_djname.php// Datei mit der Funktion von oben
    $currentDJ sct_get_djname();
    $picture './pfad/zu/den/bildern/' $currentDJ 'jpg';
     
    echo 
    'img src="' $picture '" alt="' $currentDJ '" />';
    Kommt halt drauf an wie man dies in ein VBB einbauen kann. Denke aber die können dir da im Forum behilflich sein.

    Gruss
    -MAD

    PS: sorry ich hab keine messanger mehr installiert.
     
  11. endy66

    endy66 Benutzer

    Alles klar, das sieht aber wirklich nach dem aus, was ich suche. Also der DJ Name der zurückgegeben wird, ist derjenige,
    welcher gerade eingeloggt ist auf dem sc_trans? Wie benutze ich das Script am besten? Könntest du mir das ev. per pn
    zukommen lassen?
    Hätte da nebenbei noch eine andere Frage. Benutze sc_trans2 zusammen mit sc_serv(1). Immer wenn ich die Source,
    also den transcoder kicke, um auf den stream zu gehen, bleibt beim zuhörer der stream stehen und man muss erneut
    play drücken. Selbes Problem wenn ich vom stream runter gehe und sich der transcoder wieder einschaltet. Weisst
    du ev, was das sein könnte? Das einzige was bisher funktionierte, war autodumusers=1, dann machte das (leider auch
    nur der winamp player) automatisch, also da war dann kein erneutes play drücken mehr nötig.

    Mit freundlichen Grüssen
     
  12. MADxHAWK

    MADxHAWK Benutzer

    Wie du das Script am besten nutzt, bzw. in deine Seite einbindest kann ich dir leidern nicht sagen,
    da ich mit dem VBB bisher nicht viel zu tun hatte.

    Warum kickst du den SC-Trans2 als Source vom Shoutcast (sc_serv)?
    Leg für jeden Moderator eine DJ und ein DJ Event im SC-Trans an und lass deine Moderatoren auf den SC-Trans verbinden statt auf den Shoutcast.
    Der SC-Trans blendet dann sauber von seiner automatischen Playliste auf die Sendung vom Moderator über und wenn der Moderator Schluss macht wieder zurück zur automatischen Playliste.

    Ist in der Doku aber auch recht gut beschrieben. Du musst halt nur für jeden Moderator einen DJ anlegen damit es mit den Namen klappt.

    - MAD
     
  13. endy66

    endy66 Benutzer

    Ja das weiss ich, hatte das auch so und funktionierte hervorragend. Der einzige Grund ist der Name des Moderators, der vom trans nicht an den serv
    weitergegeben wird. Da in meinem vbb ein Addon, welches die Daten des sc_serv ausliest, drin ist, wird dort eben dieser Name nicht angezeigt und
    so wissen viele nicht, wann jmd auf dem Stream ist. Das einbinden in vbb bekomm ich sicherlich iwie hin, könntest du mir aber ev. dein Script
    als komplettes Beispiel geben und wie ich das anwende, da ich von php nicht sehr viel Ahnung hab. in vbb geht es eher um Templates, welche
    in html geschrieben sind. Wäre wirklich sehr nett.

    Mit freundlichen Grüssen
     
  14. MADxHAWK

    MADxHAWK Benutzer

    Sorry, aber ich kann dir gerade nicht so ganz folgen.
    Was meinst du mit komplettes Beispiel?
    Das Script aus Beitrag #4 ist das gesamte Script bzw. die gesamte Funktion, welche notwendig ist.
    und in Beitrag #10 steht beschrieben, wie man es in eine vorhandene PHP Datei einbinden kann.

    Du mußt also die PHP Datei, welche die Infos von deinem Shoutcast holt finden, die Funktion einbauen
    und anschliessend schauen welche Variable den Moderatornamen vom Shoutcast "ausliest".
    Diese Varibale änderst du wie in Beitrag #10 beschrieben so ab, das sie die Funktion aufruft.

    -MAD
     
  15. endy66

    endy66 Benutzer

    Also erstell ich einfach eine php Datei und kopiere das Script aus Beitrag 4 dort rein? Muss das nen
    besonderen Namen haben? Das untere Script aus Beitrag 10, füge ich dann an die Stelle in meinen
    vbb Templates ein, wo das angezeigt werden soll, richtig?

    Mit freundlichen Grüssen
     
  16. MADxHAWK

    MADxHAWK Benutzer

    Du kannst das Script auch gleich in die PHP-Datei, welche für deine Streamanzeige zuständig ist, kopieren. Speicherst du es in einer extra Datei, musst du diese in der Datei welche für deine Streamanzeige zuständig ist includieren.
    Der Scriptteil aus Beitrag #10 ist nur ein Beispiel. Du wirst schon schauen müssen, welche Varibale den Moderatornamen an das Template übergibt.
    Dabei wird dir wohl am besten der Support vom VBB bzw. der Entwickler der Streamanzeige helfen können.
    Da ich deine Streamanzeige weder kenne, noch weiss, welche du nutzt kann ich dir nicht mehr dazu sagen. Ich kenne den Code nicht.

    -MAD
     
  17. endy66

    endy66 Benutzer

    Also ich hab das jetzt mal so getestet. Eine php Datei mit dem Inhalt aus Beitrag 4 erstellt und
    da die Daten ausgefüllt (API bn, pw und port). Dann hab ich eine zweite php Datei erstellt,
    die dann die Anzeige simuliert. Da habe ich das Script included und per echo die Variabel
    ausgegeben. Leider gibt er mir nur den kompletten Ihnhalt aus der includeten Datei (das Script),
    aus. Was mache ich da bloss falsch?

    Mit freundlichen Grüssen
     
  18. endy66

    endy66 Benutzer

    Habs nun geschafft! Der Code von dir mit den Variablen stimmte nicht ganz, hab das geändert und nun funktioniert alles, wie es soll
    Bedanke mich herzlich bei dir, warst eine super Hilfe:)!
    Und nun geh ich schlafen^^.

    Mit freundlichen Grüssen
     
  19. MADxHAWK

    MADxHAWK Benutzer

    Freut mich wenns nun geht :)
     
  20. endy66

    endy66 Benutzer

    ICh suche noch eine möglichkeit, das encoding dieser xml zu ändern in der sct_get_djname.php.
    Wie mache ich das am besten? Hab was gelesen von curl_setopt($ch, CURLOPT_ENCODING)...

    Mit freundlichen Grüssen
     
  21. endy66

    endy66 Benutzer

    Achja, bei mir werden die Titel der Tracks nicht komplett angezeigt im Stream. Wenn die Playlist läuft,
    funktioniert das bestens, allerdings, wenn ein Moderator auf dem Stream ist, wird meistens nur der
    Interpret, wenn überhaupt, im Stream angezeigt. Mit usemetadata in der sc_trans config hab ich auch
    schon rumprobiert, allerdings erfolglos. Woran kann das liegen?

    Mit freundlichen Grüssen
     
  22. endy66

    endy66 Benutzer

    Das Problem mit der Trackanzeige hat sich erledigt, lag an der sc_trans version. Hab ne andere Build genommen,
    nun gehts. Das Problem mit den Tracks, welche ä,ö oder ü enthaltet, besteht leider immernoch.

    Mit freundlichen Grüssen
     
  23. MADxHAWK

    MADxHAWK Benutzer

    Nutzt du zufällig noch einen SHOUTcast 1.9.x
    Der scheint diverse Probleme mit UTF-8 encodierten Metadaten zu haben. Ansonsten kann es ebenfalls noch an den ID3 tags liegen, wenn diese nicht UTF-8 konform sind.
    Geht erst ab ID3v2
     
  24. endy66

    endy66 Benutzer

    Ja, nutze einen SC1 Server. Kann man denn dem Script nicht beibringen, dass es das iwie ignorieren soll?

    Mit freundlichen Grüssen
     
  25. MADxHAWK

    MADxHAWK Benutzer

    Wenn die Statusseite deines Shoutcast 1.9 Servers und der Player die Titel mit Umlauten richtig anzeigen, wird es wohl am Script liegen, welches die Daten vom Shoutcast abruft. Da wirst du dich an den Programmierer des Scripts wenden müssen. Mein script liest ja nur die Moderatorennamen vom SC Trans und hat mit der Titelanzeige selber nichts zu tun.

    - MAD
     

Status des Themas:
Es sind keine weiteren Antworten möglich.

Diese Seite empfehlen