[iptv] erweitertes script für JWPlayer Sites -> 3 Stufige Streaming URL Konstruktion // Parsen+JSON in Bash?

  • Moin,


    meine "ich will NL TV schauen" Gehversuche habe ich zwar mit Plex+DNS gelöst bekommen, aber ich würde eigentlich gerne auch aufnehmen können...


    Dazu bastele ich mit dem vdr-iptv-Plugin rum. Die öffentlichen Sender sind via npo.nl abrufbar und werden von der JWPlayer Plattform zur Verfügung gestellt. JW erwartet einen 2 Stufige authethisierung und stellt dann .m3u8 mpegts zur Verfügung, welche ich auf der Kommandozeile auch per VLC (als ASCII) anschauen kann.


    Ich bin also glaube ich fast soweit, dass ich es auch mittels iptv-plugin hinbekommen sollte. Das EPG hole ich dann erstmal per epgdata.com dazu dachte ich, oder ich bastele mir einen XLM parser für den RSS Stream von npo.nl


    Jetzt zum Problem - ich will das Token und Hash ermitteln irgendwie mit einbauen, also eine umgebaute Version eines .sh Scriptes der scripte vom iptv-Paket schwebt mir da vor. Grundästzlich soll es:


    1) ein Token holen:


    curl http://ida.omroep.nl/npoplayer/i.js



    liefert dann


    (function(npoplayer){ npoplayer.token = "diesistdastoken"; }(npoplayer));


    zwischen den "" liegt das Token.


    2) die Stream-URL vom npo.nl CDN holen


    curl "http://ida.omroep.nl/aapi/?stream=http://livestreams.omroep.nl/live/npo/tvlive/ned1/ned1.isml/ned1.m3u8&token=diesistdastoken"


    liefert


    Code
    {"success":true,"stream":"http:\/\/livestreams.omroep.nl\/live\/npo\/tvlive\/ned1\/ned1.isml\/ned1.m3u8?hash=18f29052a23c0673b0a5b3fff3002674&type=http&protection=url"}




    Was für mich wie JSON aussieht...


    3) Stream abspielen - VLC mit URL zur .m3u8 starten


    Wenn ich jetzt per Hand die URL (also was zu stream: gehört) in normales URL format umwandele, dann kann ich damit den Stream in VLC aufrufen.


    Mein Problem ist, wie "parse" ich in sh/bash das Token gescheit? Ich wollte nicht in Python, Perl usw arbeiten.


    Also - kennt da jemand einen guten "Trick" oder ein Beispiel für? Bin für Tipps dankbar. Wollte heute Abend und Samstag weiterbasteln daran - mich blockiert das seit Wochen gedanklich immer wieder aufs neue *seufz*




    VG & ein frohes neues Jahr


    J*

  • Nach durchschauen des iptv-plugins bin ich mir relativ sicher das das Plugin keine m3u8 abspielen kann...
    Das ist ja "Http Live Streaming" (HLS), eine segmentierte mpegts, die m3u8 muss in regelmäßig Abständen nachgeladen werden. Dann gibt es ja auch noch Bandbreitenabhängige Unterscheidungen (für adaptive Qualitätsanpassungen)


    Ich versuche gerade nämlich das gleiche, dem VDR m3u8 beizubringen.

  • Hi,


    der VLC Player kann das aber prima dafür :) oder auch ffmpeg. Ich muss "nur" das Problem mit dem Token usw lösen denk ich für meinem Fall.


    Mit dem VLC/FFMPEG kannst Du ja einen Device mit einem Stream "erzeugen" auf einem Port, welches Du dann mit dem IPTV Plugin abgreifen kannst. In Deinem Falle aber würde ich schauen, ob du nicht mit libavcodec genau das intern lösen könntest. --> aber ist ja anderes Thema ;.)


    Cheers
    J*


    PS: das Regexp Ding funzt glaube ich .. sobald Sandmännchen rum ist und das Kind im Bett bastel ich mal am VDR weiter.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!