Log in

View Full Version : AVStoDVD Support Thread


Pages : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 [62] 63 64 65 66 67 68

manolito
3rd October 2017, 23:01
Hi MrC,
basically I believe that you are absolutely right. My thoughts so far - please keep in mind that I do not know all that much about NTSC...

The MotionProtectedFPS routine is quite deprecated these days. Using MVTools2 the results can be much better, but of course at the cost of a slower speed.

A while ago I stumbled upon a script suggestion by johnmeyer which IMO could beat everything I had seen before. I called it "jm_fps", the name did stick somehow. See here:
https://forum.doom9.org/showthread.php?p=1800439#post1800439

The script defaults work well for most sources except for anime (where you often need a higher block size of 32 and maybe a DCT value of 1). The speed is slower than for MotionProtectedFPS, but still very usable.

There is another approach by MysteryX which is based on this jm_fps script, but adds artifact masking. Still slower, sometimes very useful, sometimes not. I simplified it quite a bit and called it "mx_fps", get it here:
https://forum.doom9.org/showthread.php?p=1805050#post1805050

I also uploaded an ALL In ONE package which you can download from this page.


But still this motion interpolation approach is not for everyone, with some sources it just does not work too well. Another challenge is that today we encounter a lot more different source formats than we did earlier, and getting the best approach to convert these formats to DVD is not easy.

For a 30p source when the target format is NTSC then of course using ChangeFPS would be the preferred choice. If the target format is PAL then the users have to decide if they can live with a lot of dropped frames, or if a motion interpolated conversion is required. The same applies to 60p sources.


Recently here in Germany the switch to DVB-T2 brought some more confusion for me. The video format is now HEVC, it is always progressive at 50 fps. For film sources they just duplicate frames (looks like they first speed up 24fps sources to 25fps and then just duplicate each frame). But for video sources (news, soaps, sports) there are no duplicate frames, the captured clips have 50 unique progressive frames per second. Can we still use SelectEven() for such sources, or is it better to interpolate? And which method is best to convert such sources to 29.97fps for NTSC? Decimate (or convert) to 25p first and then apply NTSC slowdown followed by soft pulldown? Or better interpolate from 50p to 29.97p directly? I have no idea...


Cheers
manolito

MrC
5th October 2017, 13:04
Hi manolito,

thanks for the link about the most recent applications of motion interpolation on FPS conversion. I have quickly tested the jm_fps routine and it is very very clean, with acceptable impact on encoding speed. Quite easy to implement into A2D too. I just would find a more "sexy" name, instead of jm_fps.... ;) Do you confirm that fftw3.dll is actually needed only if DCT flag is set to 1? Still not tested mx_fps.

As per the 50p conversion to DVD, if the output is PAL, generally speaking I would go with SelectEven(), it should deliver the smoothest result. If the output is NTSC the decision is much more video content dependant. Will the DVB-T2 standard be @ 50fps in all countries or only in German? If the latter, NTSC output could be irrelevant...

;)

Bye

manolito
5th October 2017, 15:48
I just would find a more "sexy" name, instead of jm_fps.... ;) Do you confirm that fftw3.dll is actually needed only if DCT flag is set to 1? Still not tested mx_fps.
For a sexier name I am open to suggestions... :D
It's just that a couple of other folks also have adopted this name, it might get confusing to rename the script now.

fftw3.dll is not needed when DCT is not used (DCT=0), which is the default. Usually DCT=0 works fine, but for some rare (mostly anime) sources DCT=1 gives a much better quality, but at a very very low speed.

The jm_fps script only exposes the framerate to keep it as simple as possible. Maybe I should change the interface to also expose the block size and DCT. These 2 params are the ones a user wants to play with for difficult sources. But this might be beyond the scope of A2D... :devil:

Another thing you want to think about when integrating this into A2D:
For most helper plugins there are "modernized" versions (mostly written by pinterf) which add additional features like new colorspaces, high bitdepth and MT support. All these newer versions require SSE2 so they will not work on my computer. I also find them a little unstable, they are work in progress. The AIO package for mx_fps which I linked to contains older but stable versions of these plugins.


As per the 50p conversion to DVD, if the output is PAL, generally speaking I would go with SelectEven(), it should deliver the smoothest result. If the output is NTSC the decision is much more video content dependant. Will the DVB-T2 standard be @ 50fps in all countries or only in German? If the latter, NTSC output could be irrelevant...

I believe that DVB-T2 will be 50fps only in PAL countries. I really do not like the fact that each European country now uses its own flavor of the standard. Germany was very late to introduce DVB-T2 so they figured to push ahead and use HEVC video and EAC3 and/or AAC-LATM audio. It took me a long time to establish a workflow for my conversions to AVC or DVD which keeps audio in sync.


Cheers
manolito

MrC
7th October 2017, 16:10
Rename to MCJMFPS (Motion Compensation John Meyer FPS)? Not so sexier, but more "impressive"... and "expressive"... ;)

About the need of fftw3.dll, since it was not present in my system, I did some tests, and, DCT=0 does not require it. Thus I would update the avsi info section accordingly. And maybe add the DCT flag to the MCJMFPS function. What do you think?

Another small clue when loading RemoveGrain. RemoveGrain.dll needs MSVCR71.DLL in System32/Syswow64, while the monolithic build RemoveGrainS.dll works alone.

In terms of speed, from few 1080p@60 to PAL conversions, I would say that jm_fps (DCT=0) is 1/3 than MotionProtectedFPS and 1/5 than ChangeFPS. What about mx_fps with defaults params? Even slower than jm_fps?

;)

Bye

manolito
7th October 2017, 19:35
I did some tests, and, DCT=0 does not require it.

Yes of course, just noticed that my previous post had it the other way around. Getting old...

I would still recommend to copy fftw3.dll into a system folder because for some sources (anime) DCT=0 causes bad artifacts. MysteryX even changed his "normal" preset from DCT=0 to DCT=4 in the latest version of his "FrameRateConverter" plugin.

If you want to have a look at this latest version, see here:
https://github.com/mysteryx93/FrameRateConverter/releases/tag/v1.2
My mx_fps version has many presets removed, all the debug code is gone, I made it compatible with older versions of MaskTools and MVTools, and the user interface exports only the most important parameters (MysteryX hates me for doing this). :devil:

And yes, mx_fps with default parameters is a little bit slower than jm_fps, simply because of the added artifact masking. In most of my tests I found that jm_fps is all I need, but this probably is different for different sources and different users.

The mx_fps version I linked to uses an additional DLL which can build a "stripe mask". This DLL needs SSE2, so I do have an alternative version which has the stripe mask feature removed. Not a big loss, this feature only helps in rare cases IMO.

Meanwhile I updated jm_fps so now it has the two additional parameters "BlkSize" and "Dct". BlkSize can only be 8, 16 or 32. For the possible Dct values see the MVTools documentation. The most useful values are 0, 1 and 4.


Cheers
manolito

MrC
10th November 2017, 22:18
AVStoDVD release 2.8.7 Alpha 171109 is out (https://sourceforge.net/projects/avstodvd/files/avstodvd_alpha_beta/AVStoDVD%202.8.7%20Alpha%20171109/)

Change log (cumulative from 2.8.6):

- Added AviSynth plugin DSS2mod to replace DirectShowSource for video frame serving in 'A2DSource.avsi' script
- Added support to WebM files (*.webm) as input files, subset of Matroska
- Added warning messages when AVC/AAC title is added and Microsoft DTV-DVD decoders are default codecs
- Added a warning message when input title has a DVD compliant audio track with delay, to force audio re-encode
- Added check of .NET Framework 2 presence in 'Preferences'/'System'/'Software Info'
- Added BDSup2Sub 5.1.2 to improve bitmap-based subs handling (resize and resync). It requires Java Runtime Environment
- Added check of Java Runtime Environment presence in 'Preferences'/'System'/'Software Info'
- Added 'Smart Selection' option to 'Preferences'/'AviSynth'/'Hard FrameRate Conversion' option (see Help section for more details)
- Added AviSynth script 'MCJMFPS.avsi' for hard fps conversions (thanks to johnmeier and manolito from doom9)
- Dropped AviSynth script 'MotionProtectedFPS.avsi' for hard fps conversions, mainly due to edge artifacts
- Revised other 'Preferences'/'AviSynth'/'Hard FrameRate Conversion' option labels
- Revised video encoder smart selection rationale: no more HCenc VBR 1-pass for multicore CPUs
- Improved support of VobSub subtitles: resize and resync from BD sources is now implemented with BDSup2Sub
- Improved handling of "non-mod4" interlaced sources within the AviSynth script generation routine
- Spun off Preferred DirectShow Codecs Tool in a separate executable file 'A2DCodecs.exe'
- Removed 'Execute AVStoDVD with Elevated Privileges' option in 'Preferences'/'Misc'
- LAV Filters updated to release 0.70.2
- AVSMeter updated to release 2.6.5

Bye

MrC

manolito
11th November 2017, 01:06
Thanks for the new build... :thanks:

Did a couple of short test conversions, no problems. The only thing I found is that
- Spun off Preferred DirectShow Codecs Tool in a separate executable file 'A2DCodecs.exe'
this new separate A2DCodecs.exe does not (yet) use the translated strings from the language files... :p


Cheers
manolito

MrC
12th November 2017, 11:35
Yes, you are right, I still have to implement the language customization into the new A2DCodecs tool. In the ToDo list before going final with 2.8.7

;)

Bye

manolito
24th November 2017, 22:09
Oops, after a few days I did find a bug in the latest Alpha which crashes AviSynth for interlaced sources... :devil:

- Improved handling of "non-mod4" interlaced sources within the AviSynth script generation routine


For "non-mod4" interlaced sources A2D adds the follwing line to the AVS script:
Video = Video.Crop(0,0,-Width % 4,-Height % 4).ConvertToYV12(interlaced=true)

Width and Height are not defined for the implicit "Last" variable at this point, so AVS crashes. The line should instead be:
Video = Video.Crop(0,0,-Video.Width % 4,-Video.Height % 4).ConvertToYV12(interlaced=true)


Cheers
manolito

manolito
6th December 2017, 09:27
And here is another bug report for the latest Alpha...

This latest Alpha breaks BatchMux completely (at least for me). Took me a while to find it because the change log did not mention any changes to BatchMux.

The BatchMux log file says that there is no reference to the first video file. The relevant log files are here:
http://www30.zippyshare.com/v/6nkm21Zp/file.html

I then went back to the previous Alpha from 170921, and this version worked using identical settings. Something with the script creation for BatchMux must be broken.


Cheers
manolito

MrC
13th December 2017, 17:19
Hotfix 171212 for release 2.8.7 Alpha is available (https://sites.google.com/site/avstodvdmain/AVStoDVD_287_Alpha171212_Hotfix.7z).

It solves the 2 bugs reported by manolito.

;)

Bye

manolito
14th December 2017, 17:18
Yes, works beautifully... :D

Now just apply the translated strings to the DS filter setup window, and you have a new stable version... :devil:

Thanks and Cheers
manolito

MrC
15th December 2017, 13:48
Yes, agreed. Thanks for the feedback!

;)

Bye

manolito
15th December 2017, 14:50
Damn, I spoke too soon... :devil:

Just found another issue with highlight colors for the menus. I only tested the "Menu in Black" and the "Blue Rain" template. I chose "Text based, 4:3, Static", the HL colors are yellow for selection and red for playback.

The colors I get are different. It is Red for selection and some other very bright color for playback. I tried all my software players (PowerDVD, MPC-HC and VLC) and also my old and trusted Cyberhome standalone DVD player. The colors are the same with all the players.

The relevant settings are here:
http://www85.zippyshare.com/v/uf1ZfUh4/file.html

This issue probably has been there for a while. I rarely use menus with A2D at all, so I never noticed it.


Cheers
manolito


//EDIT//
Did a couple more tests on this issue...
It doesn't matter which template I select, if I choose Static or Motion, 16:9 or 4:3, Text Based or Thumbnails in the Menu Layout window. The result is always the same: The selected colors for Selection and Play are ignored.

MrC
20th December 2017, 16:34
Thanks manolito for the new report. I will check what's broken.

;)

Bye

MrC
7th January 2018, 15:33
To optimize the subtitles colors I had modified the default DVD palette, which is used also by BatchMux/Muxman to assign the colors to menu highlights.

To fix that, I have completely redefined also the Selection/Play colors list, taken from \AVStoDVD\Menu\HL Colors folders.

;)

Bye

MrC
7th January 2018, 15:35
A new 2.8.7 Alpha release is out (https://sourceforge.net/projects/avstodvd/files/avstodvd_alpha_beta/AVStoDVD%202.8.7%20Alpha%20180107/).

Cumulative changes log from 2.8.6:

- Some bugs fixed
- Added AviSynth plugin DSS2mod to replace DirectShowSource for video frame serving in 'A2DSource.avsi' script
- Added support to WebM files (*.webm) as input files, subset of Matroska
- Added warning messages when AVC/AAC title is added and Microsoft DTV-DVD decoders are default codecs
- Added a warning message when input title has a DVD compliant audio track with delay, to force audio re-encode
- Added check of .NET Framework 2 presence in 'Preferences'/'System'/'Software Info'
- Added BDSup2Sub 5.1.2 to improve bitmap-based subs handling (resize and resync). It requires Java Runtime Environment
- Added check of Java Runtime Environment presence in 'Preferences'/'System'/'Software Info'
- Added 'Smart Selection' option to 'Preferences'/'AviSynth'/'Hard FrameRate Conversion' option (see Help section for more details)
- Added AviSynth script 'MCJMFPS.avsi' for hard fps conversions (thanks to johnmeier and manolito from doom9)
- Dropped AviSynth script 'MotionProtectedFPS.avsi' for hard fps conversions, mainly due to edge artifacts
- Revised other 'Preferences'/'AviSynth'/'Hard FrameRate Conversion' option labels
- Revised video encoder smart selection rationale: no more HCenc VBR 1-pass for multicore CPUs
- Revised DVD Menu Highlight colors list (Selection and Play). Now they replicate default DVD palette used in AVStoDVD.
- Improved support of VobSub subtitles: resize and resync from BD sources is now implemented with BDSup2Sub
- Improved handling of "non-mod4" interlaced sources within the AviSynth script generation routine
- Spun off Preferred DirectShow Codecs Tool in a separate executable file 'A2DCodecs.exe'
- Removed 'Execute AVStoDVD with Elevated Privileges' option in 'Preferences'/'Misc'
- LAV Filters updated to release 0.70.2
- AVSMeter updated to release 2.6.5

;)

Bye

manolito
8th January 2018, 05:49
Yes, beautiful, grazie mille... :thanks:

As usual I could not test if the subtitle colors have survived the fix for the menu highlight colors, but the menu colors sure do work correctly now. And the Preferred DS Codecs setup is translated now. Looks like a candidate for the next stable build to me.

BTW (even if it is a little late) a Happy New Year to all of you guys (and girls)...

Cheers
manolito

manolito
8th January 2018, 11:07
Just a quick question about the mscomctl_reg.bat in the AVStoDVD\Lib folder for users of the noinstall version:

I noticed that you added a new version of this batch file which first checks if the OS is 32-bit or 64-bit and then unregisters/reregisters the OCX file in the appropriate folder. The older version of the batch file just blindly used the OCX file in the AVStoDVD\lib folder.

Could there be a conflict for users of the noinstall version if the VB runtimes have never been installed before? This would mean that the file MSCOMCTL.OCX would not be present neither in System32 nor in SysWOW64. So the batch file would fail unregistering/reregistering the file. Shouldn't the OCX file from the AVStoDVD\Lib folder first be copied to the appropriate system folder before trying to unregister/register it if it is not already present in this folder? So the batch file should look like this:
@echo OFF
setlocal

reg Query "HKLM\Hardware\Description\System\CentralProcessor\0" | find /i "x86" > NUL && set OS=32BIT || set OS=64BIT

if %OS%==32BIT set syswindir=%windir%\System32
if %OS%==64BIT set syswindir=%windir%\SysWOW64

IF NOT EXIST %syswindir%\mscomctl.ocx COPY mscomctl.ocx %syswindir%

regsvr32 /u %syswindir%\mscomctl.ocx
regsvr32 %syswindir%\mscomctl.ocx


Cheers
manolito

MrC
8th January 2018, 17:50
Good question, manolito. The scenario is complicated by Win7/8/10.

If you run the batch file without elevation, then the command to copy the ocx into the system folder will fail and the regsvr32 registration process will fail as well.

If you run the batch file elevated (run as admin), then regsrv32 is executed, but the command prompt will start from %windir%\System32 and the copy command will not work because you lose the starting folder info.

In the mscomctl.ocx section of the readme.txt file I have inserted the note to manually copy the mscomctl.ocx file to %syswindir%, then to run the mscomctl_reg.bat file

;)

Bye

manolito
9th January 2018, 07:27
Thanks MrC for the detailed explanation...

But I found that some things are a little different.

First of all the way to check if the current OS is 32-bit or 64- bit is a hack (which does work though...).

The reg key "HKLM\Hardware\Description\System\CentralProcessor\0" returns the hardware CPU properties, not the installed OS properties. I tested it under a 64-bit CPU with Win7-32bit installed, and yes, the reg entry does have "x86" in it. Having Win7-64bit installed under the same CPU there is no "x86" string in this reg key. So the routine does work, but it is not very clean.

And I also tested my modified "mscomctl_reg.bat" under Win7, and it did work without problems. Of course I always work under the main admin account, and one of the first things after installing Win7 is always to disable UAC. Double-Clicking the batch file in Explorer (after deleting the already present OCX file in the SysWOW64 folder) resulted in copying the OCX file from the A2D\Lib folder to SysWOW64 and registering it without any problems.

But of course other users will have set up their OS differently, and someone who prefers the noinstall version will most likely have the knowledge to get the mscomctl.ocx registered...


Cheers
manolito

manolito
10th January 2018, 04:46
Alright, I agree that turning off UAC completely may be a bit much for the average user (although I am a big fan of it)...

I made a new version of mscomctl_reg.bat which should overcome the issues (Stackoverflow is your friend...)

@ECHO OFF
SETLOCAL
REG ADD HKLM /F>nul 2>&1
IF ERRORLEVEL 1 GOTO noAdmin

SET Lib_DRIVE=%~d0
SET Lib_PATH=%~p0
%Lib_DRIVE%
CD "%Lib_PATH%"

REG QUERY "HKLM\Hardware\Description\System\CentralProcessor\0" | FIND /i "x86" > NUL && SET OS=32BIT || SET OS=64BIT

IF %OS%==32BIT SET syswindir=%windir%\System32
IF %OS%==64BIT SET syswindir=%windir%\SysWOW64

IF NOT EXIST "%syswindir%\mscomctl.ocx" COPY mscomctl.ocx "%syswindir%"

regsvr32 /u "%syswindir%\mscomctl.ocx"
regsvr32 "%syswindir%\mscomctl.ocx"
GOTO :EOF

:noAdmin
ECHO This script must run with elevated privileges, so:
ECHO.
ECHO right click on it, choose "run as administrator"
ENDLOCAL
ECHO.
ECHO.
ECHO.
PAUSE


Tested under WinXP and Win7 64-bit with UAC ON and UAC OFF. Works well, no idea about Win8 or Win10 though...

It won't help if a previous broken or incompatible mscomctl.ocx is present. In this case the suggestions in the A2D help file need to be applied.



BTW if you are gearing up for the next stable version please consider using the latest ffms2 by qyot27 from here:
https://forum.doom9.org/showthread.php?p=1829061#post1829061


Cheers
manolito

MrC
10th January 2018, 22:00
Thanks manolito for the upgrade to the batch file, brilliant! I confirm it works well under Win10 64bit UAC on. I will add to the final 2.8.7 package. Another credit to you ;)

