Hallo zusammen,
ich bin mir nicht sicher ob es so etwas schon gibt/gab oder ob ein solcher Beitrag überhaupt gewünscht ist, ich wollte allerdings die Community an einem für mich sehr hilfreichen kleinen Programm teilhaben lassen, falls Interesse besteht.
Es ist eigentlich nur ein winziges Python Script, welches ich mit einem kleinen Konfigurator (während der Installation) ausgestattet habe, welches es ermöglicht, Links zu Online-Videos aus Quellen (wie z.B. "Youtube" oder diversen anderen) auf das Programm zu schieben, oder alternativ den Link ein ein Eingabe-Fenster zu kopieren.
Dieser Link wird dann mittels "youtube-dl", einem Terminalprogramm in einen sog. "Streamlink" umgewandelt und an die Vu+ Box gesendet. Diese startet dann denn Stream und gibt ihn wieder. Da es sich um einen Stream handelt ist leider kein Vor-/Zurückspulen möglich, allerdings reicht mir. o.g. Funktionalität aus. Die Installation ist denkbar einfach, da ich das Script mit den Abhängigkeiten versehen und in ein *.deb Paket gepackt habe. Also einfach mittels Doppelklick, oder mit "sudo apt install ./playtoenigma-py.deb".
Einstellungen die man bei der Installation getroffen hat (Username, Passwort, IP-Adresse der Box) können jederzeit mittels "sudo dpkg-reconfigure playtoenigma-py" geändert werden.
Also wenn jemand Interesse hieran hat, kann man sich das Programm aus meinem Repository bei Github herunterladen und installieren. (Debian, Ubuntu, Linux Mint, .... alles was auf Debian basiert hald....)
Ich habe mir das Programm in mein Cairo-Dock gezogen, und kann so auch Links direkt ber Drag and Drop auf das Programmsymbol "werfen", damit diese abgespielt werden.
Hier übrigends der Code des Scriptes, falls es jemand abändern möchte:
Alles anzeigen
ich bin mir nicht sicher ob es so etwas schon gibt/gab oder ob ein solcher Beitrag überhaupt gewünscht ist, ich wollte allerdings die Community an einem für mich sehr hilfreichen kleinen Programm teilhaben lassen, falls Interesse besteht.
Es ist eigentlich nur ein winziges Python Script, welches ich mit einem kleinen Konfigurator (während der Installation) ausgestattet habe, welches es ermöglicht, Links zu Online-Videos aus Quellen (wie z.B. "Youtube" oder diversen anderen) auf das Programm zu schieben, oder alternativ den Link ein ein Eingabe-Fenster zu kopieren.
Dieser Link wird dann mittels "youtube-dl", einem Terminalprogramm in einen sog. "Streamlink" umgewandelt und an die Vu+ Box gesendet. Diese startet dann denn Stream und gibt ihn wieder. Da es sich um einen Stream handelt ist leider kein Vor-/Zurückspulen möglich, allerdings reicht mir. o.g. Funktionalität aus. Die Installation ist denkbar einfach, da ich das Script mit den Abhängigkeiten versehen und in ein *.deb Paket gepackt habe. Also einfach mittels Doppelklick, oder mit "sudo apt install ./playtoenigma-py.deb".
Einstellungen die man bei der Installation getroffen hat (Username, Passwort, IP-Adresse der Box) können jederzeit mittels "sudo dpkg-reconfigure playtoenigma-py" geändert werden.
Also wenn jemand Interesse hieran hat, kann man sich das Programm aus meinem Repository bei Github herunterladen und installieren. (Debian, Ubuntu, Linux Mint, .... alles was auf Debian basiert hald....)
Ich habe mir das Programm in mein Cairo-Dock gezogen, und kann so auch Links direkt ber Drag and Drop auf das Programmsymbol "werfen", damit diese abgespielt werden.
Hier übrigends der Code des Scriptes, falls es jemand abändern möchte:
Python-Quellcode
- #!/usr/bin/ python
- # -*- coding: utf-8 -*-
- # playToEnigma simply is generating a streaming video adress using youtube-dl
- # requirements:
- # notify-osd, notification-daemon, libnotify-bin
- # zenity
- # youtube-dl (use as current as possible)
- import sys
- import commands
- import urllib
- import json
- # Credentials for enigma-receiver
- # this will be set during installation and can be changed with "sudo dpkg-reconfigure playtoenigma
- USER='root'
- PASS='mypassword'
- IP_ADR='192.168.178.37'
- def excepthook(excType, excValue, traceback):
- print("Excet-Hook called")
- commands.getoutput("notify-send --icon=face-surprise 'Error: {0}'".format(traceback))
- def main(argv):
- link = ""
- if len(argv) > 1:
- link = argv[1]
- else:
- link = commands.getoutput("zenity --entry --title='Geben Sie eine Video-URL ein:' --text='Video-Url:' 2> /dev/null")
- if link != "":
- dirty_link = commands.getoutput("youtube-dl -g -f best[ext=mp4]" + ' "' + "{0}".format(link) + '" ' + "2> /dev/null")
- cleaned_link = urllib.quote(dirty_link).replace('%3A', '%253A')
- if cleaned_link.startswith("http"):
- urllib.urlopen("http://{0}:{1}@{2}/web/mediaplayerplay?file=4097:0:1:0:0:0:0:0:0:0:{3}".format(USER, PASS, IP_ADR, cleaned_link))
- else:
- commands.getoutput("notify-send --icon=face-surprise 'Error playing: {0}'".format(link))
- if __name__ == "__main__":
- main(sys.argv)
- sys.excepthook = excepthook
- sys.exit(0) # return 0 (Process successful)