[GitHub] Webradio-API

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • [GitHub] Webradio-API

      Webradio-API
      GitHub: SofaKingCool/Webradio-API

      Die Webradio-API ist eine minimale Mehrfachanbieter Such- und Streaming-API für deinen Multi Theft Auto server.
      Sie vereinfacht den Zugriff auf relativ beliebte Plattformen, die eine Audioquelle (in-)direkt anbieten und sich über playSound abspielen lassen.

      Einstieg

      Voraussetzungen
      Du brauchst einen Webserver von nginx oder Apache, der die PHP Skripte ausführen kann. Der Webserver muss den Inhalt aus dem Ordner public freigeben, damit die API einwandfrei arbeiten kann und weil dadurch deine API-Schlüssel verborgen bleiben. Durch die frühen Phasen der Entwicklung wurde die API nur mit PHP 7 getestet. Es gibt keine Garantie, dass es mit einer niedrigeren Version arbeiten wird.

      Installation
      Lade die Repository auf deine Festplatte, kopiere die Datei config.example.php und speichere diese als config.php in den Stammordner der Anwendung. Öffne anschließend die neue Datei config.php in einem Quelltexteditor.
      Entferne die Standard Schlüssel aus den Arrays $searchKeys und $streamKeys und füge deine eigenen Schlüssel hinzu. Bei den Schlüsseln gibt es keine Grenzen und auch keine Beschränkungen. Es sei angemerkt, dass die Schlüssel relativ URL-freundlich bleiben sollten.

      Beispiel:

      PHP-Quellcode

      1. $searchKeys = [
      2. "2JXR861JPWJ1CENHF51WA3QF3UK1I1QA", // Benutze nicht diesen Schlüssel
      3. "9LRAP2PIJRCDYTQL5844O2VV2QX3TCQ6", // Auch nicht diesen hier
      4. // ...
      5. ];
      6. $streamKeys = [
      7. "M97JY494ZONC", // Denk überhaupt nicht darüber nach
      8. "6Z3NRRU8YW56", // diese Schlüssel 1-zu-1 zu kopieren
      9. ];
      Schlussendlich solltest du deine privaten API-Schlüssel für YouTube, Soundcloud und Jamendo hinzufügen. Andere Anbieter verlangen keine Schlüssel von dir.

      Wichtig: Dein Webserver MUSS die Dateien aus dem public Ordner der Anwendung freigeben.

      Abkürzungen für API-Anmeldung
      Cron: Cleanup
      Für die Aufräumarbeiten musst du einen Cronjob einrichten, damit die alten und unbenutzen Dateien in den Unterordnern aus storage automatisch entfernt werden.
      Hier ein kleines Template für einen cron Eintrag (die URL musst du entsprechend ändern, damit sie auf deine Umgebung passt):
      0 0 * * 0 /usr/bin/curl http://127.0.0.1/webradio-api/cleanup.php?key=<a key from $streamKeys> >/dev/null 2>&1

      Entwicklungshilfe
      Falls du selber die kleinen Probleme bei der Einrichtung oder Entwicklung beheben willst, dann ändere den Wert der Variable $debug_mode auf true. Diese Variable
      liegt in der Konfigurationsdatei config.php. Diese Änderung sollte dir bei "Out of Order" Fehlern weiterhelfen, aber vergesse sie nicht später zurückzuändern.

      Fehlerbehandlung

      Permission denied for mkdir()
      Dein Webserver hat nicht ausreichend Zugriffsrechte zum Schreiben in den Unterordnern von storage.

      Viele YouTube Videos funktionieren nicht mehr
      Dieser Fehler wird häufiger auftreten, wenn die Entwickler hinter YouTube den Video-Abspieler-Quellcode so stark abändern, so dass der mitgelieferte Decoder den Schlüssel der Videos nicht mehr entziffern kann. Anzumerken wäre hier natürlich, dass eine Dritt-Anbieter Lösung effizienter ist, aber wegen der Minimalität darauf verzichtet wurde. Bei andauernder Unerreichbarkeit der Videos erstelle bitte einen Issue auf GitHub, damit ich darauf aufmerksam gemacht werde, falls ich es nicht merke.

      Benutzung

      Suche
      /search.php?key=<a key from $searchKeys>&service=YouTube&query=Bohemian+Rhapsody
      /search.php?key=<a key from $searchKeys>&service=Soundcloud&query=Adele+Hello
      /search.php?key=<a key from $searchKeys>&service=Jamendo&query=Sunshine
      /search.php?key=<a key from $searchKeys>&service=MyFreeMP3&query=We+Right+Here
      /search.php?key=<a key from $searchKeys>&service=MP3Library&query=Bob+Dylan

      Wiedergabe
      /stream.php?key=<a key from $streamKeys>&service=YouTube&id=<song id>
      /stream.php?key=<a key from $streamKeys>&service=Soundcloud&id=<song id>
      /stream.php?key=<a key from $streamKeys>&service=Jamendo&id=<song id>
      /stream.php?key=<a key from $streamKeys>&service=MyFreeMP3&id=<song id>
      /stream.php?key=<a key from $streamKeys>&service=MP3Library&id=<song id>

      Beispiele

      YouTube
      /search.php?query=Bohemian+Rhapsody&service=YouTube&key=<a key from $searchKeys>

      Quellcode

      1. [
      2. {
      3. "id": "fJ9rUzIMcZQ",
      4. "title": "Queen - Bohemian Rhapsody (Official Video)"
      5. },
      6. {
      7. "id": "3p4MZJsexEs",
      8. "title": "Bohemian Rhapsody by Queen FULL HD"
      9. },
      10. {
      11. "id": "irp8CNj9qBI",
      12. "title": "Queen - Bohemian Rhapsody"
      13. }
      14. ]
      Alles anzeigen
      Soundcloud
      /search.php?query=Adele+Hello&service=Soundcloud&key=<a key from $searchKeys>

      Quellcode

      1. [
      2. {
      3. "id": "230155983",
      4. "title": "Hello - Adele",
      5. "duration": 300
      6. },
      7. {
      8. "id": "229791977",
      9. "title": "Adele - Hello (Cover by Lianna Joy)",
      10. "duration": 295
      11. },
      12. {
      13. "id": "230335097",
      14. "title": "Hello ❀ Adele",
      15. "duration": 294
      16. }
      17. ]
      Alles anzeigen
      Fehler
      Dieses Beispiel zeigt die JSON Ausgabe, wenn du den key Parameter aus der URL entfernst.

      Quellcode

      1. {
      2. "error": "Unauthorized",
      3. "errno": 2
      4. }
      Contributing
      Contributions sind herzlich willkommen. Du kannst gerne einen ISSUE oder PULL REQUEST erstellen.

      Lizenz
      Das Projekt und der Quelltext sind unter der MIT License lizensiert - siehe LICENSE.
      I hack with Lua code