I will have a look also to latest qyot27 ffms2 release. Thanks.

;)

Bye

MrC
21st January 2018, 17:04
Release 2.8.7 Final is out (https://sourceforge.net/projects/avstodvd/files/avstodvd/AVStoDVD%202.8.7/).

Cumulative change log from 2.8.6:

- Added AviSynth plugin DSS2mod to replace DirectShowSource for video frame serving in 'A2DSource.avsi' script
- Added support to WebM files (*.webm) as input files, subset of Matroska
- Added warning messages when AVC/AAC title is added and Microsoft DTV-DVD decoders are default codecs
- Added a warning message when input title has a DVD compliant audio track with delay, to force audio re-encode
- Added check of .NET Framework 2 presence in 'Preferences'/'System'/'Software Info'
- Added BDSup2Sub 5.1.2 to improve bitmap-based subs handling (resize and resync). It requires Java Runtime Environment
- Added check of Java Runtime Environment presence in 'Preferences'/'System'/'Software Info'
- Added 'Smart Selection' option to 'Preferences'/'AviSynth'/'Hard FrameRate Conversion' option (see Help section for more details)
- Added AviSynth script 'MCJMFPS.avsi' for hard fps conversions (thanks to johnmeier and manolito from doom9)
- Dropped AviSynth script 'MotionProtectedFPS.avsi' for hard fps conversions, mainly due to edge artifacts
- Revised other 'Preferences'/'AviSynth'/'Hard FrameRate Conversion' option labels
- Revised video encoder smart selection rationale: no more HCenc VBR 1-pass for multicore CPUs
- Revised DVD Menu Highlight colors list (Selection and Play). Now they replicate default DVD palette used in AVStoDVD.
- Revised 'Force FFmpeg when temp WAV is > 4GB' in 'Preferences'/'Audio' rationale: now it is applied also for 1.0/2.0 channels tracks longer than 3 hours
- Improved support of VobSub subtitles: resize and resync from BD sources is now implemented with BDSup2Sub
- Improved handling of "non-mod4" interlaced sources within the AviSynth script generation routine
- Spun off Preferred DirectShow Codecs Tool in a separate executable file 'A2DCodecs.exe'
- Removed 'Execute AVStoDVD with Elevated Privileges' option in 'Preferences'/'Misc'
- LAV Filters updated to release 0.70.2
- AVSMeter updated to release 2.6.5
- FFMpegSource plugin updated to release 2.22 r1293+111 (C plugin)

;)

Bye

manolito
22nd January 2018, 12:21
Beautiful, works like a charm... :thanks:


Cheers
manolito


//EDIT//
I just noticed that my plugin versions you are hosting at SourceForge are getting a little old...
I do update the plugins regularly, and I started uploading them to VideoHelp because they do not delete the files after some time. I always publish the current link in this post:
https://forum.doom9.org/showthread.php?p=1814958#post1814958

Maybe you could just publish the URL of this post at SourceForge. This way I would not have to nag you to update your SourceForge download page...

MrC
22nd January 2018, 17:38
Hi manolito, thanks for the kind words and for the constant and professional support.

I'm updating the latest plugin version right now. I don't feel nagged at all ;)

;)

Bye

manolito
26th January 2018, 00:21
Found some time today to work on my Wavi_Mod plugin...

Now the alternative normalizing modes also work for MP2 and WAV output. The exception is the Upmix mode which only works for AC3 output. I suppose that 6-ch MP2 and WAV streams are illegal for DVD (not sure, but AVStoDVD allows upmixing only for AC3).

//EDIT//
Just checked Wikipedia for DVD specs, looks like 6-ch MP2 and 6-ch PCM audio streams are part of the DVD standard. But I can only start supporting it when AVStoDVD allows upmixing MP2 and WAV audio. It doesn't make much sense anyways... :eek:
//END EDIT//

Also fixed the FFmpeg command line parsing, it won't choke any more when there is another parameter in front of the input parameter.

As usual the download link is at the bottom of this post:
https://forum.doom9.org/showthread.php?p=1814958#post1814958


@ MrC
Maybe now you know what I meant with "nagging" you... :p


Cheers
manolito

MrC
28th January 2018, 22:00
@manolito

new Wavi_Mod plugin uploaded @ SF

;)

Bye

manolito
28th January 2018, 22:48
Thank you so much...

Cheers
manolito

ebolaguy
22nd April 2018, 23:07
I tried right clicking on REG_MSCOMCTL.bat and running as administrator
but I keep getting the error message "The module "mscomctl.ocx" failed to load. Make sure the binary is stored at the specified pathor debug it to check for problems with the binary or dependant .DLL files. The specified module could not be found. "

manolito
23rd April 2018, 09:55
From the AVStoDVD help file:

Anyway, if there is already an old or broken mscomctl.ocx file, the Installer will not overwrite it. In that case AVStoDVD will complain. You have to:

· Delete any previous mscomctl.ocx files in your system folders (e.g. C:\Windows\System32 for Win32 or C:\Windows\SysWOW64 for Win64)
· Run as administrator .\AVStoDVD\Lib\mscomctl_reg.bat file

Have you tried to delete old versions of mscomctl.ocx in System32 and/or SysWOW64 before running the batch file?


Cheers
manolito

MrC
12th May 2018, 17:38
AVStoDVD 2.8.8 Alpha 180508 is available to download (https://sourceforge.net/projects/avstodvd/files/avstodvd_alpha_beta/AVStoDVD%202.8.8%20Alpha%20180508/).

Change log:

- Some bugs fixed
- Added 'Audio Peak Level Check' feature in 'Title Edit'/'Audio' section
- Added support to OGG chapters txt format (timestamps) in 'Title Edit'/'Chapters'/'Import Chapters' routine
- Improved 'Title Edit'/'Chapters'/'Export Chapters' routine
- Improved source chapters detection routine (now it works again for IFO/DVD files)
- MKVToolNix updated to release 23.0.0
- MediaInfo updated to release 18.03

;)

Bye

MrC

manolito
12th May 2018, 21:40
Thanks MrC for the new Alpha...

Did a few quick tests, this is what I found so far:

I will have to update the German language file, give me a few days.

After a long time you finally managed to break my FF_VBR and WaviMod plugins... :devil:
The audio peak level check will not work if my plugins are installed. The reason is that you use the redirection character in the FFmpeg params. The way I intercept all FFmpeg commands in my plugins requires that I retrieve the original command line. In a batch file there is no way to do this correctly if the command line contains special characters like the pipe character or the redirection character.

So far I do not see any workaround for this. Myself I do not care because I use external tools to analyze my audio sources, and I also pretty much abandoned simple peak normalizing.

For the new chapter import and export routines I did not have the time yet to test them, will do this ASAP.

