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

funk.net als sender hinzufügen #247

Closed
alex1702 opened this issue Oct 1, 2017 · 34 comments
Closed

funk.net als sender hinzufügen #247

alex1702 opened this issue Oct 1, 2017 · 34 comments
Assignees
Milestone

Comments

@alex1702
Copy link
Member

alex1702 commented Oct 1, 2017

Da Funk von ARD und ZDF betrieben wird müsste es auch zu den öffentlich rechtlichen zählen.
Wäre cool diese aufzunehmen.

Zitat von cemrich aus dem Forum:

Funk ist gerade ein Jahr alt geworden und hat inzwischen wirklich viele Formate. Es existiert eine relativ übersichtliche JSON-API, die von einem Kodi-Plugin und der Funk-Android-App genutzt wird: https://github.com/prof-membrane/plugin.video.funkmediathek

Ich habe die Grundzüge der API mal zusammen geschrieben: https://gist.github.com/cemrich/0b6bec11dfe11377aa3424bc7c34e26a

Link: https://forum.mediathekview.de/topic/522/funk-net-von-ard-zdf-mit-in-die-filmliste-aufnehmen/4

@cemrich
Copy link
Member

cemrich commented Oct 2, 2017

Ich steige leider bei dem Crawler-Code nicht durch, aber bei Fragen zur Api kann ich gerne helfen.

@Nicklas2751
Copy link
Member

Werde ich direkt für die neue Crawler Architektur umsetzen. Wird somit also mit im Branch cleanup umgesetzt.

@Nicklas2751 Nicklas2751 added this to the 4.0.0 milestone Oct 2, 2017
@zxsd
Copy link

zxsd commented Oct 13, 2017

Vielleicht von Interesse: Im alten Forum verewigt

@Nicklas2751
Copy link
Member

Ist nun soweit im branch umgesetzt. Die statistik will noch nicht ganz aber das kriege ich auch noch hin. D.h. mit MServer 4.0.0 kommst auch funk.net.

@darealshinji
Copy link

Gibt es etwas Neues hierzu? Wann kann man damit rechnen, dass MediathekView funk.net unterstützt?

@Nicklas2751
Copy link
Member

Wie man an den Labels erkennt ist es fertig. Da aber noch an dem neuen Release vom MServer gebaut wird dauert das halt noch.

@darealshinji
Copy link

Ich frag einfach mal: ist es schon möglich sich eine Entwicklerversion von MediathekView zu kompilieren, die dieses Feature beinhaltet?

@pidoubleyou
Copy link
Contributor

Prinzipiell ja, aber keine Entwicklerversion von MV sondern vom Crawler!
Dazu sind folgende Schritte nötig:

  • MServer clonen
  • Auf den Branch Develop wechseln
  • die Konfiguration unter src\main\resources\MServer-Config.yaml für dein System anpassen und den Sender Funk.net inkludieren
  • MServer kompilieren und laufen lassen
  • Die erzeugte Filmliste findest du dann in dem konfigurierten Output-Verzeichnis. Die Datei filmliste_old.json musst du in filme.json umbenennen und in dein .mediathek3-Verzeichnis kopieren

Schon solltest du die Filme in MV herunterladen können.

Bitte beachte: da das Ganze aktuell ein Entwicklungsstand ist, ist die Lauffähigkeit des Branches unter Umständen nicht immer gegeben. Aber du kannst gerne für Funk.net unseren Beta-Tester machen :)

@Nicklas2751
Copy link
Member

Nicklas2751 commented Apr 2, 2018 via email

@darealshinji
Copy link

Bekomme Fehler wie diesen hier:

13:09:20.416 2018-04-04 13:09:20,416 [main] FATAL: Beim schreiben der Filmliste ist ein Fehler aufgetreten. Mögliche Ursache könnten fehlende Schreibrechte oder ein inkorrekter Pfad sein. Der angegebene Pfad lautet: "/home/djcj/Downloads/MServer/build/tmp/build/tmp/filmliste_old_diff.json.bz_TEMP".
13:09:20.416 2018-04-04 13:09:20,416 [main] INFO : ... Filmliste wurde erfolgreich nach build/tmp/filmliste_old_diff.json.bz geschrieben.

@iamhenning
Copy link

