This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm whether you accept or reject these cookies being set.

A cookie will be stored in your browser regardless of choice to prevent you being asked this question again. You will be able to change your cookie settings at any time using the link in the footer.

Multiple issues
#21
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.


Cu Selur
Reply
#22
(02.12.2020, 08:50)Selur Wrote:
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.


Cu Selur

"...forcing Hybrid to not use mencoder" - how?
Reply
#23
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.)

Cu Selur
Reply
#24
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:
mencoder   -chapter 1-1 -ovc raw -noskip -vf scale,format=i420 -forcedsubsonly -nosub -nosound -mc 0 -lavdopts threads=8 -really-quiet -of rawvideo -o - -dvd-device "F:\TESTCL~1\discs\DVDs\TestDVD" dvd://1 | x264 --preset ultrafast --crf 18.00 --profile high --level 4.1 --scenecut 0 --sync-lookahead 24 --tff --vbv-maxrate 62500 --vbv-bufsize 78125 --sar 64:45 --non-deterministic --range tv --colormatrix bt709 --demuxer raw --input-res 720x576 --input-csp i420 --input-range tv --input-depth 8 --fps 25/1 --output-depth 8 --output "E:\Temp\2020-12-02@09_03_54_4410_01.264" -
some versions produce garbage others don't.
-> try extracting mencoder.exe and mplayer.exe from https://www.videohelp.com/download/MPlay...0d113c8.7z and see whether that fixed the issue for you too

Cu Selur

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).
Reply
#25
(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:
mencoder   -chapter 1-1 -ovc raw -noskip -vf scale,format=i420 -forcedsubsonly -nosub -nosound -mc 0 -lavdopts threads=8 -really-quiet -of rawvideo -o - -dvd-device "F:\TESTCL~1\discs\DVDs\TestDVD" dvd://1 | x264 --preset ultrafast --crf 18.00 --profile high --level 4.1 --scenecut 0 --sync-lookahead 24 --tff --vbv-maxrate 62500 --vbv-bufsize 78125 --sar 64:45 --non-deterministic --range tv --colormatrix bt709 --demuxer raw --input-res 720x576 --input-csp i420 --input-range tv --input-depth 8 --fps 25/1 --output-depth 8 --output "E:\Temp\2020-12-02@09_03_54_4410_01.264" -
some versions produce garbage others don't.
-> try extracting mencoder.exe and mplayer.exe from https://www.videohelp.com/download/MPlay...0d113c8.7z and see whether that fixed the issue for you too

Cu Selur

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.
Reply
#26
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. Smile
-> this will probably take a few days to figure out (probably more)

Cu Selur
Reply
#27
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
Reply
#28
Trying to process another QT ProRes file (duration ~ 20 mins)
"Filter View" (Avisynth and Vapoursynth) shows nothing, no error, no messages.
Reply
#29
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)
Nothing I can do about it, Vapoursynth Depot port (https://github.com/theChaosCoder/lostfun...ostfunc.py) has no parameters (aside from the clip input).

Quote:3. Can't find "DeScratch" and "RemoveDirt" among Vapursynth filters.
DeScratch: afaik there is no port for it
RemoveDirt:only port I see https://github.com/handaimaoh/removedirtvs is 32bit only.

Quote:Avisynth "RemoveDirt" crashes "Filter View" if "Mode" other than 16
-> will look at it over the weekend

Cu Selur
Reply
#30
(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)
Nothing I can do about it, Vapoursynth Depot port (https://github.com/theChaosCoder/lostfun...ostfunc.py) has no parameters (aside from the clip input).

Quote:3. Can't find "DeScratch" and "RemoveDirt" among Vapursynth filters.
DeScratch: afaik there is no port for it
RemoveDirt:only port I see https://github.com/handaimaoh/removedirtvs is 32bit only.

Quote:Avisynth "RemoveDirt" crashes "Filter View" if "Mode" other than 16
-> will look at it over the weekend

Cu Selur

May be it make sense to include the newer versions of mencoder/mplayer in your next dev also. Just thoughts.
Reply


Forum Jump:


Users browsing this thread: 8 Guest(s)