Cheers
manolito

MrC
13th May 2018, 20:31
Hi manolito, of course it did not intend to break the plugins... from my side I will try to find a way to redirect FFmpeg stderr to a VB variable instead of going thru batch text file saving. Not easy, but I will try.

I will wait for your kind german translations.

And please let me know your opinion about the new features (Import OGG Chapters and Peak Level Check).

Thanks for your neverending support.

;)

Bye

manolito
13th May 2018, 22:15
Hi manolito, of course it did not intend to break the plugins...

Hi MrC,

of course you didn't, I was trying to be funny... ;)

I tried a few more tricks today, but nothing worked (escaping special characters, using delayed expansion, creating new processes for my batch files). I am just hitting the limitations of batch files, which somehow was to be expected.

What would work is to edit your A2DPeakLevel.bat to call _FFmpeg.exe (the renamed original FFmpeg.exe). But this would mean that you had to integrate a check in A2D if my FFmpeg hack is installed and then call the appropriate executable. Not really desirable...

Anyways, anybody who uses my Wavi_Mod plugin has no need to check the audio peak level from within A2D. And for users who have not installed my plugins it does not matter anyways.

A suggestion:
Currently you employ the AviSynth "Normalize" function after the peak level check. This wastes a lot of time. If the peak level is already known you could use the "AmplifyDB" function instead.


Another unrelated thing for the MCJMFPS.avsi:
According to this post
https://forum.doom9.org/showthread.php?p=1841952#post1841952
the quality improves a little bit after adding these params to the two MSuper calls:
sharp=1, rfilter=4

The lines would then look like this:
super = MSuper(source, hpad = 16, vpad = 16, levels = 1, sharp = 1, rfilter = 4) # one level is enough for MRecalculate
superfilt = MSuper(prefiltered, hpad = 16, vpad = 16, sharp = 1, rfilter = 4) # all levels for MAnalyse

I did a few short tests, I found it hard to see a difference. Maybe you could give it a whirl, you might have better eyes than I do...


Alright, I will report back with more test results.

Cheers
manolito

manolito
14th May 2018, 01:11
Alright, here is the updated German language file:
https://files.videohelp.com/u/172211/German.lang.ini.7z

I noticed one small glitch with this entry:
120011 Right-Click to manage Titles

When A2D is started in German then the translation for this entry does not kick in, I see the English text. Clicking "View->Select Language->German" fixes it, now I do see the German translation.


I also played a little with the new chapter import/export routines, but this stuff seems awfully complex, at least when you do not live in NTSC land... :(

What I tried so far was to convert a PAL title with chapters every 3 minutes to NTSC. When I had NTSC SpeedDown activated of course the OGG chapters added about 4sec to every chapter point, I did expect this. But when I imported an OGG chapter file I had saved earlier with chapters at exactly every 3 minutes then I got chapter points with about 40 sec added to every original chapter.

Still Batchmux handled these chapters gracefully. I did not expect this because I know that Muxman refuses to author streams with chapters beyond the video length.

Whatever, I think that some folks from NTSC land will have to join in here to test this new feature.


Cheers
manolito

Sir Didymus
14th May 2018, 13:30
<<
...Still Batchmux handled these chapters gracefully. I did not expect this because I know that Muxman refuses to author streams with chapters beyond the video length...
>>

Indeed, this is intriguing...

The total number of chapters identified are reported in the BM log file as: "Segment #... - Total Nr of Chapters --> ...".

Just out of curiosity I browsed a little bit deeper in the C code where the chapter points are validated... Well, plenty of code is present in BM to validate the timecode entries. Believe me, there are many checks (and warnings/errors printed out in case of issues). Nevertheless, there is no explicit validation of the individual time points of the chapter lists against the duration of the related video segments. In other terms, as you are pointing out, the BM session (preparation of the mxp script) should not stop...

It is an intended behavior: in case of problems related to chapter points outside of the range of the video segment duration, the complains are all left to MuxMan...
:cool:

manolito
14th May 2018, 23:32
Hi Sir Didymus,

good to see you back here after about 2 years... :cool:

You are right, all credits for handling these out of range chapters go to BatchMux, not to MuxMan.

Did another test which confirmed it. The source file was PAL, length was 6min 10sec. It had chapters at 2:00, 4:00 and 6:00. I exported these chapters to the OGG format. Then fired up AVStoDVD and told it to create an NTSC DVD structure. A2D used soft pulldown (correctly, the source was progressive). Then I imported the previously saved OGG chapters file, and the chapters window told me that I had chapters at 2:30, 5:00 and 7:30.

After the conversion which went without errors I played the DVD, and it had chapters at 2:30 and 5:00. The last chapter at 7:30 had not been included.

Had I tried to mux these chapters only using Muxman then Muxman woud have refused to mux and author this project. So it was really BatchMux which protected Muxman from receiving a chapter point outside of the video length. Very cool...


But of course it is still not correct how A2D handles this case. The whole point of using a chapter file which is based on absolute time stamps (as opposed to frame numbers which need to change with the target FPS) is to be independent of the target FPS. Right now A2D does not handle these OGG chapter files correctly when using pulldown.

In another test I used hard FPS conversion to NTSC with ChangeFPS. This time after importing the OGG chapter file the chapter points were correct. Looks like FPS conversion using pulldown needs to be fixed when importing OGG chapters.


Cheers
manolito

Sir Didymus
15th May 2018, 09:11
Hem... No, no... Thanks for the credits, but I think there should be something else in the chain which is filtering out the last chapter.

Possibly it is the analysis and the conversions of AVS2DVD. Please get a look at the input chapter files provided to BM to confirm...
:scared:

About BM I was saying the opposite of your (kind) understanding infact: as far as I can say, BM is NOT checking the duration of the video, so it is not removing the last chapter. If you look at the .mxp (output) file produced by BM, you should be able to see the presence of a scene at the time 7:30.

Cheers,
:)

manolito
15th May 2018, 21:21
@ Sir Didymus

Yes, you are correct. I repeated my tests keeping all the temp files, and indeed it was AVStoDVD which removed the last (out of range) chapter from the conversion. BatchMux was called without this last chapter, so MuxMan had no problem. Still this is not the desired outcome, the chapters are not at the positions where they should be...


@ MrC

After some long hours of testing I do know why I had this feeling that implementing OGG chapter import would be a major task... :scared:

AVStoDVD is so advanced now, it offers many methods for FPS conversion, and all of these methods require a different handling of importing OGG chapters which are based on time codes.

From my understanding the goal must be:
When I import an OGG chapter file into A2D, then the chapters must appear at the same position of the video in the conversion result. If A2D does not speed up or slow down the video then the chapters must appear at the same point in time (which is also the same position in the video). But if A2D does speed up or slow down the video, then the chapters should still be at the same position of the video. But of course the time stamps for the chapter points should be different to reflect the now different length of the clip. Do we agree on this?


Alright, I tested most of the possible scenarios with the current Alpha, this is what I found so far:

Test environment:
Source file was a short 6min 9sec clip. I created an OGG chapter file with chapters at 2:00, 4:00 and 6:00 min. From this source clip I made different clips for the different use cases:

PAL progressive (interlaced was not needed, it made no difference)
NTSC with soft pulldown 25 -> 29.97 ("irregular" pulldown)
NTSC with soft pulldown 23.976 -> 29.97 ("regular" 3:2 pulldown)
NTSC without soft pulldown, either hard telecined or pure progressive)

I then loaded the desired source clip into A2D and imported the previously created OGG chapter file.


Results:

PAL to NTSC

Using the default soft pullown:
Chapters were way off. MuxMan did not crash though because A2D removed the out-of-range chapters.

Using hard FPS conversion (either hard telecine or ChangeFPS). Also applies to interlaced sources:
No problem


NTSC to PAL

Genuine 29.97 source without pulldown flags (progressive or interlaced):
A2D uses hard FPS conversion, no problem.

Soft telecined source:
A: Telecined 23.976 -> 29.97

A1: Using DGDecode
Pulldown flags are honored, A2D sees the source as 29.97 and uses hard FPS conversion. Chapter points are correct

A2: Using DSS2Mod with LAVFilters
MediaInfo recognizes the frame rate as 23.976, DSS2 removes the pulldown flags, and A2D will either use PAL speedup or 23.976 -> 25 pulldown. In both cases the chapter points are off (by about 4% with PAL speedup, much worse when using 23.976 -> 25 pulldown).

B: Telecined 25 -> 29.97
MediaInfo does not recognize the pulldown flags. A2D sees the source as 29.97 and will use hard FPS conversion. No problems with the chapter points.


Generally it looks like hard FPS conversions are handled correctly by the current implementation. When soft pulldown or speedup/slowdown gets used then the problems start. There are probably some more use cases which will need special attention, but right now I am not in the shape for more testing (my head is buzzing already...).


Cheers
manolito

manolito
16th May 2018, 17:32
A1: Using DGDecode
Pulldown flags are honored, A2D sees the source as 29.97 and uses hard FPS conversion. Chapter points are correct

A2: Using DSS2Mod with LAVFilters
MediaInfo recognizes the frame rate as 23.976, DSS2 removes the pulldown flags, and A2D will either use PAL speedup or 23.976 -> 25 pulldown. In both cases the chapter points are off (by about 4% with PAL speedup, much worse when using 23.976 -> 25 pulldown).


Realizing once again that NTSC is still a strange beast to me... :devil:
What is the "most correct" way to handle a progressive (film) NTSC clip which is encoded at 23.976fps with 3:2 pulldown flags?

In AVStoDVD the different source filters depend on the MediaInfo information. When DGIndex/DGDecode is used then the "Honor Pulldown Flags" option is set. AviSynth sees a 29.97fps clip which looks "interlaced" due to the repeated fields. For fps conversion to PAL framerate A2D uses the selected "hard" conversion method (default is MCJMFPS).

Is this a good way to do it? Or shouldn't DGIndex use the "Force Film" option instead to serve the 23.976 clip without the repeated fields to AviSynth?

//EDIT//
I had falsely assumed that AVStoDVD actively edits DGIndex.ini to make sure that "Honor Pulldown Flags" is set. This is not true, A2D does not touch the "Field Operation" setting. A user can change this setting to "Force Film" before starting AVStoDVD, and this will make sure that only the encoded frames without the repeated fields will be served to AviSynth.
//END EDIT//


The other method using DSS2Mod and LAVFilters also raises a few questions. In this case MediaInfo reports 23.976fps and 3:2 pulldown for the source clip. A2D adds the "fps=23.976" to the DSS2Mod source filter command. Does this command return the correct frames? Without the "fps=23.976" DSS2Mod would return a rate of 29.97 (like DGIndex with "Honor Pulldown Flags"). Is forcing 23.976 in the source filter command the equivalent of removing the pulldown flags? I have my doubts... I am afraid that DSS2Mod first decodes to 29.97 and afterwards just drops frames to reach the specified frame rate of 23.976.

BTW DirectShowSource and FFmpegSource behave the same way as DSS2Mod.


Whatever, I am mighty glad to live in PAL land where I do not have to deal with those things...


Cheers
manolito

MrC
16th May 2018, 21:31
Thanks manolito for the German translation and extensive testing. PAL<->NTSC conversions are a nightmare for many reasons, chapters affaire is just the top of the iceberg...

Now I just have to find a couple of hours to go thru your investigations and solve all (?) the possible fps conversion scenarios within the new OGG chapters import routine.

About the Peak Level Check feature, I agree with you that it would better trigger the AmplifyDB() instead of Normalize(). There is also the possibility to move that routine directly in the AviSynth tab > Audio > Amplify Audio option, as preliminary prompt to the user.

;)

Bye

MrC
22nd May 2018, 21:31
The following hotfix (https://sites.google.com/site/avstodvdmain/AVStoDVD_288_Alpha180522_Hotfix.7z) should solve the chapters import sync issues in PAL<->NTSC conversions. And the Peak Level Check feature now triggers AmplifyDB(). And the 120011 Right-Click to manage Titles translation.

Still to manage the redirection of FFmpeg stderr to a VB variable.

;)

Bye

manolito
23rd May 2018, 03:21
Thanks MrC, this is a major improvement... :thanks:

The Language file issue is fixed.

For OGG chapter file import for PAl -> NTSC conversions the pulldown issues as well as the speeddown issues are fixed.

For NTSC -> PAL I think that the PAL speedup thing is also fixed, but the whole NTSC -> PAL conversion routine does not work when the source is a progressive NTSC Film clip at 23.976 with pulldown flags (23.976 -> 29.97) added.

This has nothing to do with OGG chapter file import, this problem has been there for a long time. Most folks do not care, because all PAL players can handle NTSC sources these days, no need to convert to PAL.


For the FFmpeg stderr thing I think that it is not so important. I will add a quick batch command to my FFmpeg hack to disable and reenable the hack with one mouse click, so users can easily use the peak level check even when they have my plugins installed.

Right now when the Normalize option is active and the peak level check is performed, users may end up with a "normalize" command followed by a "AmplifyDB" command. After a successful peak level check the "normalize" command should be removed from the AVS script.


Cheers
manolito

manolito
23rd May 2018, 03:53
the whole NTSC -> PAL conversion routine does not work when the source is a progressive NTSC Film clip at 23.976 with pulldown flags (23.976 -> 29.97) added.


