twenty-first century code monkey

DR TV addon (DR NU Player 5.0.0)

Update 2. juni: Jeg uploaded version 5.0.1 tidligere i dag som retter en fejl med dato under bl.a DR2 Tema. Jeg vil desuden gerne hører om i kan afspille videoer på ATV2 – prøv gerne med og uden hardwaredekodning.


drtvicon DR kører for tiden en beta test af deres kommende TV portal og har i den forbindelse lavet et nyt API. Via github er jeg blevet bedt om at skifte til det nye API og har nu første version klar.

Samtidig med API skiftet bruger jeg nu også de nye streaming servere (som med Danish Live TV) samt integreret DRs livekanaler i denne addon og omdøbt den til ganske enkelt: DR TV. DR bruger så vidt jeg ved ikke længere DR NU betegnelsen.
Det er også blevet til en refresh at de få grafiske elementer addon’en bruger så den bedre matcher de retningslinjer DR bruger online.

I store træk kan addon’en det samme som tidligere udgaver af DR NU Player addon’en.
Addon’en kan hentes i mit beta-repository og du finder den i XBMC med navnet DR TV og logoet som kan ses herover.

39 Kommentarer

  1. Per Bækgaard

    Endnu en gang en stor tak for dit arbejde, Tommy!

    Jeg har prøvet den nye plugin her (bl.a. fordi den forrige ikke virkede med efterhånden en del nye udsendelser). Det er testet på xbmc 13.0 (release) på en Ion-baseret maskine med Ubuntu 12.04.

    Jeg får et par fejl, som i loggen ser ud som vedlagte klip. Den ene fejl kommer hvis man går ind på “Programmer A-Å” og derefter under “D” vælger “DR2 Tema”:


    21:38:52 T:140659918944000 NOTICE: -->Python Interpreter Initialized<--
    21:38:52 T:140659918944000 NOTICE: http://www.dr.dk/mu-online/api/1.0/list/dr2-tema?limit=48
    21:38:52 T:140659918944000 ERROR: Traceback (most recent call last):
    21:38:52 T:140659918944000 ERROR: File "/home/bruger/.xbmc/addons/plugin.video.drnu/addon.py", line 352, in
    21:38:52 T:140659918944000 ERROR: drDkTvAddon.listEpisodes(drDkTvAddon.api.getEpisodes(PARAMS['listVideos'][0]))
    21:38:52 T:140659918944000 ERROR: File "/home/bruger/.xbmc/addons/plugin.video.drnu/addon.py", line 227, in listEpisodes
    21:38:52 T:140659918944000 ERROR: broadcastTime = self.parseDate(item['PrimaryBroadcastStartTime'])
    21:38:52 T:140659918944000 ERROR: File "/home/bruger/.xbmc/addons/plugin.video.drnu/addon.py", line 267, in parseDate
    21:38:52 T:140659918944000 ERROR: year = int(m.group(1))
    21:38:52 T:140659918944000 ERROR: AttributeError: 'NoneType' object has no attribute 'group'
    21:38:52 T:140660300830592 ERROR: GetDirectory - Error getting plugin://plugin.video.drnu/?listVideos=dr2-tema
    21:38:52 T:140660300830592 ERROR: CGUIMediaWindow::GetDirectory(plugin://plugin.video.drnu/?listVideos=dr2-tema) failed

    Det ser måske ud som om den ikke helt får det forventede retur?

    Den anden fejl er måske bare en manglende implementering af søgefunktionen, hvis man prøver at søge efter en udsendelse med et nøgleord (her blot “test”):


    21:41:27 T:140658257929984 NOTICE: -->Python Interpreter Initialized<--
    21:41:30 T:140658257929984 NOTICE: http://www.dr.dk/mu-online/api/1.0/search/tv/programcards-latest-episode-with-asset/series-title-starts-with/test?limit=75
    21:41:30 T:140660300830592 ERROR: GetDirectory - Error getting plugin://plugin.video.drnu/?show=search
    21:41:30 T:140660300830592 ERROR: CGUIMediaWindow::GetDirectory(plugin://plugin.video.drnu/?show=search) failed
    21:41:30 T:140658266322688 NOTICE: Thread LanguageInvoker start, auto delete: false

    — Per.

  2. soppdk

    Hej Tommy,

    Super arbejde som altid, den virker godt på Rasberry pi 4.0.3 med 13. RC1
    Men på Apple Tv2 hakker den, det er nok fordi man ikke længer kan vælge IOS eller Vob stream type.
    Da Vob var det eneste der virket på Apple tv2

    Har du nogle planer om at smide denne funtion ind i addon`en igen ?

    Hilsen soppdk

  3. Per Bækgaard

    Her er et fix: Hvis linie 266 ændres fra


    m = re.search('(\d+)-(\d+)-(\d+)T(\d+):(\d+):(\d+)Z', dateString)

    til


    m = re.search('(\d+)-(\d+)-(\d+)T(\d+):(\d+):(\d+)(\.\d+)?Z', dateString)

    Så virker det med ihvertfald DR2 Tema. Fejlen er at PrimaryBroadcastStartTime ikke holder sig til hele sekunder, men en gang imellem -- ved særlige festlige lejligheder -- returnerer millisekunder. I det aktuelle tilfælder kommer der en enkelt udsendelse igennem som har starttiden "2013-05-09T09:02:21.28Z" og derfor fejler det regulære udtryk selvfølgelig.

    Hilsen,

    -- Per.

  4. Per Bækgaard

    Beklager den forkerte formattering ovenfor; der smuttede lige en / tror jeg.

    Jeg har ikke adgang til at pushe ændringen direkte til github, så jeg har bare oprettet et issue der. Hvis jeg havde adgang til dit repo kunne jeg evt. pushe ændringen direkte, men ellers har du patchen her (direkte fra mit lokale git repo):


    diff --git a/addon.py b/addon.py
    index 7bf5e78..db05b5b 100644
    --- a/addon.py
    +++ b/addon.py
    @@ -263,7 +263,7 @@ class DrDkTvAddon(object):
    def parseDate(self, dateString):
    if dateString is not None:
    try:
    - m = re.search('(\d+)-(\d+)-(\d+)T(\d+):(\d+):(\d+)', dateString)
    + m = re.search('(\d+)-(\d+)-(\d+)T(\d+):(\d+):(\d+)(\.\d+)?Z', dateString)
    year = int(m.group(1))
    month = int(m.group(2))
    day = int(m.group(3))

    Jeg vurderer at der nok ikke er brug for at adskille udsendelsers starttidspunkt med højere nøjagtighed end hele sekunder, men ellers kunne man jo alternativt rette i linie 273 også (og så lave en lidt anden regex i linie 267).

  5. Per Bækgaard

    … og ja, jeg ser lige at du allerede havde rettet det (ved at fjerne Z), sorry! Jeg havde rettet fejlen her lokalt baseret på 5.0.0 fra i går aftes, og så først nu — efter jeg havde sendt den afsted — at du havde ændret repo’et allerede 🙂 Anyway, whatever works works…

  6. Tommy

    Tak for feedback 🙂
    Jeg har bevidst fjernet en række workarounds og andre special cases, bl.a. derfor fejlen med datoerne. Jeg retter dem og ser om jeg kan tilføje kvalitetsvælgeren igen til jer ATV2 brugere.
    Mvh.
    Tommy

  7. NicolajW

    Hej Tommy

    hurtigt ude med den nye beta app, godt gået!

    Alt virker her på Apple tv2, så det er ikke nødvendigt med kvalitetsvælgeren af den grund.

    Lidt forslag til videreudvikling på det i forvejen rigtig gode arbejde:

    Ændring af teksten fra “most watched on DR NU” til dr tv?
    kan se at der er en danish string.xml er det muligt at få det på dansk?
    Yderligere giver det måske mening nu at inkomperer DR bonanza, så man få en samlet add-on med hhv. live tv, Programmer og Bonanza, så afspejler strukturen i appen og strukturen på DRs hjemmeside.

    Super fedt arbejde med de mange apps Tommy, bruges dagligt herhjemme af hele familien.

  8. Thomas Larsen

    Hej Tommy

    Som altid godt arbejde, det er så fedt at du bruger tiden på det.

    En enkelt ting jeg savner som var med i gamle dage var den kategori med programmer som for nyligt havde været vist på TV (det var indenfor et døgns tid eller der omkring) er det fordi at DR ikke længere stiller den info til rådighed?

    Jeg kan se at der er noget EPG kald i API’et. Hvis det er muligt at finde videoen udfra det data man får tilbage fra f.eks nedenstående kald så kunne man måske lave en for nyligt vist pr. kanal eller med flere kald kunne man vise det for flere kanaler f.eks med mulighed for at vælge nogen fra. selvfølgelig skal man kun vise programmer som er afsluttet, men det er jo også nemt da både start og sluttidspunkt fremgår.

    Jeg ved ikke om det giver mening 🙂

    http://www.dr.dk/muTest/api/1.0/schedule/dr1?broadcastdate=2014-06-02

  9. Mik

    Virker fint på raspberry pi xbmc 🙂

  10. Bjarne Petersen

    Først: Godt arbejde! 🙂

    Dernæst så er billedet begyndt at hakke.

    Jeg kører OpenElec 3x på Raberry Pi og i første omgang virkede det som om 5.0.1 kørte fint. Men nu er det begyndt at hakke (kører stadig 5.0.1) som når man havde valgt iOS-stream i det gamle versioner. Ved ikke om DR har ændret på noget i deres streams siden lanceringen?

    Og et lille forslag der kunne være fedt. DR TV har ved lanceringen introduceret børne-indgange (ramasjang og ultra) til deres streaming, som gør det noget nemmere at finde børneprogrammerne. Jeg ved ikke om API’en understøtter det, men det kunne være fedt hvis dit plugin også understøttede det. Og måske endnu federe hvis de kunne komme som 2 separate plugins så de kan ligge på “forsiden” med logoer i XBMC så børnene selv kan finde ud af at gå ind.

  11. Steen Sørensen

    Kan man også optage fra DR med dette plug-in?

  12. Henrik

    Rigtig godt og hurtigt arbejde.

    Virker fint på ATV2 med Gotham 13.1 stable.
    Jeg ved ikke om jeg kører med eller uden hardware accelerering.

    Følgende virker bedre end 4.0.2
    1) Man kan nu pause og spole uden at lyden går ud af sync
    2) Listerne med programmer vises meget hurtigere
    3) DR Live fungere fint og er integreret 🙂

    Udfordringer med
    1) Spoler meget langsomt. Kan reelt ikke bruges
    2) kan ikke finde den på XBMC.org. Var nødt til at installere via ZIP

    Super Arbejde

  13. Hans

    Hakker desværre med OpenElec på Raberry Pi. Er det muligt at få kvalitetsvælger på igen? Det løste problemet med den tidligere plugin.

  14. Tommy

    Hej Hans,
    Hvilken kvalitet brugte du tidligere? fx vodfiles.dr.dk streams virker ikke med nye klip
    Mvh.
    Tommy

  15. Hans

    Jeg kan desværre ikke huske hvilken kvalitet, jeg brugte tidligere.
    Jeg havde dengang samme problem med hakken. Jeg prøvede forskellige kvaliteter og fandt en, der virkede uden problemer.

    Jeg har testet lidt mere. Live TV fungerer fint. Hvis jeg vælger under “programmer”, hakker det dog. Har prøvet en del forskelllge, både nye og ældre. Jeg bruger OpenElec 3.2.4 på Raspberry Pi.

    Tak for et super plugin!
    Hans

  16. Tommy

    Hej Hans.
    Det kører upåklageligt på min Pi med openelec 4.0.5. Prøv at opgradere det fixer sikkert problemet.
    Mvh.
    Tommy

  17. Hans

    Jeg har opgraderet til OpenElec 4.0.5, og det virker perfekt nu.

    Mange tak for hjælpen!

  18. Bjarne Petersen

    Opgradering til OpenElec 4+ fixede problemet på min Pi.

  19. HAC

    Hej Tommy
    Super fed app, godt lavet.
    Jeg benytter XBMC på ATV2, og jeg har lige opgraderet til din DR TV version 5.0.2 beta, og der er desværre stadig en del hakken i billedet, det var fixet i version 4, men problemet er kommet tilbage her i version 5, håber du kan finde et “håndtag” at skrue på som fixer det 🙂
    mvh
    Henrik

  20. Tommy

    Hej Henrik,
    Hvilken version af XBMC bruger du?
    Mvh.
    Tommy

  21. Michael espanner

    Hej Tommy.
    Først, stor fan og glad bruger af dine addons til xbmc.
    Jeg har fornyelig opgraderer din dr addon til ver 5.0.1, da den gamle version af dr.nu playeren begyndte at fejle f.eks. På at man gik ind under D.

    Men jeg oplever en meget svag hakken på billedet på den nye dr ver. 5.1.0.
    Og den dør ca. 10 min inde i en udsendelse.
    Jeg kører stadig på xbmc frodo, da der er nogle funktioner i frodo vedr. Undertekster som forsvinder i gotham.

    Mulugvis er det bare en et hak eller lign. Men i den gamle dr addon, kunne jeg rette det ved at skifte mellem medietype ex. Vod eller ios eller streaming.

    Er det muligt at få denne funktion ingen, eller har du en anden ide?

    Jeg kører xbmc en hp minipc

    På forhånd tak.
    🙂

  22. Tommy

    Hej Michael,
    De gamle streams (vod, ios, mv) er ikke længere tilgængelige på DRs server, så det er ikke muligt.
    Jeg vil tro dine problemer med hakkende video bliver løst ved at opgradere til Gotham – der er trods alt rettet en hel række fejl og andre forbedringer siden Frodo.
    Mvh.
    Tommy

  23. Jakob

    Hey Tommy,

    Tester dit DR TV plugin v 5.0.5 på mit ATV2 med XMBC v 13.2.

    Kan det passe at både live tv og andre DR programmer kun er i SD kvalitet? Er det fordi ATV2 ikke kan dekode HD streams?

    Mvh. Jakob

  24. Tommy

    Ja det mener jeg. DR1 er vist i 1024×576. Oplever du bedre kvalitet på dr.dk?

  25. Oskar Sørensen

    Tusind tak for dit DR TV-addon, i min autoexec.py-fil har jeg følgende kode:
    import xbmc
    xbmc.executebuiltin(‘XBMC.RunAddon(plugin.video.drnu)’)

    Det åbner addon’et når XBMC startes. Det virker fint. Når addonet er åbnet skal man (som altid) vælge et univers, enten DR, Ramasjang eller Ultra, er der en måde hvorpå, at jeg kan få den til automatisk at vælge DR-universet?

    Igen mange tak for addon’et, det har reddet os fra at skulle lægge nye antennekabler i vores hus.
    Mvh.
    Oskar

  26. Jacob

    Hej Tommy. Tak for addon. Det hakker helt vildt når jeg streamer. Syntes ikke lige jeg kan se et fix herover.

  27. Jacob

    Streamer DR TV.

  28. Dan Holt Højgaard

    Hej Oskar

    Jeg har også smidt en autoexec.py i mappen:
    /private/var/mobile/Library/Preferences/XBMC/userdata

    Jeg har en apple tv, men der sker intet når den starter op.

    Mine linjer ser således ud:

    import xbmc

    xbmc.executebuiltin(‘XBMC.RunAddon(plugin.video.drnu)’)

    Hvad mon jeg gør forkert?

  29. Jacob Sivertsen

    Hej Tommy

    Tak for dit store arbejde!

    Det hakker også hos mig ca hver 3-5. når jeg streamer, hvor billedet står stille fra 10-30 sekunder. Har du nogen ide om hvorfor eller kan du styre os i retningen af en løsning?

  30. Tommy

    Hej Jacob
    Det er ikke noget jeg har oplevet, så jeg aner ikke hvad det skyldes. Har du opgraderet til Kodi?
    Mvh.
    Tommy

  31. Morten

    Fantastisk plugin. Virkede bare saadan vupti paa mit RBMC. Tak.

  32. Lars Andersen

    Første gang man starter addon, skal man vælge mellem DR, ramasjang, osv.
    Vælger jeg ramasjang og trykker tilbage, så ryger jeg helt ud af addon. Dvs jeg kan kun vælge nyt område efter genstart! Måske er der en måde? Men havde det ikke været naturligt om tilbage virkede sådan?

  33. Lars Andersen

    Nå det er “context menu” – area chooser. Den funktion er godt begravet med en harmony remote…

  34. Johann Bundgaard Valdimarsson

    Hej Tommy.

    Jeg har samme problem som Jacob Sivertsen, har/havde i februar.

    Det har kørt sådan næsten hele december. Der er ikke rigtig nogen kontinuitet i det og systemet er opdateret til det sidste nye openelec.
    Det har ikke været et problem før december og det er længere tid siden at den er blevet opdateret.

  35. Henrik

    Har også samme problem som Tommy.

    Nogle gange virker det fint og andre gange hakket det hvert 30 sekund.

    Jeg har kodi 15.

    Ellers et helt fantastisk platin som man ikke kan leve uden… Faktisk den eneste grund til at jeg har fået kodi 🙂

  36. Henrik

    Mente samme problem som Johann…

  37. Jens Kirk

    Jeg bruger Rasp PI) med det oprindelige system, men opdateret (inklusiv kernen).Jeg oplever ikke meget hakken, men lyd og video følger ikke helt samme spor. Problemet lader primært til at være på DR TV (og muligvis lignende) addons.
    Problemet med lyd og video synkroniseringen lader til at være isoleret til DR NU (lader ikke til at være i addons du TW ikke har lavet i hvert fald).

  38. Jens Kirk

    Jeg bruger en Rasp PI 2 med sit oprindelige system, men opdateret (inklusiv kernen). Jeg oplever ikke meget hakken, men lyd og video følger ikke helt samme spor. Problemet lader primært til at være på DR TV (eneste addon fra TW).
    Problemet med lyd og video synkroniseringen lader til at være isoleret til DR NU addonen.

  39. Jacob

    Hej Tommy.

    Er det muligt at spole i bonanza på nogen måde? “I gamle dage” kunne sætte op til at køre videolow. Billedet var det samme, men man kunne spole uden at synkroniseringen gik fløjten. Nu kan man ikke konfigurere pluginnen mere, hvilket er frustrerende. Det er svært at se en hel udsendelse fra 80erne, da det går laaaangsomt.

© 2024 Tommy Winther

Tema af Anders NorenOp ↑