iamhenning commented Apr 8, 2018

Hi @Nicklas2751 ,

habt ihr das die letzte Zeit auch getestet?
Das Fertig-Flag ist vom Oktober 2017... kurz danach hat Funk aber die Apps und die Website umgebaut. Man könnte auch sagen: verschlimmbessert. Seither ist die App nur eine gewrappte Version der Website, und auf der Seite selbst finden sich seither weder API-Calls noch werden die Videos über feste URLs referenziert. Vielleicht ist daher mit der App auch der Chromecast-Support gestorben.

Mir scheint der Crawler-Code auf den ersten Blick ehrlich gesagt noch die alte Welt zu adressieren, und die dürfte eigentlich keine Ergebnisse mehr liefern.

@Nicklas2751
Copy link
Member

@iamhenning Nö nicht gezielt. Kann sein, ich werde den mal wieder anwerfen.

@iamhenning
Copy link

@Nicklas2751 Und inzwischen eine Erkenntnis die man mitteilen kann? :)

@Nicklas2751
Copy link
Member

Sorry, dass das ganze so lange gedauert hab es heute mal wieder angeworfen und läuft tatsächlich aktuell nicht. Laut code auf der Webseite auch api v3.1.

@cemrich
Copy link
Member

cemrich commented Oct 3, 2018

Ich habe Teile der 3.1 api dokumentiert: https://gist.github.com/cemrich/0b6bec11dfe11377aa3424bc7c34e26a

@cemrich
Copy link
Member

cemrich commented Dec 9, 2018

Inzwischen scheint die API in Version 4 online zu sein. Könnt ihr bei diesem Thema noch Hilfe gebrauchen? Macht es Sinn, wenn ich die API dokumentiere?

@Nicklas2751
Copy link
Member

Nicklas2751 commented Dec 9, 2018 via email

@cemrich
Copy link
Member

cemrich commented Dec 11, 2018

Hier ist die Dokumentation, soweit ich sie zusammen bekommen habe: https://github.com/cemrich/funk-api
Damit sollte man zumindest alle verfügbaren Videos mit Metadaten und über ein Paar Umwege auch die Streaming-Url herausfinden können :-)

@cemrich
Copy link
Member

cemrich commented Apr 10, 2019

Gibt es Updates zu diesem Thema? Version 4.0 der API ist immer noch aktuell. Könnt ihr abgesehen von der Dokumentation noch Hilfe gebrauchen?

@Nicklas2751
Copy link
Member

@cemrich Die API auslesen funktioniert so weit. Ich habe aber aktuell das Problem, dass ich an keine Video Datein ran komme. Ich finde nur streaming Datein. Wenn ich die verwende wird funk via. MediathekViewWeb nicht nutzbar sein und in MediathekView müssen wir ffmpeg verwenden.

Deswegen liegt das Thema bei mir aktuell, da ich die Hoffnung habe, dass sich da vieleicht noch mal was ändert. Ansonsten wird es wohl mit den Streams kommen.

@bagbag
Copy link
Member

bagbag commented Apr 10, 2019

@Nicklas2751 In MVW könnte man es zwar nicht herunterladen, aber anschauen.

@cemrich
Copy link
Member

cemrich commented Apr 10, 2019

@Nicklas2751 Danke für das Status-Update. Ich habe kurz versucht, ein Schema oder Endpoint für die statischen Video-Files zu finden, aber bin auch nicht weiter gekommen. Im Hintergrund benutzt Funk Nexx, was wiederum auf Microsoft Azure aufbaut.

Ich habe einen Link zu einem statischen File gefunden (allerdings Sound), aber habe das Schema nicht übertragen bekommen: http://funk-01dd-fb.akamaized.net/eb07a850-ef03-4616-9be9-4d06fb78501d/68OHE1248G4HI9Z_192_audio.mp3

@cemrich
Copy link
Member

cemrich commented Apr 10, 2019

Got it! Youtube Downloader hat einen Extractor für nexx-Videos implementiert:

youtube-dl https://api.nexx.cloud/v3/741/videos/byid/1369342 -v

Damit bekommt man die URL zum MP4-Video heraus: http://funk-01dd.akamaized.net/a7f51520-c20f-4d3a-960a-0aca422b81aa/1369342_src_1920x1080_6000.mp4

