Frage zu den wiedergebbaren Audio-Formaten

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

    • Frage zu den wiedergebbaren Audio-Formaten

      Es geht hier um HDMI, und den Fehler haben auch nur die Ultimo4K und die Duo4Kse.

      Gesendet von meinem SM-G780G mit Tapatalk
    • @Rosti: die Bandbreite, die für E-AC3 benötigt wird, kann nur das HDMI-Kabel zur Verfügung stellen. Optisch geht da nichts mehr. Also ein ganz anderes Problem, was mit dem hier nichts zu tun hat.
      Diskutiere nie mit einem Idioten. Er zieht dich auf sein Niveau runter und schlägt dich mit seiner Erfahrung.
    • ich habe jetzt OpenAtv 7.2 installiert. Ich konnte aber keinen Unterschied feststellen.

      TVJunky1 schrieb:

      der workaround klappt tatsächlich bei der Duo 4k se . Man braucht aber verdammt viel Geduld.
      - Film starten
      - AC3 Downmix einschalten und warten bis der Ton kommt, 10 Sekunden
      - AC3 Downmix ausschalten, nach ca. 30 Sekunden startet dann der Ton.
      Update:
      So wie oben beschrieben klappt es leider nicht immer, manchmal bleibt der Ton trotzdem stumm.
      Man muss zusätzlich einmal mit der Sprungtaste zurück, das verkürzt dann auch die Wartezeit erheblich.
    • Dann ist zwischwen der DUO 4k SE und der Ultimo 4k vermutlich doch noch ein Treiber- oder Hardware Unterschied. Oder die Entschlüsselungsmethode für deinen DD+ Sender ist anders als bei mir, falls es sich nicht um ein Video handelt.
      Auf RTL UHD und UHD1 dauert es bei mir jeweils 2 Sekunden bis der Ton kommt.

      Auf dem VTI-Feed gibt es angeblich ein AudioReset Plugin das mit einer modifizierten plugin.py den Audio Reset per Tastendruck ermöglichen soll. Das Plugin ist aber Python2 Images, also nicht für OpenAtv7.
      Dateien
      • plugin.py.zip

        (2,07 kB, 2 mal heruntergeladen, zuletzt: )

      Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von Quirll ()

    • Keine Ahnung wo du das Plugin gefunden hast, auf dem Feed für die Solo4k ist es nicht vorhanden.

      Wenn das Plugin nur für Python2 gemacht wurde, ist das halt so. Frag den Autor, ob es eine Python3-Version dafür gibt. Wobei: was hätten wir davon?
      Diskutiere nie mit einem Idioten. Er zieht dich auf sein Niveau runter und schlägt dich mit seiner Erfahrung.

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von rdamas ()

    • Außer der vermutlich nicht funktionierenden Benutzung von "~/img/..." im Screen sehe ich nichts, was nicht sofort unter VTi funktionieren sollte. Das Plugin macht aber auch nichts anderes als den Downmix ein und sofort wieder ausschalten. Ohne Pause dazwischen:

      config.av.downmix_ac3.value = True
      config.av.downmix_ac3.save()
      config.av.downmix_ac3.value = False
      config.av.downmix_ac3.save()

      Noch ein Nachtrag: das Plugin hat nichts architektur-spezifisches drin. Keine Ahnung, warum das für "armhf" gepackt wurde und nicht gleich für "all".
      Diskutiere nie mit einem Idioten. Er zieht dich auf sein Niveau runter und schlägt dich mit seiner Erfahrung.

      Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von rdamas ()

    • Verstehe, die CPU Achitektur spielt keine Rolle.
      Hab eben versucht die plugin.py nach python3 zu konvertieren. Eigentlich war es nur der Syntax vom "print" Befehl.

      Jetzt läuft es durch mit Fehlermeldung:

      (name '_path_' is not defined)

      Allerdings wenn ich erst das Plugin starten muss um dann die Taste für den Reset drücken zu können macht das Ganze auch keinen Sinn. Da kann ich auch Hotkey Tasten für den Downmix an/aus benutzen.

      Ein Shell Script wäre in dem Fall besser, das könnte man per Hotkey auf eine Taste legen. Ausserdem wäre es Python unabhängig.

      Spoiler anzeigen

      from Components.config import config, ConfigSubsection, ConfigInteger, ConfigSelection, getConfigListEntry
      from Components.ConfigList import ConfigListScreen
      from Components.ActionMap import NumberActionMap
      from Components.Button import Button
      from Components.Label import Label,MultiColorLabel
      from Components.SystemInfo import SystemInfo
      from enigma import eTimer
      from Plugins.Plugin import PluginDescriptor
      from Screens import Standby
      from Screens.Screen import Screen
      from __init__ import _
      import NavigationInstance

      config.plugins.AudioRestart = ConfigSubsection()
      config.plugins.AudioRestart.restartSelection = ConfigSelection( default = "disabled", choices = [("disabled", _("disabled")), ("restart", _("after restart")), ("standby", _("after standby")), ("both", _("after restart/standby"))])
      config.plugins.AudioRestart.restartDelay = ConfigInteger(default = 5, limits = (0,30))

      PLUGIN_BASE = "AudioRestart"
      PLUGIN_VERSION = "0.1"

      class AudioRestart():
      def __init__(self):
      self.activateTimer = eTimer()
      self.activateTimer.callback.append(self.restartAudio)
      if config.plugins.AudioRestart.restartSelection.value in ["standby", "both"]:
      config.misc.standbyCounter.addNotifier(self.enterStandby, initial_call = False)
      if config.plugins.AudioRestart.restartSelection.value in ["restart", "both"]:
      self.startTimer()
      def enterStandby(self,configElement):
      Standby.inStandby.onClose.append(self.endStandby)
      def endStandby(self):
      self.startTimer()

      def startTimer(self):
      self.intDelay = config.plugins.AudioRestart.restartDelay.value*1000
      print ("[AudioSync] audio restart in "),self.intDelay
      self.activateTimer.start(self.intDelay, True)

      def restartAudio(self):
      self.activateTimer.stop()
      if self.audioIsAC3() and SystemInfo["CanDownmixAC3"] and (config.av.downmix_ac3.value == False):
      config.av.downmix_ac3.value = True
      config.av.downmix_ac3.save()
      config.av.downmix_ac3.value = False
      config.av.downmix_ac3.save()
      print ("[AudioSync] audio restarted")

      def audioIsAC3(self):
      service = NavigationInstance.instance.getCurrentService()
      audioTracks = service and service.audioTracks()
      blnReturn = False
      if audioTracks is not None:
      n = audioTracks and audioTracks.getNumberOfTracks() or 0
      if n >= 0:
      selectedAudioIndex = audioTracks.getCurrentTrack()
      if selectedAudioIndex <= n:
      trackInfo = audioTracks.getTrackInfo(selectedAudioIndex)
      description = trackInfo.getDescription()
      if (description.find("AC3") != -1 or description.find("AC-3") != -1) or description.find("DTS") != -1:
      blnReturn = True
      return blnReturn
      class AudioRestartSetup(ConfigListScreen, Screen):
      skin = """
      <screen position="center,center" size="560,400" title="Audio Restart Setup">
      <ePixmap pixmap="~/img/button-red.png" position="0,0" zPosition="0" size="140,40" transparent="1" alphatest="on" />
      <ePixmap pixmap="~/img/button-green.png" position="140,0" zPosition="0" size="140,40" transparent="1" alphatest="on" />
      <ePixmap pixmap="~/img/button-yellow.png" position="280,0" zPosition="0" size="140,40" transparent="1" alphatest="on" />
      <ePixmap pixmap="~/img/button-blue.png" position="420,0" zPosition="0" size="140,40" transparent="1" alphatest="on" />
      <widget name="key_red" position="0,0" zPosition="1" size="140,40"
      font="Regular;20" valign="center" halign="center" backgroundColor="#9f1313" transparent="1"
      shadowColor="#000000" shadowOffset="-1,-1" />
      <widget name="key_green" position="140,0" zPosition="1" size="140,40"
      font="Regular;20" valign="center" halign="center" backgroundColor="#1f771f" transparent="1"
      shadowColor="#000000" shadowOffset="-1,-1" />
      <widget name="key_yellow" position="280,0" zPosition="1" size="140,40"
      font="Regular;20" valign="center" halign="center" backgroundColor="#a08500" transparent="1"
      shadowColor="#000000" shadowOffset="-1,-1" />
      <widget name="key_blue" position="420,0" zPosition="1" size="140,40"
      font="Regular;20" valign="center" halign="center" backgroundColor="#18188b" transparent="1"
      shadowColor="#000000" shadowOffset="-1,-1" />
      <widget name="config" position="10,40" size="540,320" scrollbarMode="showOnDemand" />
      <widget name="PluginInfo" position="10,370" size="540,20" zPosition="4" font="Regular;18" foregroundColor="#cccccc" />
      </screen>"""

      def __init__(self, session, plugin_path):
      Screen.__init__(self, session)

      # Lets get a list of elements for the config list
      self.list = [
      getConfigListEntry(_("Restart audio"), config.plugins.AudioRestart.restartSelection),
      getConfigListEntry(_("Restart audio delay (in sec)"), config.plugins.AudioRestart.restartDelay)
      ]
      ConfigListScreen.__init__(self, self.list)

      self["config"].list = self.list

      self.skin_path = plugin_path

      # Plugin Information
      self["PluginInfo"] = Label(_("Plugin: %(plugin)s , Version: %(version)s") %dict(plugin=PLUGIN_BASE,version=PLUGIN_VERSION))

      # BUTTONS
      self["key_red"] = Button(_("Cancel"))
      self["key_green"] = Button(_("Save"))
      self["key_yellow"] = Button(_(" "))
      self["key_blue"] = Button(_("Restart"))

      self["setupActions"] = NumberActionMap(["SetupActions", "ColorActions"],
      {
      "save": self.save,
      "cancel": self.cancel,
      "green": self.save,
      "red": self.cancel,
      "blue": self.restartAudio,
      "ok": self.save,
      }, -2)

      def save(self):
      for x in self.list:
      x[1].save()
      self.close()

      def cancel(self):
      for x in self["config"].list:
      x[1].cancel()
      self.close()

      def restartAudio(self):
      if self.audioIsAC3() and SystemInfo["CanDownmixAC3"] and (config.av.downmix_ac3.value == False):
      config.av.downmix_ac3.value = True
      config.av.downmix_ac3.save()
      config.av.downmix_ac3.value = False
      config.av.downmix_ac3.save()
      print ("[AudioSync] audio restarted")

      def audioIsAC3(self):
      service = NavigationInstance.instance.getCurrentService()
      audioTracks = service and service.audioTracks()
      blnReturn = False
      if audioTracks is not None:
      n = audioTracks and audioTracks.getNumberOfTracks() or 0
      if n >= 0:
      selectedAudioIndex = audioTracks.getCurrentTrack()
      if selectedAudioIndex <= n:
      trackInfo = audioTracks.getTrackInfo(selectedAudioIndex)
      description = trackInfo.getDescription()
      if (description.find("AC3") != -1 or description.find("AC-3") != -1) or description.find("DTS") != -1:
      blnReturn = True
      return blnReturn

      def sessionstart(reason, **kwargs):
      if reason == 0:
      AudioRestart()

      def setup(session, **kwargs):
      # reload(AC3setup)
      session.open(AudioRestartSetup, plugin_path)
      def Plugins(path,**kwargs):
      global plugin_path
      plugin_path = path
      pluginList = [ PluginDescriptor(name=_("Audio restart Setup"), description=_("Setup for the AudioRestart Plugin"), icon = "AudioRestart.png", where = PluginDescriptor.WHERE_PLUGINMENU, fnc=setup)]
      if config.plugins.AudioRestart.restartSelection.value != "disabled":
      pluginAutoStart = PluginDescriptor(name="Audio restart", description = _("Restart audio"), where=PluginDescriptor.WHERE_SESSIONSTART, fnc = sessionstart)
      pluginList.append(pluginAutoStart)
      return pluginList

      Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von Quirll ()

    • :D - nicht wahr? Oder wie der Brite zu sagen pflegt: TANSTAAFL - There ain't no such thing as a free lunch.

      Automatisch wird da nix gehen; in VTi könntest du dir vielleicht mit Multiquickbutton eine Sequenz zusammenbauen, aber da du offenbar bei OATV hängen geblieben bist, können wir dir hier auch nicht weiterhelfen.

      Andererseits ändert das Image auch nichts an der Situation, da alle Images dieselben Treiber benutzen müssen (closed source seitens Vu+).
      Diskutiere nie mit einem Idioten. Er zieht dich auf sein Niveau runter und schlägt dich mit seiner Erfahrung.
    • Das macht nichts, für mich ist das Thema nicht wichtig. Wenn es so wäre hätte ich längst eine Lösung.

      VTI war mal vor Jahren ein gutes Image im Vergleich zu dem was sonst noch entwickelt wurde. Aber die Zeiten sind längst vorbei.
    • Frage zu den wiedergebbaren Audio-Formaten

      Wo ist der Mehrwert bei den anderen Images außer P3? Geht da etwas was beim VTI nicht funktioniert? Ist Interesse halber, soll keine Abwertung sein.

      Gesendet von meinem SM-G780G mit Tapatalk
    • Quirll schrieb:

      VTI war mal vor Jahren ein gutes Image im Vergleich zu dem was sonst noch entwickelt wurde. Aber die Zeiten sind längst vorbei.
      Wenn man's braucht ^^ - aber jeder wie er mag.
      Diskutiere nie mit einem Idioten. Er zieht dich auf sein Niveau runter und schlägt dich mit seiner Erfahrung.
    • sli schrieb:

      Wo ist der Mehrwert bei den anderen Images außer P3? Geht da etwas was beim VTI nicht funktioniert? Ist Interesse halber, soll keine Abwertung sein.

      Gesendet von meinem SM-G780G mit Tapatalk
      Mit Python3 und OpenSSL 3 eröffnen sich ganz neue Möglichkeiten. Z.B. Kodi 20 mit den entsprechenden Plugins wie Netflix usw. Viele Kinohoster funktionieren nur noch mit Openssl 3.
      FFmpeg 5 und GStreamer 1.20 usw.
      Die Gui wird durch python 3 auch etwas schneller.
      Insgesamt ist da eine neue enigma epoche angebrochen. Würde mich nicht wundern wenn das über kurz oder lang in Enigma 3 umbenannt wird.

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Quirll ()