Beiträge von Nico81

    So, ich kämpfe jetzt seit 10 Tagen mit der Lösung 2.

    Ich habe schon einige Probleme gelöst.

    An der Berechnung der Aufnahmedauer bin ich allerdings gescheitert.

    Ich habe mir jetzt geholfen, indem ich gesagt habe, wenn die Funktion in einen Fehler läuft, gebe ich die Aufnahmedauer als 1 Stunde vor.

    Das scheint auch zu funktionieren. Ich weiß nur noch nicht, welche Auswirkungen, das auf meine Aufnahmen hat.

    Ich habe den Code angepasst und mit reichlich neuen Kommentaren versehen.

    So sieht er aktuell aus:

    Wahrscheinlich hat mein Code noch ein Problem damit, dass meine Dateinamen auch Leerzeichen enthalten können.

    Um dieses Problem auszuschließen, habe ich die aktuelle Testaufnahme allerdings angepasst, sodass sie kein Leerzeichen enthält.

    Dennoch komme ich nicht zum Ziel.

    Hier meine aktuelle Fehlermeldung.

    Kann mir jemand bei der Lösung weiterhelfen?

    Ich muss sonst leider hier abbrechen. Ich weiß einfach nicht mehr weiter.

    Das Problem mit ffprobe habe ich nun gelöst, indem ich dafür den absoluten Pfad angegeben habe.

    Gleich darauf wartete das nächste Problem auf mich...

    Hier mein Code:

    Ich habe einige print-Befehle eingefügt, um den Fehler und den Code besser verstehen zu können...

    Und hier meine Fehlermeldung:

    Leider übersteigt das bei weitem meine Fähigkeiten. Falls jemand Tipps für mich hätte, wäre ich unendlich dankbar!

    Ich arbeite an Lösung 2.

    Als das Python-Script dann endlich ausgeführt wurde, habe ich eine Menge Fehlermeldungen erhalten.

    Ich bin immer noch dabei sie abzuarbeiten.

    Zuerst wurde der print-Befehl angemeckert. Den Ausdruck nach dem print-Befehl musste ich in Klammern setzen.

    Code
    Hier das Orginal:
        print"ERROR in filestr2num: file name doesn't start with 'YYYY-MM-DD_HH-MM.ts'. Use Inode Change Time instead."
    Bei mir funktioniert das:
        print("ERROR in filestr2num: file name doesn't start with 'YYYY-MM-DD_HH-MM.ts'. Use Inode Change Time instead.")

    Nicht wundern, bei mir werden Datum und Uhrzeit durch ein Unterstrich getrennt und nicht wie in der Originallösung durch ein "T", deshalb habe ich den Befehl leicht angepasst.

    Damit ich sehe, bei welcher Datei die Bearbeitung gerade ist (auch zur Fehlersuche), habe ich außerdem folgende Codezeile an den Anfang der Funktion importRecord gestellt. Das funktioniert ganz gut.

    Code
    print("Datei = ",filepath)

    Aktuell scheitere ich aber an folgender Fehlermeldung:

    Ich entnehme der Fehlermeldung, dass der Befehl "ffprobe" in der Funktion videoDuration nicht erkannt wurde.

    Offensichtlich ist "ffprobe" ein Programm, das mit der Installation von "ffmpeg" installiert wird.

    Ich habe "ffmpeg" von der SynoCommunity auf meinem Synology-NAS installiert. Aber irgendwie wird es nicht erkannt.

    Auch auf meinem Windows-Laptop (von dem ich das Python-Script starte) habe ich "ffmpeg" installiert.

    Dort habe ich es auch wieder bei den Windows-Systemvariablen hinterlegt.

    Mit dem Befehlen ffmpeg -version und ffprobe -version kann man prüfen, ob die Programme korrekt installiert wurden.

    Interessanterweise werden beide Programme erkannt, solange ich die Prüfung über CMD auf meinem Laptop mache.

    Nachdem ich mich aber per SSH auf meine Synology-NAS verbunden habe, wird ffprobe nicht mehr erkannt.

    Daher vermute ich, dass das Problem dort liegt.

    Leider weiß ich noch nicht, wie ich es lösen kann.

    Ich habe eigentlich exakt die Anweisungen für Lösung1 aus #1 befolgt.

    Wenn ich nun versuche das Phython-Skript auszuführen passiert exakt gar nichts.

    Ich bekomme die Anzeige wie im Screenshot und dabei bleibt es dann.

    Was kann ich tun, um zu sheen wo es "hängt"?

    Hallo md1302,

    ich habe davon bisher echt auch keine Ahnung. Versuche mich aber seit Mittwoch intensiv in das Thema einzuarbeiten.

    Ich bin Windows-User, deshalb müssen sich meine Erfahrungen nicht ganz mit deinen decken, aber...

    Bei mir sah es vorgestern noch genauso aus.

    Ursache war, das Python nicht richtig installiert war bzw. das python nicht bei den Windows Systemvariablen hinterlegt war.

    Für meinen Fall habe ich eine tolle Anleitung gefunden, die alles Schritt für Schritt erklärt. Aber die ist halt für Windows...

    https://www.marlem-software.de/marlemblog/2022/10/19/python-programmieren-trotz-handicap-python-installieren-in-windows-11/#:~:text=Um%20die%20Python%2DDatei%20ausf%C3%BChren,cd%20C%3A%5CPython%2DTest%20.

    Achja, und ich musste die Raute "#" vor dem python weglassen. Erst dann wurde der Befehl erkannt.

    Ich habe gestern mal die Tuner Konfiguration auf "DVBS2-1" geändert. Daraufhin waren bis auf den ersten Tuner alle weg. Ich denke, dass kann nicht richtig sein, deshalb habe ich es erst einmal wieder rückgängig gemacht.

    Ich muss mich da noch mal in Ruhe durch die Hilfe lesen. Hatte gestern aber keine Zeit.

    So, es hat ein wenig gedauert, aber ich habe mich jetzt in das Thema eingelesen.

    Ich habe das Python-Script für Lösung 2 auf mich angepasst.

    Es sieht jetzt so aus:

    Ich habe das fertige Script in den Ordner mit den TV-Aufzeichnungen auf meinem neuen NAS kopiert und zum Test zunächst eine alte Aufnahme.

    Dann habe ich auf dem Synology NAS SSH aktiviert.

    Anschließend habe ich auf meinem Laptop (Windows 10) die Powershell geöffnet.

    Nun habe ich mich mit dem Befehl

    Code
    ssh MANI@192.168.178.101 -p 22

    mit dem Synology NAS verbunden. Dafür wurde ich nach dem Passwort zum Benutzer gefragt. Alles in Ordnung.

    Jetzt habe ich wie im verlinkten Beitrag beschrieben versucht die Python-Datei zu starten.

    Dazu habe ich folgenden Befehl verwendet:

    Code
    MANI@MANI-SERV2:/$ #python /volume1/TV-Aufzeichnungen/tvh_rec_import.py
    MANI@MANI-SERV2:/$

    Doch wie man sieht, sieht man nichts. Ich habe keinerlei Reaktion erkannt. Auch keine Fehlermeldung...

    Ich nehme an, die Datei wurde nicht ausgeführt.

    Woran kann das liegen? Muss ich auf der Synology NAS oder auf meinen Laptop vorher noch etwas installieren?

    Ich habe keinerlei Erfahrung mit Python. Aber ich habe da jetzt schon so viel Arbeit reingesteckt. Es muss doch gehen. Mir fehlen sicher nur irgendwelche Voraussetzungen. Kann mir jemand weiterhelfen? Ich weiß ja nicht mal mehr, nach was ich googeln soll...?!

    So, die Grundeinstellung für TvHeadend und SAT>IP habe ich jetzt offensichtlich geschafft.

    Auch meine TV-Aufnahmen werden mit vernünftigen Dateinamen im richtigen Ordner gespeichert.

    Ich habe probiert, ob ich 2 Aufnahmen gleichzeitig machen kann. Und auch das klappt.

    Jetzt habe ich probeweise eine Aufnahme, die ich noch mit dem DVB mediaserver gemacht habe, in das TV-Aufnahmenverzeichnis kopiert.

    Meine Hoffnung war ja, dass diese Aufnahme jetzt auch im Kodi erscheint. Ist ja schließlich alles das gleiche Dateiformat...

    Das hat leider nicht so einfach geklappt.

    Habt ihr einen Tipp für mich, wie ich meine alten Aufnahmen doch noch auf das neue System übertragen kann?

    Ich weiß ehrlich gesagt gar nicht, wo das zweite DVB-S Netzwerk herkommt. Aber das werde ich löschen.

    Die IPTV-Liste habe ich gestern noch einmal deaktiviert.

    Da hatte ich sowieso das Problem, dass zwar Muxe angezeigt werden, aber keine Services gefunden werden.

    Außerdem bin ich bisher auch noch nicht sicher, ob das der richtige Weg für mich ist.

    Die Einstellungen der TV-Adapter sind aber richtig, ja?

    Nachdem ich gestern dann erfolgreich mit Kodi über TvHeadend Satelliten-TV empfangen habe, habe ich mich gleich noch einem weiteren Thema gewidmet, auf das ich schon lange ganz heimlich ein Auge geworfen habe.

    Ich habe angefangen mich mit Kodinerds IPTV zu beschäftigen.

    Der zugehörige Thread mit seinen 145 Seiten ist mir aber ehrlich gesagt ein wenig zu lang. Ich habe den Einleitungs-Beitrag und den Update-Beitrag gelesen.

    Das klingt doch alles ganz verlockend. Sicherlich könnte ich meinen TV-Empfang damit noch etwas verbessern. Wobei SAT>IP meine Haupt-TV-Quelle bleiben soll!

    Bevor ich dort aber jetzt viel Mühe reinstecke, möchte ich sicher gehen, dass ich zumindest in der richtigen Grundrichtung unterwegs bin.

    Ich habe das Thema so verstanden, dass es für mich 2 Möglichkeiten für die Integration von IPTV in Kodi gibt.

    Möglichkeit 1 über "PVR IPTV Simple Client" und Möglichkeit 2 über "TvHeadend".

    Ich glaube, dass die Integration in den TvHeadend-Server für mich die richtigere Möglichkeit ist, oder?

    In diesem Fall könnte ich auf dem Server eine finale Senderliste aus SAT>IP-Sendern und IPTV-Sendern erstellen und diese einheitlich über den TvHeadend-Client ins Kodi einbinden.

    So wäre das Handling für alle einheitlich, sodass der "Endanwender" eigentlich keinen Unterschied zwischen den Empfangsarten bemerkt, oder?

    Beim IPTV Simple Client weiß ich gar nicht so recht, ob ich TvHeadend parallel betreiben könnte, bzw. ob ich die Sender dort mit einbinden könnte.

    Ich könnte mir vorstellen, dass auch das Thema Aufnahmen dann wieder problematisch bzw. anders werden könnte.

    Aber dazu habe ich leider noch keine richtige Übersicht oder einen Vergleich oder ähnliches gefunden, welche Lösung wofür das richtige ist.

    Ich fände es daher toll, wenn ihr mir kurz sagen könntet, ob ich auf der richtigen Spur bin. [ds]

    Ehrlich gesagt, habe ich gestern schon angefangen und versucht den "pipe"-Link ins TvHeadend einzubinden. Das geht grundsätzlich, aber die "Services" zeigen unter TvHeadend alle Fehler an.

    Da muss ich jetzt erst einmal suchen, wie ich da weiter komme.

    Hab auch gelesen, dass ffmpeg unter /usr/bin/ffmpeg installiert sein muss, damit es klappt. Nur leider habe ich noch nicht rausbekommen, wo meine Diskstation das ffmpeg-Paket hin installiert hat. Vielleicht liegt es ja gleich daran, dass die "Services" Fehler melden.

    Aber schauen wir mal...

    Oh, dankeschön. [ah]

    Ich hab das für mich nicht ganz so empfunden. Also "schnell" fand ich mich jedenfalls nicht. Und innerlich geflucht habe ich reichlich. Aber ja, es geht jetzt und ich bin froh, dass ich es so weit geschafft habe. [ag]

    Nun zu deinem Vorschlag...

    Ist das die User Konfig im TvHeadend-Server? Wenn ja, habe ich die so noch nicht gesehen. Aber man kann da ja immer die Ansicht zwischen Standard und Experte ändern. Dann ist das wahrscheinlich die Experten-Ansicht, oder?

    Wenn ich das richtig verstehe, hast du am Anfang der Einrichtung für den normalen Nutzer nicht * für einen beliebigen Nutzer eingegeben, sondern du hast einen Nutzer "tvclient" eingerichtet.

    Und dann hast du sicherlich diesen Nutzer auch in der Konfig des PVR-Clients hinterlegt.

    Dann funktioniert das mit Sicherheit alles ordentlich mit dem Aufnehmen.

    Ich hatte nur eigentlich gehofft, dass es auch ganz ohne Nutzer-Zuordnung geht.

    Andererseits... Mit deiner Variante gehts sicher und einfach. Also warum noch lange rumprobieren, um eine Lösung für ein eigentlich unnötiges Problem zu finden.

    Soweit so gut. Ich habe gestern auch gleich noch eine Probe-Installation von Kodi mit TvHeadend als PVR-Client gemacht. IP-Adresse der Synology NAS eingegeben und schon hats funktioniert. Sender werden angezeigt und abgespielt.

    Was noch nicht funktioniert hat, war das Aufnehmen. Das funktioniert erst, seit ich den Admin-User vom TvHeadend-Server auch im PVR-Client eingegeben habe.

    Ich hatte zwar im TvHeadend-Server hinterlegt, dass sich jeder mit dem Server verbinden darf, aber irgendwie gilt das scheinbar nicht für´s Aufnehmen.

    Wisst ihr, was ich tun muss, damit das Aufnehmen mit jedem beliebigen Nutzer geht?

    So nun wie versprochen zu den Aufnahmen.

    Im TvHeadend findet man dazu alles unter Konfiguration > Aufnahme.

    Im Reiter "Digitaler Videorekorder-Profile" habe ich im Standard-Profil angegeben, dass die Aufnahmen 3 Minuten vor der Sendung gestartet und 10 Minuten nach der Sendung beendet werden sollen. Als Speicherpfad habe ich "/volume1/TV-Aufzeichnungen" angegeben. Wenn ihr wissen wollt, wie euer Pfad genau heißt, dann geht im DSM in der FileStation auf den Ordner. Per Rechtsklick könnt ihr dort die Eigenschaften starten und dann wird euch der konkrete Pfad angezeigt.

    Im Reiter "Timeshift" habe ich dann noch das Häkchen bei "Aktiviert" gesetzt und gespeichert. Ob das Speichern was bringt, weiß ich noch nicht, da nach dem Speichern die Seite aktualisiert wird und dann das Häkchen wieder fehlt.

    Hier und da hatte ich schon gelesen, dass die Aufnahme jetzt noch nicht gehen wird, weil dem Aufnahme-Ordner noch die Lese-/Schreib-Rechte für den richtigen User zugeordnet werden müssen. Leider habe ich in verschiedenen Anleitungen verschiedene Beschreibungen dazu gefunden. Und die für mich richtige war nicht dabei.

    Ich war am Ende wieder im DSM in der FileStation. Dort habe ich mit Rechtsklick auf den Ordner die Eigenschaften geöffnet. Dort gibt es den Reiter "Berechtigungen". Hier kann man eine neue Berechtigung "Erstellen". Im zugehörigen Menü habe ich als Benutzer "sc-tvheadend" ausgewählt und diesem Nutzer volle Lese- und Schreibrechte erteilt. Dann konnte ich aufnehmen.

    Ich habe gesehen, dass es da auch die Nutzer "sc-ffmpeg5" und "sc-python310" gibt. Die gehören zu den beiden für TvHeadend benötigten Zusatzpaketen. Ob die ebenfalls Rechte an dem Ordner brauchen weiß ich nicht genau. Ich habe ihnen bisher keine vergeben...

    Als nächstes ging es ans Einrichten von TvHeadend. Hierbei war ich mehrfach am Verzweifeln.

    Geholfen hat mir diese Anleitung (etwa ab der Hälfte wird es interessant):

    Tvheadend & SAT IP #2 Installation und Konfiguration
    Herzlich willkommen In Der Video Beschreibung👌➖➖➖ in Diesem Video ➖➖➖ Zeige ich die wie du Tvheadend mit SAT IP auf einem Ubuntu Server Installieren kannst....
    www.youtube.com

    Beim ersten Aufrufen der Oberfläche von TvHeadend startet gleich der Einrichtungsassistent.

    Im ersten Schritt habe ich als Sprache für Web Interface und EPG „German“ eingegeben.

    Auf der nächsten Seite werden Informationen zum freigegebenen Netzwerk und Benutzern abgefragt. Für das Netzwerk habe ich zunächst keine Einschränkungen gemacht. Deshalb habe ich das Feld leer gelassen. Für den Administrator werden Username und Password verlangt. Für den normalen User habe ich einfach * eingegeben. Damit dürfen alle als normale User mit TvHeadend umgehen.

    Richtig interessant wurde es auf der dritten Seite. Hier war meine Verzweiflung schon echt groß, denn hier müssen die Tuner angegeben werden. Im Hintergrund sieht man schön, welche Tuner TvHeadend so erkannt hat. Im Assistenten waren bei mir die ersten beiden Tuner für IPTV voreingestellt und die restlichen 4 für SAT>IP. Das lässt sich hier auch nicht ändern. Zu meinem großen Ärger hat TvHeadend mein DVB mediaserver als Tuner erkannt und voreingetragen. Den wollte ich aber nach Abschluss der TvHeadend-Installation ablösen. Ändern konnte ich das aber leider nicht.

    Weil ich mir nicht anders zu helfen wusste, habe ich also meinen HTPC (auf dem der DVB mediaserver läuft) runtergefahren und den Assistenten neu gestartet. Dummerweise merkt er sich die ursprünglich gefunden Tuner. Also habe ich TvHeadened deinstalliert und noch einmal von vorn angefangen. Diesmal erschien nur noch mein Kathrein EXIP als Tuner. Und wurde auch voreingetragen. Ich habe also im Netzwerk 3-6 die ersten 4 Tuner meines Kathrein SAT>IP Servers eingetragen und als Netzwerktyp „DVB-S Network“ angegeben.

    Wie im Video beschrieben habe ich dann auf Seite 4 „> 19.2E:Astra“ als Pre-defined muxes angegeben.

    Auf Seite 5 startet er nun den Sendersuchlauf. Bei mir mit dem Ergebnis „Scan progress 100%“ und „Found services: 0“. Nun war guter Rat teuer…

    Beim Suchen nach der Lösung meines Problems habe ich entdeckt, dass der Einrichtungsassistent so einige komische Sachen macht. Unter Configuration > DVB Inputs > TV adapters sind mir zwei Sachen aufgefallen. Zum einen waren nur 4 von 8 Tunern des Kathrein-Servers aktiviert. Ist natürlich logisch, denn mehr konnte ich im Einrichtungsassistenten auch nicht angeben. Also habe ich den Rest auch aktiviert. Und dann hatten die vom Einrichtungsassistenten eingerichteten Tuner nur 1 Unterposition und nicht mehr 4. Also habe ich die Einträge verglichen und angepasst. Am Ende hatte ich alle 8 Tuner aktiviert und als „DVB-S Network“ konfiguriert. Und außerdem waren auch bei jedem Tuner die 4 Unterpositionen aktiviert.

    Nur Kanäle wurden nicht gefunden. Die waren dann erst einen Tag später urplötzlich da. Ich vermute einfach mal, dass der Sendersuchlauf noch gar nicht abgeschlossen war, als mir der Einrichtungsassistent schon „Scan progress 100%“ gemeldet hat.

    Weiter ging es nun mit der Auswahl der Sender. Das war im verlinkten Video wieder recht gut erklärt und hat entsprechend einfach funktioniert. Was mir hier ein wenig gefehlt hat, wäre die Möglichkeit die gefundenen Kanäle nach Fernsehen und Radio vor zu sortieren. Dadurch wäre die Kanalauswahl für mich etwas einfacher geworden. Aber egal. Ich habe es ja geschafft.

    Jetzt ist noch das Thema TV-Aufnahmen offen. Aber das beschreibe ich euch wahrscheinlich heute Abend.

    So, ich möchte mich mal zurückmelden und berichten wie es mir ergangen ist.

    Denn ich muss ganz ehrlich sagen, so einfach war es bisher nicht. Und vielleicht hilft meine Rückmeldung dem ein oder anderem weiter oder aber jemand entdeckt in meiner Herangehensweise noch gravierende Fehler.

    Zuerst habe ich mir natürlich den verlinkten Thread hier im Forum angesehen und auch den darin verlinkten Thread. Da ich aber erst einmal nur TvHeadend installieren/einrichten wollte und ich von dem Rest auch keine Ahnung hatte, war das für mich recht kompliziert.

    Ich habe dann diesen Thread im Synology-Forum gefunden:

    TVheadend und DSM 7.2.1-69057
    Hallo! Ich habe auf meiner DS720+ aktuell DSM 7.2-64570 Update 3 laufen. Damit funktioniert tvheadend super. Nun kommt beim Versuch DSM zu aktualisieren die…
    www.synology-forum.de

    Damit war die Paket-Installation schon mal ein Klacks (auch wenn es dort noch für einen alternativen durchaus komplizierteren Weg beschrieben wird). Deshalb hier die Kurzzusammenfassung wie es bei mir geklappt hat:

    Im Synology Paket-Zentrum habe ich erst einmal die Community als Paketquelle hinzugefügt.

    Name: http://packages.synocommunity.com (kann auch gern frei gewählt werden)

    Ort: http://packages.synocommunity.com

    Dann findet man unter den Community-Paketen TvHeadend und kann es installieren. Vor der Installation werden bei dieser Vorgehensweise auch gleich noch alle notwendigen Zusatzpakete mitinstalliert. Natürlich mit vorheriger Ansage bzw. Frage um Erlaubnis.

    Hallo ihr zwei,

    vielen Dank schon mal für die Infos.

    Da werde ich mich mal einlesen. Ein bisl Bauchschmerzen habe ich zwar, weil Tvheadend ja wieder völlig neu für mich ist. Aber ich werde es schon hinbekommen.

    Übrigens... Nachdem meine DS216j immer ein wenig schwach auf der Brust war, habe ich meiner DS224+ von vornherein 10 GB RAM gegönnt.

    Ist ein wahnsinniger Unterschied.