Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Vorschlag] Integration von Livestreams #309

Open
59de44955ebd opened this issue Jul 1, 2024 · 5 comments
Open

[Vorschlag] Integration von Livestreams #309

59de44955ebd opened this issue Jul 1, 2024 · 5 comments

Comments

@59de44955ebd
Copy link

Hey, das hier ist definitiv kein "Issue", sondern nur eine Idee, die mir grade kam, als ich diesen minimalen "Online-Player für Livestreams deutscher TV-Sender" gebastelt habe:
https://59de44955ebd.github.io/tv-player/
Er besteht nur aus ein paar Zeilen Code, läuft komplett im Frontend (Browser-JS) und holt sich die HLS-Livestream-URLs per fetch über die MediathekViewWeb-API. Ein entsprechender Player könnte vielleicht ja auch direkt in die MediathekViewWeb-Seite integriert werden, z.B. als neuer Menüeintrag "Livestreams" oben rechts im Menü? Nur so als Gimmick, server-seitig würde das wie gesagt nichts kosten.

@MrFly72
Copy link

MrFly72 commented Jul 1, 2024

Cooles Projekt und ich fände das auch cool.
Sollte das Dropdown Qualität funktionieren? Zumindest auf dem
iPhone scheint er keine auswählen zu lassen?

@d-k-bo
Copy link

d-k-bo commented Jul 1, 2024

Mir war überhaupt nicht bewusst, dass in der MediathekView-Datenbank auch Livestreams gelistet sind. Zapp nutzt dafür ja eine eigene API, die aber zusätzlich auch aktuelle Programminformation zur Verfügung stellt.

@59de44955ebd
Copy link
Author

@MrFly72 Bin kein Experte für HLS, aber ich verstehe es so, dass per default der Browser/das System eine bestimmte Qualität je nach aktueller Internetzugangsgeschwindigkeit aussucht. Im Qualitäts-Dropdown wird immer die tatsächlich aktuell verwendete Qualität angezeigt, und sie kann auch ohne User-Interaktion mittendrin mal wechseln. Wenn ein User aber selbst eine bestimmte Qualität aussucht, wird versucht, diese zu forcieren, indem alle anderen deaktiviert und nur diese aktiviert wird, und in Desktop-Chrome und Firefox scheint das auch zu funktionieren. Wenn es in iOS nicht funktioniert, bedeutet das wohl, dass sich dort das System einfach nicht reinreden lässt und immer selbst die sinnvollste Qualität aussucht. Inzwischen habe ich aber sowieso noch ein bisschen responsive CSS zugefügt, und bei kleinen Bildschirmgrößen wird das Dropdown jetzt sowieso ausgeblendet, dort gibt es dann nur die Sender.

@59de44955ebd
Copy link
Author

@d-k-bo Danke für den Hinweis, habe mir die Zapp-API grade mal angeschaut, sie ist einfach gehalten und hat wohl nur 2 Endpoints:

1.) Liste aller Channels/Livestreams:
https://api.zapp.mediathekview.de/v1/channelInfoList

2.) Aktuell laufende Sendung eines bestimmten Channels (am Beispiel zdf):
https://api.zapp.mediathekview.de/v1/shows/zdf

Es wäre eigtl. ja cool, das in den kleinen Online-Player zu integrieren, zB als kleines (i)-Overlay-Icon, und bei Klick auf dieses wird dann immer die aktuell laufende Sendung des aktuell gewählten Programms in einem Overlay-Div angezeigt. Aber leider geht das nicht, da - anders als bei der MediathekViewWeb-API - bei der Zapp-API ein "Access-Control-Allow-Origin: *" Header fehlt, sie kann daher leider nicht direkt per Browser-JS aufgerufen werden (um CORS zu umgehen bräuchte man zusätzlich noch ein serverseitiges Proxy-Script, z.B. PHP, Node oder whatever).

@cemrich
Copy link
Member

cemrich commented Jul 20, 2024

bei der Zapp-API ein "Access-Control-Allow-Origin: *" Header fehlt

Mit der aktuellen Version der API sollte der Header mit gesendet werden und die Antworten daher in Javascript weiter verarbeitet werden können.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants