[DISCONTINUED] Telerising API - Zattoo für tvHeadend und VLC [Perl]

  • Es liegt wohl eher daran, dass ffmpeg an einem anderen Ort installiert ist (nicht /usr/bin). Führe mal "command -v ffmpeg" vom Terminal aus, um zu sehen, wo sich die Installation befindet, dann kann man das pipe.sh-Skript daraufhin anpassen. Die Anführungszeichen kann man dort auch nachsetzen.

  • @erotikbaer Überschreibe bitte das Skript pipe.sh mit den untenstehenden Daten:

    Spoiler anzeigen
    Bash: pipe.sh
    session=$(<user/session)
    curl -i -s -X POST -H "Content-Type: application/x-www-form-urlencoded" -H "Accept: application/x-www-form-urlencoded" --cookie "$session" --data "stream_type=hls&https_watch_urls=True×hift=10800" https://PROVIDER/zapi/watch/live/CID_CHANNEL | grep "{" | sed 's/.*"stream": {"url": "//g;s/", .*//g;' > work/chlink && PIPE=$(sed '/zahs/{s/https:/http:/g;s/zahs.tv.*/zahs.tv/g;s/\//\\\//g;};/akamaized/{s/https:/http:/g;s/akamaized.net.*/akamaized.net/g;s/\//\\\//g;}' work/chlink) && curl -s $(<work/chlink) | \
    # grep -E "live-8000|live-5000|live-3000|live-2999|live-1500" | sed "2,5d;s/.*/#\!\/bin\/bash\n\/usr\/bin\/ffmpeg -loglevel fatal -i '$PIPE\/&' -vcodec copy -acodec copy -f mpegts -tune zerolatency -preset normal -metadata service_name='CHANNEL_NAME' pipe:1/g;" > chpipe.sh
    # grep -E "live-3000|live-2999|live-1500" | sed "2,3d;s/.*/#\!\/bin\/bash\n\/usr\/bin\/ffmpeg -loglevel fatal -i '$PIPE\/&' -vcodec copy -acodec copy -f mpegts -tune zerolatency -preset normal -metadata service_name='CHANNEL_NAME' pipe:1/g;" > chpipe.sh
    # grep "live-1500" | sed "s/.*/#\!\/bin\/bash\n\/usr\/bin\/ffmpeg -loglevel fatal -i '$PIPE\/&' -vcodec copy -acodec copy -f mpegts -tune zerolatency -preset normal -metadata service_name='CHANNEL_NAME' pipe:1/g;" > chpipe.sh
    # grep "live-900" | sed "s/.*/#\!\/bin\/bash\n\/usr\/bin\/ffmpeg -loglevel fatal -i '$PIPE\/&' -vcodec copy -acodec copy -f mpegts -tune zerolatency -preset normal -metadata service_name='CHANNEL_NAME' pipe:1/g;" > chpipe.sh
    # grep "live-600" | sed "s/.*/#\!\/bin\/bash\n\/usr\/bin\/ffmpeg -loglevel fatal -i '$PIPE\/&' -vcodec copy -acodec copy -f mpegts -tune zerolatency -preset normal -metadata service_name='CHANNEL_NAME' pipe:1/g;" > chpipe.sh
    bash chpipe.sh
  • Ich habe das Skript auch eingebunden und prinzipiell funktioniert es auch. D.h. ich bekomme tatsächlich über das TvH-Addon in Kodi die Live-Streams zu sehen.
    Was ich allerdings überhaupt nicht hinbekomme, sind EPG und Sender-Logos. Insgesamt ist mir TvHeadend zu schwierig, was die UX angeht. Ohne Anleitung wären das für mich alles böhmische Dörfer gewesen. 8|
    Gibt es irgendein Log, dass ich schicken könnte, dass irgendjemand, der ganz doll nett ist und Ahnung von der Sache hat, mir sagen kann, was ich bei TvHeadend tun muss, um EPG oder zumindest die Info, was gerade auf dem jeweiligen Sender läuft, an den Start zu bekommen?
    ;( :rolleyes:

  • Update v0.5.2:

    • Episoden-Daten werden nun im XMLTV_NS-Format erzeugt
    • Hotfix für Image URLs

    WICHTIG: Ab sofort wird Perl als zusätzliches Programm benötigt. Dies hängt damit zusammen, dass mit zukünftigen Updates die Verarbeitungsgeschwindigkeit sowie die String-Erkennung verbessert werden soll, besonders im Hinblick auf die EPG XML-Erstellung.

  • Guten Abend,

    gibt es jemanden der es geschafft hat das Skript in Docker zum laufen zu bekommen? Würde es gerne nativ auf meiner Synology Diskstation laufen lassen..

    Grüsse

    Dafür würde ich mich auch interessieren.
    Um es nativ auf einer DS laufen zu lassen, müsste ich zu viele Änderungen Grundsystem vornehmen.

  • Hallo,
    Ich habe das Script derzeit in der version 0.5.1 auf meiner Synology (DS918+) nativ am Laufen. Funktioniert ausgezeichnet. Einzige Änderung war die Herausnahme des Online Checks bzw. der Ping Befehl am Anfang des Scriptes. No root User dürfen auf der Syno das nicht icmp Protokoll nutzen, nur tcp/udp.

    Voraussetzung:
    - root user aktivieren
    - Entware-ng installieren.
    - über opkg die entsprechenden packages installieren. Einige sind nicht vorhanden, ihr könnt diese aber für Intel 64 bit unter dem link https://discourse-cdn-sjc1.com/plex/uploads/d…6ccfe27d63c.zip
    Herunterladen bzw im Internet für andere Plattformen suchen. Dateien in den /opt/bin folder kopieren und execution rights geben. (Falls Zeit, Packages suchen bzw selbst compilen)

    Modified script : https://discourse-cdn-sjc1.com/plex/uploads/d…6ccfe27d63c.zip

    SSL Zertifikat issue beheben, siehe https://forums.plex.tv/t/zattoo-input-stream/235715

    Grüße

  • @Osca erstmal herzlichen Dank! Hab noch nie von dem Paketmanager gehört, sind da viele Schätze vergraben, die die Synology aufpimmt? Ich habe mir mal eben schnell im Internet die jeweilige Anleitung herausgesucht: https://github.com/Entware/Entwar…on-Synology-NAS ist die hier beschriebene Vorgehensweise die richtige, oder geht es noch einfach über z.B. einer Paketquelle?

    Vielleicht kannst du deine Anleitung ja nochmal ein wenig mehr umschreiben und oder sogar ein eigenes Thema aufmachen.

    Danke schon mal, lese mich mal rein.

    Viele Grüße,
    Seger

  • Hallo, ja dies ist die richtige Anleitung zur Installation von Entware. Fürs StartUp Script (DSM) habe ich übrigens Variante (1) genutzt. Bitte auch beachten das bei größeren Updates von Synology gerne auch mal etwas im die Brüche geht und dann manuell nachgezogen werden muss (siehe obige Ableitung).
    Wichtig wäre zudem der Access mit dem Root user, dies habe ich zudem in dem bereits erwähnten parallelen Thema im Plex Forum beschrieben. https://forums.plex.tv/t/zattoo-input-stream/235715 .
    Bitte nach der Installation alle benötigten Programme einzeln prüfen, ob korrekt ausführbar. Die Path Variable sollte dem /opt/bin Folder mitführen.
    Ich empfehle als eines der ersten Pakete den mc zu installieren. Als Terminal nutzte ich auf dem pc putty und von Android connect-bot.

    Ich habe für die Ausführung des Scriptes einen neuen dedizierten User angelegt. Diesem sollte auch die Administrator Gruppe zugeordnet werden, damit er sich auf ssh einloggen lassen. (Bei normalen Usern trägt Synology ansonsten in der passwd die /bin/nologin shell ein.)
    Dem ztvh Folder würde ich einmal chmod 777 geben und die Gruppe mit chown auf users setzen.
    Bitte die SSL im /opt folder korrigieren. (Siehe Thema im plex Forum)

    Leider habe ich in diesen Tagen zu wenig Zeit die gesamte Anleitung detailliert zu beschreiben. Schließe es aber für die nähere Zukunft nicht aus.
    Derweil kam ich Euch bei auftreten Problemen sichert weiterhelfen.

  • Dank dem Beitrag von Osca im Plex Forum habe ich das Script auf der DS418play eines Kollegen zum laufen bekommen.
    Integration in TVHeadend funktioniert wunderbar. Ich muss mich dann nur mit dem EPG nochmal genau beschäftigen. An dem Punkt habe ich vorläufig aufgehört da ich froh war, das es nach etlichen Stunden lesen/ verstehen und in den Console herumfummeln überhaupt funktioniert :D

  • Dank dem Beitrag von Osca im Plex Forum habe ich das Script auf der DS418play eines Kollegen zum laufen bekommen.
    Integration in TVHeadend funktioniert wunderbar. Ich muss mich dann nur mit dem EPG nochmal genau beschäftigen. An dem Punkt habe ich vorläufig aufgehört da ich froh war, das es nach etlichen Stunden lesen/ verstehen und in den Console herumfummeln überhaupt funktioniert :D

    cool, herzlichen Glückwunsch! Wenn du magst kannst du ja gern nochmal deinen ganz genauen Weg einfach und verständlich runterschreiben ;)?!

    Viele Grüße,
    Seger

  • Hallo, es freut mich das es soweit geklappt hat. Noch ein paar Tipps:

    Im Syno Task Manager sollte das Script eingeplant sein, 1x täglich, mit dem Kommando:

    su ztvh -s /bin/bash -c /volume1/homes/<user>/ztvh.sh

    Bitte <user> anpassen.

    Ich würde erst einmal nur die logos und das erweiterte EPG herunterladen (Zattoo) und die Qualität des sreams setzen.

    Auf der syno funktioniert nicht der socat über die UNIX sockets, um das EPG zu hosten, alternativ habe ich das ‘tv_grab_file’ script heruntergeladen in den ztvh Folder. Bitte im tv_grab_file Script die folgende Änderung vornehmen ( cat Befehl tauschen)

    if (( $# < 1 ))
    then
    #cat ~/.xmltv/tv_grab_file.xmltv
    cat /volume1/homes/USER/ztvh/zattoo_ext_fullepg.xml
    exit 0
    fi

    Anstelle USER den ztvh user nutzen. Dem script 777 geben und der gruppe users zuordnen.
    Dann bitte im /usr/bin einen Symlink unter dem gleichem Namen auf dieses Script anlegen mit, z.b.:

    ln -s /volume1/homes/USER/ztvh/tv_grab_file /usr/bin/tv_grab_file

    Anstelle USER deinen ztvh user nutzen.

    Natürlich kann man das Script auch direkt im /usr/bin lassen, fand ich aber nicht so passend…

    Einmal testweise von der shell aus laufen lassen. Er müsste seitenweise das epg auf stdout ausgeben. Danach sollte im tvheadend bei config epg grabber eigentlich dieser als neues Modul auftauchen. Dann bitte den Eintrag aktivieren der auf "/usr/bin/tv_grab_file" zeigt. Alle anderen grabber module werden nicht benötigt, sprich am besten deaktivieren.

    Im tvheadend kann man anschließend die Ausführung der internen grabber zeitlich einplanen, ich lasse ihn 15min nach dem epg download (ztvh.sh) laufen.

    Grüsse

    5 Mal editiert, zuletzt von Osca (13. April 2019 um 19:39)

  • Hallo,
    ich nutze das Script auf einem TvHeadend-Server 4.2.8-23 (VM) über einen Zattoo Premium-Account (seit Februar 2019) und streame im LAN (50 Mbit-Anschluss). Clients (Raspberry Pi3, Odroid C2) laufen auf LibreELEC 9.0.1. Ich habe nun festgestellt, das eine Reihe von Sendern nur in SD (768x432) streamen. Dazu gehören alle Sender der Pro7Sat1-Gruppe und RTL-Gruppe. Alle ÖR und einige private (CNN, Sport1, SkySportNewsHD) werden in HD (1280x720) gestreamt. Wenn ich alternativ das ZattooHiQ-Addon oder das Zattoo PVR Client-Addon verwende, sind die Auflösungen gleich.
    Kann vielleicht jemand mit Zattoo-Premium-Account bestätigen, das Pro7Sat1/RTL-Sender zur Zeit nur in SD gestreamt werden (im Premium-Account sollten Pro7Sat1/RTL-Sender auch in HD gestreamt werden -> Auflösung und Bitraten (SD-/HD-/Full HD)). In der Vergangenheit sind die genannten Sender in HD gestreamt worden. Hab nur ich dieses Problem?

    Gruß
    Frank

  • Bei Zattoo Deutschland wurde nun ein DRM-Mechanismus eingeführt, der - sofern aktiv - bei allen Nicht-DRM-Clients dafür sorgt, dass ausschließlich die SD-Streams ausgegeben werden. Vielen Dank an die deutschen Privatsendergruppen, die den Schutz der ["hochwertigen"] Inhalte (mit HD+ etc. pp.) durchgesetzt haben. In der Schweiz können die Sender aber nach wie vor in HD abgerufen werden.

  • Das ist echt mies. Lässt sich inputstream dafür nutzen? Ähnlich wie bei amazon / netflix ?


    Supported formats (VOD + LIVE):

    • MPEG Dash manifest (.mpd)
    • Smoothstream manifest (.ism)
    • HLS multi-bitrate playlists (.m3u8)

    https://github.com/peak3d/inputst…i#supported-drmSupported DRM:

    • Microsoft PlayReady (Android only)
    • Google Widevine (Android over MediaDRM API, other platforms over libssd_wv wrapper
    • AES-128 native decryption for encrypted HLS streams.
  • Bei meinem Skript nicht, für tvHeadend gibt's keinen DRM-Support. Über die Zattoo Plugins für Kodi geht's mit DRM auch in HD weiter - mit den entsprechenden Einschränkungen, die der Anbieter vorschreibt.

    Aber wie gesagt, bei Zattoo Schweiz gibt's diesen DRM-Zwang (noch) nicht, in dem Land gibt's noch andere Regelungen.

Jetzt mitmachen!

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