L-SMASH-Works icon indicating copy to clipboard operation
L-SMASH-Works copied to clipboard

Feature request: support for mpls files

Open Selur opened this issue 8 years ago • 3 comments

Would be nice if LWLibavSource would support .mpls files (Blu-ray Playlist files) an directly load and append the files in the playlist.

Selur avatar Jan 31 '16 08:01 Selur

loading the content of a blu-ray like this:

# Imports
import vapoursynth as vs
core = vs.get_core()
# Loading Plugins
core.std.LoadPlugin(path="G:/Hybrid/vsfilters/SourceFilter/LSmashSource/vslsmashsource.dll")
# Loading H:\bluray\BDMV\PLAYLIST\00100.mpls using LWLibavSource
clip1 = core.lsmas.LWLibavSource(source="H:/bluray/BDMV/STREAM/00100~1.M2T", format="YUV420P8", cache=0)
clip2 = core.lsmas.LWLibavSource(source="H:/bluray/BDMV/STREAM/00101~1.M2T", format="YUV420P8", cache=0)
clip3 = core.lsmas.LWLibavSource(source="H:/bluray/BDMV/STREAM/00102~1.M2T", format="YUV420P8", cache=0)
clip4 = core.lsmas.LWLibavSource(source="H:/bluray/BDMV/STREAM/00103~1.M2T", format="YUV420P8", cache=0)
clip5 = core.lsmas.LWLibavSource(source="H:/bluray/BDMV/STREAM/00104~1.M2T", format="YUV420P8", cache=0)
clip6 = core.lsmas.LWLibavSource(source="H:/bluray/BDMV/STREAM/00105~1.M2T", format="YUV420P8", cache=0)
clip7 = core.lsmas.LWLibavSource(source="H:/bluray/BDMV/STREAM/00106~1.M2T", format="YUV420P8", cache=0)
clip8 = core.lsmas.LWLibavSource(source="H:/bluray/BDMV/STREAM/00107~1.M2T", format="YUV420P8", cache=0)
clip9 = core.lsmas.LWLibavSource(source="H:/bluray/BDMV/STREAM/00108~1.M2T", format="YUV420P8", cache=0)
clip10 = core.lsmas.LWLibavSource(source="H:/bluray/BDMV/STREAM/00109~1.M2T", format="YUV420P8", cache=0)
clip11 = core.lsmas.LWLibavSource(source="H:/bluray/BDMV/STREAM/00110~1.M2T", format="YUV420P8", cache=0)
clip12 = core.lsmas.LWLibavSource(source="H:/bluray/BDMV/STREAM/00111~1.M2T", format="YUV420P8", cache=0)
clip13 = core.lsmas.LWLibavSource(source="H:/bluray/BDMV/STREAM/00112~1.M2T", format="YUV420P8", cache=0)
clip14 = core.lsmas.LWLibavSource(source="H:/bluray/BDMV/STREAM/00113~1.M2T", format="YUV420P8", cache=0)
clip15 = core.lsmas.LWLibavSource(source="H:/bluray/BDMV/STREAM/00114~1.M2T", format="YUV420P8", cache=0)
clip16 = core.lsmas.LWLibavSource(source="H:/bluray/BDMV/STREAM/00115~1.M2T", format="YUV420P8", cache=0)
clip17 = core.lsmas.LWLibavSource(source="H:/bluray/BDMV/STREAM/00116~1.M2T", format="YUV420P8", cache=0)
clip18 = core.lsmas.LWLibavSource(source="H:/bluray/BDMV/STREAM/00117~1.M2T", format="YUV420P8", cache=0)
clip19 = core.lsmas.LWLibavSource(source="H:/bluray/BDMV/STREAM/00118~1.M2T", format="YUV420P8", cache=0)
clip20 = core.lsmas.LWLibavSource(source="H:/bluray/BDMV/STREAM/00119~1.M2T", format="YUV420P8", cache=0)
clip21 = core.lsmas.LWLibavSource(source="H:/bluray/BDMV/STREAM/00120~1.M2T", format="YUV420P8", cache=0)
clip22 = core.lsmas.LWLibavSource(source="H:/bluray/BDMV/STREAM/00121~1.M2T", format="YUV420P8", cache=0)
clip = core.std.Splice([clip1, clip2, clip3, clip4, clip5, clip6, clip7, clip8, clip9, clip10, clip11, clip12, clip13, clip14, clip15, clip16, clip17, clip18, clip19, clip20, clip21, clip22])

really is annoying. So it would be really nice if mpls files could be used as input. (since some Blu-rays have even more titles that make up a playlist)

Selur avatar Apr 03 '17 16:04 Selur

I didn't really test it much, but maybe this will work for you: https://gist.github.com/4re/e04ebfb300de4e4b7501622afb1764a7

import vapoursynth as vs
import mpls

core = vs.get_core()

clip = mpls.source("rule6.mpls")

clip.set_output()

4re avatar Apr 03 '17 19:04 4re

Thanks! will test tomorrow (on the road atm.) and report back, still would be better to have such support native in LWLibavSource, instead of having another script. :)

Selur avatar Apr 03 '17 19:04 Selur