cfglist.append(getConfigListEntry(_("Video Bitrate"), config.plugins.vlcplayer.vb))
cfglist.append(getConfigListEntry(_("Video Width"), config.plugins.vlcplayer.width))
cfglist.append(getConfigListEntry(_("Video Height"), config.plugins.vlcplayer.height))
- #cfglist.append(getConfigListEntry(_("Frames per Second"), config.plugins.vlcplayer.fps))
+ cfglist.append(getConfigListEntry(_("No transcode for mpg/dvd/iso"), config.plugins.vlcplayer.notranscode))
cfglist.append(getConfigListEntry(_("Correct aspect ratio to"), config.plugins.vlcplayer.aspect))
cfglist.append(getConfigListEntry(_("Subtitle overlay"), config.plugins.vlcplayer.soverlay))
cfglist.append(getConfigListEntry(_("Audio Codec"), config.plugins.vlcplayer.acodec))
from enigma import eTimer
from Components.ActionMap import ActionMap
from VlcControlHttp import VlcControlHttp
+import re
DEFAULT_VIDEO_PID = 0x44
DEFAULT_AUDIO_PID = 0x45
self.filename = "dvdsimple://" + path
else:
self.filename = path
- transcode = "vcodec=%s,vb=%d,venc=ffmpeg{strict-rc=1},width=%s,height=%s,fps=%s,scale=1,acodec=%s,ab=%d,channels=%d,samplerate=%s" % (
- config.plugins.vlcplayer.vcodec.value,
- config.plugins.vlcplayer.vb.value,
- config.plugins.vlcplayer.width.value,
- config.plugins.vlcplayer.height.value,
- config.plugins.vlcplayer.fps.value,
- config.plugins.vlcplayer.acodec.value,
- config.plugins.vlcplayer.ab.value,
- config.plugins.vlcplayer.channels.value,
- config.plugins.vlcplayer.samplerate.value
- )
- if config.plugins.vlcplayer.aspect.value != "none":
- transcode += ",canvas-width=%s,canvas-height=%s,canvas-aspect=%s" % (
+
+ do_direct = isDvdUrl(self.filename) or re.match("(?i).*\.(mpg|mpeg|ts)$", self.filename)
+ if do_direct and config.plugins.vlcplayer.notranscode.value:
+ self.output = "#"
+ else:
+ transcode = "vcodec=%s,vb=%d,venc=ffmpeg{strict-rc=1},width=%s,height=%s,fps=%s,scale=1,acodec=%s,ab=%d,channels=%d,samplerate=%s" % (
+ config.plugins.vlcplayer.vcodec.value,
+ config.plugins.vlcplayer.vb.value,
config.plugins.vlcplayer.width.value,
config.plugins.vlcplayer.height.value,
- config.plugins.vlcplayer.aspect.value
- )
- if config.plugins.vlcplayer.soverlay.value:
- transcode += ",soverlay"
+ config.plugins.vlcplayer.fps.value,
+ config.plugins.vlcplayer.acodec.value,
+ config.plugins.vlcplayer.ab.value,
+ config.plugins.vlcplayer.channels.value,
+ config.plugins.vlcplayer.samplerate.value
+ )
+ if config.plugins.vlcplayer.aspect.value != "none":
+ transcode += ",canvas-width=%s,canvas-height=%s,canvas-aspect=%s" % (
+ config.plugins.vlcplayer.width.value,
+ config.plugins.vlcplayer.height.value,
+ config.plugins.vlcplayer.aspect.value
+ )
+ if config.plugins.vlcplayer.soverlay.value:
+ transcode += ",soverlay"
+ self.output = "#transcode{%s}:" % transcode
mux="ts{pid-video=%d,pid-audio=%d}" % (DEFAULT_VIDEO_PID, DEFAULT_AUDIO_PID)
- self.output = "#transcode{%s}:std{access=http,mux=%s,dst=/%s.ts}" % (transcode, mux, streamName)
- self.output = self.output + " :sout-all"
+ self.output = self.output + "std{access=http,mux=%s,dst=/%s.ts} :sout-all" % (mux, streamName)
self.play()
def play(self):
config.plugins.vlcplayer.aspect = ConfigSelection(["none", "16:9", "4:3"], "none")
config.plugins.vlcplayer.soverlay = ConfigYesNo()
config.plugins.vlcplayer.checkdvd = ConfigYesNo(True)
+config.plugins.vlcplayer.notranscode = ConfigYesNo(False)
config.plugins.vlcplayer.servercount = ConfigInteger(0)
config.plugins.vlcplayer.servers = ConfigSubList()
config.plugins.vlcplayer.servers[i].host = ConfigText("", False)
config.plugins.vlcplayer.servers[i].httpport = ConfigInteger(8080, (0,65535))
config.plugins.vlcplayer.servers[i].basedir = ConfigText("/", False)
- #config.plugins.vlcplayer.servers[i].method = ConfigSelection({"http": "HTTP Interface", "telnet": "Telnet/VLM"})
- #config.plugins.vlcplayer.servers[i].adminport = ConfigInteger(4212, (0,65535))
- #config.plugins.vlcplayer.servers[i].adminpwd = ConfigText("admin", False)
config.plugins.vlcplayer.servercount.value = i+1
return i