Transkodieren und Springen innerhalb von Aufnahmen

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • Transkodieren und Springen innerhalb von Aufnahmen

      Hallo zusammen,
      ich besitze eine VU DUO2.
      Sowohl Streamen als auch Transkodieren bei Aufnahmen funktioniert. Dito bei Sendern. Ich benutze Dream Player bzw. deam EPG Premium für Android.
      Springen innerhalb einer Aufnahme beim Streamen geht auch. Allerdings nicht beim Transkodieren. Player bleibt an letzter Stelle hängen. Springe ich in 10sec Schritten von Anfang an, dauert es ca. 10 sec bis der Stream wieder weiterspielt usw.
      Ist das eine Limitierung des Transkodierens und somit quasi normal?
      Gruß
    • Das ist ein komplexes Thema und funktioniert Stand heute nicht.
      Ich hatte mich damit mal beschäftigt, weil mich das auch störte bei einer uno4kse.

      Die Methode, wie die Player ein Vorspulen oder Springen realisieren ist die, dass einfach ein neuer HTTP Request auf die selbe Filmdatei abgesetzt wird und dabei eine andere Startposition mitgeteilt wird. Der alte Stream wird dabei vom Player erstmal gar nicht geschlossen. Erst wenn der neue Stream die Daten liefert, wird der irgendwann mal geschlossen. Das geht so ohne Transcodierung, da man mehrfach diese HTTP Leserequests auf eine Filmdatei offen haben kann.

      Beim Transcodieren insbesondere bei Boxen, die nur einen Stream transcodieren können, ist das Verhalten der Player problematisch. Die Transcodierungs-HW kann nur einen Stream zu einer Zeit transcodieren und wenn der Player einen zweiten Stream auf dem Port öffnen will, dann gibt es einen Fehler, weil die Transcodierungs-HW schon belegt ist und dieser belegte Stream auch nicht vorher vom Player beendet wurde. Es kann gut sein, dass das bei Boxen mit Dualtrancoding gar nicht auffällt und solange funktioniert, bis mal zwei unabhängige transcodierte Streams laufen. Dann klappt das da auch auch nicht.

      Da mich das geärgert hatte, habe ich mir von github die Sourcen für den Trancodierungsprozess streamproxy (openpli) geholt und den Code dort dann recht stark überarbeitet. Ich habe es am Ende hinbekommen, dass es nun mit dem Springen auch mit dem Transcodiing klappt (natürlich wieder mit einer Verzögerung, bis der neue Stream kommt, wie beim Starten). Nun wird beim Öffnen eines Stream in dem Prozess gemerkt, welcher Film angefordert wurde und auch von welcher Clientplayer IP.Adressse (ip4 o IPv6). Wenn dann spater wieder ein Request von der selben IP auf die selbe Filmdatei angefordert wurde, wird nun der alte Stream erst in der Box abgebrochen und damit die Transcodierungs-HW wieder freigegeben. Danach wird dann mit dem neuen Startpunkt der Film wieder neu geöffnet und durch die Transcodierungs-HW geschickt und der Sprung klappt dann damit.

      Ein weiteres Thema nebenbei war manchmal auch, dass man bei mehrsprachigen Filmen die Sprache beim Transcodieren nicht auswählen konnte, was schonmal dazu geführt hatte, dass irgendeine Sprache kam. Da habe ich dann auch noch als Parameter ins openpli eingebaut, damit man das einstellen kann.

      Ich habe die Änderung auch auf github zurückgestellt, aber soweit mir bekannt ist, sind die nicht ins openpli übernommen worden. Ob das mal passiert, kann ich nicht sagen.

      Für interessierte hier die GIT Hub Links
      github.com/anudanan/streamproxy
      github.com/anudanan/enigma2-plugins
    • Danke für die schnelle und ausführliche Antwort. Ich vergaß zu erwähnen, dass ich das aktuelle VTi Image drauf habe. Aber da wird es ja die gleiche Problematik geben. Sind die plugins von openPLi kompatibel bzw. kann ich deinen Update auch beim VTi nehmen?
    • Meiner Info nach passt der streamproxy Prozess vom openpli nicht zum VTI. Beim VTI gibt es sowas prinzipiell auch, aber da gibt es sicherlich Unterschiede im Detail. Ich kann das aber nicht wirklich vergleichen, da die C++ Sourcen dafür nicht öffentlich sind