Quote:So, if *.VOB as file input looks "proper for me", why DVD Input does not?
Since Hybrid is forced to use a decoder that supports chapters/titles/pgcs.
Opening files and Blu-rays can be done through Avisynth/Vapoursynth/FFmpeg without a problem.
Opening DVDs can only be done properly through mencoder, since FFmpeg/Avisynth/Vapoursynth all have no proper DVD input filter. One can open the files by concatenating them, but no structural information (chapter/title/pgc/angle) gets processed. So they all open only the first angle&title (pgc).
Problem with mencoder seems to be that it can't output interlaced content via a pipe (or I don't know how to).
So workarounds are:
a. using for example MakeMKV (or Hybrid) to rewrap the wanted content into a mkv before processing it with Hybrid.
b. forcing Hybrid to not use mencoder and living with the limitation that no no structural information (chapter/title/pgc/angle) gets processed, which is no real problem for simple DVDs but fails for anything but simple DVDs.
Quote:So, if *.VOB as file input looks "proper for me", why DVD Input does not?
Since Hybrid is forced to use a decoder that supports chapters/titles/pgcs.
Opening files and Blu-rays can be done through Avisynth/Vapoursynth/FFmpeg without a problem.
Opening DVDs can only be done properly through mencoder, since FFmpeg/Avisynth/Vapoursynth all have no proper DVD input filter. One can open the files by concatenating them, but no structural information (chapter/title/pgc/angle) gets processed. So they all open only the first angle&title (pgc).
Problem with mencoder seems to be that it can't output interlaced content via a pipe (or I don't know how to).
So workarounds are:
a. using for example MakeMKV (or Hybrid) to rewrap the wanted content into a mkv before processing it with Hybrid.
b. forcing Hybrid to not use mencoder and living with the limitation that no no structural information (chapter/title/pgc/angle) gets processed, which is no real problem for simple DVDs but fails for anything but simple DVDs.
Quote:"...forcing Hybrid to not use mencoder" - how?
You can't really to it. Hybrids code needs to be changed to support this.
Only way you can work around this in Hybrid would be to:
a. set "Filtering->Support" to "Avisynth"
b. enable "Config->Avisynth->Always use Avisynth"
when you want to encode a DVD to something with interlaced output.
(Alternatively use an Avisynth or Vapoursynth filter, this way Hybrid will use Avisynth or Vapoursynth for the DVD input processing.)
02.12.2020, 10:11 (This post was last modified: 02.12.2020, 11:16 by Selur.)
Okay, some good and bad news: Seems like it's a problem with the mencoder version used. (and not a bug in Hybrid or a general problem of mencoder)
using:
Ps.: not sure whether this is due to a change in the ffmpeg libraries (which mencoder uses) some of mencoder dependencies or a bug in the build suite I use (https://github.com/m-ab-s/media-autobuild_suite).
(02.12.2020, 10:11)Selur Wrote: Okay, some good and bad news: Seems like it's a problem with the mencoder version used. (and not a bug in Hybrid or a general problem of mencoder)
using:
Ps.: not sure whether this is due to a change in the ffmpeg libraries (which mencoder uses) some of mencoder dependencies or a bug in the build suite I use (https://github.com/m-ab-s/media-autobuild_suite).
Replaced mencoder.exe and mplayer.exe by MPlayer r38188+g6e1903938b from https://oss.netfarm.it/mplayer/.
Everything works like charm, producing correct interlacing mp4.
Okay, good to know that it's not just a solution on my system.
Sadly I have no clue so far what's really causing the issue.
-> this will probably take a few days to figure out (probably more)
1. Avisynth "DeSpot" crashes "Filter View" (Vapoursynth works fine)
2. Vapoursynth "DeSpot" missing whole bunch of parameters (compare to Avisynth)
3. Can't find "DeScratch" and "RemoveDirt" among Vapursynth filters.
Avisynth "RemoveDirt" crashes "Filter View" if "Mode" other than 16
04.12.2020, 05:23 (This post was last modified: 04.12.2020, 18:48 by Selur.)
Preview:
I see the problem, for Avisynth preview needs to be RGB24, but Hybrid seems to be stuck at RGB32bit. (correction -> RGB32 is okay)
Don't see the problem with the Vapoursynth script.
# Imports
import vapoursynth as vs
core = vs.get_core()
# Loading Plugins
core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/vsfilters/SourceFilter/LSmashSource/vslsmashsource.dll")
# source: 'K:\Gulliver\GULLIVER HD TRANSFER\Gulliver0001.mov'
# current color space: YUV422P10, bit depth: 10, resolution: 1920x1080, fps: 23.976, color matrix: 709, yuv luminance scale: limited, scanorder: progressive
# Loading K:\Gulliver\GULLIVER HD TRANSFER\Gulliver0001.mov using LWLibavSource
clip = core.lsmas.LWLibavSource(source="K:/Gulliver/GULLIVER HD TRANSFER/Gulliver0001.mov", format="YUV422P10", cache=0, prefer_hw=0)
# making sure input color matrix is set as 709
clip = core.resize.Point(clip, matrix_in_s="709",range_s="limited")
# making sure frame rate is set to 23.976
clip = core.std.AssumeFPS(clip=clip, fpsnum=24000, fpsden=1001)
# Setting color range to TV (limited) range.
clip = core.std.SetFrameProp(clip=clip, prop="_ColorRange", intval=1)
original = clip
# adjusting output color from: YUV422P10 to YUV420P8 for x264Model (i420@10)
clip = core.resize.Bicubic(clip=clip, format=vs.YUV420P8, range_s="limited")
# adjusting for FilterView
if (original.format.id != clip.format.id):
if (original.format.color_family == vs.RGB and clip.format.color_family != vs.RGB):
original = core.resize.Bicubic(clip=original, format=clip.format.id, matrix_s="709", range_s="limited")
elif (original.format.color_family == clip.format.color_family):
original = core.resize.Bicubic(clip=original, format=clip.format.id, range_s="limited")
else:
original = core.resize.Bicubic(clip=original, format=clip.format.id, matrix_in_s="709", range_s="limited")
stacked = core.std.StackHorizontal([original,clip])
# set output frame rate to 23.976fps
stacked = core.std.AssumeFPS(clip=stacked, fpsnum=24000, fpsden=1001)
# Output
stacked.set_output()
-> will look at it over the weekend
Quote:1. Avisynth "DeSpot" crashes "Filter View" (Vapoursynth works fine)
-> will look at it over the weekend
Quote:2. Vapoursynth "DeSpot" missing whole bunch of parameters (compare to Avisynth)
(04.12.2020, 05:23)Selur Wrote: Preview:
I see the problem, for Avisynth preview needs to be RGB24, but Hybrid seems to be stuck at RGB32bit.
Don't see the problem with the Vapoursynth script.
# Imports
import vapoursynth as vs
core = vs.get_core()
# Loading Plugins
core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/vsfilters/SourceFilter/LSmashSource/vslsmashsource.dll")
# source: 'K:\Gulliver\GULLIVER HD TRANSFER\Gulliver0001.mov'
# current color space: YUV422P10, bit depth: 10, resolution: 1920x1080, fps: 23.976, color matrix: 709, yuv luminance scale: limited, scanorder: progressive
# Loading K:\Gulliver\GULLIVER HD TRANSFER\Gulliver0001.mov using LWLibavSource
clip = core.lsmas.LWLibavSource(source="K:/Gulliver/GULLIVER HD TRANSFER/Gulliver0001.mov", format="YUV422P10", cache=0, prefer_hw=0)
# making sure input color matrix is set as 709
clip = core.resize.Point(clip, matrix_in_s="709",range_s="limited")
# making sure frame rate is set to 23.976
clip = core.std.AssumeFPS(clip=clip, fpsnum=24000, fpsden=1001)
# Setting color range to TV (limited) range.
clip = core.std.SetFrameProp(clip=clip, prop="_ColorRange", intval=1)
original = clip
# adjusting output color from: YUV422P10 to YUV420P8 for x264Model (i420@10)
clip = core.resize.Bicubic(clip=clip, format=vs.YUV420P8, range_s="limited")
# adjusting for FilterView
if (original.format.id != clip.format.id):
if (original.format.color_family == vs.RGB and clip.format.color_family != vs.RGB):
original = core.resize.Bicubic(clip=original, format=clip.format.id, matrix_s="709", range_s="limited")
elif (original.format.color_family == clip.format.color_family):
original = core.resize.Bicubic(clip=original, format=clip.format.id, range_s="limited")
else:
original = core.resize.Bicubic(clip=original, format=clip.format.id, matrix_in_s="709", range_s="limited")
stacked = core.std.StackHorizontal([original,clip])
# set output frame rate to 23.976fps
stacked = core.std.AssumeFPS(clip=stacked, fpsnum=24000, fpsden=1001)
# Output
stacked.set_output()
-> will look at it over the weekend
Quote:1. Avisynth "DeSpot" crashes "Filter View" (Vapoursynth works fine)
-> will look at it over the weekend
Quote:2. Vapoursynth "DeSpot" missing whole bunch of parameters (compare to Avisynth)