Case studies:

Using DGIndex with "Honor Pulldown Flags" enabled (default):

The stream served to AviSynth will be (pseudo) interlaced. You can either IVTC it (a field matcher followed by a decimator), or you can deinterlace it. Otherwise you will have to treat it as "interlaced".

AVStoDVD does not do anything to such a stream, it falsely treats it as progressive. Any vertical resizing or using a filter with a spatial component will screw up the clip.


Using DGIndex with "Force Film" enabled:

For consistent pulldown flags this would be the correct option. But importing OGG chapter files fails with the current A2D version.


Using DSS2Mod or DirectShowSource or FFmpegSource:

For these source filters AVStoDVD uses the frame rate reported by MediaInfo of 23.976 and inserts this frame rate into the source filter call. MediaInfo also reports 3:2 pulldown flags, but A2D ignores this. So the source filters first serve the 29.97 (pseudo interlaced) stream to AviSynth, then the frame rate parameter causes frame drops to reach the specified frame rate. The result will still have interlaced frames, generally the quality will be pretty bad.

Users could edit the AVS script in A2D and remove the FPS parameters for the source filter. Then the source would be served as 29.97 to AviSynth, but (the same as DGDecode) the resulting (pseudo) interlaced stream is not handled correctly by AVStoDVD.


Cheers
manolito

MrC
23rd May 2018, 14:31
The problem is there also when the PAL speedup routine is active along with a 23.976 progressive clips with 2:3 pulldown flags. Now I don't check if pulldown flags are present.

In these cases, what about applying the IVTC option (Edit Title > AviSynth > Enhance) to remove the pulldown flags? The output would be a true 23.976 progressive clip, to which we can apply soft pulldown (23.976->25) or 4% speedup. Currently IVTC option is greyed out for everything but 29.97 interlaced, but you can easily tweak the frame rate and scan type clip properties within A2D. And if it works, I can activate IVTC by default for this scenario (input NTSC 23.976 progressive clips with 2:3 pulldown flags, output PAL).

;)

Bye

manolito
24th May 2018, 00:14
Currently IVTC option is greyed out for everything but 29.97 interlaced,

Hi MrC,

I have to admit that I did not test the IVTC option at all since it was introduced by the end of 2016. Now that I looked into it I believe you should change some things about it...

Only allowing it for 29.97 interlaced sources is too limited. First of all not all 29.97 interlaced clips are hard telecined, they could just as well be "truly" interlaced without repeated fields. In such cases TFM will fail because there are no fields to match. MediaInfo is no help for hard telecined sources, it won't tell if there are repeated fields.

And then of course applying IVTC is a standard procedure for soft telecined NTSC sources, it should not be greyed out for such sources.

A general remark about the IVTC implementation:
Right now the following lines are present in the AVS script:
Video = Video.TFM.TDecimate
Video = Video.ConvertToYV12()
I believe that the IVTC commands should appear AFTER the ConvertToYV12 command, because TFM and TDecimate both only support YV12 and YUY2. And the commands should be "TFM()" and "TDecimate()", the brackets make it faster.


Now talking about these standard progressive 23.076 NTSC sources which have been encoded with 3:2 soft pulldown. How should A2D treat such clips?

From the Doom9 IVTC tutorial:
IVTC ADVICE

FOR NTSC PEOPLE: FORCE FILM WHEN YOU CAN. IVTC WHEN YOU CAN’T FORCE FILM. DEINTERLACE WHEN YOU CAN’T DO EITHER.

But before digging into this I believe it is necessary to talk about semantics to make the behavior of the different source filters consistent.

For such a clip MediaInfo reports "23.976fps, 2:3 pulldown, progressive". All software players and VirtualDub report 29.97fps. I believe that the MediaInfo fps detection is wrong.

The problem with A2D is that whenever DSS2Mod or DirectShowSource or FFmpegSource is used then the frame rate reported by MediaInfo is included in the call for the source filter. This will give incorrect results. If MediaInfo reports 2:3 pulldown then the frame rate for the source filter call should be 29.97 (or it could be omitted).

The reason for this incorrect behavior is that all the above source filters have no option to remove pulldown flags with a "Forced Film" option like DGIndex. They all honor the pulldown flags and serve a "pseudo-interlaced" output to AviSynth.

DGIndex has a "Forced Film" option. When this option is selected then the pulldown flags are removed and AviSynth gets a progressive 23.976 stream from DGDecode.


IMO the way AVStoDVD should address this difference between source filters is to always set the fps to 29.97 as soon as MediaInfo reports pulldown. This way the behavior of all source filters will be consistent (if the DGIndex field option is left at the default "Honor Pulldown Flags").


Now how can A2D follow the advices from the Doom9 IVTC tutorial? The preferred option is "Force Film". Only DGIndex/DGDecode can do this in A2D, and only if users change the "Field Operation" setting to "Forced Film" before starting AVStoDVD. With the default option "Honor Pulldown Flags" DGIndex/DGDecode will send a 29.97 pseudo-interlaced stream to AviSynth like the other source filters.

The next advice "IVTC if you can't force film" means that A2D should not grey out the IVTC option as soon as MediaInfo reports pulldown.

And the last option "Deinterlace if all else fails" means that A2D should not grey out the "Deinterlace" option if MediaInfo reports Pulldown. Right now deinterlacing is not possible for such sources unless the user changes the title properties from Progressive to Interlaced.



Alright, even more things to consider. All of the above only applies to 23.976 progressive sources with standard 3:2 pulldown. But A2D also supports "irregular" pulldown (23.976 -> 25, 24 -> 25, 25 -> 29.97). For such sources MediaInfo does not report the pulldown. So AVStoDVD will treat it as progressive 29.97 which causes terrible results when applying vertical resizing or spatial filters.

The question is if you want to deal with such "irregular pulldown" sources at all. There is no automatic way to do it since MediaInfo does not recognize the pulldown. Of course using "Forced Film" on such sources is desirable, but only experienced users would be able to detect such a source. IVTC would also work, but not with the default parameters. TDecimate would need custom parameters to retrieve the original frame rate.


Well, this post came out much longer than I anticipated, but the problems are real. No idea how important this stuff is for the "Average Joe" user since converting NTSC to PAL is mostly not necessary for users living in PAL land. And the PAL -> NTSC conversions do already work.


Cheers
manolito

manolito
24th May 2018, 21:00
In these cases, what about applying the IVTC option (Edit Title > AviSynth > Enhance) to remove the pulldown flags? The output would be a true 23.976 progressive clip, to which we can apply soft pulldown (23.976->25) or 4% speedup. Currently IVTC option is greyed out for everything but 29.97 interlaced, but you can easily tweak the frame rate and scan type clip properties within A2D. And if it works, I can activate IVTC by default for this scenario (input NTSC 23.976 progressive clips with 2:3 pulldown flags, output PAL).