Den Teil nach "src" kann man sich aus azureFileDistribution ableiten (Auflösung + Bitrate). Diese URL geht zum Beispiel auch: http://funk-01dd.akamaized.net/a7f51520-c20f-4d3a-960a-0aca422b81aa/1369342_src_320x180_400.mp4

Der Anfang der URL ist identisch mit der Streaming-Url, nur dass cdnShieldProgHTTP anstatt cdnShieldHTTPS als Base-Url verwendet wird.

@Nicklas2751
Copy link
Member

Ah, sehr cool. Vielen Dank!
Dann werde ich das ein bauen so bald ich dazu komme. :)

Nicklas2751 added a commit that referenced this issue Apr 25, 2019
@Nicklas2751
Copy link
Member

@cemrich Vielen Dank noch mal für die API Doku! Die hat mir extrem weiter geholfen!

Ich habe den Funk Crawler nun, für die neue Server Architektur, auf die neue API umgebaut.
Hier ein paar Listen wie das aussieht, was da am Ende raus purzelt: https://p.elaon.de/m-5oD/

Nicklas2751 added a commit that referenced this issue Apr 25, 2019
@cemrich
Copy link
Member

cemrich commented Apr 26, 2019

Juhuuu, endlich Mai Lab in MediathekView :)

Mir fällt beim Durchschauen gerade auf, dass teilweise Serien fehlen (z.B. Doctor Who oder The Job Lot). Ich werde da mal rein schauen. @Nicklas2751 Soll ich ein neues Ticket dafür öffnen oder hier weiter kommentieren?

@cemrich
Copy link
Member

cemrich commented Apr 26, 2019

Ich werde aus dem Code nicht ganz schlau, aber meine Vermutung ist, dass nicht alle verfügbaren Seiten des /channels-Endpoints geladen werden. Entweder ist der size-Parameter zu klein gewählt oder man müsste der next-Url am Ende der JSON-Response folgen.

@Nicklas2751
Copy link
Member

Der Crawler durchsucht alle Seiten aber nur so viele wie konfiguriert. Ich kann mal gucken warum z.B. Doctor Who fehlt.

@Nicklas2751
Copy link
Member

@cemrich Ich habe noch mal einen neuen Lauf gestartet und dabei wurde "Doctor Who" UND "The Job Lot" gefunden. Die dabei entstandenen Listen siehe hier: https://p.elaon.de/m-i3wGR/ ;)

@cemrich
Copy link
Member

cemrich commented May 5, 2019

@Nicklas2751 Ich habe gerade stichprobenartig Serien und Kanäle durchprobiert und nichts Auffälliges mehr gefunden. Vielen Dank!

@cemrich
Copy link
Member

cemrich commented May 1, 2020

Gibt es eine grobes Zeitfenster, in dem die Änderung released werden kann? Oder gibt es noch andere Abhängigkeiten, die das Release stoppen?

@Nicklas2751
Copy link
Member

Nicklas2751 commented May 1, 2020 via email

@pidoubleyou
Copy link
Contributor

Wir könnten FUNK auch in den alten Crawler integrieren, habe ich schon reihenweise mit anderen Neuimplementierungen aus Develop gemacht.

Allerdings tritt beim Schreiben der Filmliste für FUNK aktuell mit Develop eine MalformedInputException auf. Ich vermute, dass irgendwo in den Filmeinträgen (vermutlich Beschreibung) Zeichen enthalten sind, die nicht UTF-8 kompatibel sind.

@cemrich
Copy link
Member

cemrich commented May 3, 2020

@pidoubleyou Sich doppelt Arbeit machen ist ja eher nicht sinnvoll. Aber wenn die neue Architektur noch länger braucht, bis sie stabil läuft, wäre das vielleicht trotzdem eine Option.

Ich habe einen Fall von einer nicht vorhandenen Description gefunden. Ansonsten arbeiten die in den Beschreibungen viel mit Icons - die sollten aber eher UTF8-kompatibel sein. Ich habe mal die Beschreibungen der letzten 50 Videos in ein txt-File gepackt (jeweils mit zwei Leerzeilen Abstand). Vielleicht hilft das ja beim Debuggen.

descriptions.txt

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

No branches or pull requests

8 participants