Sorry I forgot to report my test results for this case in my last post...

Yes, IMO for such sources IVTC should be activated by default - or at least a popup window should appear informing the user of using IVTC or Deinterlace.
I did this, and the video is treated as it should. But OGG chapter import is still broken for this scenario.

My suggestion for how AVStoDVD should treat such sources (NTSC progressive 23.976 with standard 3:2 pulldown flags):

1. Always evaluate the MediaInfo report for Pulldown. If Pulldown is reported then set the fps to 29.97 (ignore the 23.976 MediaInfo report). Also set the title properties to Interlaced.

2. Suggest that IVTC or Deinterlace should be used. If the user decides that he does not want to use any of these then at least A2D will treat the source as "interlaced" to avoid major damage.

This will only work for sources with standard (23.976 -> 29.97) pulldown flags. Irregular pulldown flags are not recognized neither by MediaInfo nor by AVSMeter, so A2D has no way to treat sources with irregular pulldown automatically.

One small inconsisteny I noticed:
If IVTC is checked then A2D of course modifies the AVS script, it also (correctly) removes the "Interlaced Encoding" checkmark from the Video tab. But if "Deinterlace" is activated instead, only the AVS script is edited. Under the Video tab the setting for "Interlaced Encoding" stays active (which is wrong IMO). After applying deinterlacing the encoder should use progressive settings and the output should not be flagged as interlaced.


Now back to the original topic of importing OGG chapter files:

After a lot of additional tests I see the current situation as follows:

1. OGG chapter import ALWAYS works when hard frame rate conversion gets used.

2. PAL to NTSC does work correctly. Using 25 -> 29.97 pulldown works equally well as using NTSC slowdown first and then applying 23.976 -> 29.97 pulldown.

3. NTSC to PAL conversion does NEVER work except when hard frame rate conversion is forced (For progressive sources A2D only offers DGPulldown or PAL speedup by default). I tested IVTCed sources using PAL speedup as well as 23.976 -> 25 pulldown, the chapters were way off in both cases. Finally I used a progressive 23.976 source without soft pulldown, and the results for OGG chapter import were identical to the IVTCed source.

So for NTSC to PAL conversions the OGG chapter import still needs some work...


Cheers
manolito

manolito
25th May 2018, 21:57
For the FFmpeg stderr thing I think that it is not so important. I will add a quick batch command to my FFmpeg hack to disable and reenable the hack with one mouse click, so users can easily use the peak level check even when they have my plugins installed.


And here it is:

Toggle_Plugins.bat
@ECHO OFF

REM This batch file toggles the FFmpeg-Mod based plugins for AVStoDVD ON or OFF

REM Both the FFmpeg_VBR plugin and the Wavi_Mod plugin are affected at the same time.
REM To deactivate or activate the plugins separately you need to rename the files
REM "ff_vbr.bat" or "wavi_mod.bat" respectively.


REM You need to use this batch file to deactivate both plugins if you want to use
REM the new "Audio Peak Level Check" within AVStoDVD.

REM ==================================================================================


REG QUERY HKEY_CURRENT_USER\Software\AVStoDVD /v AppPath >"%temp%\$temp.txt"
FOR /F "usebackq tokens=2,*" %%a IN ("%temp%\$temp.txt") DO SET AppPath=%%b
IF EXIST "%temp%\$temp.txt" DEL "%temp%\$temp.txt"
CLS

:toggleRename
IF EXIST "%AppPath%\FFmpeg\ffmpeg.exe" IF EXIST "%AppPath%\FFmpeg\_ffmpeg.exe" GOTO deActivate
GOTO Activate

:deActivate
COLOR 4F
IF EXIST "%AppPath%\FFmpeg\ffmpeg.exe.mod" DEL "%AppPath%\FFmpeg\ffmpeg.exe.mod"
REN "%AppPath%\FFmpeg\ffmpeg.exe" ffmpeg.exe.mod
REN "%AppPath%\FFmpeg\_ffmpeg.exe" ffmpeg.exe
ECHO.
ECHO ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
ECHO Ý ÚÄÄÄ¿Þ
ECHO Ý FFMPEG-MOD PLUGINS ARE NOW DE-ACTIVATED ³ X ³Þ
ECHO Ý ÀÄÄÄÙÞ
ECHO ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
ECHO.
ECHO Both the FFmpeg_VBR and the Wavi_Mod plugins are
ECHO now turned OFF...
ECHO.
GOTO end

:Activate
COLOR 1F
IF NOT EXIST "%AppPath%\FFmpeg\ffmpeg.exe.mod" GOTO Notinstalled
IF NOT EXIST "%AppPath%\FFmpeg\ffmpeg.exe" GOTO Notinstalled
REN "%AppPath%\FFmpeg\ffmpeg.exe" _ffmpeg.exe
REN "%AppPath%\FFmpeg\ffmpeg.exe.mod" ffmpeg.exe
ECHO.
ECHO ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
ECHO Ý ÚÄÄÄ¿Þ
ECHO Ý FFMPEG-MOD PLUGINS ARE NOW ACTIVATED ³ û ³Þ
ECHO Ý ÀÄÄÄÙÞ
ECHO ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
ECHO.
ECHO Both the FFmpeg_VBR and the Wavi_Mod plugins are
ECHO now turned ON...
ECHO.
GOTO end

:Notinstalled
CLS
ECHO.
ECHO ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
ECHO Ý ÚÄÄÄ¿Þ
ECHO Ý ERROR FFMPEG-MOD PLUGINS NOT INSTALLED ! ³ ! ³Þ
ECHO Ý ÀÄÄÄÙÞ
ECHO ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
ECHO.
ECHO You need to install the plugins first before you
ECHO can toggle them ON or OFF...
ECHO.

:end
PAUSE
EXIT


The file can reside anywhere on the HDD, users who want to do an Audio Peak Level Check need to run it before doing so.


Cheers
manolito

thescrapyard
29th May 2018, 11:30
I'm trying to add Russian subs to a project, tried extracting them from the source and also just let AVStoDVD automatically do the conversion but both ways come back with a sub error when it tries to add the subs into the output DVD

Also, it forces the subs into the final DVD, but all you get is a row of question marks where teh subs should be when playing the output DVD via PotPlayer, but the source plays the subs perfectly

The extracted subs are in Russian (Cyrillic font ??), maybe thats the issue. If I open the extracted subs .srt file in NotePad ++ the Russian text is all there and perfectly readable Russian characters



Attached is the file I'm trying to add back in as either AVstoDVD internal or as an added subs file. Either way the subs fail and are displayed as nothing but "?????????" on the video