View Full Version : BD3D2MK3D v1.39: Convert 3D BDs or MKV to 3D SBS, TAB or FS MKV - Support thread


r0lZ
1st January 2020, 12:25
This is the official BD3D2MK3D support thread at Doom9. It replaces the original thread (https://forum.doom9.org/showthread.php?t=170828). (Now closed, it was active up to v1.17).

BD3D2MK3D is a tool to convert a 3D blu-ray (or a 3D AVC+MVC MKV created with MakeMKV) to Half or Full side-by-side (SBS), top-and-bottom (TAB) or frame-sequential (FS) 3D MKV.

BD3D2MK3D home (http://download.videohelp.com/r0lZ/BD3D2AVS/index.html) (hosted at VideoHelp, thanks Baldrik !)

The current version of BD3D2MK3D is v1.39.
The latest version of BD3D2MK3D cal always be downloaded here: BD3D2MK3D.7z (https://download.videohelp.com/r0lZ/BD3D2AVS/BD3D2MK3D.7z)
The full modification history can be viewed or downloaded here: Version history (http://download.videohelp.com/r0lZ/BD3D2AVS/history.txt)

Please post all feature requests, bug reports or general comments about BD3D2MK3D in this thread, or at the BD3D2MK3D thread at VideoHelp (https://forum.videohelp.com/threads/395498-BD3D2MK3D-Convert-3D-BDs-or-MKV-to-3D-SBS-TAB-or-FS-MKV-Support-thread). I will try to reply as soon as possible.

The old thread about BD3D2MK3D up to v1.17 can still be viewed here (https://forum.doom9.org/showthread.php?t=170828). It contains a lot of useful information but is now closed. A search for BD3D2MK3D here or at VideoHelp (https://forum.videohelp.com/) can also be useful.

Happy 3D viewing !

r0lZ
1st January 2020, 12:37
BD3D2MK3D v1.18 implemented several fixes and little improvements:

v1.18 (December 24, 2019)
- Added Subtitle Tools -> Crop Transparent XML/PNG Background to remove the useless invisible parts of a XML/PNG subtitle stream. This may be necessary fo convert full-width subtitles to 3D.
- The --alpha-crop 0 argument has been added to all BDSup2Sub command lines so that it will not crop the transparent background of the XML/PNG streams any more, except when necessary.
- The Verify 3D-planes Compatibility subtitle tool has been improved to include a global score indicating roughly the compatibility of each 3D-Plane with the analysed subtitle stream.
- The presence of all required files in the toolset folder is now verified at startup, as some antivirus software may quarantine some exe files due to false positive.
- Fix: eac3to crash when an AC3+ audio stream is converted to stereo.
- Workaround for a possible bug when checking for M$ .NET v4 on some systems.
- Little bug fixed: The _POSTPROCESS_2D.cmd file was not executed after a 2D encoding due to a typo in the filename.
- Updated x264 to the latest version (v0.159.2991)
- Updated mkvtoolnix to the latest version (v41.0.0 "Samarra")
- Updated the Intel library libmfxsw32.dll to version 8.18.6.8
- DGMVCDecode is now withdrawn and has been removed. It was useless anyway, and baby is happy.

BD3D2MK3D v1.19 is not an important release. It has only the new links for the official home and support threads in the Help menu:

v1.19 (January 1, 2020)
- The home of BD3D2MK3D has changed and is now http://download.videohelp.com/r0lZ/BD3D2AVS/index.html
- The support thread at Doom9 is now https://forum.doom9.org/showthread.php?t=177317
- There is a new support thread at VideoHelp here: https://forum.videohelp.com/threads/395498-BD3D2MK3D-Convert-3D-BDs-or-MKV-to-3D-SBS-TAB-or-FS-MKV-Support-thread

Happy new year !

kempodragon
20th March 2020, 22:53
I recently got the Oculus Quest and tried watching some 3d trailers online. It was absolutely amazing, just like being in the theater. I have several 3d blurays that I was originally going to get 3d tv for, but now I'd rather encode them for the Oculus. The players for Oculus recognize all the various types of 3d formats; SBS, TAB, and FS. Has anyone tried encoding for a VR headset? It looks like I can go full SBS, but I'd like some confirmation.

mehenuf
20th April 2020, 16:21
After selecting BDMV folder it shows the movie is 1h56m (https://prnt.sc/s2re76) which is right but when i start the Encoding it shows only ~10000 frames and i faced it everytime i use a Blu-ray Source (https://prnt.sc/s2rgoc) is there any fix?

kempodragon
30th April 2020, 21:13
I decided to take the plunge, and made a full SBS, 1080p encode of the movie "Dredd", the one with Karl Urban, since it has many scenes that are a good test for 3d. I used the default bitrate and encoded to x264 using two pass. The file came out to just over 6 gigs with no errors. I then used Skybox to stream it from my main system to my Quest. The only problems I encountered was I had to manually set the AR, and for some reason several subtitles had the left side cut off. Otherwise, the 3d effect was gorgeous!!! All scenes were crisp and clear, and since each eye sees only one image, there is no "crosstalk" or other problems inherent in other methods.
Since 3d tv's are no longer being produced, HMD are really the only option for watching 3d now. Granted, you can't stream directly from a blu-ray player, but I figure it's only a matter of time before some one solves that problem as well. :D
I have only one feature request, that you make it work with Ripbot, because it is the only program that uses the full power of a multi-core machine.

tebasuna51
1st May 2020, 13:05
...
I have only one feature request, that you make it work with Ripbot, because it is the only program that uses the full power of a multi-core machine.

For what?

The encoder x264 always use the full power of a multi-core machine not matter the GUI used.

Whit the same x264 r2991, and same settings, in MeGUI and Ripbot I run faster MeGUI (165.53 fps) than Ripbot (145.52 fps)

The difference is only the avs script used:
DGSource("input.dgi") in MeGUI
LWLibavVideoSource("input.mkv",cachefile="input.lwi",prefer_hw=3) with Ripbot

Here we use different avs decoders but the x264 use all cores also.

kempodragon
1st May 2020, 15:29
Two words: Distributed encoding. I watched the cpu usage and encoding fps during my test, and it was only about 1/4 of what I get using Ripbot. DE lets me use all 16 cores of my Threadripper, and I've seen speeds of several hundred fps encoding to x264. I've used Ripbot exclusively for my encodes ever since I came across it.

tebasuna51
2nd May 2020, 03:27
I have all my cores working at 100% with Ripbot and with MeGUI, maybe DE is necesary in your machine but not with the mine.

r0lZ
3rd May 2020, 16:38
Sorry for replying only now. I have not been notified of the changes in this thread ! :mad:
After selecting BDMV folder it shows the movie is 1h56m (https://prnt.sc/s2re76) which is right but when i start the Encoding it shows only ~10000 frames and i faced it everytime i use a Blu-ray Source (https://prnt.sc/s2rgoc) is there any fix?
What do you mean with "it shows only ~10000 frames" ? What is "it" ? What is the number of frames in the __ENCODE_3D_MOVIE.avs and __ENCODE_3D.cmd files ?

Anyway, be sure to launch __ENCODE_3D_LAUNCHER.cmd and not directly __ENCODE_3D.cmd. The launcher ensures that the computer will not go to sleep mode during the encoding.

r0lZ
3rd May 2020, 16:50
Thanks kempodragon for your positive feedback and your valuable information about VR playback.

You might be able to fix the problem of the aspect ratio by playing with the Settings -> Full-SBS/T&B Aspect Ratio options. Unfortunately, there is no well established standard for Full-SBS or Full-T&B, so you have to select the best combination for your equipment. Normally, Half-SBS, Half-T&B and FS give always the correct result.

The subtitle problem is probably caused by a bad behaviour of the player. To avoid it, I suggest to hardcode the subtitles. (See the last tab.)

I have only one feature request, that you make it work with Ripbot, because it is the only program that uses the full power of a multi-core machine.
I don't know or use Ripbot. Anyway, you can use any command-line encoder with Settings -> AVC/HEVC Encoder -> Use your own custom command for encoding. Of course, you must know what arguments you need to provide. And be warned: AFAIK, only x264 can include the --frame-packing tag necessary to instruct many TVs and players to switch automatically to the right 3D display mode.

Also, maybe the relatively slow encoding time is caused by the MVC decoder. It requires also some power.

Note also that you can force a certain number of threads with the thread argument. According to the x264 doc, it uses the full power by default, but perhaps you can try to force it to use more threads ?

threads
Default: 1.5 * logical CPUs detected

Enables parallel encoding by using more than 1 thread to increase speed on multi-core systems. Previously, this threading was based on a slice encoding model, where the video was encoded in n slices (where n == threads). Since r607 this model was changed to sliceless threading, where the 'atomic unit' is now macroblock rows. The rest of this section refers to the latter system only.

The quality loss from multiple threads is mostly negligible unless using very high numbers of threads (say, above 16).

The default setting provides more or less optimum speed. If you want to reduce the quality loss, use one thread (Not Recommended, unless all other settings are already maxed)

kempodragon
5th May 2020, 14:12
Thanks r0lz for the info about full SBS. I did basically a straight conversion, choosing only full SBS and using the default bitrate. I included the English subtitles partially because the dialogue is so soft at times compared to the background. They displayed at the correct depth afaik, but I don't have a 3d tv to confirm this. I'm inclined to agree about subtitle cutoffs being a bug since it only happened randomly. Even though I use the Quest, a mobile phone with the appropriate headset like Google cardboard or Samsung Gear VR will do for testing since Skybox has apps for those as well. Just make sure that your phone is fully charged before viewing, because playing 3d video will max out your phone's processor like nothing else.

r0lZ
6th May 2020, 09:17
Thanks again for the precisions.

Can you verify the subtitles with a "classic" player on your PC ? You should see the 2 images side by side, and the subtitles should appear more or less in the middle of each view. And if there is also a problem, please try to do a screen capture, and post it here.

I guess VR is a good solution for watching 3D movies without a 3D TV, but I dread the quality of the sound. Ideally, it should be possible to send the 5.1 audio to a good hi-fi equipment, but I don't know if the VR apps can do that. Any info on that subject ?

kempodragon
6th May 2020, 13:43
I'll check later this week on the subtitles. As for the sound quality, if you play it directly from the headset, then you're limited to the headphones. I streamed the movie from my pc, so it should be possible to choose audio output. I'll look into it since I have 5.1 speakers setup.

prg4533
13th May 2020, 19:07
Great software! thanks! Getting this error after installing BD3D2MK3D v1.19 and Avisynth+ 3.5 r3106. I have uninstalled and reinstalled Avisynth but get same error. How do I "properly install" it?

tebasuna51
13th May 2020, 22:54
Do you have installed Visual C++ 2015-2019 redistributables?

https://github.com/AviSynth/AviSynthPlus/releases/download/v3.5.1/AviSynthPlus-3.5.1_20200402_vcredist.exe

r0lZ
14th May 2020, 09:40
Yes, the first time you install Avisynth+, be sure to install AviSynthPlus-3.5.1_20200402_vcredist.exe, or, if you use AviSynthPlus-3.5.1_20200402.exe, the VC++ redistributable libraries will be missing, and you have to install them manually, as tebasuna51 suggests.

I will modify the error message to suggest that vcredist may be missing.

Sixsupersonic
18th June 2020, 02:12
Hello r0lZ, I've been using your program on Linux which used to run fine with wine up until 1.18, because wine doesn't have powercfg.exe.

Since I only used the subtitle features I decided to port some of them to a few python scripts including the ones that
read 3D-Plane files from MVCPlanes2OFS.

So, I was curious if the source code for "MVCPlanes2OFS.exe" was available some where. I like to try to port it to Linux if possible.

r0lZ
19th June 2020, 08:04
Welcome to the Doom9 forums, Sixsupersonic.

powercfg.exe should not be mandatory. It is used only by the Settings -> Power Plans menu, and if you select to not change the power plan when encoding, it should not prevent to encode normally. However, I agree that it is launched when the program starts, just to know the current power plan. I will modify the code to launch it only under windows, and to remove entirely the Power Plans menu under Linux.

I don't have the source of MVCPlanes2OFS, because it has been written by Nico8583 (in Delphi). Unfortunately, Nico is not active here any more. However, I know what the program does exactly, and I should be able to explain how to write it. Write me an email, and I'll try to find the doc that was the basis for the program. Have a look at the end of the PgcEdit home page (link in my signature) to find my email address. Also, note that MVCPlanes2OFS.exe is a simple CLI tool that should run without problem under wine. Its syntax is extremely simple: MVCPlanes2OFS.exe source_MVC_stream destination_directory

Spaded21
17th October 2020, 16:25
I have converted some of my 3D movies to half-SBS format. When I playback the file I switch my projector manually to SBS mode. It plays the movie in 3D but the video is squished down. The file that was created is 1920x1080 but in order to get the two images to fit within 1920 pixels it has to scale them down. Because the movie is 2.35:1 the resulting 3D video is effectively 1920x400. Am I doing something wrong or is this an issue with my equipment?

r0lZ
18th October 2020, 12:12
Well, it is well known that Full-SBS causes many aspect ratio problems, as there is no standard to follow, and each player reacts differently. It's why there is an option to change it : Settings -> Full SBS/T&B Aspect Ratio. But for Half-SBS, things are normally much easier. BD3D2MK3D follows the well established standard for Half-SBS and Half-TAB, and it's the first time a problem is reported. So, undoubtedly, your equipment is the culprit.

That being said, it is possible to modify the aspect ratio stored in the files used to do the conversion. (You can't use the Settings menu, as it is taken into account only for Full-SBS.) The aspect ratio is present at two places. The SAR (Sample Aspect Ratio) is stored in the video stream (and therefore it cannot easily be changed after having computed the 3D video stream). You can edit the --sar 1:1 argument in the __ENCODE_3D.cmd file. I suppose that for Half-SBS, you should try --sar 2:1, but I'm not sure. You may also try to simply remove that argument completely, and let the projector decide.

The second aspect ratio is stored in the header of the video stream in the MKV container. It can easily be changed even after having computed the video stream. It is in the __MUX_3D_OPTIONS.json, in the section about the video stream. You will see this:
"--aspect-ratio",
"0:16/9",
It is easy to understand that it should be sufficient to modify the 16/9 string in the second line. Again, I don't know what value you need to use. Try 16/18 or 32/9 and try also to remove completely the two lines.
To mux the final movie without having to recompute the 3D video stream, just launch the __MUX_3D.cmd file. It will recreate the same MKV but with the new aspect ratio. But remember that this will not change the SAR in the video stream.

I suggest to do your tests with a short clip. You can also change the number of frames to compute (the --frames argument) in the file __ENCODE_3D.cmd to compute only the beginning of a long movie, and test it rapidly.

Please let me know the values you have to use to obtain the correct result. If it's not too difficult, I will perhaps add an option to change that values from the GUI. Thanks in advance.

Good luck !

kevbo
24th October 2020, 16:33
I have version 1.19. Upon startup, it can't detect Java and throws a warning/error message.

I have Java 1.8 and 11 installed. However, I don't use the Oracle JDK, I use AdoptOpenJDK, due to Oracle's new licensing restrictions.

If I bring up a command prompt and type "java", I get Java (so java.exe is in the path). I also have a JAVA_HOME environment variable set.

I'm wondering how the program actually tries to find Java. I can think of two things that have gone wrong. One, the java that comes up is Java 11. Maybe you only want 8? Or two, you're looking for something specifically Oracle that I don't have, because I have a different Java package.

Adding: AdoptOpenJDK can do 4 things when installing. It can add Java to the system PATH, it can associate itself with .jar files, it can set JAVA_HOME, and it can set values in the registry at HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft

Each of these 4 things is optional in the installer, but I have all 4 things enabled here. AdoptOpenJDK doesn't install in the Oracle location in Program Files: if you are specifically looking for Java there, it isn't there. But there are 4 other things that can looked for to try to find Java (well, at least 3, not sure the .jar association is all that helpful). At the very least, I'd think that looking for java.exe in the path and/or looking for JAVA_HOME should work. Or maybe allow the location of the JRE to be a configured option?

There are quite a few packagings of Java these days, and the new Oracle licensing makes that particular one quite sub-optimal. (I say knowing full well that Java's usage on the desktop is really minimal these days anyways.)

I'd like to help figure this out: I develop with Java so I'm familiar with how it installs/integrates.

Thanks,

Kevin

r0lZ
25th October 2020, 11:30
Thanks foir your detailed description of the problem. I don't know AdoptOpenJDK, but I will try it and investigate the problem. Can you confirm that it is fully compatible with the programs developed for the Oracle version ? Also, I suppose that the version most users have currently is OpenJDK 11 HotSpot. Correct ?

The way BD3D2MK3D detects java is somewhat complex, because Oracke has a strange installation method. Therefore, BD3D2MK3D uses several different methods, one after each other :

First, it tries to use the java path stored in the BD3D2MK3D configuration file. It's only when the path has changed due to a new installation that the whole procedure is started over.
It tries to execute the command "where java" in the command prompt. That command is supposed to return the path of java.exe if it is in the PATH environment variable and afaik it has always worked (except of course if java.exe is not in the %PATH%).
Then, it builds its own list of directories where the programs are usually installed. It uses the environment variables ProgramFiles and ProgramFiles(x86) (if they exist) to discover the paths of those folders. It appends "Java" to those directories, and then it checks in all sub-directories if java.exe exists. Therefore, it should be able to discover for example "C:\Program Files (x86)\Java\jre1.8.0_271\bin\java.exe".
Finally, it gives up and tries to use just "java.exe", without path.
The final test, always executed, consists in trying to execute the command "path/to/java.exe -version". In the output of that command, it searches for "java version", and assumes that the version is just after that words, on the same line.
If the version string has not been found and is therefore empty, it issues the warning telling that java is not properly installed. However, it returns the path anyway.

I guess that it's the last step that doesn't work, as "where java" should work, even if java is not installed in the usual Program Files directory.

Note that the function that checks for java can return the path or the version string. Normally, BD3D2MK3D doesn't check the version, as it assumes that any version should be OK. It uses the version string only to display it when the menu Help -> Java Version is called, as well as in the log when the Java version of BDSup2Sub is executed, for example to convert the subtitles to 3D.

I will try to locate the problem. In the meantime, try to edit the file BD3D2MK3D.cfg. Locate the line beginning with set ::config(javapath), and insert the path to your version of java.exe. The directory separator character must be linux-like (/), or two backslashes (\\), and the whole string must be enclosed between accolades, like this:

set ::config(javapath) {C:\\Program Files (x86)\\Common Files\\Oracle\\Java\\javapath\\java.exe}

Please let me know if that trick works. Unfortunately, it may trigger an error when the version is printed, but I'm not sure.

Anyway, that bug will be fixed in the next version. Thanks again for your report.

r0lZ
25th October 2020, 12:08
OK, the fix I just did seems to work. Indeed, the problem was related to the string with the version. For the Oracle Java, the line begins with "java version" and for AdoptOpenJDK, it begins with "openjdk version". I have modified the code to check only if the word " version " is present, and now, the Oracle and OpenJDK releases are correctly recognised and accepted.

I have also modified the error message and the link to download Java to direct the user to the AdoptOpenJDK site rather than to Oracle.

There are quite a few packagings of Java these days
Can you tell me if some of them are well established, and where to find them ? I will try them also, to verify if all good avatars of Java are compatible and accepted by BD3D2MK3D.

Thanks in advance.

kevbo
25th October 2020, 16:07
Great that you were able to fix it by looking at the string! I hadn't thought of that.

OpenJDK releases should all be compatible. They're all built from the same source code (even Oracle's these days, although apparently Oracle changes some strings). Oracle's releases aren't supported for long, and have really strange licensing terms that are so silly that I've honestly not bothered figuring them out. I just get the JDK from somewhere else.

I know of a few of them:


AdoptOpenJDK https://adoptopenjdk.net/
Amazon Coretto https://aws.amazon.com/corretto/
Azul Zulu https://www.azul.com/downloads/zulu-community/?architecture=x86-64-bit&package=jdk


There are a few more on the Wikipedia page: https://en.wikipedia.org/wiki/OpenJDK#OpenJDK_builds

r0lZ
26th October 2020, 09:57
OK, thanks. Not sure I will check all variants, especially if I can be almost sure that the word "version" is present in the output of the java -version command. Also, I think I will change the code again to replace the version string with "undefined", or something like that, when it cannot be found, so that a release that doesn't follow the standard will be accepted anyway (at the risk of the user).
I will probably release a new version of BD3D2MK3D soon...

kevbo
27th October 2020, 21:35
Cool. I suspect "openjdk version" is going to be pretty standard on all of the rebuild projects.

Just for kicks, I checked on Linux, which uses a JDK build by Red Hat. It says "openjdk version".

Thanks again for being so responsive!

Kevin

r0lZ
3rd November 2020, 17:10
BD3D2MK3D v1.20 is available. It fixes a few bugs, supports now most (all?) releases of java, and has been compiled with the latest freeWrap version (so its look may have slightly changed).

But most importantly, the version of tsMuxeR distributed with BD3D2MK3D has changed. It is now a relatively old build of the new open source version, with several important bugs fixed, but also some important changes in the meta file format. For that reason, BD3D2MK3D is not compatible any more with the old (closed source) versions of tsMuxeR. You may try to update tsMuxeR to the latest beta of the open source version, but do it at your own risk, as it is still heavily modified, and you may encounter incompatibilities or new bugs. The version distributed with BD3D2MK3D, although a nightly release, is recommended, as it has been successfully tested by me and several beta testers.

Also important, if you use the Custom Encoder command line instead of the built-in x264 or x265 encoders : the syntax has slightly changed, especially for the paths of the exe to call. So, after having installed this version, please try a custom encoding of a small clip to verify that your custom command works fine. Sorry for the inconvenience.

Note: Avisynth+ v3.5.1 has been released and it works perfectly with BD3D2MK3D: https://github.com/AviSynth/AviSynthPlus/releases/tag/v3.5.1 (You may need to install the vcredist variant if vcredist is not yet installed.)

v1.20 (November 3, 2020)
- Compiled and wrapped with freewrap 6.73, using Tcl/Tk 8.6.10.
- Adapted to the new Open Source version of tsMuxeR. Most (all?) demux bugs have been fixed, and it is no longer necessary to demux the angles with many M2TS with eac3to.
- IMPORTANT: The syntax of the custom command has slightly changed. Now, the backslach character \ in Windows paths MUST be typed twice, to avoid escaping problems.
- Workaround for a BDSup2Sub++ bug when loading some full-width subtitles: the X position is -2147483648 instead of 0!
- Fix: Java was not detected correctly when the installed version was not Oracle Java. It is now possible and recommended to install the open source AdoptOpenJDK instead of Oracle Java.
- Fix: Preview and Do It! buttons were disabled when the BD shows no 3D-playlist after opening it, but some playlists become available when the "Show all 3D playlists" is selected.
- Tools -> TsMuxer GUI opens now automatically the currently selected MPLS (if any)
- In case of error when checking if Avisynth+ is properly installed, the error message suggests now to install the version with the vcredist package.
- Removed the Power Plans stuff when BD3D2MK3D doesn't run under Windows (so that it doesn't crash under Linux with Wine)
- Removed Tab 3 -> Web -> Search TCM for Title, because the TCM site is now unusable
- Updated the FrimSource MVC decoder to the latest version (v1.31)
- Updated x264 to the latest version (v0.161.3027)
- Updated x265 to the latest version (v3.5+26)
- Updated the MkvToolnix tools to the latest version (v51.0.0 'I Wish')

Download BD3D2MK3D (http://download.videohelp.com/r0lZ/BD3D2AVS/BD3D2MK3D.7z) or visit its home page (http://download.videohelp.com/r0lZ/BD3D2AVS/index.html).
Have fun !

r0lZ
5th December 2020, 16:42
BD3D2MK3D v1.21 has been released. It fixes a single bug in a tool that has no impact on the conversion of a movie to 3D. It affects only some power users.

v1.21 (December 5, 2020)
- Fix: Clone Subtitles Positions did not clone the Y position if the X position was not changed. (Thx Ennio!)

Download : BD3D2MK3D.7z (http://download.videohelp.com/r0lZ/BD3D2AVS/BD3D2MK3D.7z)

r0lZ
2nd January 2021, 10:29
BD3D2MK3D v1.22 is available.

It adds a new option available when you encode in Half-Top/Bottom to use the even and odd lines of the source material instead of merging them with a resize. If you have a LG passive 3D TV that can display the full 1080p resolution, you will benefit from this option, as there is no need to resize the image, and all details are retained. But please note that it is suitable only if your TV has the correct polarity: the even lines must correspond to the left eye and the odd lines to the right eye. In all other polarity configuration (such as "checkered") or if you have an active TV, this option is not recommended. (Thanks to Muf for suggesting this option.)


v1.22 (January 2, 2021)
- Added an option to use the even/odd lines for the left and right views to encode in Half-T&B mode for a LG 3DTV, while retaining the full 1080p resolution. (Thx Muf!)
- Updated x265 to the latest version (v3.4+35)


Download: BD3D2MK3D.7z (http://download.videohelp.com/r0lZ/BD3D2AVS/BD3D2MK3D.7z)

TVI
23rd January 2021, 18:29
Hello. I wonder if somebody could help me with a problem please?

I’m doing everything I normally do but when I launch the encoder it starts without saying ‘press a key’, encodes in an hour (normally takes 4-5hrs) and isn’t saving to my MKV folder (small black screen stays on screen).

Help! Thanks.

TVI
23rd January 2021, 22:12
...here is the error I’m getting.

Thanks!

r0lZ
24th January 2021, 09:34
It seems that the Intel Media library is the culprit. If you have an Intel CPU, try to update the Intel drivers.
If that doesn't work, use the software MVC decoder: Settings -> MVC Decoder -> Hardware Acceleration -> Disabled.
Good luck !

videoh
24th January 2021, 12:39
Wouldn't be the first time Intel breaks backward compatibility. That's why DGDecIM met its demise.

TVI
25th January 2021, 19:02
It seems that the Intel Media library is the culprit. If you have an Intel CPU, try to update the Intel drivers.
If that doesn't work, use the software MVC decoder: Settings -> MVC Decoder -> Hardware Acceleration -> Disabled.
Good luck !

Hi,

I disabled the Hardware Acceleration as you suggested and it worked.

Thank you for your help which is much appreciated!

sfatula
13th March 2021, 08:10
I've seen messages saying this should run under wine. I get through the demux portion, and, when it runs the 3d launcher and is in encode_3d.cmd, instead of a window where it shows progress of encoding, it shows, well, garbage. Anyone here have any tips for running under wine to clear that part up? It's helpful to see remaining runtime like it does under Windows. If it's even working. See image (http://www.dropbox.com/s/msnr2bmlp73nsn4/Screenshot%20from%202021-03-13%2001-06-59.png?dl=0)

EDIT; I did find that if I remove the ^ in the __ENCODE_3D.cmd file, that' the garbage goes away and it seems to run. Was true on ubuntu standard apt package, and, WINHEHQ-DEVEL also. 32 or 64 bit.

r0lZ
14th March 2021, 15:50
EDIT; I did find that if I remove the ^ in the __ENCODE_3D.cmd file, that' the garbage goes away and it seems to run.
Thanks for the information. The ^ at the very end of a line under the Windows command prompt is the line continuation character. Theoretically, if you remove it and you don't replace it with a Linux equivalent, the encoding command will be considered as several different commands, and produce as many errors. I guess that you have concatenated the lines together, to form a single long command. Correct ?

If it's the only thing to change to use BD3D2MK3D under Linux with Wine, I may add an option in the Settings menu to be compatible with Wine. However, it seems that it's a Wine bug, that should be fixed, as this breaks the compatibility with some Windows batch files. Perhaps you should report it to the Wine authors...

nodiaque
28th April 2021, 20:11
hello, I have version 1.22 and everytime I try to start something, it says I have 0mb free. But I have about 700GB free on both of my NVME drive. The first time, I can do ignore but the second time, it's only retry or cancel. Under W10 x64 20H2

r0lZ
29th April 2021, 08:21
Strange. I have already encountered that problem (due to a Windows in a foreign language) but I have modified the code to avoid the problem. What is the language of your Win10 ?
Can you also open a command prompt, CD to the drive containing the project folder, and type dir, like this (assuming your project folder is on drive D:\) :

D:
dir

Then, post the content of the command prompt window here. Perhaps that will help me to find the cause of the problem.

In the meantime, I will modify the code to be able to skip the disc space warning...

[EDIT] Just verified the code, and indeed, there are two warnings. The first one is generated before the creation of the project, and you can skip it by clicking Ignore, abort the creation of the project with Abort, or you can click Retry after having made some room on your disc to let the program check again the disc space (but that will not work if the program detects always 0 bytes of free space!)

The second warning is issued after the creation of the project, if there is not enough disc space available for the creation of the x264 video stream. In that case, indeed, there are only two buttons: Retry and Cancel. Abort is not present, since the project has already been created, and there is nothing to abort. Retry is again used to recheck the disc space, and you can click Cancel to ignore the warning and continue. (I would have preferred Retry and Ignore instead of Retry and Cancel, but the possibilities are limited by Windows.)

So, I have nothing to modify. It is already possible to skip the two dialogs. However, with your help, I will try to fix the problem of the bad detection of the free space.

zaudio
15th May 2021, 10:49
I have converted various bluray isos to Half SBS 1080p mkv files recently.
All play in KODI on my shield pro (though with the occasional micro stutter), and I am wanting to see how well they play in plex.

The odd thing is that playing in plex all of my conversions are squashed vertically; thus incorrect aspect ratios.

Looking at 'Get Info' from plex, all of my conversions have 'Anamorphic:true' listed.

My guess as to why plex is squashing the video is this anamorphic:true tag. I have looked at various 1080p mkv files that are not my own conversions and they do not have it, and all play correctly in plex.

So how to I eliminate that tag for the mkv, or at least fix this annoying issue? I also see a pixel aspect ration of 2:1 that has been added... but I did not choose that SBS option, as would not think it applies to HSBS either.

Thanks

Simon

Here is the output from Get Info:

Media
Duration 1:34:48
Bitrate 15695 kbps
Width 1920
Height 1080
Aspect Ratio 2.35
Video Resolution 1080p
Container MKV
Video Frame Rate 24p
Audio Profile ma
Video Profile high
Part
Audio Profile ma
Container MKV
Has Thumbnail 1
Video Profile high
Codec H264
Bitrate 14159 kbps
Anamorphic true
Bit Depth 8
Chroma Location left
Chroma Subsampling 4:2:0
Coded Height 1088
Coded Width 1920
Color Range tv
Color Space bt709
Frame Rate 23.976 fps
Height 1080
Level 4.1
Pixel Aspect Ratio 2:1
Profile high
Ref Frames 4
Scan Type progressive
Title 3D Half-SBS (x264 high@L4.1 CRF 13 preset slow)
Width 1920
Display Title 1080p (H.264)
Extended Display Title 3D Half-SBS (x264 high@L4.1 CRF 13 preset slow) (1080p H.264)

zaudio
21st May 2021, 06:19
Hello, I have BD3D2MK3D version 1.22 and have been converting 3D bluray decrypted ISOs to HSBS 1080p. This is under Win10 X64 20H2
All of my mkv's are getting anamorphically squashed vertically when I play them using Plex on my NVidia Shield, or again on Plex on my Roku
This does not happen if I play on my Shield in Kodi. I have also some other hsbs 1080p 3d files not encoded using BD3D2MK3D. and they play fine in Plex (and do not have the 2 erroneous looking tags listed below)
All by mkv's report in get info from plex similar to this: Note in particular the 'Anamorpic true' and 'pixel aspect ratio 2:1' - I do not think those should be there, and I have tried everything I can think of to remove them... please can you help, as I really would like to play these files in plex as it plays way smoother than Kodi on the shield

Container MKV
Has Thumbnail 1
Video Profile high
Codec H264
Bitrate 15207 kbps
Anamorphic true
Bit Depth 8
Chroma Location left
Chroma Subsampling 4:2:0
Coded Height 1088
Coded Width 1920
Color Range tv
Color Space bt709
Frame Rate 23.976 fps
Height 1080
Level 5.0
Pixel Aspect Ratio 2:1
Profile high
Ref Frames 5
Scan Type progressive
Title 3D Half-SBS (x264 high@L5.0 CRF 13 preset slow)
Width 1920
Display Title 1080p (H.264)
Extended Display Title 3D Half-SBS (x264 high@L5.0 CRF 13 preset slow) (1080p H.264)

von Suppé
21st May 2021, 12:43
Not having such a mkv, did you look into MKVToolnix's header editor to see what can be altered in the "Video projection information" section?
The coded height of 1088 strikes me as odd for 3D. I wonder if this, in conjunction with HSBS (or HT&B) where half of a resolution is used anyways, would add to Plex's confusion.

r0lZ
21st May 2021, 15:53
Welcome to the Doom9 forums, zaudio !

I don't have Plex here, but I don't understand its report. The only places where the aspect ratio is specified is in the x264/x265 command (in the file __ENCODE_3D.cmd) and in the MKV muxing options (in the __MUX_3D_OPTIONS.json file). Here they are:
In the x264 command: --sar 1:1 (meaning square pixel)
In the MKV mux options: --aspect-ratio 0:16/9 (meaning again square pixel, given the 1080x1920 resolution)
Anamorphic is never specified (but it's not completely absurd, since the two views must be upscaled horizontally to re-create the original images for the two eyes).
Of course, the resolution is kept unmodified by BD3D2MK3D, and should therefore be 1080x1920. Obviously, the "Coded Height 1088" info comes from nowhere.

I agree that the aspect ratio settings can be problematic when the output format is Full-SBS or Full-TAB, and it's why there are options to change them, but for HSBS or HTAB, they are certainly correct.
Here is what MediaInfo displays with a HSBS encoded by BD3D2MK3D:

Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : High@L4.1
MultiView_Count : 2
MultiView_Layout : Side by Side (left eye first)
Format settings : CABAC / 4 Ref Frames
Format settings, CABAC : Yes
Format settings, Reference frames : 4 frames
Codec ID : V_MPEG4/ISO/AVC
Duration : 1 h 26 min
Bit rate : 4 746 kb/s
Width : 1 920 pixels
Height : 1 080 pixels
Display aspect ratio : 16:9
Frame rate mode : Constant
Frame rate : 23.976 (24000/1001) FPS
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.095
Stream size : 2.86 GiB (81%)
Title : 3D Half-SBS (x264 high@L4.1 CRF 22 preset slow)
Writing library : x264 core 161 r3027 4121277
Encoding settings (removed)
Default : Yes
Forced : No
Color range : Limited
Matrix coefficients : BT.709

As you can see, the aspect ratio and the height are correct, there is nothing about anamorphic, and everything looks correct. So, I can only assume that Plex is the culprit.

Now, to reply to your question, you can, as von suppé suggests, edit the MKV header with mkvtoolnix. If you have the original project, you can also edit manually the __MUX_3D_OPTIONS.json file to change or completely remove the aspect ratio information. Then, just launch __MUX_3D.cmd to remux the file with the new settings.
You cal also modify or remove the SAR in the x264 command, but of course, you will have to re-encode the video stream completely.

Anyway, I suggest to contact the authors of Plex. And if you can find a solution, please let us know. I may add a settings or a workaround to avoid the problem.

zaudio
21st May 2021, 21:46
Yes I have looked at all the tools MKVToolnix offers; header editor; using mkvmerge directly to update aspect ration, display size, I also messed around with editing the options in the CMD files generated by BD3D2MK3D, looked at the avisynth script, all of it. Nothing seems to affect plex playback, and the common theme to files that are playing wrong are those two tags I mentioned; and it seems plex is applying an anormorphic squash/stretch depending on how think of it. Not knowing where those two are coming from, I can only guess it is mkvmerge adding them for some odd reason; I even tried running the .264 file output from AVISynth througha tool to change the aspect ration in there... but it already reports as SAR 1:1 anyway... and of course made zero difference. I tried mkvmerge's --engage option to not use the source file ar also... no difference.
Hopefully someone has a solution to this... it does appear that hsbs files created bu BD3D2MK3D 1.22 all do this from what I can tell

zaudio
21st May 2021, 21:57
Something else I noticed was when trying to edit my mkv headers with ffmpeg, using such as :

ffmpeg -i video.mkv -vcodec copy -acodec copy -bsf:v h264_metadata=sample_aspect_ratio=1/1 video2.mkv

in the output for the video stream I see:
Stream #0:0: Video: h264 (High), yuv420p(tv, bt709/unknown/unknown, progressive), 1920x1080 [SAR 1:1 DAR 16:9], SAR 2:1 DAR 32:9, 23.98 fps, 23.98 tbr, 1k tbn, 47.95 tbc (default)

Notice the extra SAR 2:1 DAR 32:9

Maybe you could check your mkv with ffmeg ? It's not just plex; I suspect that second set of display properties is what is throwing plex...

r0lZ
22nd May 2021, 09:14
Maybe you could check your mkv with ffmeg ? It's not just plex; I suspect that second set of display properties is what is throwing plex...
Well, I don't know why the second set appears. As you know, it is never specified. The advantage of HSBS or HTAB over Full-SBS/TAB is that the dimension and aspect ratio of the combined (SBS) image are identical to the dimension and aspect ratio of the two views after having splitted the video and resized the views. Therefore, the resolution MUST be 1920x1080, the PAR 16:9 and the SAR 1:1. But indeed, the two views are anamorphic in the combined picture, since they have to be resized to occupy the whole screen. I suspect therefore that PLEX and ffmpeg know that the video must be resized, and display that phantom second set of options, deduced automatically. But anyway, I can't modify that in BD3D2MK3D, especially if you have already tested with other AR values or without any AR settings at all.

Again, I think that the display problem is due to a bug in Plex (although I don't understand why it can play other 3D-SBS material correctly).

Perhaps you should try to remove the flags telling that the material is encoded in 3D-HSBS ? Maybe it's that flags that confuse Plex ? (Remove --frame-packing 3 in the x264 command and --stereo-mode 0:1 in the MKV options.) You may also need to remove the "SBS" or "3D-lrq" strings from the filename. Without that informations, Plex should be unable to detect that the video is in 3D and should display the two views side by side. Then try to change the display mode to switch to 3D, and see if that makes a difference.

von Suppé
22nd May 2021, 11:36
...although I don't understand why it can play other 3D-SBS material correctly
Maybe because this correctly played SBS material doesn't have properties and/or metadata that make Plex state the "Coded Height 1088"? I'm still suspecting this and wonder if (again, combined with certain 3D/AR flags) it makes Plex play 3D-SBS faulty. Even if Plex would suffer from "faulty reading of" or "miscomposing" video-information, all 'n' all there must be something different compared to 3D-SBS files that do play correctly. Maybe a dodgy source?
Or is it indeed anamorphic encoding? I don't even dare to think BD3D2MK3D would steer x264 to do so, but maybe (unawarely set) hardware-acceleration encodes anamorphic.

Anyways, "1088-related" or not, it would be interesting to dive into the properties and headers of a 3D-SBS file that Plex does play properly and see if there's any discrepancy in comparison. If not, maybe a demux and comparison of the elementary video-streams can shine some light.

zaudio
22nd May 2021, 16:32
Well, I don't know why the second set appears. As you know, it is never specified. The advantage of HSBS or HTAB over Full-SBS/TAB is that the dimension and aspect ratio of the combined (SBS) image are identical to the dimension and aspect ratio of the two views after having splitted the video and resized the views. Therefore, the resolution MUST be 1920x1080, the PAR 16:9 and the SAR 1:1. But indeed, the two views are anamorphic in the combined picture, since they have to be resized to occupy the whole screen. I suspect therefore that PLEX and ffmpeg know that the video must be resized, and display that phantom second set of options, deduced automatically. But anyway, I can't modify that in BD3D2MK3D, especially if you have already tested with other AR values or without any AR settings at all.

Again, I think that the display problem is due to a bug in Plex (although I don't understand why it can play other 3D-SBS material correctly).

Perhaps you should try to remove the flags telling that the material is encoded in 3D-HSBS ? Maybe it's that flags that confuse Plex ? (Remove --frame-packing 3 in the x264 command and --stereo-mode 0:1 in the MKV options.) You may also need to remove the "SBS" or "3D-lrq" strings from the filename. Without that informations, Plex should be unable to detect that the video is in 3D and should display the two views side by side. Then try to change the display mode to switch to 3D, and see if that makes a difference.

I have set an encode going with what you suggested to see if that helps. I think I did try the stereomode flag removal before... but not also the framepacking.
It does some odd the coded height is larger than the height also... but all this still makes me think something is encoded into the mkv files being produced; the fact that ffmpeg spots it, plex spots it... I do not believe those apps are analyzing the actual video frame... they are reading that from somewhere surely?
For sure, if Plex would not pay attention to the flag, that would help, but the chances of my getting them to do that are likely not good. If the file is marked anamorphic somehow, then they would likely suggest their app is doing the right thing playing at such.

I'll update the end of today when my new encode is completed if that makes a difference.
I watched a non-BD3D2MK3D encoded HSBS movie in 3D last night in plex right through... it played great. That also has 3D and HSBS in the title... so it certainly is not that.
One other thought I have had is to try an older version of mkvmerge for the mux_3d step... maybe all that stuff they recently added to support LG TVs is adding the anamorphic tagging? How old can I go without breaking the process?

zaudio
22nd May 2021, 21:41
Ok using MediaInfo to output video inforamtion,
this file plays perfectly in plex:

Format : Matroska
Format version : Version 4
File size : 17.5 GiB
Duration : 1 h 47 min
Overall bit rate mode : Variable
Overall bit rate : 23.3 Mb/s
Movie name : Moana.2016.1080p.3D.BluRay.Half-SBS.x264.DTS-HD.MA.7.1
Encoded date : UTC 2017-02-20 18:51:16
Writing application : mkvmerge v9.6.0 ('Slave To Your Mind') 64bit
Writing library : libebml v1.3.4 + libmatroska v1.4.5
Cover : Yes
Attachments : small_cover.jpg / small_cover_land.jpg / cover.jpg / cover_land.jpg

Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : High@L4.1
Format settings : CABAC / 2 Ref Frames
Format settings, CABAC : Yes
Format settings, Reference frames : 2 frames
Codec ID : V_MPEG4/ISO/AVC
Duration : 1 h 47 min
Nominal bit rate : 15.5 Mb/s
Width : 1 920 pixels
Height : 1 080 pixels
Display aspect ratio : 16:9
Frame rate mode : Constant
Frame rate : 23.976 (24000/1001) FPS
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.312
Title : Moana.2016.1080p.3D.BluRay.Half-SBS.x264.DTS-HD.MA.7.1-FGT
Writing library : x264 core 142
Encoding settings : cabac=1 / ref=1 / deblock=1:-1:-1 / analyse=0x3:0 / me=hex / subme=5 / psy=0 / mixed_ref=0 / me_range=16 / chroma_me=1 / trellis=0 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=0 / chroma_qp_offset=0 / threads=8 / lookahead_threads=2 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=2 / b_pyramid=0 / b_adapt=1 / b_bias=0 / direct=1 / weightb=0 / open_gop=0 / weightp=0 / keyint=24 / keyint_min=13 / scenecut=40 / intra_refresh=0 / rc=abr / mbtree=0 / bitrate=15500 / ratetol=1.0 / qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / ip_ratio=1.40 / pb_ratio=1.30 / aq=1:1.00
Default : Yes
Forced : No
Color range : Limited
Color primaries : BT.709
Transfer characteristics : BT.709
Matrix coefficients : BT.709


and this one is one of mine that does not play properly, and is vertically squashed:

Format : Matroska
Format version : Version 4
File size : 12.0 GiB
Duration : 1 h 42 min
Overall bit rate mode : Variable
Overall bit rate : 16.7 Mb/s
Movie name : Frozen.2013.3D.1080p.h264.DTS-HDMA.HSBS-ZA / Frozen.2013.3D.1080p.h264.DTS-HDMA.HSBS-ZA
Encoded by : ZA
Encoded date : UTC 2021-05-15 14:46:28
Writing application : mkvmerge v51.0.0 ('I Wish') 32-bit
Writing library : libebml v1.4.0 + libmatroska v1.6.2 / x264_x64.exe / x264 0.161.3027 4121277 / (libswscale 5.6.100) / (libavformat 58.33.100) / (lsmash 2.16.1) / built on Oct 26 2020, gcc: 8.2-win32 20190215 / x264 configuration: --chroma-format=all / libx264 configuration: --chroma-format=all / x264 license: GPL version 2 or later / libswscale/libavformat license: LGPL version 2.1 or later
Original source form : Blu-ray 3D
Cover : Yes
Attachments : cover_land.jpg / small_cover_land.jpg / __ENCODE_3D_MOVIE.avs / __ENCODE_3D.cmd / BD3D2MK3D.log
AUTHOR : BD3D2MK3D 1.22
DATE_ENCODED : 2021-05-15
ENCODER_SETTINGS : --crf 13 --preset slow --level 5.0 --vbv-bufsize 168750 --vbv-maxrate 168750 --sar 1:1 --range tv --colormatrix bt709 --frame-packing 3

Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : High@L5
MultiView_Count : 2
MultiView_Layout : Side by Side (left eye first)
Format settings : CABAC / 5 Ref Frames
Format settings, CABAC : Yes
Format settings, Reference frames : 5 frames
Codec ID : V_MPEG4/ISO/AVC
Duration : 1 h 42 min
Width : 1 920 pixels
Height : 1 080 pixels
Display aspect ratio : 16:9
Frame rate mode : Constant
Frame rate : 23.976 (24000/1001) FPS
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Title : 3D Half-SBS (x264 high@L5.0 CRF 13 preset slow)
Writing library : x264 core 161 r3027 4121277
Encoding settings : cabac=1 / ref=5 / deblock=1:0:0 / analyse=0x3:0x113 / me=hex / subme=8 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=2 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=-2 / threads=6 / lookahead_threads=1 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=3 / b_pyramid=2 / b_adapt=1 / b_bias=0 / direct=3 / weightb=1 / open_gop=0 / weightp=2 / keyint=250 / keyint_min=23 / scenecut=40 / intra_refresh=0 / rc_lookahead=50 / rc=crf / mbtree=1 / crf=13.0 / qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / vbv_maxrate=168750 / vbv_bufsize=168750 / crf_max=0.0 / nal_hrd=none / filler=0 / frame-packing=3 / ip_ratio=1.40 / aq=1:1.00
Default : Yes
Forced : No
Color range : Limited
Matrix coefficients : BT.709

zaudio
22nd May 2021, 21:43
Would it be worth swapping in an older version of MKVMerge? How old could I go without causing a problem?
Meanwhile I await the result of dropping the framepacking and stereo mode, that is encoding as I write this.

zaudio
22nd May 2021, 23:40
Hey Success! At least with my own encodes. Removing framepacking=3 and stereo-mode:1 from the appropriate setting files for the encode and mux has removed the anamorphic and PAR 2:! from the plex meta data, and I can now play my test mkv file in both kodi and plex!!! yay.
So what can I do for encodes from others that were encoded this way - I guess nothing without reencoding them, which would not be good.
So using your software, I just need to not let it continue to the encode after the demux; and remove those settings each time. Is there a way to removed those using some option in your GUI?

Thanks for the suggestion... at least it worked!

r0lZ
23rd May 2021, 09:37
Yes, it's the only main difference I have noticed between the first and second MediaInfo reports. However, it is absolutely abnormal to have to remove an important information about the 3D format. That information is required by many hardware or software players to switch automatically to the right 3D-mode when the movie is played. Therefore, that confirms that the bug is in Plex, and not in BD3D2MK3D.

Of course, there is no option to remove those important settings. I could add an option to do it automatically, but I would prefer to let the Plex authors fix the bug. Currently, you can remove manually the two options before launching the encoding. Also, test if removing only the MultiView_Layout from the MKV header is sufficient. If it's the case, you will be able to fix your old encodings with the mkvtoolnix header editor, without having to re-encode or remux the MKV. But if you need to fix also the frame-packing information from the AVC video stream, you will probably have to re-encode the whole file (unless a tool to patch the stream without re-encoding it exists somewhere; I don't know).

Anyway, I suggest to try to contact the Plex authors. If they accept to fix the bug, the problem will be solved. Otherwise, let me know, and I will probably add an option as a workaround.

von Suppé
23rd May 2021, 09:53
Damn, you guys beat me to it by minutes :)

...it is absolutely abnormal to have to remove an important information about the 3D format. That information is required by many hardware or software players to switch automatically to the right 3D-mode when the movie is played.
I am confused now. What I then don't understand is, how come when I view MediaInfo on a BD3D2MK3D created3D mkv, at the x264 encoding settings, I don't find the framepacking=3 argument?

[EDIT] @zaudio:
Does that file with Plex's "Coded height 1088" statement also play back properly after you've removed framepacking=3 and stereo-mode:1 ?

zaudio
23rd May 2021, 19:37
Damn, you guys beat me to it by minutes :)


I am confused now. What I then don't understand is, how come when I view MediaInfo on a BD3D2MK3D created3D mkv, at the x264 encoding settings, I don't find the framepacking=3 argument?

[EDIT] @zaudio:
Does that file with Plex's "Coded height 1088" statement also play back properly after you've removed framepacking=3 and stereo-mode:1 ?

Yes, it plays fine

zaudio
23rd May 2021, 20:00
Yes, it's the only main difference I have noticed between the first and second MediaInfo reports. However, it is absolutely abnormal to have to remove an important information about the 3D format. That information is required by many hardware or software players to switch automatically to the right 3D-mode when the movie is played. Therefore, that confirms that the bug is in Plex, and not in BD3D2MK3D.

Of course, there is no option to remove those important settings. I could add an option to do it automatically, but I would prefer to let the Plex authors fix the bug. Currently, you can remove manually the two options before launching the encoding. Also, test if removing only the MultiView_Layout from the MKV header is sufficient. If it's the case, you will be able to fix your old encodings with the mkvtoolnix header editor, without having to re-encode or remux the MKV. But if you need to fix also the frame-packing information from the AVC video stream, you will probably have to re-encode the whole file (unless a tool to patch the stream without re-encoding it exists somewhere; I don't know).

Anyway, I suggest to try to contact the Plex authors. If they accept to fix the bug, the problem will be solved. Otherwise, let me know, and I will probably add an option as a workaround.

I just retried MKVToolNix, and just removing the stero-mode (I think my earlier test was to set it to 0)... now I removed it. That actually worked so long as I removed my file from plex, rescanned, then added it back and rescanned. Refreshing metadata was not enough.
So that is even better, as I can still encode with the framepacking 3; seems not to affect my hardware if it is missing; but it seems it is the stereo mode that causes the plex issue.
I'm sure I tried just removing stereo mode in the mux_3d before... but maybe I did not remove the file file from plex totally first.

zaudio
24th May 2021, 01:57
Ok, so I have reported this issue to Plex as a bug; hopefully they might take notice... this time... as I found it was previously reported in 2018 (now I know what to look for), and they did nothing to fix it since.

r0lZ
24th May 2021, 08:22
I am confused now. What I then don't understand is, how come when I view MediaInfo on a BD3D2MK3D created3D mkv, at the x264 encoding settings, I don't find the framepacking=3 argument?
It is present. Look near the end of the line (from the second MediaInfo report above):

Encoding settings : cabac=1 / ref=5 / deblock=1:0:0 / analyse=0x3:0x113 / me=hex / subme=8 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=2 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=-2 / threads=6 / lookahead_threads=1 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=3 / b_pyramid=2 / b_adapt=1 / b_bias=0 / direct=3 / weightb=1 / open_gop=0 / weightp=2 / keyint=250 / keyint_min=23 / scenecut=40 / intra_refresh=0 / rc_lookahead=50 / rc=crf / mbtree=1 / crf=13.0 / qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / vbv_maxrate=168750 / vbv_bufsize=168750 / crf_max=0.0 / nal_hrd=none / filler=0 / frame-packing=3 / ip_ratio=1.40 / aq=1:1.00

r0lZ
24th May 2021, 08:35
Ok, so I have reported this issue to Plex as a bug; hopefully they might take notice... this time... as I found it was previously reported in 2018 (now I know what to look for), and they did nothing to fix it since.
OK, I see. I can add an hidden setting to remove that option as a workaround, but you will have to edit the BD3D2MK3D configuration file manually to enable it.

The frame-packing info in the h264 stream is required by many players, and notably by Youtube and my Samsung TV, but the stereo-mode in the MKV header is ignored by most players. It's a pity, as it is more informative than the frame-packing info, because it describes also the order of the views. But since BD3D2MK3D produces always SBS, TAB or FS 3D with the left view first (the de-facto standard), regardless of the order of the views in the original BD, not specifying the orders of the views with the stereo-mode should not be a big problem. So, you can probably safely remove the stereo-mode flag, but you should keep the frame-packing.

BTW, setting stereo-mode=0 or removing it completely should have the same effect. But with Plex, who knows ?

zaudio, can you post a link to the Plex bug report ? If I can, I will add my voice to the concert of complains ! ;-)

von Suppé
24th May 2021, 11:36
It is present. Look near the end of the line (from the second MediaInfo report above):
I know. I was referring to an old SBS testfile I created with BD3D2MK3D where I coundn't find it.

But it's solved, sigh. Mark this day, as it's a sad one. I am deeply ashamed to confess I had MediaInfo's "View" not set right to be able to see the entire encodings string.
Surely times of penance and atonement are upon me...

r0lZ
25th May 2021, 10:07
Surely times of penance and atonement are upon me...
Then I wish you a good retreat in meditation and prayer !

Note that the framepacking cannot be specified if you encode with x265 or, probably, with the vast majority of the other encoders. It seems that 3D is reserved to h264 and considered as incompatible with other codecs. Perhaps because a 3DBD is always encoded in h264 ?

von Suppé
26th May 2021, 07:25
Note that the framepacking cannot be specified if you encode with x265 or, probably, with the vast majority of the other encoders. It seems that 3D is reserved to h264 and considered as incompatible with other codecs. Perhaps because a 3DBD is always encoded in h264 ?
Actually, I always had some idea that SBS/T&B frames were to be encoded like a 2D frame. So a 3D capable player would recognize it by a header or 3D-flag, and thereby do the splitting, stretching etc.
I must be wrong then. Just curious as to what the "framepacking = ..." argument actually does in terms of encoding?

r0lZ
27th May 2021, 08:33
Just curious as to what the "framepacking = ..." argument actually does in terms of encoding?
Probably nothing special. It's just an information for the player. However, perhaps the encoder uses the information to ensure a sharp transition between the two views, but honestly, I don't think so.

zaudio
11th June 2021, 18:47
zaudio, can you post a link to the Plex bug report ? If I can, I will add my voice to the concert of complains ! ;-)

https://forums.plex.tv/t/3d-hsbs-movies-with-a-stereo-mode-tag-are-flagged-as-anamorphic-and-par-2-1-by-plex/717536

r0lZ
12th June 2021, 11:36
Thanks. I've added a comment. Let's hope they will fix the bug.

r0lZ
10th September 2021, 17:26
BD3D2MK3D v1.23 is finally here. It should fix all issues reported so far.

v1.23 (September 10, 2021)
- Updated the mkvtoolnix (https://www.videohelp.com/software/MKVToolNix) tools to the latest version (v56.1.0 'My Friend')
- Bug fix: Crash when checking if Avisynth (https://www.videohelp.com/software/Avisynth)+ is properly installed when the VC++ redistributable package is not installed.
- Bug fix: Clone subtitle positions did not work correctly when Process only the subs in the upper half of the screen was selected and the last subtitle in the guide was in the upper part of the screen.
- Bug fix: Clone subtitle positions: The warning (if any) was added to the XML even if it was already present.

r0lZ
25th July 2022, 12:17
v1.24 (July 25, 2022)
- Added the animation tuning parameter for x264. (Strangely, it is not mentionned in the help of x265.exe - Thx tOXicSilence!)
- Replaced MVCPlanes2OFS.exe with the more robust OFSExtractor32.exe (v1.1-beta2-1) to extract the 3D-Planes from the MVC video stream. Thanks to TheGreatMcPain/Sixsupersonic and t19922006 !
- Updated x264 to the latest version (v0.164.3095)
- Updated x265 to the latest version (v3.5+37)
- Updated avs2yuv to the latest version (v0.24bm6)
- Updated the mkvtoolnix tools to the latest version (v69.0.0 'Day And Age')
- Replaced the dead link for Info->CinDe Version with a search on DuckDuckGo
- Java version: Replaced the obsolete link to the AdoptOpenJDK web site to the current Adoptium site containing the latest free Eclipse Temurin JDK version.

Please note that MVCPlanes2OFS.exe is no longer used, and can freely be deleted from the toolset folder.

Also, I have updated almost all external exe, but I haven't had much time to test the new version, so use this update with care. In case of bug, please describe the problem here. Thanks !

Download: BD3D2MK3D.7z (https://download.videohelp.com/r0lZ/BD3D2AVS/BD3D2MK3D.7z)

r0lZ
29th July 2022, 17:02
Just a little fix for the problem of BD3D2MK3D not running correctly under Windows 8 or less due to a change in MkvToolnix v69.

v1.25 (July 29, 2022)
- Added a warning if BD3D2MK3D is running under Windows 8 or lower and the incompatible MkvToolnix v69 or greater is installed in the toolset folder. The warning offers to open the download site for MkvToolnix v68.

Download: BD3D2MK3D.7z (https://download.videohelp.com/r0lZ/BD3D2AVS/BD3D2MK3D.7z)

r0lZ
5th August 2022, 09:53
Sorry, the download link was not working. It has been fixed in the previous post, and in the first post of this thread. The other download links will probably not work.

Mister
8th August 2022, 00:03
I've been running into an issue with heavy artifacting on my video outputs that are not present in the original 3D Blu-rays. This is a recurring issue.

I convert straight from Blu-ray, choose all English streams, and use the following settings (leaving everything else at default):

Stereoscopy: Full Side-by-Side (FSBS)
Mode: CRF 12
Preset: veryslow
Tune: film


This is an example from GOTG. This is definitely one of the worst cases, but in general this sort of thing happens throughout the entire video file and is unignorable:
https://i.imgur.com/oIetxoj.png

Any solution to this issue?

r0lZ
8th August 2022, 11:07
I convert straight from Blu-ray
Are you sure the Blu-ray is correctly decrypted ? BD3D2MK3D does the conversion to SBS, but it doesn't decrypt the BD or remove any protection. Maybe you should try to use another decrypter, or use the MakeMKV method ?

Also, the problem might be caused by the Intel drivers (if you have an Intel CPU). When it's the case, it is usually sufficient to select Settings -> MVC Decoder -> Hardware Acceleration -> Disabled. This will force BD3D2MK3D to use the software MVC decoder included in its toolset folder, and that should work fine on all system, rather than the driver installed by Windows, and that might be outdated. Of course, you can also try to update your Intel drivers. Anyway, using the software version is only a little bit slower, so IMO it's the best solution. Try it !

Good luck !

Mister
8th August 2022, 15:23
Hi r0lZ, thanks for the quick response.

I will give the MakeMKV method a try. I have an AMD CPU, so I do not believe this is the source of the problem.

Mister
11th August 2022, 02:24
Following up on the above. I used MakeMKV to convert my Blu-ray to an MKV, and then converted the MKV using the same settings in BD3D2MK3D.

Unfortunately, the same result happened. Any ideas?

r0lZ
12th August 2022, 11:25
Hum, this is really strange. A long time ago, a bug in the Intel libraries (used to decode the AVC/MVC video streams) caused similar artifacts problems, but it has been fixed, and currently, as far as I know, everything works fine, for everybody... except you ! I'm puzzled. BTW, I did Guardians of the Galaxy Vol. 2 without problem.

Perhaps you should try to modify your encoding settings (for example, select Tune none, and a faster preset). It might be a good idea to check also if the same problem happens if you encode with x265. Even if your hardware doesn't support it, that will confirm if it's an encoder problem or not.

Sorry, but I can't help much more.

von Suppé
12th August 2022, 12:59
I've been running into an issue with heavy artifacting on my video outputs that are not present in the original 3D Blu-rays. This is a recurring issue.
You can run the same movie again and check if the artifacts show at the same time/position. If not, maybe one of your RAM modules has a defect. Which you can test.

Moonbase
6th September 2022, 18:48
In VirtualBox (Version 6.1.38 r153438 (Qt5.15.3)) on Linux Mint 21, I used to have good success in converting 3D BluRays using BD3D2MK3D v1.23 on Windows 7 in the past.

I’m currently trying to streamline my collection into 3D.mvc.mkv and 3D.htab.mkv (MVC for a Vero 4k+ box, and half top-and-bottom for my KODI on a Samsung TV).

So I tried to convert my old Gravity 3D ISO using BD3D2MK3D 1.23 on Win7 and failed at the planes/subtitle extration. I then tried 1.25, also on Win7, and didn’t succeed "backporting" the toolset to be compatible with Win7.

So I remembered you saying "I won’t support people using old OSes", and did a fresh Win11 Pro install (also on Linux Mint 21, VirtualBox as above), installed AviSynth+ 64-bit (aviSynthPlus_3.7.2_20220317_vcredist), 7-Zip, MKVtoolnix, Oracle Java 8 update 341, and BD3D2MK3D 1.25 in "C:\BD3D2MK3D", as recommended. (No .NET Framework installed, since Windows 11 already comes with .NET 4.8.) In VirtualBox, I gave the machine 150 GB disk, 8 GB RAM, 4 CPUs, 3D acceleration and 256 MB graphics memory. The hardware CPU is an Intel i7.

BD3D2MK3D seems to demux the tracks ok, but when starting to check 3D planes in the MVC it gives this error:


child killed: illegal instruction
child killed: illegal instruction
while executing
"exec -- [GetAppPath OFSExtractor32.exe false]"
(procedure "Extract3DPlanesMain" line 13)
invoked from within
"Extract3DPlanesMain "[file rootname $mpls].track_4114.mvc" . true"
(procedure "GenerateAvs" line 1598)
invoked from within
"GenerateAvs"
invoked from within
".nbf5.gf.gen invoke "
invoked from within
".nbf5.gf.gen instate !disabled { .nbf5.gf.gen invoke } "
invoked from within
".nbf5.gf.gen instate pressed { .nbf5.gf.gen state !pressed; .nbf5.gf.gen instate !disabled { .nbf5.gf.gen invoke } } "
(command bound to event)


I mounted the ISO using Windows’ tool (Right-click and "Bereitstellen" on a German Windows) and selected that drive ("F:") as source. Other settings I left at their default settings, except:


Tab 2: Selected all streams and marked the last 4 subtitle streams as "forced"
Deselected the "[ ] Use 5.1 core of DTS-HD, …"
Selected subtitle types "3D only" and stream format "BluRay SUP"
Tab 5: Stereoskopy [x] Half Top & Bottom
x264 encoder options [x] BD compatible


Since I don’t have the original BluRay anymore, I unfortunately can’t re-rip. A 3D.mvc.mkv made from the ISO using MakeMKV plays ok on several players, but of course shows only the left-eye (2D) view on my KODI and Samsung TV (MVC tracks contained in MKV, as well as all mentioned subtitle tracks).

Trying to use this 3D.mvc.mkv as an input for BD3D2MK3D also fails.

Help much appreciated! Is it possible that "OFSExtractor32.exe" from the toolset doesn’t work on a 64-bit Win11? Or still has a bug?

The log is attached.

r0lZ
7th September 2022, 12:01
Well, since v1.24, the old MVCPlanes2OFS.exe has been replaced with OFSExtractor.exe, after the discussion at VideoHelp starting here (https://forum.videohelp.com/threads/395498-BD3D2MK3D-Convert-3D-BDs-or-MKV-to-3D-SBS-TAB-or-FS-MKV-Support-thread/page7#post2656577) and continued here (https://forum.videohelp.com/threads/395498-BD3D2MK3D-Convert-3D-BDs-or-MKV-to-3D-SBS-TAB-or-FS-MKV-Support-thread/page8#post2662875).

As far as I know, OFSExtractor works well under all versions of Windows, including Win 10 x64 (that I am still using), but I have not checked it in VirtualBox. Ironically, OFSExtractor has been developed because MVCPlanes2OFS did not work correctly under Linux, and its author wanted to use it independently of BD3D2MK3D under Linux. I don't know what could be the problem with VirtualBox, but IMO, it is not directly related to Windows.

Unfortunately, I don't have a suggestion right now, but I will try to re-introduce MVCPlanes2OFS, with an option to select the extractor that is best suited for your hardware. In the meantime, could you try to extract the OFS filess in VirtualBox directly from the command line ? The syntax is very simple:
OFSExtractor32.exe "video_stream.mvc" "output directory"
And let me know if it works.

[EDIT] If you prefer, you can also try v1.23, the latest version using MVCPlanes2OFS. Download it here (https://download.videohelp.com/r0lZ/BD3D2AVS/BD3D2MK3D-v1.23.7z).

Moonbase
8th September 2022, 18:30
Yup, it’d be really great to (eventually) have something that works on pure Linux, without having to use a Windows VM (and license) just for the purpose of running BD3D2MK3D… ;-)

I’ll have to redo the unmuxing (deleted all files except the logs after it failed) in order to try your suggestion. Will let you know!

EDIT: Here are the results: I opened a CMD prompt, changed into the target directory, and started OFSExtractor32.exe. After a few seconds, it returns to the prompt, without generating any kind of directory, files, or error messages:


C:\Users\Anyone\Documents\Gravity (2013)\00098>\BD3D2MK3D\toolset\OFSExtractor32.exe "00098.track_4114.mvc" "test-ofs"

C:\Users\Anyone\Documents\Gravity (2013)\00098>


It doesn’t make any difference if the target directory already exists or not (tried both). OFSExtractor32.exe also doesn’t produce any output on these commands:


\BD3D2MK3D\toolset\OFSExtractor32.exe /?
\BD3D2MK3D\toolset\OFSExtractor32.exe -h
\BD3D2MK3D\toolset\OFSExtractor32.exe --help
\BD3D2MK3D\toolset\OFSExtractor32.exe --version


In case it’s needed, here are the installed .NET Framework versions (Win11 default):


C:\>dir %WINDIR%\Microsoft.Net\Framework\v* /O:-N /B
v4.0.30319
v2.0.50727
v1.1.4322
v1.0.3705

C:\>dir %WINDIR%\Microsoft.Net\Framework64\v* /O:-N /B
v4.0.30319


According to RegEdit, it’s actually Version 4.8.04161.

r0lZ
9th September 2022, 08:21
Yup, it’d be really great to (eventually) have something that works on pure Linux, without having to use a Windows VM (and license) just for the purpose of running BD3D2MK3D… ;-)
Unfortunately, BD3D2MK3D relies on many M$-only utilities, so that's impossible. Perhaps you could try to run it under Wine HQ? Honestly, I don't know if it works.

I’ll have to redo the unmuxing (deleted all files except the logs after it failed) in order to try your suggestion. Will let you know!

EDIT: Here are the results: I opened a CMD prompt, changed into the target directory, and started OFSExtractor32.exe. After a few seconds, it returns to the prompt, without generating any kind of directory, files, or error messages:


C:\Users\Anyone\Documents\Gravity (2013)\00098>\BD3D2MK3D\toolset\OFSExtractor32.exe "00098.track_4114.mvc" "test-ofs"

C:\Users\Anyone\Documents\Gravity (2013)\00098>


It doesn’t make any difference if the target directory already exists or not (tried both). OFSExtractor32.exe also doesn’t produce any output on these commands:

\BD3D2MK3D\toolset\OFSExtractor32.exe /?
\BD3D2MK3D\toolset\OFSExtractor32.exe -h
\BD3D2MK3D\toolset\OFSExtractor32.exe --help
\BD3D2MK3D\toolset\OFSExtractor32.exe --version


Without any argument, OFSExtractor should output this:

OFSExtractor 1.1-beta2-1-g1d345fb 32bit by TheGreatMcPain (aka Sixsupersonic on doom9)
Last git commit was on Jul 23 2022 21:43:44 UTC.

Usage: OFSExtractor32.exe [-license] <input file> <output folder> [-fps # -dropframe]

-license : Print license (MIT).

<input file> : Can be a raw MVC stream, a H264+MVC combined stream (like those from MakeMKV),
or a M2TS file. (M2TS is not fully supported.)
Using '-' will read from stdin.

<output folder> : The output folder which will contain the ofs files.
If undefined the current directory will be used.

Advanced Options: Use with care!

-fps # : Must be value between 1 and 4, 6, or 7. See Table.
This will override the fps value that would normally come from the MVC stream.

FPS Conversion Table:
1 : 23.976 fps
2 : 24 fps
3 : 25 fps
4 : 29.97 fps
6 : 50 fps
7 : 59.94 fps

-dropframe : Set drop_frame_flag within the resulting OFS files.
Can only be used with FPS value 4.

And with /?, this:

fopen(): Invalid argument
Failed to open '/?'

Obviously, it doesn't work under your VM.


In case it’s needed, here are the installed .NET Framework versions
BD3D2MK3D should not need .NET at all.

Have you tried to run v1.23 ?

Moonbase
9th September 2022, 12:54
I forgot to mention: Without any params, OFSExtractor32.exe also returns nothing but silently falls back to the prompt.

I used BD3D2MK3D 1.23 before, on a Win7 VM (installed from the one 7z file you link to), as stated above. Where would I officially download v1.23? Your "homepage (https://download.videohelp.com/r0lZ/BD3D2AVS/#download)" (at VideoHelp) doesn’t give any hints, and the first post in here also shows 1.22 being the current.

Re .NET: Hm. Your homepage says:


BD3D2MK3D can "burn" (hardcode) the 3D subtitles on the video. It's useful if your 3D TV cannot display the 3D subtitles correctly. For the best result, it is recommended to burn the subtitles in BD SUP format. For this, you need to install the Microsoft .NET Framework v4. If it is not installed, the subtitles in the old VobSub (DVD IDX/SUB) format will be used, and the result will be less good.


(although I do not intend to "burn" the subtitles into the video)

N.B.: I don’t believe the VM being the cause—Win11 is rather nitpicky when installing, and it runs other Win11 software just fine. Besides, it is a legal and activated Win 11 Pro version, I actually used a real licensed Product Key for it. (VM settings: i7 CPU, 4 CPUs, 8GB RAM)

Maybe someone could try OFSExtractor32.exe on a hardware-based Win 11 Pro install to see if it gives the same symptoms?

EDIT:

[EDIT] If you prefer, you can also try v1.23, the latest version using MVCPlanes2OFS. Download it here (https://download.videohelp.com/r0lZ/BD3D2AVS/BD3D2MK3D-v1.23.7z).

177 errors when trying to unpack using 7-Zip?! (Using 7-Zip 22.01 (x64))

Moonbase
9th September 2022, 13:27
Guess I found the culprit—you might want to talk to TheGreatMcPain again:

From TheGreatMcPain’s GitLab releases page (https://gitlab.com/TheGreatMcPain/OFSExtractor/-/releases), I downloaded:


v1.0 of OFSExtractor32.exe and OFSExtractor64.exe. Both show the help text when invoked without params.
v1.1-beta2

OFSExtractor32.exe shows nothing when invoked without params! So maybe some build error?
OFSExtractor64.exe shows the help when invoked without params.



Trying to use the downloaded OFSExtractor64.exe, I get an empty "test-ofs" directory and the program seems to abort (without any error message):


C:\Users\Anyone\Documents\Gravity_(2013)\00098>\Users\Anyone\Downloads\OFSExtractor64.exe "00098.track_4114.mvc" "test-ofs"
OFSExtractor 1.1-beta2-1-g1d345fb 64bit by TheGreatMcPain (aka Sixsupersonic on doom9)
Last git commit was on Jul 23 2022 21:43:44 UTC.

Searching file for 3D-Planes.

Progress: 1%
Progress: 2%
Progress: 3%
Progress: 4%
Progress: 5%
Progress: 6%
Progress: 7%
Progress: 8%
Progress: 9%
Progress: 10%
Progress: 11%
Progress: 12%
Progress: 13%
Progress: 14%
Progress: 15%
Progress: 16%
Progress: 17%
Progress: 18%
Progress: 19%
Progress: 20%
Progress: 21%
Progress: 22%
Progress: 23%
Progress: 24%
Progress: 25%
Progress: 26%
Progress: 27%
Progress: 28%
Progress: 29%
Progress: 30%
Progress: 31%
Progress: 32%
Progress: 33%
Progress: 34%
Progress: 35%
Progress: 36%
Progress: 37%
Progress: 38%
Progress: 39%
Progress: 40%
Progress: 41%
Progress: 42%
Progress: 43%
Progress: 44%
Progress: 45%
Progress: 46%
Progress: 47%
Progress: 48%
Progress: 49%
Progress: 50%
Progress: 51%
Progress: 52%
Progress: 53%
Progress: 54%
Progress: 55%
Progress: 56%
Progress: 57%
Progress: 58%
Progress: 59%
Progress: 60%
Progress: 61%
Progress: 62%
Progress: 63%
Progress: 64%
Progress: 65%
Progress: 66%
Progress: 67%
Progress: 68%
Progress: 69%
Progress: 70%
Progress: 71%
Progress: 72%
Progress: 73%
Progress: 74%
Progress: 75%
Progress: 76%
Progress: 77%
Progress: 78%
Progress: 79%
Progress: 80%
Progress: 81%
Progress: 82%
Progress: 83%
Progress: 84%
Progress: 85%
Progress: 86%
Progress: 87%
Progress: 88%
Progress: 89%
Progress: 90%
Progress: 91%
Progress: 92%
Progress: 93%
Progress: 94%
Progress: 95%
Progress: 96%
Progress: 97%
Progress: 98%
Progress: 99%
Progress: 100%

Checking 3D-Planes for valid depth values.

3D-Plane #00
NumFrames: 130873
Minimum depth: -2
Maximum depth: 36
Average depth:
C:\Users\Anyone\Documents\Gravity_(2013)\00098>


The MVC track is shown as having 8,19 GB (8.801.036.008 Bytes). Just in case.

---

EDIT: Instead of using my ~31 GB ISO rip, you can also reproduce the error using a small sample file from the official KODI wiki (https://kodi.wiki/view/Samples#3D_Test_Clips): From the "3D Test Clips", download #2 "3D MVC ISO Sample #2 with 3D Subtitles (https://drive.google.com/file/d/0BwxFVkl63-lEM2xjQndxV3ZzaVE/view?usp=sharing&resourcekey=0-ugbr-4FiuVyADmYOK_oXoQ)", mount the downloaded ISO and try to convert it using BD3D2MK3D:

r0lZ
10th September 2022, 13:23
I forgot to mention: Without any params, OFSExtractor32.exe also returns nothing but silently falls back to the prompt.

I used BD3D2MK3D 1.23 before, on a Win7 VM (installed from the one 7z file you link to), as stated above. Where would I officially download v1.23?

I gave you the link for v1.23 here (https://forum.doom9.org/showthread.php?p=1974261#post1974261). But I suppose you have not noticed my edit.
Your "homepage (https://download.videohelp.com/r0lZ/BD3D2AVS/#download)" (at VideoHelp) doesn’t give any hints, and the first post in here also shows 1.22 being the current.
Right. I forgot to change the version number in the first post.
v1.24 has been announced here (https://forum.doom9.org/showthread.php?p=1972228#post1972228), and v1.25 in the next post.


Re .NET: Hm. Your homepage says:
(although I do not intend to "burn" the subtitles into the video)

Right again. I forgot also the Avisynth filter that displays the BD SUP stream over the video. Anyway, if you have not used that option, .NET should not be involved.


EDIT:

177 errors when trying to unpack using 7-Zip?! (Using 7-Zip 22.01 (x64))
Right again ! Sorry, I have moved in the mountains, and here, internet works very strangely ! I have uploaded it again, and this time, it should be good.

r0lZ
10th September 2022, 13:23
Guess I found the culprit
I see. V1.1 has been developed at my request, because it was impossible to use v1.0 without problem from within BD3D2MK3D. I have made some quick tests when beta2 has been released, and since it worked, I have used it in v24. I have already written an email to the author, but I have not yet received a reply. Sorry, but that will probably take some time. In the meantime, try v1.23, that should be OK now. Dl the working v1.23 here (https://download.videohelp.com/r0lZ/BD3D2AVS/BD3D2MK3D-v1.23.7z).

Moonbase
10th September 2022, 15:00
Thanks for your support! So let’s hope something evolves out of talking to the OFSExtractor programmer.

In the meantime, I’ll try 1.23 again, and will let you know the outcome. (I actually did miss the edit.)

EDIT: 11 hours later… I can report success using v1.23, converting both the KODI test file mentioned above and the full Gravity 3D BluRay (31.5 GB) with 6 audio and 15 subtitle tracks. Hooray!

r0lZ
11th September 2022, 10:43
Thanks for the confirmation.

I am still waiting for a reply by TheGreatMcPain, but in the worst case, I will release a new version with either MVCPlanes2OFS alone, or an option to select the extractor. In the meantime, keep using v1.23.

Thanks again for the bug report, and its discussion.

von Suppé
11th September 2022, 11:36
Hi r0lZ,

Reading these latest posts, possibly a similar/related case is mentioned here: https://forum.videohelp.com/threads/406892-BD3D2MK3D-child-killed-illegal-instruction

Probably OP wasn't aware of the general BD3D2MK3D support thread there. I can imagine him needing some input from its author.

r0lZ
12th September 2022, 08:50
Thanks ! I have replied at VideoHelp.

r0lZ
14th September 2022, 07:46
I have received a reply from TheGreatMcPain. He suggests to check the beta-2 32-bit from the CIO as administrator, because he suspects a permission problem. Someone can do that test ?

r0lZ
14th September 2022, 08:08
OK, here is v1.27. MVCPlanes2OFS has been reintroduced, and the problem encountered by some users is certainly fixed. I will perhaps release another version with OFSExtractor again, when the problem will be identified and fixed...

v1.27 (September 13, 2022)
- Re-introduced MVCPlanes2OFS instead of OFSExtractor because it creahes under some Windows versions or implementations.
- Added Help -> Download free 3D ISO for testing, to open the Kodi Wiki page where you can download up to 13 3D samples ready to encode.
- Removed Help -> Check for Update, because the current http package doesn't support https, now required by VideoHelp.

Download the latest version here (https://download.videohelp.com/r0lZ/BD3D2AVS/#download).

Sixsupersonic
14th September 2022, 09:16
Hi Moonbase,

I was unable to reproduce the issue on my WIndows 10 VM (QEMU), but I'll try to setup a Windows 11 VM on VirtualBox at somepoint.
Since my desktop is running AMD Ryzen I suspect there might be a CPU issue, so I'll also test on my laptop which is an Intel Ivybridge i3.

I̶n̶ ̶t̶h̶e̶ ̶m̶e̶a̶n̶t̶i̶m̶e̶ ̶I̶'̶d̶ ̶l̶i̶k̶e̶ ̶f̶o̶r̶ ̶y̶o̶u̶ ̶t̶o̶ ̶t̶r̶y̶ ̶t̶h̶e̶s̶e̶ ̶v̶e̶r̶s̶i̶o̶n̶s̶.̶

V̶e̶r̶s̶i̶o̶n̶ ̶1̶.̶0̶ ̶(̶Y̶o̶u̶'̶v̶e̶ ̶s̶a̶i̶d̶ ̶t̶h̶a̶t̶ ̶i̶t̶ ̶d̶i̶s̶p̶l̶a̶y̶s̶ ̶t̶h̶e̶ ̶h̶e̶l̶p̶ ̶m̶e̶e̶s̶a̶g̶e̶,̶ ̶b̶u̶t̶ ̶I̶'̶d̶ ̶l̶i̶k̶e̶ ̶t̶o̶ ̶k̶n̶o̶w̶ ̶i̶t̶ ̶i̶f̶ ̶f̶u̶l̶l̶y̶ ̶w̶o̶r̶k̶s̶ ̶o̶n̶ ̶y̶o̶u̶r̶ ̶s̶e̶t̶u̶p̶.̶)̶ (https://gitlab.com/TheGreatMcPain/OFSExtractor/uploads/e7ec3786f037074a7637c2cae5a76aa0/OFSExtractor32.exe)

V̶e̶r̶s̶i̶o̶n̶ ̶1̶.̶1̶-̶b̶e̶t̶a̶2̶-̶1̶-̶g̶1̶d̶3̶4̶5̶f̶b̶ ̶(̶R̶e̶c̶o̶m̶p̶i̶l̶e̶d̶ ̶u̶s̶i̶n̶g̶ ̶a̶ ̶s̶l̶i̶g̶h̶t̶l̶y̶ ̶n̶e̶w̶e̶r̶ ̶t̶o̶o̶l̶c̶h̶a̶i̶n̶)̶ (https://drive.google.com/file/d/1yw7NnNKgJnPWRalaOyaFeDjqpnxTbjlI/view?usp=sharing)

a̶n̶d̶

V̶e̶r̶s̶i̶o̶n̶ ̶1̶.̶1̶-̶b̶e̶t̶a̶2̶-̶1̶-̶g̶1̶d̶3̶4̶5̶f̶b̶ ̶(̶S̶a̶m̶e̶ ̶a̶s̶ ̶a̶b̶o̶v̶e̶,̶ ̶b̶u̶t̶ ̶w̶i̶t̶h̶ ̶L̶i̶n̶k̶ ̶T̶i̶m̶e̶ ̶O̶p̶t̶i̶m̶i̶z̶a̶t̶i̶o̶n̶s̶ ̶d̶i̶s̶a̶b̶l̶e̶d̶)̶ (https://drive.google.com/file/d/1_45Za9FmPCIb3TPPLstpPymJXFnLfj4q/view?usp=sharing)

EDIT: I was able to reproduce the issue with both of the above 1.1-beta2-1-g1d345fb binaries on my laptop, so this is most likely a compiler issue. (which is really strange since GCC shouldn't be doing any CPU specific optimizations unless it's told to.)

EDIT2: I'll try my best to explain what happened, but it turns out the Mingw64 toolchain I use to create WIndows binaries on my Gentoo Linux machine was compiled with AMD Ryzen specific optimizations (via the '-march=native' compiler flag). So, even if GCC wasn't doing any CPU optimizations, the Mingw64 runtime, which was compiled with CPU specific optimizations, made the binaries incompatible with some Intel systems.

I'll upload some fixed binaries to my Gitlab shortly.

EDIT3: The fixed binaries are now up. (https://gitlab.com/TheGreatMcPain/OFSExtractor/-/releases/1.1)

r0lZ
15th September 2022, 12:39
EDIT3: The fixed binaries are now up. (https://gitlab.com/TheGreatMcPain/OFSExtractor/-/releases/1.1)
Great. Thanks.
And a new release of BD3D2MK3D should be issued shortly, but I prefer to wait a few moments to have confirmation that it works...

Moonbase
16th September 2022, 15:11
@r0lZ: Thanks for the new version, I’ll test shortly!

EDIT: Tested v1.27 with above-mentioned setup (Win11 VM on Linux Mint 21, i7 CPU), using both the same Gravity 3D ISO and the MakeMKV-generated 3d.mvc.mkv file. Worked without a glitch.

@Sixsupersonic: Thanks for investigating and nailing down the problem. I’m currently a little short of time, but I gave OFSExtractor 1.1-beta2 a quick spin on the above-said Win11 VM (using another movie, though). Seems to run fine now, and rather fast:


>C:\Users\Anyone\Downloads\OFSExtractor32.exe 00800.track_4114.mvc "test-ofs"
OFSExtractor 1.1-beta2 32bit by TheGreatMcPain (aka Sixsupersonic on doom9)
Last git commit was on .

Searching file for 3D-Planes.

Progress: 1%
Progress: 2%
Progress: 3%
Progress: 4%
Progress: 5%
Progress: 6%
Progress: 7%
Progress: 8%
Progress: 9%
Progress: 10%
Progress: 11%
Progress: 12%
Progress: 13%
Progress: 14%
Progress: 15%
Progress: 16%
Progress: 17%
Progress: 18%
Progress: 19%
Progress: 20%
Progress: 21%
Progress: 22%
Progress: 23%
Progress: 24%
Progress: 25%
Progress: 26%
Progress: 27%
Progress: 28%
Progress: 29%
Progress: 30%
Progress: 31%
Progress: 32%
Progress: 33%
Progress: 34%
Progress: 35%
Progress: 36%
Progress: 37%
Progress: 38%
Progress: 39%
Progress: 40%
Progress: 41%
Progress: 42%
Progress: 43%
Progress: 44%
Progress: 45%
Progress: 46%
Progress: 47%
Progress: 48%
Progress: 49%
Progress: 50%
Progress: 51%
Progress: 52%
Progress: 53%
Progress: 54%
Progress: 55%
Progress: 56%
Progress: 57%
Progress: 58%
Progress: 59%
Progress: 60%
Progress: 61%
Progress: 62%
Progress: 63%
Progress: 64%
Progress: 65%
Progress: 66%
Progress: 67%
Progress: 68%
Progress: 69%
Progress: 70%
Progress: 71%
Progress: 72%
Progress: 73%
Progress: 74%
Progress: 75%
Progress: 76%
Progress: 77%
Progress: 78%
Progress: 79%
Progress: 80%
Progress: 81%
Progress: 82%
Progress: 83%
Progress: 84%
Progress: 85%
Progress: 86%
Progress: 87%
Progress: 88%
Progress: 89%
Progress: 90%
Progress: 91%
Progress: 92%
Progress: 93%
Progress: 94%
Progress: 95%
Progress: 96%
Progress: 97%
Progress: 98%
Progress: 99%
Progress: 100%

Checking 3D-Planes for valid depth values.

3D-Plane #00
NumFrames: 232608
Minimum depth: -1
Maximum depth: 26
Average depth: 5.71
Number of changes of depth value: 1062
First frame with a defined depth: 953
Last frame with a defined depth: 232607
Number of frames with undefined depth: 953
Identical Planes: None

3D-Plane #01
NumFrames: 232608
Minimum depth: -1
Maximum depth: 26
Average depth: 6.00
Number of changes of depth value: 1007
First frame with a defined depth: 0
Last frame with a defined depth: 232607
Number of frames with undefined depth: 0
Identical Planes: None

3D-Plane #02
NumFrames: 232608
Minimum depth: -1
Maximum depth: 26
Average depth: 5.69
Number of changes of depth value: 1045
First frame with a defined depth: 0
Last frame with a defined depth: 232607
Number of frames with undefined depth: 0
Identical Planes: None

3D-Plane #03
NumFrames: 232608
Minimum depth: -1
Maximum depth: 27
Average depth: 5.74
Number of changes of depth value: 1060
First frame with a defined depth: 953
Last frame with a defined depth: 232607
Number of frames with undefined depth: 953
Identical Planes: None

3D-Plane #04
NumFrames: 232608
Minimum depth: -1
Maximum depth: 26
Average depth: 5.72
Number of changes of depth value: 1058
First frame with a defined depth: 0
Last frame with a defined depth: 232607
Number of frames with undefined depth: 34
Identical Planes: None

3D-Plane #05
NumFrames: 232608
Minimum depth: -1
Maximum depth: 26
Average depth: 5.71
Number of changes of depth value: 1061
First frame with a defined depth: 0
Last frame with a defined depth: 232607
Number of frames with undefined depth: 0
Identical Planes: None

3D-Plane #06
NumFrames: 232608
Minimum depth: -1
Maximum depth: 26
Average depth: 5.70
Number of changes of depth value: 1056
First frame with a defined depth: 0
Last frame with a defined depth: 232607
Number of frames with undefined depth: 0
Identical Planes: None

3D-Plane #07
NumFrames: 232608
Minimum depth: -1
Maximum depth: 26
Average depth: 5.72
Number of changes of depth value: 1061
First frame with a defined depth: 953
Last frame with a defined depth: 232607
Number of frames with undefined depth: 953
Identical Planes: None

3D-Plane #08
NumFrames: 232608
Minimum depth: 3
Maximum depth: 3
Average depth: 3.00
Number of changes of depth value: 1
First frame with a defined depth: 0
Last frame with a defined depth: 232607
Number of frames with undefined depth: 0
Identical Planes: None
*** Warning This 3D-Plane has a fixed depth of 3! ***

Number of 3D-Planes in MVC stream: 9
Number of 3D-Planes written: 9
Number of frames: 232608
Framerate: 23.976


>


Same for OFSExtractor64.exe 1.1-beta2. Good work!

Side note: Both don’t show the last Git commit: "Last git commit was on ."

r0lZ
17th September 2022, 12:02
Thanks for the confirmation, Moonbase. I will release a new version of BD3D2MK3D with the fixed OFSExtractor when I will have a few moments...

sfatula
21st September 2022, 01:53
Unfortunately, BD3D2MK3D relies on many M$-only utilities, so that's impossible. Perhaps you could try to run it under Wine HQ? Honestly, I don't know if it works.




I run bd3d2mk3d just fine under wine (or wine64) on ubuntu. So, it does still run. FYI

r0lZ
22nd September 2022, 09:22
Thanks for the good info, sfatula !

Moonbase
23rd September 2022, 13:21
Good info indeed @sfatula, thanks!

Would there be a "to-do list" somewhere? I.e., what version of Wine to use (repo or installed from WineHQ), if it runs on Ubuntu 22.04/Linux Mint 21, what else to install (.NET something?)?

Reason being, I haven’t used Wine for years and try to keep my Linuxes as unbloated as possible, but this sounds like a useful usage of Wine. And it’d keep me from wasting almost 200 GB on a Windows 11 VM …

Btw, does anyone here know or use the sView (https://forum.doom9.org/showthread.php?p=1974695#post1974695) player on Linux? I couldn’t make the suggested PotPlayer to work, not even in the Windows VM. But I’m rather happy with sView – a good means to quick-check stereo videos, say, on the laptop. Even plays MakeMKV-ripped BluRay MVC files.

r0lZ
24th September 2022, 08:38
Of course, you need to install AviSynth.
.NET and Java should be necessary/recommended only if you want to convert some subtitle streams to 3D.
Although not absolutely necessary, it may be also good to install a player that can play the MPLS and M2TS files from the command line. The preview is useful to locate easily what you want to convert in a BD with a lot of short 3D clips. sView may be a good solution.
The rest should run without additional requirements, but as I wrote above, I have never tried to run BD3D2MK3D under Linux/Wine, so I can't be sure.

r0lZ
25th September 2022, 16:49
OK, finally, here is v1.28. Now, OFSExtractor (fixed) and MVCPlanes2OFS are available. Since OFSExtractor should now run without problem under all versions of Windows (and probably Linux/Wine), it is now the default, but if you experience some problems, you can easily revert to MVCPlanes2OFS with the menu Settings -> Extract 3D-Planes (OFS Files) from MVC with...
So, I should not need to release another version just for an additional incompatibility ! ;-)

I have also updated the 3rd-party exes.

v1.28 (September 25, 2022)
- Re-introduced OFSExtractor (fixed version v1.1-beta2) together with MVCPlanes2OFS. OFSExtractor is the default, but this can be changed in the Settings menu.
- Updated x264 to the latest version (v0.164.3098)
- Updated x265 to the latest version (v3.5+39)
- Updated the mkvtoolnix tools to the latest version (v70.0.0 'Caught A Lite Sneeze')

As usual, you can download the latest version here (https://download.videohelp.com/r0lZ/BD3D2AVS/BD3D2MK3D.7z).

Moonbase
30th September 2022, 01:29
Just FYI: Converted a few more BR rips (MakeMKV MVC files) in my Win11 VM (described above), using both v1.27 and v1.28. Both versions work fine for my use case (FireTV 4k stick on Samsung 3D TV, using KODI 19.4). I usually convert to HTAB, crf=18, preset=slow, tune=film, BD compat, 8 bit, 3D subs only, taking all audio, subtitle and chapter streams.

One thing I wonder about, though: I tend to remux the original MakeMKV rip using MKVToolNix (keeping the "3d-plane" tags, if any), describe the audio & subtitles with a name, and set the "forced" and "commentary" flags on the appropriate tracks.

Now BD3D2MK3D sometimes detects the "forced" subs correctly and marks them correctly in the stream selection, sometimes it does not. How come?

Moonbase
30th September 2022, 10:27
Looks like I need your help again: Just tried to rip my "Cargo 3D" (2009) Blu-Ray with subtitles, and MakeMKV doesn’t show (or save) any 3D-Plane info.

How can I easily determine on which plane they should go? And possibly store that info in my original MKV file for later conversions?

It would be helpful if this could be done without Windows tools (I’m on Linux), except maybe those you deliver with your software.

Taking a quick peek using sView, they don’t even look much like 3D, but they display okay, and I’d very much like to have them converted to HTAB, like the movie…

Screenshots in attachments.

von Suppé
1st October 2022, 06:11
Maybe a flawly authored disc. Try importing the 3D disc into BD3D2MK3D. Maybe it will be able to show the proper 3D-Planes. But I think that no 3D-planes are assigned to the subtitles in this case. I've seen it on poorly authored blurays.
In which case you can extract the 3D-planes from the mvc stream and see which is the most compatible with BD3D2MK3D's "Verify 3D-planes compatibility" tool. No guarantees though, there's a lot of bad 3D discs out there.

Moonbase
1st October 2022, 13:11
In which case you can extract the 3D-planes from the mvc stream and see which is the most compatible with BD3D2MK3D's "Verify 3D-planes compatibility" tool.

How would I do that? Process the file using "plane 0" until just before it starts encoding? And then do what? (Sorry for the noob question, I don’t know too much about all this video black magic… What a hassle just to convert one’s own, paid-for, Blu-Ray main titles into a KODI-playable 3D-format. Sigh.)

r0lZ
2nd October 2022, 11:03
Now BD3D2MK3D sometimes detects the "forced" subs correctly and marks them correctly in the stream selection, sometimes it does not. How come?AFAIK, there is no "forced" flag in a 3DBD. BD3D2MK3D has been made to process only 3DBD. The possibility to process also MakeMKV files has been added later, but without full support for all features present in MKV files. (BTW, retrieving the forced and default flags from the MKV to automatically tick the corresponding options in tab 2 is on my todo list, but I don't think I'll implement that soon. Sorry.)

MakeMKV doesn’t show (or save) any 3D-Plane info.
As von Suppé wrote, when the 3D-Plane info is missing, it's usually because there are no 3D-Planes in the badly authored 3DBD. It's very often the case with Asian or Russian BDs. There is nothing MakeMKV or BD3D2MK3D can do.

How can I easily determine on which plane they should go? And possibly store that info in my original MKV file for later conversions?
Again, von Suppé is right. If there are really correctly made 3D-Planes in the MVC stream and only the assignments of the subtitle streams to the correct 3D-Planes are missing, you can try to do the job manually.
How would I do that? Process the file using "plane 0" until just before it starts encoding? And then do what
Basically, yes. Just let BD3D2MK3D do its work. When it's finished, have a look at the 3D-Planes.log. You should see something similar to this:

[...]
Plane #00 :
Minimum depth : 5
Maximum depth : 5
Average depth : 5
First frame with a defined depth : 0
Last frame with a defined depth : 141767
Number of frames with undefined depth : 0
Identical planes : None
Warning: This plane has a fixed depth of 5

Plane #01 :
Minimum depth : 0
Maximum depth : 5
Average depth : 5
First frame with a defined depth : 0
Last frame with a defined depth : 87064
Number of frames with undefined depth : 54703
Identical planes : None

Empty 3D-Plane #02 removed
Empty 3D-Plane #03 removed
[...]

This is a good example of really bad 3D-Planes. As you can see, all values of plane 0 are identical. Therefore, it's a "flat 3D-Plane", with just a fixed depth that will detach all subtitles from the surface of the screen. Not very interesting, but better than absolutely nothing.

Plane 1 is not better, as obviously it has also a fixed depth of 5, but also a large number of undefined values (that, when they correspond to a specific subtitle, BD3D2KM3D will consider as being 0, "on the surface of the screen").

Obviously, with so bad 3D-Planes, you cannot expect a good 3D placement of your subtitles. Note also that many bad BDs have no 3D-Planes at all !

But you can also be more lucky, and have at least one 3D-Plane with meaningful values. In that case, it is usually correctly assigned to the subtitle stream, but not always (especially with many "remux" ISO found on the internet).

When there are several correct 3D-Planes, you can use Subtitle Tools -> Verify 3D-planes compatibility. It's a simple tool that will verify if there are depth values in the 3D-plane for all subtitles of the subtitle stream, and display some statistics. You can therefore try to determine what 3D-Plane is best suited for your stream. But it's not magic. The tool is unable to verify if a specific subtitle depth is OK to display it correctly in 3D. It just verifies if there IS a depth, not its quality !

Anyway, if you have found a theoretically good 3D-Plane for your stream, you can now convert the stream using that 3D-Plane with Subtitle Tools -> Convert Subtitles to 3D. Note that you can also specify an additional depth (added to the depth from the 3D-Plane) to fine-tune the result. I recommend to rename the original 3D PGS converted by BD3D2MK3D (with the extension .3D.sup) and save the new one under its original filename. That way, your new subtitle will be used instead of the original one. (But if you prefer, you can also edit the __MUX_3D_OPTIONS.json file to specify the new file name.) Then, launch the encoding normally.

Note also that if you don't want to hardcode the subtitle to the video, it is not necessary to re-encode the whole MKV to try another 3D-Plane.
You can simply re-generate the 3D subtitle stream with another 3D-Plane and/or additional depth, and remux the final MKV by double-clicking __MUX_3D.cmd. That way, you can quickly do several tests if you are not happy with the first try.

Anyway, don't expect miracles. When a BD is badly authored, it is usually difficult, if not impossible, to obtain a 3D MKV with perfect 3D subtitles.

Moonbase
2nd October 2022, 12:30
BTW, retrieving the forced and default flags from the MKV to automatically tick the corresponding options in tab 2 is on my todo list, but I don't think I'll implement that soon. Sorry.
Great news! I was somehow assuming you already did that, but maybe it was on an ISO rip I saw it, after all. Will wait patiently for this feature to arrive—it’d be a great timesaver if you’re going to convert all your 3D MVC MKV rips to HTAB for a "dumb" player like the FireTV 4K stick. Like I currently do.


[…]when the 3D-Plane info is missing, it's usually because there are no 3D-Planes in the badly authored 3DBD. It's very often the case with Asian or Russian BDs.[…]
Seems the Swiss aren’t much better, sometimes. The MKV MVC rip I used was made by myself, from the original "Cargo 3D" Blu-Ray I own: R2, by Atlantis Films/Elite Film AG, EAN 7613059301108 (just in case someone has it).

[…]All the rest[…]
Love the possibility of remuxing without reencoding the whole movie!

I’ll go and try your suggestions—thanks for taking the time and writing this detailed explanation! Much appreciated. And thanks @von Suppé, too.

Moonbase
2nd October 2022, 12:46
Turns out all 3D planes are empty. Can I still expect BD3D2MK3D to render the subtitles for HTAB correctly, be it even at depth 0 (screen surface)? (Better "plain" subtitles than none, I should think…)

Log file:

Extracting 3D-planes from MVC file with BD3D2MK3D v1.28 (c) r0lZ and OFSExtractor 1.1-beta2 32bit by TheGreatMcPain (aka Sixsupersonic on doom9)
Input MVC file: "MKV3D.track_1.mvc"
Output folder: "."
Command: "C:\BD3D2MK3D-v1.28\toolset\OFSExtractor32.exe" "MKV3D.track_1.mvc" "."

OFSExtractor 1.1-beta2 32bit by TheGreatMcPain (aka Sixsupersonic on doom9)
Last git commit was on .

Searching file for 3D-Planes.


Checking 3D-Planes for valid depth values.

3D-Plane #00 is empty.

3D-Plane #01 is empty.

3D-Plane #02 is empty.

3D-Plane #03 is empty.

3D-Plane #04 is empty.

3D-Plane #05 is empty.

3D-Plane #06 is empty.

3D-Plane #07 is empty.

3D-Plane #08 is empty.

3D-Plane #09 is empty.

3D-Plane #10 is empty.

3D-Plane #11 is empty.

3D-Plane #12 is empty.

3D-Plane #13 is empty.

3D-Plane #14 is empty.

3D-Plane #15 is empty.

3D-Plane #16 is empty.

3D-Plane #17 is empty.

3D-Plane #18 is empty.

3D-Plane #19 is empty.

3D-Plane #20 is empty.

3D-Plane #21 is empty.

3D-Plane #22 is empty.

3D-Plane #23 is empty.

3D-Plane #24 is empty.

3D-Plane #25 is empty.

3D-Plane #26 is empty.

3D-Plane #27 is empty.

3D-Plane #28 is empty.

3D-Plane #29 is empty.

3D-Plane #30 is empty.

3D-Plane #31 is empty.

Number of 3D-Planes in MVC stream: 32
Number of 3D-Planes written: 0
Number of frames: 160826
Framerate: 23.976


Extraction took 59 seconds (00:00:59)
Extracted 0 3D-planes with 160826 frames @ 23.976 fps.

Please note that the 3D depth values stored in the 3D-planes must be applied to the two views.
The total displacement between the two subtitles is therefore two times the depth value.
For that reason, BD3D2MK3D uses internally depths value multiplied by 2.
This allows the user to specify manually more precide odd values for the total displacement of the two subtitles.
The values stored in the <depth> tags of the temp 2D XML files are also multiplied by 2, for the same reason.

Source subtitle streams information:
- Eng PGS, 3D-plane: ? (3D-Plane manually assigned: 0)
- Fre PGS, 3D-plane: ? (3D-Plane manually assigned: 0)
- Spa PGS, 3D-plane: ? (3D-Plane manually assigned: 0)

von Suppé
2nd October 2022, 16:02
Yes, I think so. But as r0lZ said, you can adjust the depth when BD3D2MK3D creates the 3D subtitles. At the options tab, you can specify an "Additional 3D subtitle depth". By setting a positive or negative value you can chose to make them appear closer or further. For me, it was a bit of try & play around with some values to see which would give a goodlooking result.

I once had a bad 3D disc with empty planes that I didn't want to recode. Fortunately, this video had a large enough black bar at the bottom. So I created a SUP stream that was positioned in this bar. It wasn't ideal, but better than subtitles interfering with video objects.

r0lZ
3rd October 2022, 13:43
Yes, once again, von Suppé is right. If the option to create 3D subs is enabled in tab 2, you will get 3D subs, even if they are flat.

And yes, playing with the additional depth may be tricky, as it is very difficult to evaluate visually the best depth you should use.

BTW, when the 3D-subs are converted to XML/PNG, the depth (from 3D-plane + additional depth) is specified in the XML for each individual subtitle. You can if you wish edit the XML to change the depth of any individual subtitle, if it appear that some of them are too badly placed. You can then re-create the SUP file but be sure to use the edited XML as input. Finally, remux everything. That requires much work, but it's possible.
Love the possibility of remuxing without reencoding the whole movie!
It's why BD3D2MK3D doesn't delete the tmp project folder when the encoding is finished, and why I have tried to add as many comments in the temp files as possible. A power user can modify the project as he wants (for example to add filters to the avisynth script or mux additional 2D SRT or 3D ASS subtitles...) or restart the encoding or muxing in case of problems.
I once had a bad 3D disc with empty planes that I didn't want to recode. Fortunately, this video had a large enough black bar at the bottom. So I created a SUP stream that was positioned in this bar. It wasn't ideal, but better than subtitles interfering with video objects.
It's also why there is an option to "move Cinemascope image up in 16:9 frame" in the last tab. That way, you can freely enlarge the bottom black bar to place the flat subtitles in that location, far enough from the image to avoid too unpleasant 3D conflicts. I agree that it's not the best solution, but I also prefer that than having to decipher the subtitles far inside the popping out objects. A real torture for the brain !

von Suppé
4th October 2022, 13:01
...or mux additional 2D SRT or 3D ASS subtitles...

Never too late to learn. After years of being busy with 3D, I never heard about 3D ASS subtitles being possible.
Can you tell me how I can create these, r0lZ? And I assume they are for mkv?

r0lZ
5th October 2022, 18:43
You need a SRT and a (preferably good) 3D-Plane as input. Then use Subtitle Tools -> Convert SRT to ASS 3D. Really easy. :-)

And yes, they are for MKV, but I suppose they can be muxed in any container supporting the ASS format and suitable for a player that can display ASS and two subtitles at the same time at the specified location.

von Suppé
5th October 2022, 20:18
Doh. I feel terrible... :stupid: :rolleyes:

Thanks, gonna try out

Moonbase
8th October 2022, 20:21
Just a short feedback re the "Cargo" Blu-Ray: Succeeded by using "plane 0" for all subs. As expected, they all sit on the screen surface, but surely better than no subs!

von Suppé
9th October 2022, 08:12
Nice one.
Did you try the "extra depth" option? It can be a smoothier watch when the subtitles are just a tad "in front of" the screen.

Moonbase
20th October 2022, 13:00
I’ll give that a try, too. Thanks for the suggestion. Since KODI also allows that on playout, I might check the effect first ;-)

Moonbase
20th October 2022, 13:30
@r0lZ: Just to check the limits, I decided to do a "crash test" yesterday. Took out my "Ready Player One" (2018) Blu-Ray, ripped the main title to MKV, and used that file to push BD3D2MK3D v1.28 (and the Win11 VM on my poor little Linux laptop) to the limits. (Yes, I do like to keep all audio and subtitle tracks…)

Here are the results:

Blu-Ray: Ready Player One (2018)

MKV input file size: 48.2 GB
Playing time: 2h 19 min 58s
14 Audio tracks (DTS-HD MA and DTS 5.1 separated)
32 subtitle tracks (22 full + 10 forced)
32 MVC planes used
Intermediate data: nearly 66 GB

Encoding as HTAB, CRF 18, Preset slow, tuning none, BD compatible.
Only 3D subtitles.

Start: 2022-10-19T12:44:14
Subtitles done: 2022-10-19T21:21:11
Encoding & muxing done: 2022-10-20T11:12:45

Result size: 22.2 GB


Kudos on a work well done—this monster went through without a glitch and produced a perfect result!

Some remarks and maybe suggestions:


I tend to add a little more data to the MKV before I put it through BD3D2MK3D, like more descriptive track names ("English for the visual impaired, DD 5.1", "English for the hearing impaired") and do set the appropriate "Forced", "Visual impaired" and "Hearing impaired" track flags in the MKV.
BD3D2MK3D doesn't take over the track names into the resulting MKV, but provides its own names. Would be nice to have a setting that allowed taking over already existent tracks names (thus avoiding extra header editing afterwards).
BD3D2MK3D seems to read the "Forced" flags (shows them in the first tab) but I still had to mark "All tracks are forced" in the track selection tab. These are then put into the resulting MKV.
BD3D2MK3D does not seem to take over the "Visual Impaired" and "Hearing Impaired" track flags into the result. Would be nice if it did. Thinking of it, maybe "Text description", "Original language" and "Commentary" too. Please.
I usually set a video track's language to the language the movie’s title, signs, newspapers, etc. have (Disney is most notable for having parts in different languages in the BD playlists). BD3D2MK3D resets these to "und" (undetermined) in the result. Would be nice if it kept the video track(s) language(s), like it does for audio and subtitles.


Anyway, thanks for making a toolset that really works very well!

r0lZ
21st October 2022, 10:46
Kudos on a work well done—this monster went through without a glitch and produced a perfect result!
Thanks !

I tend to add a little more data to the MKV before I put it through BD3D2MK3D, like more descriptive track names ("English for the visual impaired, DD 5.1", "English for the hearing impaired") and do set the appropriate "Forced", "Visual impaired" and "Hearing impaired" track flags in the MKV.
Normally, the track name is not necessary, as the language and flags are sufficient to describe exactly the track. However, I agree that BD3D2MK3D doesn't take into account that stuff from the source MKV. It's because, originally, BD3D2MK3D has been written to process only a 3DBD or an ISO, not an AVC/MVC MKV. I've added that possibility because it's a popular way to decrypt the original BD, but I have not implemented the MakeMKV specific tags, unless they have an equivalent in the MPLS of the BD.
BD3D2MK3D doesn't take over the track names into the resulting MKV, but provides its own names. Would be nice to have a setting that allowed taking over already existent tracks names (thus avoiding extra header editing afterwards).I will examine if it's easily feasible. But I have a couple of bugs to fix first.
BD3D2MK3D seems to read the "Forced" flags (shows them in the first tab) but I still had to mark "All tracks are forced" in the track selection tab. These are then put into the resulting MKV.Again, it's due to a limitation of the MPLS information. Unfortunately, the forced flag is not present in the BD (and, most of the times, in the source MKV), so BD3D2MK3D tries to guess if there are entirely forced subtitle streams (different from the normal streams with some individual subtitles tagged as forced). It's not easy, at least before the demux operation, and BD3D2MK3D may be wrong. It's why there is an option to change the detected mode. Again, that may be easier for source MKV, already tagged correctly by the user of MakeMKV. Again, I will try to do it (without guarantee).
BD3D2MK3D does not seem to take over the "Visual Impaired" and "Hearing Impaired" track flags into the result. Would be nice if it did. Thinking of it, maybe "Text description", "Original language" and "Commentary" too. Please.Again, it's specific to input MKV. That tags do not exist in a MPLS.
I usually set a video track's language to the language the movie’s title, signs, newspapers, etc. have (Disney is most notable for having parts in different languages in the BD playlists). BD3D2MK3D resets these to "und" (undetermined) in the result. Would be nice if it kept the video track(s) language(s), like it does for audio and subtitles.Again, the video tracks do not have an associated language code in the original BD, hence the UND tag. But if you use the option to hardcode a subtitle stream on the video, then the video stream inherits the language of the subtitle track. That's all I can do with a source BD or an untagged source MKV.

In summary, your suggestions are applicable only to the source MKV, if the user has already correctly tagged all streams within MakeMKV. And honestly, I think that only a few users do that. Why do you need to correctly tag a MKV that will only be used once, as input for BD3D2MK3D ? However, I agree that modifying manually the __MUX_3D_OPTIONS.xml file, although possible, is not necessarily easy. But the correct way to improve BD3D2MK3D would be to let the user tag the streams WITHIN BD3D2MK3D, rather than in MakeMKV. And modifying completely the GUI to allow that is not simple, and will require a larger window. Perhaps I could add a little dialog, popping when the user double clicks a track in tab 2, to input the additional info (perhaps pre-filled with the info already present in the source MKV) ?

Anyway, thanks for the suggestions. I'll try to implement some/all of them it if I have some free time, but currently, BD3D2MK3D is not my priority.

Moonbase
31st October 2022, 13:02
Sure, that of course depends on one’s personal workflow.

I, for example, completely discard the step making of intermediate ISOs and rip my Blu-Rays directly to MKV using MakeMKV. Using the AVC/MVC MKV as an "archive base", I possibly include additional video/audio/subtitle tracks and try to flag them all correctly, i.e. default, forced, hearing impaired, visual impaired, commentary etc., plus a descriptive name like "English audio commentary by Alfred E. Newman (director)", even for, say, audio tracks—to better distinguish versions on dumb players, like "English TrueHD Atmos 9.1", "German DTS-HD MA 7.1" or "French DD+ Stereo". Most players seem to be able to at least show the track name, they might not show all flags and channel configuration. (Would make no sense playing TrueHD Atmos on a 5.1 set, or DTS-HD Master Audio 7.1 on a simple stereo set.)

Thus, I’m grateful that you already support MKV as input. Everything else mentioned is just a bonus that would make things a little easier (i.e., not having to copy over track names from the original "archive" MKV).

I also love the little extras like the "left-eye-first"-approach or the "default-tracks-first" rearranging. Dumb 3D TVs (like my Samsung) don’t care much about the stereoscopy flag in MKV, they’ll use whatever flags the stream has set, or simply "left-eye-first". Also, players like KODI cannot in all cases flip the eyes correctly, or even play AVC/MVC MKVs in 3D. This is the main reason I use BD3D2MK3D—I keep the ".3d.mvc.mkv" for archiving (and the Vero 4K+) and generate ".3d.htab.mkv" for my FireTV 4K/Samsung TV combo.

r0lZ
1st November 2022, 09:47
I understand, but most users simply keep their original BD in a safe place as the "backup" and store the SBS or TAB on hard disc for the reasons you describe, or simply, like me, to have all 3D movies at their disposal in one easy place. Therefore, almost nobody (except you) take the (very long) time to convert two times their movies to MKV (once with MakeMKV to decrypt it, and once with Mkvtoolnix just to tag it). I may add a way to tag the streams directly with the BD3D2MK3D GUI, but honestly, I don't think I will take the time to add the code to retrieve the tags from the source MKV, since normally that tags do not exist. Now, of course, if the authors of MakeMKV add a way to correctly tag the streams in their program, I will probably be tempted to retrieve them automatically, because many users may be concerned, but I don't think that MakeMKV will still evolve greatly. Therefore, doing it just for you is too much work for me.

Anyway, currently, I need much time for other projects, so don't expect new features in BD3D2MK3D soon. Sorry.

Moonbase
19th November 2022, 10:47
r0lZ, please don't get the impression that I want to force you to do "special programming" for me. In the contrary, I’m really happy that you brought together the tools-of-the-trade in such an easy-to-use and usable package! I’ll be happy to wait for whatever might come—or not, and do some lightweight tagging manually.

It’s actually mainly laziness (and missing storage space in the living room) that brought me to this workflow. Hard disk space is cheap, and being able to browse one’s collection through KODI from the couch is just so much more convenient than having to go to the shelves, taking a few out, deciding which to watch, and put them into a physical player. So my many old DVDs and newer "sacred" original Blu-Rays tend to mutate into "the backup" nowadays. Probably the same with most of us here.

As for 3D—and I just love 3D—BD3D2MK3D is a great and convenient tool to convert movies (to HTAB, mainly, in my case) for dumb players (most KODI players, unfortunately) that can’t handle AVC+MVC video.

So thanks again for your work (and that of all involved)!

r0lZ
20th November 2022, 11:44
r0lZ, please don't get the impression that I want to force you to do "special programming" for me.
Sorry, that was not my intention. I just pointed out that doing a (relatively) hard work for the usage of only a few persons is currently not possible for me. I live now in the mountains, under the sun, and I don't want any more to spend much time in front of my computer. It's why BD3D2MK3D will probably not evolve much more, although I still develop it somewhat, mainly to fix bugs.

Anyway, thanks for the clarification.

Moonbase
26th November 2022, 11:29
I live now in the mountains, under the sun, and I don't want any more to spend much time in front of my computer.

Sometimes we forget how wonderful the real life can be—enjoy!

r0lZ
28th November 2022, 11:32
As promised, here is (finally) v1.29 final.
It fixes several relatively important bugs, and should therefore be installed.
Thanks to every peoples who helped me to locate and fix the bugs.

v1.29 (November 28, 2022)
- It is now possible to convert a MKV created with MakeMKV (https://www.videohelp.com/software/MakeMKV) containing a 3D movie in the non-standard 720p resolution.
- bug fix: The frame rate of any input MKV (in MakeMKV mode) was always 23.976fps.
- bug fix: In MakeMKV mode, the TrueHD tracks were always demuxed (with eac3to (https://www.videohelp.com/software/eac3to)) even if they were not selected by the user.
- bug fix: The 2 streams for hardcoded subtitles in Full-SBS/TAB mode were not generated.
- workaround: Wrong tracks order for AVC+MVC 3D MKV created or remuxed with another tool than MakeMKV
- workaround: Demux crash when an audio or subtitle stream doesn't have a language code in the MPLS
- Added BDSup2Sub (https://www.videohelp.com/software/BDSup2Sub)++ v1.0.4 64-bit beta, as it has less bugs than BDSup2Sub++ v1.0.3 (that will still be used on 32-bit systems)
- Updated x264 to the latest version (v0.164.3101)
- Updated x265 to the latest version (v3.5+68)
- Updated mkvtoolnix (https://www.videohelp.com/software/MKVToolNix) to the latest version (v72.0.0 'Minuano (Six-eight)')

As usual, download the latest version here: BD3D2MK3D.7z (https://download.videohelp.com/r0lZ/BD3D2AVS/BD3D2MK3D.7z)

von Suppé
28th November 2022, 12:30
Thanks for your continuous work, r0lZ.

Moonbase
12th December 2022, 18:41
Windows 11: Couldnt be downloaded - Virus detected (Trojan:Script/Wacatac.B!ml). Hmm.

r0lZ
13th December 2022, 12:14
I have received the same warning from a Win11 user who uses Windows Defender, a few days ago. I did some investigation, and here are my two replies to his mail.

Hi.

Thanks for the information. Much appreciated.

However, I have scanned my whole development directory (containing the distributed 7Z archive) with Kaspersky, DrWeb, Emsisoft and Windows Defender, and none of them detected a virus. I must conclude that your Win Defender did a false positive (perhaps because it has used an outdated virus signature database) or that the file has been infected on your computer (and that may mean that there is a virus elsewhere). Anyway, you are alone with that problem, and I'm sure other users would have reported the problem if it was really present. I recommend therefore to scan your entire system with an up to date Win Defender or another antivirus. You may also want to download the 7Z archive again.

However, 6 antivirus programs flag the 7Z archive as infected, as you can see at VirusTotal (https://www.virustotal.com/gui/file/aa7f080890f05f33056a4093fdfe2fe9519ea748d648c54e3990342b157f2bb2/detection/f-aa7f080890f05f33056a4093fdfe2fe9519ea748d648c54e3990342b157f2bb2-1669634533). It's very strange, as they do not find any virus when the content of the archive is extracted and scanned. And BD3D2MK3D.exe itself is virus free. I will investigate that problem further, because maybe an external tool is infected, but IMO, the detections are just false positives. I'll keep you informed.

Thanks again !


OK, I think I understand.

At VirusTotal, the RELATIONS tab (https://www.virustotal.com/gui/file/aa7f080890f05f33056a4093fdfe2fe9519ea748d648c54e3990342b157f2bb2/relations) is interesting. It contains the details of what has triggered what. 4 files trigger only one detection and can be considered safe. But there are two files that trigger more detections: HideWindow.exe (7 detections) (https://www.virustotal.com/gui/file/272aea53f0cbae371a4df385a0ee478f9a678cadc1abfb7043d3d396e1fbe08a) and ShutdownGUI.exe (5 detections) (https://www.virustotal.com/gui/file/3ddb06caaad1be93b80fe4c08c2be0a7d11c891598d4235ecab87ca80c9ed220). I am the author of these two tools, and they have been written with autohotkey, a powerful scripting language that I use often to write small tools to do simple system related actions (such as, here, respectively, hide a window or shut the system down). Unfortunately, due to the possibility to use autohotkey to create malicious exes, several antivirus programs consider ANY program based on that language as potentially dangerous. But I can guarantee that it's not the case here.

I wrote HideWindows relatively recently, because BDSup2Sub++.exe (used to convert the subtitles to 3D) opens a DOS window during its long processing. That windows is ugly and may interfere with the work of the user, therefore I have created this little tool to hide it as soon as it is opened. (You may still see a DOS window during a fraction of a second when a subtitle is converted to 3D).

ShutdownGUI, as its name implies, is used only after the end of the creation of the 3D MKV to shut the computer down (if you have enabled that option in the last tab). I would have preferred to use a Windows exe to do it, but unfortunately, Windows has never released a good Shutdown tool, and the method to do it from a program differs with all versions of the operating system. Autohotkey was the perfect solution, as it can do it for any version of Windows. Note also that ShutdownGUI has, well, a GUI ! It can be stopped if you don't want to shut the system down at the end of the process. It has no hidden action.

Obviously, considering a tool that can hide a window or shut the system down without the consent of the user as a virus or, at least, as a potentially dangerous program, is not totally absurd. But they are not viruses, and are never used for malicious reasons. Remember that the source code of BD3D2MK3D is included in the 7Z archive, and everybody can verify that there is no malicious code.

Unfortunately, I cannot easily get rig of these false positive virus detections, without impacting the ease of use of BD3D2MK3D. But I am already happy that Windows Defender does not trigger any warning any more. (VirusTotal is probably still using an older version. Is it the same thing with you ?)

So, there is no need to worry.

Thanks again for your warning,
r0lZ

Notice that HideWindow.exe has been written in 2018, and ShutdownGUI.exe in 2013, and they have been included with the BD3D2MK3D distribution since then. They have NEVER triggered any virus detection warning. Why Windows Defender detects them suddenly as viruses is a total mystery, that proves only one thing: Microsoft has never been able to write a correct antivirus program, and despite a few progress since Windows 10, Defender is still one of the worst antivirus programs. And, obviously, its false positive detections has been fixed since then, as currently, it doesn't trigger any warning.

Mote also that Windows Defender did NEVER complain here (under my Win10 OS) and is not listed among the antivirus programs having detected a virus at VirusTotal. Why ? BTW, the least we can say is that the antiviruses that have tested positive at VT are not the most reputable ones.

May I know what AV you are using ?

Moonbase
13th December 2022, 13:15
Thanks for the long explanation. Actually I also suspect false positives here.

My VirusTotal results (https://www.virustotal.com/gui/file/aa7f080890f05f33056a4093fdfe2fe9519ea748d648c54e3990342b157f2bb2/relations) are almost the same as yours above.

May I know what AV you are using ?
Since I use a Win11 VM specially dedicated to running BD3D2MK3D (pretty much standard install, 22H2), it should be Windows 11 Defender.

Apart from Win11 preventing me from downloading the 7z, and checking with VirusTotal, I also ran a quick clamscan on my Linux host system:


$ clamscan BD3D2MK3D.7z
/home/matthias/Downloads/BD3D2MK3D.7z: OK

----------- SCAN SUMMARY -----------
Known viruses: 8645684
Engine version: 0.103.6
Scanned directories: 0
Scanned files: 1
Infected files: 0
Data scanned: 0.00 MB
Data read: 60.77 MB (ratio 0.00:1)
Time: 28.108 sec (0 m 28 s)
Start Date: 2022:12:13 13:02:01
End Date: 2022:12:13 13:02:29

This didn’t show any positives.

Here’s a more in-depth scan of the unpacked archive:

$ clamscan BD3D2MK3D/***
/home/matthias/Downloads/BD3D2MK3D/BD3D2MK3D.exe: OK
/home/matthias/Downloads/BD3D2MK3D/history.txt: OK
/home/matthias/Downloads/BD3D2MK3D/src.7z: OK
/home/matthias/Downloads/BD3D2MK3D/toolset/avs2yuv.exe: OK
/home/matthias/Downloads/BD3D2MK3D/toolset/vcomp100.dll: OK
/home/matthias/Downloads/BD3D2MK3D/toolset/x265_x86.exe: OK
/home/matthias/Downloads/BD3D2MK3D/toolset/libSsrc.dll: OK
/home/matthias/Downloads/BD3D2MK3D/toolset/BDSup2Sub++x64.exe: OK
/home/matthias/Downloads/BD3D2MK3D/toolset/eac3to.exe: OK
/home/matthias/Downloads/BD3D2MK3D/toolset/mkvinfo.exe: OK
/home/matthias/Downloads/BD3D2MK3D/toolset/VSFilter.dll: OK
/home/matthias/Downloads/BD3D2MK3D/toolset/BDSup2Sub++.exe: OK
/home/matthias/Downloads/BD3D2MK3D/toolset/BlockSleep.exe: OK
/home/matthias/Downloads/BD3D2MK3D/toolset/x264_x86.exe: OK
/home/matthias/Downloads/BD3D2MK3D/toolset/BDSup2Sub3D.exe: OK
/home/matthias/Downloads/BD3D2MK3D/toolset/convert.exe: OK
/home/matthias/Downloads/BD3D2MK3D/toolset/BDSup2Sub.jar: OK
/home/matthias/Downloads/BD3D2MK3D/toolset/mkvmerge.html: OK
/home/matthias/Downloads/BD3D2MK3D/toolset/msvcr110.dll: OK
/home/matthias/Downloads/BD3D2MK3D/toolset/tsMuxeR update for 3D blu-ray - Doom9's Forum.URL: OK
/home/matthias/Downloads/BD3D2MK3D/toolset/HideWindow.exe: OK
/home/matthias/Downloads/BD3D2MK3D/toolset/x265_x64.exe: OK
/home/matthias/Downloads/BD3D2MK3D/toolset/SRTtoASS3D.tcl: OK
/home/matthias/Downloads/BD3D2MK3D/toolset/libMatrix.dll: OK
/home/matthias/Downloads/BD3D2MK3D/toolset/msvcp100.dll: OK
/home/matthias/Downloads/BD3D2MK3D/toolset/tee.exe: OK
/home/matthias/Downloads/BD3D2MK3D/toolset/libAften.dll: OK
/home/matthias/Downloads/BD3D2MK3D/toolset/msvcr100.dll: OK
/home/matthias/Downloads/BD3D2MK3D/toolset/HookSurcode.dll: OK
/home/matthias/Downloads/BD3D2MK3D/toolset/Test_Avisynth_Installation_subtitles.srt: OK
/home/matthias/Downloads/BD3D2MK3D/toolset/libdcadec.dll: OK
/home/matthias/Downloads/BD3D2MK3D/toolset/mkvextract.html: OK
/home/matthias/Downloads/BD3D2MK3D/toolset/mkvextract.exe: OK
/home/matthias/Downloads/BD3D2MK3D/toolset/mkvinfo.html: OK
/home/matthias/Downloads/BD3D2MK3D/toolset/ShutdownGUI.exe: OK
/home/matthias/Downloads/BD3D2MK3D/toolset/tsMuxeR release_notes.txt: OK
/home/matthias/Downloads/BD3D2MK3D/toolset/SupTitle info.txt: OK
/home/matthias/Downloads/BD3D2MK3D/toolset/mkvmerge.exe: OK
/home/matthias/Downloads/BD3D2MK3D/toolset/tsMuxeR.exe: OK
/home/matthias/Downloads/BD3D2MK3D/toolset/MVCPlanes2OFS.exe: OK
/home/matthias/Downloads/BD3D2MK3D/toolset/avcodec-54.dll: OK
/home/matthias/Downloads/BD3D2MK3D/toolset/Test_Avisynth_Installation.avs: OK
/home/matthias/Downloads/BD3D2MK3D/toolset/mkvtoolnix-doc.css: OK
/home/matthias/Downloads/BD3D2MK3D/toolset/AVSVersion32.exe: OK
/home/matthias/Downloads/BD3D2MK3D/toolset/libFLAC.dll: OK
/home/matthias/Downloads/BD3D2MK3D/toolset/FRIMSource_readme.pdf: OK
/home/matthias/Downloads/BD3D2MK3D/toolset/x264_x64.exe: OK
/home/matthias/Downloads/BD3D2MK3D/toolset/FRIM_release_notes.txt: OK
/home/matthias/Downloads/BD3D2MK3D/toolset/hdcd.dll: OK
/home/matthias/Downloads/BD3D2MK3D/toolset/avutil-52.dll: OK
/home/matthias/Downloads/BD3D2MK3D/toolset/Convert subtitles to 3D - Doom9's Forum.URL: OK
/home/matthias/Downloads/BD3D2MK3D/toolset/MPLSParser.tcl: OK
/home/matthias/Downloads/BD3D2MK3D/toolset/neroAacEnc.exe: OK
/home/matthias/Downloads/BD3D2MK3D/toolset/AVSVersion64.exe: OK
/home/matthias/Downloads/BD3D2MK3D/toolset/mkvpropedit.exe: OK
/home/matthias/Downloads/BD3D2MK3D/toolset/neroAac_readme.txt: OK
/home/matthias/Downloads/BD3D2MK3D/toolset/FRIMSource.dll: OK
/home/matthias/Downloads/BD3D2MK3D/toolset/MKVToolNix.url: OK
/home/matthias/Downloads/BD3D2MK3D/toolset/neroAac_license.txt: OK
/home/matthias/Downloads/BD3D2MK3D/toolset/BDSup2Sub.ico: OK
/home/matthias/Downloads/BD3D2MK3D/toolset/README.mkvmerge_and_mkvpropedit.md: OK
/home/matthias/Downloads/BD3D2MK3D/toolset/magic.xml: OK
/home/matthias/Downloads/BD3D2MK3D/toolset/SupTitle.dll: OK
/home/matthias/Downloads/BD3D2MK3D/toolset/mkvpropedit.html: OK
/home/matthias/Downloads/BD3D2MK3D/toolset/tsMuxerGUI.exe: OK
/home/matthias/Downloads/BD3D2MK3D/toolset/OFSExtractor32.exe: OK
/home/matthias/Downloads/BD3D2MK3D/toolset/colors.xml: OK
/home/matthias/Downloads/BD3D2MK3D/toolset/SupCore.dll: OK
/home/matthias/Downloads/BD3D2MK3D/toolset/libmfxsw32.dll: OK
/home/matthias/Downloads/BD3D2MK3D/toolset/r8b.dll: OK
/home/matthias/Downloads/BD3D2MK3D/toolset/avs2yuv64.exe: OK

----------- SCAN SUMMARY -----------
Known viruses: 8645684
Engine version: 0.103.6
Scanned directories: 1
Scanned files: 71
Infected files: 0
Data scanned: 218.96 MB
Data read: 183.22 MB (ratio 1.20:1)
Time: 217.392 sec (3 m 37 s)
Start Date: 2022:12:13 13:23:33
End Date: 2022:12:13 13:27:11


Since Autohotkey scripts have often been the cause of false positives in the past, I’d very much follow your argumentation that these are false positives. Will now try installing & running BD3D2MK3D again in my Win11 VM.

EDIT: Unpacked the archive on my Linux host, copied all files into my Windows 11 VM (into C:\BD3D2MK3D-v1.29) and manually checked using the same Win11 Defender that prevented the download before—all good!

r0lZ
14th December 2022, 12:44
EDIT: Unpacked the archive on my Linux host, copied all files into my Windows 11 VM (into C:\BD3D2MK3D-v1.29) and manually checked using the same Win11 Defender that prevented the download before—all good!
Why Defender did find a virus in the 7Z archive but not when the archive is unpacked (and not on my own Win10 system, within or outside the archive) ? Yet another mystery. And an evidence that Defender is definitely not a good antivirus.

r0lZ
29th December 2022, 12:00
BD3D2MK3D v1.30 released. It fixes just one bug occurring only in MakeMKV input mode, when the path of the input MKV file contains curly brackets. It seems that the { } are used by Plex for cataloguing purposes, so this bug may affect many users.


v1.30 (December 28, 2022)
- bug fix: Crash in MakeMKV mode when launching the conversion if the input MKV contains curly brackets { } in its path.

As usual, download it here: BD3D2MK3D.7z (https://download.videohelp.com/r0lZ/BD3D2AVS/BD3D2MK3D.7z)

frank
30th December 2022, 19:48
Tested the new v1.30 and the generated subtitle.3d.sup has stretched characters and cut text. Not usable.
But the png pictures and temp.3D.xml are ok.

*** Converting subtitle "temp.3D.xml" to "forced.3D.sup"...
WARNING: Converting subtitles from XML/PNG format with BDSup2Sub++ (because Java is not installed): Some subtitles can be misplaced!
I replaced the BD3D2MK3D.exe with v1.23 (that I used before) and it works again.
So the culprit is BDSup2Sub++ v1.0.4 64-bit beta

I use W10 Pro 64bit on a DELL notebook.
How can I use the old 32bit v1.0.3 32bit? Is there a workaround?

r0lZ
31st December 2022, 11:25
Thanks for the bug report. Damned ! It is difficult to have a working BDSup2Sub !

I guess you can simply remove (or, better, rename) BDSup2Sub++x64.exe, and copy BDSup2Sub++.exe as BDSup2Sub++x64.exe. BD3D2MK3D doesn't test if it's really the 64-bit version that is used.

I will try to find a better way to solve that new problem, but it's without guarantee.

Happy new year anyway !

frank
4th January 2023, 21:48
I renamed BDSup2Sub++x64.exe and copied BDSup2Sub++.exe as BDSup2Sub++x64.exe.

My forced.3D.sup works again on Win10 64 bit.
Thanks!

r0lZ
8th January 2023, 12:23
I have (finally!) verified the problem of the conversion of the XML/PNG subs to 3D, and I agree that there is a big bug, but it's not what you have described. With my test, the position and stretching of the subtitles are correct, but the image is very bad, pixelized and with strange orange and green colors. Anyway, BDSup2Sub++ is used to convert from XML/PNG to SUP only when Java is not installed, because the ++ x32 version has a placement bug (perhaps only when converting to HSBS or SBS) and, now, it appears that ++ x64 has another bug ! Therefore, IMO, the best way to avoid the bug is to install Java. However, I agree that installing Java is not at all something recommended, as Java is known to be extremely difficult to install and or uninstall, at least under Windows.

Currently, I have fixed the problem with this method: ++ x64 is used preferably to convert from SUP to XML/PNG. Of course, on an x32 system, ++ x32 is used instead. When converting back from XML/PNG to SUP, the Java version is used if Java (32 or 64-bit) is correctly installed, and ++ x32 is used elsewhere. The java version is never used for that conversion, as it has yet another bug ! The current method should be sufficient to solve most problems.

Note that I have also modified slightly the method used to determine if Java is installed, due to another problem that has just been reported here (https://forum.videohelp.com/threads/395498-BD3D2MK3D-Convert-3D-BDs-or-MKV-to-3D-SBS-TAB-or-FS-MKV-Support-thread/page12#post2677443). Previously, BD3D2MK3D considered that Java was correctly installed if the path to java.exe was defined, and if the exe file was present. Now, it tries to retrieve the version number and it assumes that the exe is correctly installed only if it succeeds.

I will release a new version in a couple of hours, with that two fixes...

r0lZ
8th January 2023, 13:29
OK, here is v1.31 with the fixes for the two bugs reported here and at VideoHelp. Thanks to frank and rotaxt for the bug reports!

v1.31 (January 8, 2023)
- Bug fix introduced with v1.30: Bad 3D subtitle conversion with BDSup2Sub++x64 when Java is not installed.
- Bug fix: Error during the conversion of the subtitles to 3D with BDSup2Sub.jar. The correct execution of java.exe is now checked, BDSub2Sub++ is used if it doesn't work well.

As usual, download it here: BD3D2MK3D.7z (https://download.videohelp.com/r0lZ/BD3D2AVS/BD3D2MK3D.7z)

frank
9th January 2023, 20:34
Thank you very much!

ecou2508
23rd February 2023, 11:33
Hello r0,

Great thanks for still updating this great software :-)

Since the latest version (1.31) i get the error below (with the 1.29, i never encounterd that one)

Can you please help ?
Thanks
Eddy, Belgium.

L:\BD3D2MK3D\Blade runner 2049 3D\00334>"C:\Users\eco\Desktop\CD-DVD\BD3D2MK3D\toolset\mkvmerge.exe" @__MUX_3D_OPTIONS.json | "C:\Users\eco\Desktop\CD-DVD\BD3D2MK3D\toolset\tee.exe" "00334_3D.mkvmerge.log"
mkvmerge v72.0.0 ('Minuano (Six-eight)') 32-bit
Error: The file '00334_3D.265' could not be opened for reading: open file error.

ecou2508
23rd February 2023, 11:42
Looks like it wants to write the .265 somewhere it hasn't permissions ?

r0lZ
23rd February 2023, 14:19
Hum, mkvmerge doesn't need to write to the .265 file, only to read it. And if BD3D2MK3D has been able to create and write it, mkvmerge should be able to read it. Honestly, I don't understand what's happening.

Have you verified if the .265 file is present in the project folder, and not empty ? Can you also try to open it with the mkvtoolnix GUI ?

Try to update the mkvtoolnix exes from the toolset folder with the latest version, although I don't think it is the culprit.

Verify also if the whole part of your project folder contains foreign or accented characters. That might also be the problem.

If nothing works, post the __MUX_3D_OPTIONS.json file here (or send it by email), and please tell me if it's the first time you experience this error, or if it happens always with the latest version. Thanks.

Remember that you can easily relaunch the mux operation simply by double-clicking __MUX_3D.cmd.

ecou2508
23rd February 2023, 15:08
Oops, sorry, yes...error while trying to read the .265

Ok, but the encoding to x265 did not occur so no .265 file

I have the folder with all the components but it did not start encodding and then switches to muxing and thus didn't find the 265 file.

Any idea ?

And no foreign caracters in the path

ecou2508
23rd February 2023, 15:14
something happens with __ENCODE_3D_MOVIE.avs that makes the encode process to exit

One of the plugin maybe ?

ecou2508
23rd February 2023, 15:16
# to convert "F:\BDMV\PLAYLIST\00334.mpls"
# (referencing the M2TS/SSIF files 00360, 00354)
# to 3D Side-by-Side.
# Hardcoded subtitles from files "00334.track_4612.Fra_forced.3D_left.sup" and "00334.track_4612.Fra_forced.3D_right.sup".
# Movie title: Blade runner 2049 3D
#
# Source MPLS information: Blu-ray 3D.
# MPLS file: 00334.mpls
# Video : Und AVC, 1080p, 23.976 fps, left-eye
# Video : Und MVC, 1080p, 23.976 fps, right-eye (32 3D-Planes)
# Audio : Eng AC3, Multi-channel, 48 Khz
# Audio : Fra AC3, Multi-channel, 48 Khz
# Subtitle: Eng PGS, 3D-plane: 1
# Subtitle: Ara PGS, 3D-plane: 2
# Subtitle: Nld PGS, 3D-plane: 3
# Subtitle: Fra PGS, 3D-plane: 4
# Subtitle: Ita PGS, 3D-plane: 5
# Subtitle: Por PGS, 3D-plane: 6

# AVC/MVC video decoder
LoadPlugin("C:\Users\eco\Desktop\CD-DVD\BD3D2MK3D\toolset\plugins64bit\FRIMSource.dll")

# Plugin to hardcode the subtitles on the video
#LoadPlugin("C:\Users\eco\Desktop\CD-DVD\BD3D2MK3D\toolset\plugins64bit\VSFilter.dll")
LoadPlugin("C:\Users\eco\Desktop\CD-DVD\BD3D2MK3D\toolset\plugins64bit\SupTitle.dll")

# Load the two video streams (235152 frames per stream)
interleaved = FRIMSource("mvc", "00334.track_4113.264", "00334.track_4114.mvc", layout = "alt", num_frames = 235152, cache = 2, platform = "")
# Current base view: left eye.
# The views are in the common order: AVC stream = left view, MVC stream = right view.
left = SelectEven(interleaved)
right = SelectOdd(interleaved)

# Hardcode subtitles
#left = VobSub(left, "00334.track_4612.Fra_forced.3D_left.sub")
#right = VobSub(right, "00334.track_4612.Fra_forced.3D_right.sub")
left = SupTitle(left, "00334.track_4612.Fra_forced.3D_left.sup")
right = SupTitle(right, "00334.track_4612.Fra_forced.3D_right.sup")

# Build Side-by-Side stream
StackHorizontal(Left, Right)
AssumeFPS("ntsc_film")

# Return the 3D clip.
Return(last)#.Info()

r0lZ
23rd February 2023, 15:42
Post the BD3D2MK3D.log file.

ecou2508
23rd February 2023, 15:45
Log file generated by BD3D2MK3D v1.31
Conversion of "F:\BDMV\PLAYLIST\00334.mpls" to Side-by-Side.
Movie title: Blade runner 2049 3D
Generating project "Blade runner 2049 3D\00334"...

*******************************************************************************

Main job started Thu Feb 23 10:41:46 CET 2023.

Saving file "00334.demux.meta"...
Saving file "chapters_2D_no_delay.ogm.txt"...
Saving file "chapters_2D_no_delay.qpfile"...
Saving file "chapters_3D_delay.ogm.txt"...
Saving file "chapters_3D.qpfile"...

-------------------------------------------------------------------------------

*** Demuxing the streams...
tsMuxeR version git-eecf6b0. github.com/justdan96/tsMuxer
Decoding H264 stream (track 1): Profile: High@4.1 Resolution: 1920:1080p Frame rate: 23.976
H.264 muxing fps is not set. Get fps from stream. Value: 23.976
Decoding H264 stream (track 2): H.264/MVC Views: 2 Profile: High@4.1 Resolution: 1920:1080p Frame rate: 23.976
MVC muxing fps is not set. Get fps from stream. Value: 23.976
Decoding AC3 stream (track 3): Bitrate: 640Kbps Sample Rate: 48KHz Channels: 5.1
Decoding PGS stream (track 4): Resolution: 1920:1080 Frame rate: 23.976
Processed 235152 video frames
Processed 235152 video frames
Flushing write buffer
Demux complete.
Demuxing time: 45 min 15 sec

Streams demuxed by tsMuxeR:
00334.track_4353.ac3 784627200 bytes
00334.track_4612.sup 19398935 bytes
Error: Can't rename "00360+___+00354.track_4113.264" to "00334.track_4113.264": error renaming "00360+___+00354.track_4113.264": no such file or directory
Error: Can't rename "00360+___+00354.track_4114.mvc" to "00334.track_4114.mvc": error renaming "00360+___+00354.track_4114.mvc": no such file or directory

-------------------------------------------------------------------------------

*** Retrieving audio delays from playlist 00334.mpls...
Stream 4352: -27 ms
Stream 4353: -7 ms

-------------------------------------------------------------------------------

*** Extracting 3D-planes from MVC stream...
Extracting 3D-planes from MVC file with BD3D2MK3D v1.31 (c) r0lZ and OFSExtractor 1.1-beta2 32bit by TheGreatMcPain (aka Sixsupersonic on doom9)
Input MVC file: "00334.track_4114.mvc"
Output folder: "."
Command: "C:\Users\eco\Desktop\CD-DVD\BD3D2MK3D\toolset\OFSExtractor32.exe" "00334.track_4114.mvc" "."

OFSExtractor 1.1-beta2 32bit by TheGreatMcPain (aka Sixsupersonic on doom9)
Last git commit was on .

Failed to open '00334.track_4114.mvc'

*** fopen(): No such file or directory
Extraction took 0 seconds (00:00:00)
Extracted 0 3D-planes with 0 frames @ 0 fps.
1 warnings!

-------------------------------------------------------------------------------

*** Converting "00334.track_4612.Fra.sup" to 2D. Please wait!
*** Converting subtitle "00334.track_4612.Fra.sup" to "00334.track_4612.Fra.2D.sup"...
> "C:\\Users\\eco\\Desktop\\CD-DVD\\BD3D2MK3D\\toolset\\BDSup2Sub++.exe" --palette-mode keep --alpha-crop 0 --minimum-time 0 --language fr --fps-source 24p --fps-target 24p -o "00334.track_4612.Fra.2D.sup" "00334.track_4612.Fra.sup"
BDSup2Sub++ 1.0.3
OPTION: Set language to French (fr)
OPTION: synchronize target framerate to 24p
OPTION: Converting framerate from 23.976fps to 23.976fps
OPTION: Set minimum display time to 0
OPTION: Set palette mode to keep
OPTION: Set alpha cropping threshold to 0
Converting SUP(BD)
Loading L:/BD3D2MK3D/Blade runner 2049 3D/00334/00334.track_4612.Fra.sup
Detected 29 forced captions.
Writing L:/BD3D2MK3D/Blade runner 2049 3D/00334\00334.track_4612.Fra.2D.sup
Conversion of 1 file(s) finished
*** Found 1092 captions, including 29 forced captions.

-------------------------------------------------------------------------------

*** Converting "00334.track_4612.Fra.sup" (forced captions only) to 3D BD SUP. Please wait!

* Warning: Subtitle track "00334.track_4612.Fra_forced.2D.sup" is associated with the 3D-plane file 3D-Plane-04.ofs, but the 3D-Plane #4 doesn't exist or is empty.
There are no other 3D-planes to use. Using constant depth of 0 (+ additional depth of 0)!
The subtitles will appear on the surface of the screen (unless you have specified a non-zero additional depth).
*** Converting subtitle file "00334.track_4612.Fra.sup" to 3D Full using 3D-plane "" + additional depth 0 (forced subtitlesd only)...
Subtitle language: fra (French)
*** Converting subtitle "00334.track_4612.Fra.sup" to "temp_2D.xml" (forced subtitles only)...
> "C:\\Users\\eco\\Desktop\\CD-DVD\\BD3D2MK3D\\toolset\\BDSup2Sub++.exe" --palette-mode keep --alpha-crop 0 --minimum-time 0 --language fr --forced-only --fps-source 24p --fps-target 24p -o "00334.track_4612.Fra_forced.3D_2D/temp_2D.xml" "00334.track_4612.Fra.sup"
BDSup2Sub++ 1.0.3
OPTION: Set language to French (fr)
OPTION: Exporting only forced subtitles.
OPTION: synchronize target framerate to 24p
OPTION: Converting framerate from 23.976fps to 23.976fps
OPTION: Set minimum display time to 0
OPTION: Set palette mode to keep
OPTION: Set alpha cropping threshold to 0
Converting XML/PNG
Loading L:/BD3D2MK3D/Blade runner 2049 3D/00334/00334.track_4612.Fra.sup
Detected 29 forced captions.
Writing L:/BD3D2MK3D/Blade runner 2049 3D/00334/00334.track_4612.Fra_forced.3D_2D\temp_2D.xml
Writing L:/BD3D2MK3D/Blade runner 2049 3D/00334/00334.track_4612.Fra_forced.3D_2D\temp_2D.xml
Conversion of 1 file(s) finished
*** Found 1092 captions, including 29 forced captions.
*** Converting "temp_2D.xml" to 3D...
Input file: temp_2D.xml
Stereoscopy mode: Full-3D (as 2 independent files)
Additional or fixed depth: 0
Number of subtitles processed: 29

*** Converted 29 forced subtitles to Full-3D. No errors. :-)
*** Trying to determine the best DVD palette for BDSup2Sub VobSub conversions from the single PNG image #9 in directory "00334.track_4612.Fra_forced.3D_2D"...
> Found colour #1/#3 in image "temp_2D_0402_0.png" (subtitle #9):
Primary (lighter) colour: 128,128,128
Secondary (darker) colour: 102,102,102
*** Modified 2 colour pairs in the default DVD palette for VobSub conversions.
Saving file "00334.track_4612.Fra.palette.ini"...
Saving file "00334.track_4612.Fra.palette++.ini"...
*** Converting subtitle "temp.3D_left.xml" to "00334.track_4612.Fra_forced.3D_left.sup"...
> "C:\\Program Files (x86)\\Common Files\\Oracle\\Java\\javapath\\java.exe" -Xmx256m -jar "C:\\Users\\eco\\Desktop\\CD-DVD\\BD3D2MK3D\\toolset\\BDSup2Sub.jar" "00334.track_4612.Fra_forced.3D_2D/temp.3D_left.xml" -o "00334.track_4612.Fra_forced.3D_left.sup" --palette-mode keep --alpha-crop 0 --minimum-time 1 --language fr --convert-fps 24p,24p
Loading L:\BD3D2MK3D\Blade runner 2049 3D\00334\00334.track_4612.Fra_forced.3D_2D\temp.3D_left.xml
Writing L:\BD3D2MK3D\Blade runner 2049 3D\00334\00334.track_4612.Fra_forced.3D_left.sup
Conversion finished.
*** Converted 29 captions.
*** Converting subtitle "temp.3D_right.xml" to "00334.track_4612.Fra_forced.3D_right.sup"...
> "C:\\Program Files (x86)\\Common Files\\Oracle\\Java\\javapath\\java.exe" -Xmx256m -jar "C:\\Users\\eco\\Desktop\\CD-DVD\\BD3D2MK3D\\toolset\\BDSup2Sub.jar" "00334.track_4612.Fra_forced.3D_2D/temp.3D_right.xml" -o "00334.track_4612.Fra_forced.3D_right.sup" --palette-mode keep --alpha-crop 0 --minimum-time 1 --language fr --convert-fps 24p,24p
Loading L:\BD3D2MK3D\Blade runner 2049 3D\00334\00334.track_4612.Fra_forced.3D_2D\temp.3D_right.xml
Writing L:\BD3D2MK3D\Blade runner 2049 3D\00334\00334.track_4612.Fra_forced.3D_right.sup
Conversion finished.
*** Converted 29 captions.
*** Done. Converted 29 forced subtitles to Full-3D. No errors. :-)
Full conversion took 10 seconds (00:00:10)

-------------------------------------------------------------------------------

*** Converting "00334.track_4612.Fra.sup" (forced captions only) to 2D. Please wait!
*** Converting subtitle "00334.track_4612.Fra.sup" to "00334.track_4612.Fra_forced.2D.sup" (forced subtitles only)...
> "C:\\Users\\eco\\Desktop\\CD-DVD\\BD3D2MK3D\\toolset\\BDSup2Sub++.exe" --palette-mode keep --alpha-crop 0 --minimum-time 0 --language fr --forced-only --fps-source 24p --fps-target 24p -o "00334.track_4612.Fra_forced.2D.sup" "00334.track_4612.Fra.sup"
BDSup2Sub++ 1.0.3
OPTION: Set language to French (fr)
OPTION: Exporting only forced subtitles.
OPTION: synchronize target framerate to 24p
OPTION: Converting framerate from 23.976fps to 23.976fps
OPTION: Set minimum display time to 0
OPTION: Set palette mode to keep
OPTION: Set alpha cropping threshold to 0
Converting SUP(BD)
Loading L:/BD3D2MK3D/Blade runner 2049 3D/00334/00334.track_4612.Fra.sup
Detected 29 forced captions.
Writing L:/BD3D2MK3D/Blade runner 2049 3D/00334\00334.track_4612.Fra_forced.2D.sup
Conversion of 1 file(s) finished
*** Found 1092 captions, including 29 forced captions.

-------------------------------------------------------------------------------

*** Generating the AviSynth script...

*** Saving "__ENCODE_3D_MOVIE.avs"...
Saving file "__ENCODE_3D_MOVIE.avs"...
*** Generating the batch files...

*** Saving "__ENCODE_3D.cmd"
x265 command:
"C:\Users\eco\Desktop\CD-DVD\BD3D2MK3D\toolset\avs2yuv64.exe" ^
"__ENCODE_3D_MOVIE.avs" -frames 235152 -o - ^
| "C:\Users\eco\Desktop\CD-DVD\BD3D2MK3D\toolset\x265_x64.exe" --output-depth 8 ^
--crf 22 --preset slow ^
--sar 1:1 --range limited --colorprim bt709 --qpfile chapters_3D.qpfile --frames 235152 --fps 24000/1001 ^
--output "00334_3D.265" --y4m -
Saving file "__ENCODE_3D.cmd"...
Saving file "__ENCODE_3D_LAUNCHER.cmd"...
*** Generating the batch files...

*** Saving "_ENCODE_2D.cmd"
x264 command:
"C:\Users\eco\Desktop\CD-DVD\BD3D2MK3D\toolset\x264_x64.exe" --output-depth 8 ^
--crf 23 --preset medium ^
--qpfile chapters_2D_no_delay.qpfile --frames 235152 --fps 24000/1001 --sar 1:1 ^
--output "00334_2D.264" "00334.track_4113.264"

*** Saving "__TAGS_3D.xml"

> x265_x64.exe --version
x265 HEVC encoder version 3.5+68-40e37bce9
build info [Windows][GCC 12.2.0][64 bit] 8bit+10bit+12bit
using cpu capabilities: MMX2 SSE2Fast LZCNT SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2


*** Saving "__MUX_3D.cmd"
Saving file "__MUX_3D.cmd"...

*** Saving "__MUX_3D_OPTIONS.json"
*** Adding attachments...
Saving file "__MUX_3D_OPTIONS.json"...

*** Saving "_TAGS_2D.xml"

> x264_x64.exe --version
x264 0.164.3101 b093bbe
(libswscale 5.9.100)
(libavformat 58.76.100)
(lsmash 2.16.1)
built on Oct 6 2022, gcc: 10-win32 20210110
x264 configuration: --chroma-format=all
libx264 configuration: --chroma-format=all
x264 license: GPL version 2 or later
libswscale/libavformat license: GPL version 2 or later


*** Saving "_MUX_2D_REENCODED.cmd"

*** Saving "_MUX_2D_REENCODED_OPTIONS.json"

*** Saving "_MUX_2D_LOSSLESS.cmd" and "_MUX_2D_LOSSLESS_OPTIONS.json"

*** Saving "__POSTPROCESS_3D.cmd" and "_POSTPROCESS_2D.cmd"
Saving file "__POSTPROCESS_3D.cmd"...
Saving file "_CUSTOM_POSTPROCESS_3D.cmd"...
Saving file "_POSTPROCESS_2D.cmd"...
*** Done. AviSynth script and batch files generated.

-------------------------------------------------------------------------------


Job finished Thu Feb 23 11:27:45 CET 2023
Whole job took 45 minutes and 59 seconds.

Done with warnings!

* Warning: Subtitle track "00334.track_4612.Fra_forced.2D.sup" is associated with the 3D-plane file 3D-Plane-04.ofs, but the 3D-Plane #4 doesn't exist or is empty.
There are no other 3D-planes to use. Using constant depth of 0 (+ additional depth of 0)!
The subtitles will appear on the surface of the screen (unless you have specified a non-zero additional depth).

ecou2508
23rd February 2023, 17:27
Also, i just tried to install on a windows server 2012 and get this message (see attachement)
Is it ok to install the 32bit toolnix as for win7 ?

Thanks
[Edit] i installed the 32b version that is proposed and overwrite those in 1.31 package. Job is running on the 2012 serveur..

The job that failed is on my desktop PC (i5-6400, w10 21H2)

ecou2508
23rd February 2023, 18:49
There is a warning in the log, i 've possibly selected the wrong pls on the 4 pls... probably the one in 2D :-)

i retry with another one....and keep posting ;-)
Eddy

ecou2508
23rd February 2023, 20:52
redone the job but with mpls 335 and get these errors in BD3D log:

Streams demuxed by tsMuxeR:
00335.track_4353.ac3 784627200 bytes
00335.track_4612.sup 19398935 bytes
Error: Can't rename "00360+___+00354.track_4113.264" to "00335.track_4113.264": error renaming "00360+___+00354.track_4113.264": no such file or directory
Error: Can't rename "00360+___+00354.track_4114.mvc" to "00335.track_4114.mvc": error renaming "00360+___+00354.track_4114.mvc": no such file or directory

ecou2508
23rd February 2023, 21:10
i just renamed these 2 files manually and restart encoding (__ENCODE_3D_LAUNCHER.cmd): ok, encoding is now running.

Job finished: Final mkv seems ok, have to test it when back to home (no 3D monitor here..)

ecou2508
24th February 2023, 11:34
Hi r0,
i just launched the same job again on another PC: same error and that same Bluray... Tried with another Bluray 3D : No problem !

Looks like this problem is specific to this Bluray...

ecou2508
24th February 2023, 11:42
Here are the details from the log of the error on that other PC:
Error: Can't rename "00362+___+00354.track_4113.264" to "00334.track_4113.264": error renaming "00362+___+00354.track_4113.264": no such file or directory
Error: Can't rename "00362+___+00354.track_4114.mvc" to "00334.track_4114.mvc": error renaming "00362+___+00354.track_4114.mvc": no such file or directory

And in attachement, the 2 files related to the problem

r0lZ
24th February 2023, 12:24
Yes, I have just seen the error messages. The problem is related to the filenames tsMuxeR uses for the demuxed streams when they are made of many M2TS. Previously, it tried to save files with filenames containing all numbers of the M2TS files, and that failed when there were too many M2TS, because the filename was too long for Windows. I have reported that bug, and the naming scheme has been changed. At that time, I have modified the code of BD3D2MK3D to use the new filenames (the ones shown in the error messages), and that worked well. But obviously, the naming scheme of tsMuxeR has changed again, and BD3D2MK3D is now unable to find the demuxed files. I will have to fix that problem, but I will need a BD with a MPLS made of enough M2TS files to cause the problem. I will try to find one in my collection, but that can take some time...

In the meantime, can you post here the names of the 264 and MVC files as they were in the project folder (before your manual rename) ?

ecou2508
24th February 2023, 13:26
Oops, attachement with capture jpg is pending.. :-(
before i manually renamed them:
00362+00354.track_4113.264
00362+00354.track_4114.mvc

and related error messages:
Error: Can't rename "00362+___+00354.track_4113.264" to "00334.track_4113.264": error renaming "00362+___+00354.track_4113.264": no such file or directory
Error: Can't rename "00362+___+00354.track_4114.mvc" to "00334.track_4114.mvc": error renaming "00362+___+00354.track_4114.mvc": no such file or directory

ecou2508
24th February 2023, 13:30
In the first post i made, there is jpeg with all the files in the dir before i tried renaming them manually. (the 360 that should be rename 335) starting the job with 335 mpls

With the playlist 334 (my last attempt on another PC), 362 should be renamed to 334

r0lZ
25th February 2023, 11:13
OK. I still need another info. What is the list of SSIF (M2TS) parts in the MPLS you have processed ? You can easily copy it with the menu "Tools -> Dependent-view (MVC) file list". When the dialog is shown (and active), just press Control-C to copy its content and post it here.

r0lZ
27th February 2023, 13:46
The bug with the filenames happens only when the converted M2TS contains exactly two parts (two M2TS per eye-view), because the filename generated by tsMuxeR is not what it is when there is only one part, or when there are more than 2 parts. The bug is fixed in this version.

v1.32 (February 27, 2023)
- Fix: Wrong filenames when a multi-angle/multi-story MPLS is made of only 2 parts (for example Blade Runner 2049 French version)
- Added the menu Help -> MkvToolnix for Windows 7 to download easily a MkvToolnix version compatible with Windows 7 (Thanks Ennio!)
- Added a link to the mini-guide on how to convert an external SRT or SUB to 3D in the Subtitle Tools menu.
- Added a link to the Bernard's Wiki page about BD3D2MK3D in the Help menu. (Thanks Bernard!)

Download it here: BD3D2MK3D.7z (https://download.videohelp.com/r0lZ/BD3D2AVS/BD3D2MK3D.7z)

r0lZ
6th April 2023, 10:55
In this version, a new Tool has been added, to help the users of the hardware players that do not support correctly one of the 3D format "tags" (the MKV stereoscopy mode and/or the AVC frame-packing), as well as Settings options to not create that tags when a new project is created.

The new Tools -> Modify 3D Format Tags in MKV or AVC can be used to easily either delete, modify or create one or both tags from a 3D MKV or from an AVC (h264) elementary stream. Note that all 3D stereoscopy modes can be defined, including the modes not supported by BD3D2MK3D. That means that the tool can be used to modify a 3D movie downloaded from the internet, or created with another program.

The two options to not include the 3D tags during the creation of a project with BD3D2MK3D are in Settings -> Hardware Players Compatibility Options.

Thanks to Archon for having submitted this problem (at VideoHelp here (https://forum.videohelp.com/threads/395498-BD3D2MK3D-Convert-3D-BDs-or-MKV-to-3D-SBS-TAB-or-FS-MKV-Support-thread/page14#post2684978)) and for his help in finding the culprit. Note that the real culprit is not BD3D2MK3D, but the BigScreen software, unfortunately used by several hardware players, projectors or VR headsets. The new features of BD3D2MK3D are therefore only workarounds for badly written software. If you have such a player, please contact the developers. The 3D tags should normally be present in all good 3D movies !

Note also that I have used the word "Tag" to refer to the two 3D methods to define the correct 3D format, but it's just a shortcut. The 3D stereo-mode in the header of the video track of a 3D MKV should be called "Stereoscopy Video Property", and the AVC frame-packing tag is in fact a series of "SEI messages" inside the video stream itself.


v1.33 (April 6, 2023)
- Added Options -> Hardware Players Compatibility Options as a workaround for serious bugs of some hardware players (notably those based on the Bigscreen software). Thanks Archon!
- Added Tools -> Modify 3D format tags in MKV or AVC to fix the frame-packing and stereo-mode information in any MKV file with an AVC video stream.
- Added Videofan3D's h254Modify.exe in the toolset folder (required for Tools -> Modify 3D format tags in MKV or AVC) as well as sfk.exe.
- Added Help -> Check for Update to easily download the new BD3D2MK3D version (if any). Requires Windows 10 or greater.
- Modified the dead CinDe download link in Help -> Cinavia Detection -> Download CinDe (free) and updated the How to Detect Cinavia? message.
- Updated x264 to the latest version (v0.164.3106)
- Updated x265 to the latest version (v3.5+96)
- Updated mkvtoolnix to the latest version (v75.0.0 'Goliath')


Download the latest version: BD3D2MK3D.7z (https://download.videohelp.com/r0lZ/BD3D2AVS/BD3D2MK3D.7z)

thxoptimizer
19th November 2023, 20:07
Hi,

It has been a long time since I did my last conversion from Blu-Ray 3D.

I have just generated a mkv but with a lot of questions :
1) why the default value is the checkbox "Half" checked by default for side-by-side, I suppose the best is to preserve quality if we can
2) "3-Select stream" tab, I have chosen my subtitles (despite the long explanation not sure to fully understand but anyway...) ==> in "5-Options and Go" tab if we choose "Hardcode subtitles..." it means that subtitles will be always displayed and nothing to select in the player, right?
3) X264 and all the configuration... I have no idea what to choose to have the best quality supported by my Meta Quest 3 headset.

Note : 2 attempts

Default values (Half, X264 to CRF/23) ==> 3,4Go
Full side-by-side + X264 to CRF/17 ==> 15 Go (I can't see any difference in quality in Meta Quest 3)


Thank you.

r0lZ
20th November 2023, 13:32
1) When it's possible, I have adopted the "official" settings by default. Since only Half-SBS and Half-TAB are described officially in the 3D specs, and SBS is much more often used than TAB, it was logical to set Half-SBS as the default.
Furthermore, Half-SBS is fully supported by all 3D devices, such as the 3D TVs. It's not at all the case of Full-SBS (hence the warning).
And finally, the 3D subtitles are not possible for Full-SBS/TAB (except by hardcoding them).

2) Yes, it's correct. And hardcoding a stream is the only way to have the subtitles displayed in 3D,with the correct depth, if you select any Full-* picture format.
Another advantage is that all players will display the subtitles correctly, since they are part of the video. With the 3D subtitle streams and Half-SBS, many players are unable to display them correctly, because they resize or move them elsewhere, or because they cannot display them over the video before splitting the two views.
So, if it's not a problem for you to have the subtitles constantly displayed, I suggest to chose that solution. (In that case, you don't have to select the subtitle stream in tab 2.)

3) In your note, you have yourself replied to the question. CRF 23 is the default, carefully selected by the authors of x264 because it offers a good quality and an excellent compression. Of course, you can lower it more or less to obtain a better quality, but as you wrote, most of the times, the difference is not really visible. Some peoples are obsessed by the file size and think that a small file size is synonym of bad quality. It's mainly wrong. Just do some tests with a small clip, and adopt the settings offering a good balance between quality and size.
Personally, I use often CRF 20 or 21, preset slow.

guest
20th November 2023, 13:39
Just a quick question about MVC 3D's.

How to keep that, and not converting to other types.

kempodragon
20th November 2023, 21:38
Regarding full SBS vs. half SBS, I have the Quest 1 and have always used full SBS for my 3D videos. The Quest is essentially a video version of the old Viewmaster. I use the Skybox app to play them with no problems. The only thing I wish that Skybox could do is play sequential 3D so I could compare SBS vs sequential.

thxoptimizer
21st November 2023, 09:12
Thanks r0lZ for you answers.


Regarding full SBS vs. half SBS, I have the Quest 1 and have always used full SBS for my 3D videos. The only thing I wish that Skybox could do is play sequential 3D so I could compare SBS vs sequential.
I moved from Quest1 to Quest3 and from my experience, even with this gap of quality of the screen I couldn't see any difference from default settings (half SBS) to better settings (like full SBS).

PS : I think headsets like Quest doesn't have to play sequential 3D like old 3D Tvs with active glasses (1 time for left eye / one time for right eye) because or 2 eyes could receive a different image at the same time in these headsets

r0lZ
21st November 2023, 09:38
Just a quick question about MVC 3D's.

How to keep that, and not converting to other types.
MakeMkv does it. But be warned: only a couple of players can play the AVC+MVC MKV in 3D. Almost all players ignore the MVC stream and play only the AVC in 2D. And, of course, the file size will not be reduced.

If you want a better compatibility, a backup of the original BD3D might be a good solution.

r0lZ
21st November 2023, 09:54
PS : I think headsets like Quest doesn't have to play sequential 3D like old 3D Tvs with active glasses (1 time for left eye / one time for right eye) because or 2 eyes could receive a different image at the same time in these headsets
Correct.
What's more, I think that FS gives poorer quality than FSBS for the same size, because the encoder isn't designed to calculate motion vectors taking only every other frame into account. The fact that large parts of the image are moving between each frame, even when there is no camera movment, must therefore greatly complicate the encoding, and make it less efficient. This problem does not exist with FSBS.

thxoptimizer
21st November 2023, 10:27
Correct.
What's more, I think that FS gives poorer quality than FSBS for the same size, because the encoder isn't designed to calculate motion vectors taking only every other frame into account. The fact that large parts of the image are moving between each frame, even when there is no camera movment, must therefore greatly complicate the encoding, and make it less efficient. This problem does not exist with FSBS.

Interesting! During all these years you have learned deep about all these settings and now I see that default values have been carefully chosen ;-)
We have a lot of options everywhere not always easy to understand but the most important is that if we don't have any reason to modify something, there isn't anything to modify!

thxoptimizer
28th November 2023, 10:35
https://ibb.co/VxFD0fZ
https://ibb.co/VxFD0fZ
:(

We cannot rip easily from commercial Blu-Ray we bought...

Does it mean that if I have AnyDVD, BD3D2MK3D will work directly from the disk?
But it's not free...

It seems there is a solution with VLC to rip ISO but even after adding keydb.cfg and libaacs.dll I can read the disc but not extract ISO (and if I could, note sure it would remove any protection).

Last option MakeMKV : I tried to extract everything before undestanding that I can't do anything with that (only Blu-Ray or mkv for BD3D2MK3D).
Trying to generate this MKV from MakeMkv (but I don't understand why I would need BD3D2MK3D after)...

von Suppé
28th November 2023, 12:59
Use MakeMKV. It's free while in beta

thxoptimizer
28th November 2023, 15:34
Use MakeMKV. It's free while in beta
I hope, I read something about a code to find on the forum.

Anyway I have created the big mkv and then put it into BD3D2MK3D.
It seems OK : video and audio in DTS HD Master audio displayed on my amplifier.
So it means that except it takes more time MakeMKV + BD3D2MK3D can always do the job with no limitation at all?

I will try another one with subtitles...

By the way I watched Turbo with subtitles yesterday (ISO==>BD3D2MK3D==>mkv SBS) and many times I found issues with the 3D of these subtitles ==> it "destroyed" my eyes when it happened.

r0lZ
29th November 2023, 15:18
BD3D2MK3D is not a ripper. It's a converter to create a 3D MKV playable with most hardware or software players. So, indeed, you need another tool to remove the protection of your original, protected BD3D. AnyDVD and MakeMKV are good solutions, but as you know, AnyDVD is not free. I don't know if VLC can do the job.

MakeMKV doesn't convert the original format. It encapsulates it only in a MKV container. The 3D BD format is rather complex, with 2 video streams encoded differently. The AVC stream is just like the video stream of a 2D BD, and can be played with almost all players, but in 2D only. The MVC stream is used to encode the stream for the other eye. It is much more difficult to decode, because it requires to decode also the AVC stream, at the same time. For that reason, only a few players can decode the AVC+MVC format. The MKV files created by MakeMKV contains the AVC and MVC streams, unmodified (but unencrypted), and are therefore very difficult to play. Also, since the streams are just copied, without re-encoding, in a MKV container, they use the same disc space than in the original BD.

In the other hand, the MKV files produced by BD3D2MK3D are encoded in universally recognised formats, such as Half-SBS. And, since the video has to be re-encoded, you can specify the quality or file size you want.

Of course, if you have a 3D player that can play the AVC+MVC MKV and you don't care about disc space, use MakeMKV, as you will keep the original quality. But it's a very, very rare situation, and most users need to encode in SBS or TAB format. Hence the usefulness of BD3D2MK3D. :-)

r0lZ
29th November 2023, 15:26
The 3D subtitles are also complex, as they are stored in the original BD in a format impossible to put in a MKV container. It's why BD3D2MK3D has an option to convert them to 3D. Be sure to enable that option (in tab 2) and to display the 3D subtitles properly with your player. If your player doesn't support them or display them incorrectly, I recommend to hardcode (aka burn) them on the video. See that option in the last tab. Burned 3D subtitles are always displayed correctly, regardless of the player, but of course, they cannot be turned off.

thxoptimizer
29th November 2023, 16:26
MakeMKV doesn't convert the original format...
OK for that.
What I don't understand is why the mkv generated by MAKEMKV doens't have any copy protection as BD3D2MK3D is able to process it for the final SBS mkv?

thxoptimizer
29th November 2023, 16:31
The 3D subtitles are also complex (...) It's why BD3D2MK3D has an option to convert them to 3D(...) in tab 2
https://ibb.co/QfYCRmL
https://ibb.co/QfYCRmL
I am not sur to know what to configure (what should I do in such case, cf screenshot)?

If your player doesn't support them or display them incorrectly, I recommend to hardcode (aka burn) them on the video.
OK for that; I will always prepare my mkv like that in order to avoid any problem.

r0lZ
30th November 2023, 10:08
MakeMKV is a ripper, like other similar programs. It creates a MKV instead of an ISO, but it's the only difference. Personally, I don't want to add the decryption in BD3D2MK3D (and in PgcEdit) for legal reasons.

r0lZ
30th November 2023, 10:29
https://ibb.co/QfYCRmL
https://ibb.co/QfYCRmL
I am not sur to know what to configure (what should I do in such case, cf screenshot)
3D only, like in the screenshot, is OK, as you will be sure that the subtitles you will select during the playback are in 3D. However, usually, I recommend to add also the 2D subtitles, often necessary if the player cannot display correctly the 3D subtitles. In that case, the 2D subtitles are better than nothing, although they are extremely unpleasant to watch, and are even a torture for the brain.

The problem is that there are two ways to display the subtitles on a SBS movie. The combined, side by side views must be split (and resized) to be displayed separately to the two eyes. The 3D subtles made by BD3D2MK3D must be processed the same.way. In other words, they must be displayed over the SBS images, before the split. In the other hand, the 2D subtles must be displayed identically over the two views, after the split. Not all players can do the two methods, and it's why using the 2D and 3D subtitles can be a good idea.

Unless, of course, you burn the 3D subtitles to the video with BD3D2MK3D. It's similar to the first method of displaying them before the split, except that the player has nothing to do, and you can be sure that the subtitles will be shown with the correct 3D depth.

Note that, if you burn the subtitles, you don't have to enable them in tab 2.

thxoptimizer
30th November 2023, 11:19
Note that, if you burn the subtitles, you don't have to enable them in tab 2.
I had understood everything so far ^^
If I burn the subtitles (tab 4), I have to choose them anyway in tab2 so I am confused...
You mean I dont' have to select the "default" radio button?

r0lZ
30th November 2023, 13:06
If I burn the subtitles (tab 4), I have to choose them anyway in tab2 so I am confused...
No, as I wrote above, you don't need to select the subtitles in tab 2 if you burn them. When you burn a subtitle stream, it doesn't make sense to add other subtitles with tab 2, as they will be displayed over the burned subtitles, and they will be difficult to read. However, it is possible to burn a stream AND select one or several other streams in tab 2, as some users want to be able to display also, for example, the subtitles for the director comments. But that requires some knowledge, as it will be vecessary to change the location of the second stream, so that it will not be mixed with the burned subtitles. So, in most cases, you have to chose to burn a single stream (and ignore tab 2) or to select one or several streams in tab 2, and ignore the option to burn a stream.


You mean I dont' have to select the "default" radio button?
The Default option is useful only if you don't burn a stream, AND you select several streams in tab 2. The stream marked as default will be the first subtitle stream in the MKV, and will be tagged as default. Most players will select that stream automatically, and you will not have to enable it manually. Again, like all other subtitle related options in tab 2, that option is useless if you burn a stream, as the burned stream will be displayed anyway, and cannot be removed.

So, to keep things simple, if you use the hardcode option, do not enable any subtitle stream in tab 2, and pay attention to the audio stream(s) only.

Note that the Default option is useful also if you include several AUDIO streams in tab 2. It is necessary to tell the player what audio stream you want by default.

thxoptimizer
30th November 2023, 14:28
Understood :thanks:

BD3D
11th December 2023, 12:05
First of all heavy thanks to r0IZ for your tool and keeping 3D-video alive.

I have a huge collection of 3D-BR and would like to recode them to save space but I want to keep the best quality.
This leads to my question: After ripping the disks mit MAKEMKV can I recode them with BD3D keeping the same 3D-FullHD-picture an being able to view them on my FullHD-3D-TV and beamer? Which is the "correct" format I have to use with BD3D2MK3D?

Thanks a lot for helping

r0lZ
12th December 2023, 12:55
Thanks for the thanks!

To keep the full HD format, use Full-SBS or Full-T&B. Just be sure to untick the Half- option in the last tab.

The picture quality is also determined by other settings. The most important one is the CRF value. The lower the best. CRF 0 is lossless, but the file size is terrible, larger than the size of the two original video tracks together. The default 23 compresses very much, and you may prefer to lower that value. IMO, it is useless to use a CRF value less than 15, and personally, I use 18 only when the quality is very important.

You may also want to try to encode with x265. It compresses much more for the same video quality, but it is very slow and the HEVC video it produces is much more difficult to decode, and is not supported by pre-Ultra-HD hardware players. Its default CRF value is 28.

Anyway, I suggest to do a quick test to check if your TV supports the encoding format and its settings, and if you like the quality. If you don't have a small clip to test, you can lower the number of frames to encode in the __ENCODE_3D.cmd file.

Have fun with your 3D movies!

Enet47
6th January 2024, 13:59
First of all heavy thanks to r0IZ for your tool and keeping 3D-video alive.

I have a huge collection of 3D-BR and would like to recode them to save space but I want to keep the best quality.
This leads to my question: After ripping the disks mit MAKEMKV can I recode them with BD3D keeping the same 3D-FullHD-picture an being able to view them on my FullHD-3D-TV and beamer? Which is the "correct" format I have to use with BD3D2MK3D?

Thanks a lot for helping
Following on from @R0lZ's comments I have done exactly what you are asking and ended up not having to upgrade my disc storage after saving Terrabytes of discs space. After literally encoding dozens of discs here are some thoughts.

- H265 does rip to even smaller sizes than the equivalent H264 setting. But it does take much, much longer than H264 to encode the same file at similar settings.

- H265 is not exactly the same quality because of macro-blocking in low light scenes. It doesn't affect most movies but there are some where you will notice it, especially on a large screen.

- Because of the above points, I reverted back to using H264.

- Depending on your quality acceptance I found that a minimum saving of 10GB per file works well. On average I save around 15GB per movie. Some movies can go well beyond this saving around 20GB on a 30GB file.

- For the more tricky movies or where I want the absolute best quality then 10GB (or less) works well. It's probably wasting a few GB but on average you will save more than enough per movie for it not to be an issue.

- Before you ask. If you are using CRF (which you should) I don't know of anyway to specify how much you save. But around CRF 18-22 is a decent range depending on the options you choose. Although for some movies I have gone as low as CRF 16. Others I had added extra command line options or changed the tuning.

HtH :)

thxoptimizer
7th January 2024, 19:48
Hi,

I have issues with 2 movies in ISO (not really from my own physical disc...).

BD3D2MK3D
*** Done. AviSynth script and batch files generated.
Done with errors!
* DTS-HD stream (track 3): bad frame detected at position00:00:01,151. Resync stream.
(...)
* Warning: The AVC and MVC video streams do not have the same number of frames: 25117 and 25390. That means that the two streams are probably not synchronised properly, and that encoding this playlist to SBS or T&B may fail.
The script will be generated anyway.
Launch "__ENCODE_3D_LAUNCHER.cmd" to encode the 3D video (and optionally mux to MKV).
*******************************************************************************
(BD3D2MK3D) 1 %

But it's not only BD3D2MK3D to be honnest :
VLC seems to start movie and 2s after (even if I have Java on my computer) :
Java required:
This Blu-ray disc requires Java for menus support.Java was not found on your system.

MAKEMKV
a lot of errors also in the logs (udf: node fe/efe failed! orThe source file '/BDMV/STREAM/00800.m2ts'is corrupted or invalid in offset 118265856), no MKV generated

==>I suppose I can't do anything with that and I have just to send it to trash

von Suppé
8th January 2024, 13:44
MAKEMKV
a lot of errors also in the logs (udf: node fe/efe failed! orThe source file '/BDMV/STREAM/00800.m2ts'is corrupted or invalid in offset 118265856), no MKV generated
Did you try to make a full disc backup with MakeMKV and import this in BD3D2MK3D?

thxoptimizer
9th January 2024, 11:08
Did you try to make a full disc backup with MakeMKV and import this in BD3D2MK3D?

That's what I said :
a lot of errors also in the logs (udf: node fe/efe failed! orThe source file '/BDMV/STREAM/00800.m2ts'is corrupted or invalid in offset 118265856), no MKV generated

von Suppé
9th January 2024, 12:36
I doubted because of the "no mkv generated".

Probably you have a bad or dirty disc. Try cleaning it and rip again.

thxoptimizer
18th January 2024, 19:37
FIFA 20210 (Blu-Ray) ==> MAKEMKV (if I read with VLC, no subtitle displayed) ==> BD3D2MK3D :
https://ibb.co/6NMv0XL
(it seems I cannot post image... it says that 1280x720 is an exotic resoltion to summurize)

1) nevermind for the subtitles, I can choose my langage
2) even before converting with BD3D2MK3D the subtiles are not working on initial MKV created with MAKEMKV

Result on Quest3 / Skybox : the reading of this movie is the only one to be jerky.

thxoptimizer
15th May 2024, 19:26
Good news : MakeMKV has published a new license key after several weeks after the previous expired
Bad news : it is only valid until end of June 2024 (usually I think it was 1 year...)
So it's time to rip all my collection to convert it with BD3D2MK3D!

r0lZ
15th May 2024, 20:33
==>I suppose I can't do anything with that and I have just to send it to trash
Unfortunately, you are probably right. Bad ISO are common on the Internet, and it is usually impossible to convert them correctly. Sorry.

Enet47
16th May 2024, 10:31
Good news : MakeMKV has published a new license key after several weeks after the previous expired
Bad news : it is only valid until end of June 2024 (usually I think it was 1 year...)
So it's time to rip all my collection to convert it with BD3D2MK32!
The license has never been a year. It's mostly been a month although recently it has been up to two months.

thxoptimizer
22nd May 2024, 20:51
https://ibb.co/fCLpMg9
Le titre #00081.m2ts a une longueur de 1 secondes, inférieure à la longueur de titre minimale de 120 secondes et a donc été ignoré
Opération parfaitement achevée
Enregistrement de 1 titres dans le répertoire E:/Vidéo/Harry Potter and the Deathly Hallows- Part 2
Erreur 'Erreur SCSI - ILLEGAL REQUEST:ILLEGAL MODE FOR THIS TRACK' survenue à la lecture de '/BDMV/STREAM/00096.m2ts' à l'offset '12866156544'
Erreur 'Erreur SE - La demande spécifiée n’est pas une opération valide pour le périphérique cible' survenue à la lecture de '\Device\CdRom0' à l'offset '12866156544'
Erreur 'Erreur SCSI - NOT READY:CANNOT READ MEDIUM - INCOMPATIBLE FORMAT' survenue à la lecture de '/BDMV/STREAM/00096.m2ts' à l'offset '12909674496'
...
Échec à l'écriture du titre 1 dans le fichier E:/Vidéo/Harry Potter and the Deathly Hallows- Part 2/Harry Potter and the Deathly Hallows- Part 2_t01.mkv
Encountered 63 errors of type 'Read Error' - see http://www.makemkv.com/errors/read/
0 titres écrits, 1 en échec

:(
I suppose there is nothing I can do with Harry Potter dics I bought with MakeMKV : usually it works but not for this movie...

r0lZ
23rd May 2024, 07:41
Indeed, it seems that your BD is seriously damaged. Try cleaning it, or post the log on a forum dedicared to MakeMKV. They may be able to help.

thxoptimizer
26th May 2024, 19:45
Previous movie HS even after cleaning the disc...studio must not complain if users don't buy their products if they are useless a few years later...

Nevermind, another disc working fine on my player in my living room, this time provokink errors in B23D2MK3D when I want to make my MKV version of it
tsMuxeR has crashed (...) If you with, BD3D2MK3D can now try to demux the streams with eac3to instead of tsMuxeR (...) it's the last chance to scucceed

And finally
*** eac3to ERROR: This audio conversion is not supported

r0lZ
26th May 2024, 20:07
Not sure it's an acceptable solution for you, but try to deselect the audio stream that isn't accepted by eac3to. Maybe it's the same stream that tsMuxer don't like.

thxoptimizer
27th May 2024, 06:19
Not sure it's an acceptable solution for you, but try to deselect the audio stream that isn't accepted by eac3to. Maybe it's the same stream that tsMuxer don't like.

I tried again with french audio instead of english audio and it worked.
Strange what happened with this audio track that has a similar codec than many other Blu-Ray (maybe to high flow rate? For information it was IMAX Hubble)

r0lZ
27th May 2024, 08:48
Good news. If you need the English audio, you can perhaps demux it with another tool, and mux it with the final MKV with MkvToolnix. But honestly, I don't know what tool should be used for the demux.

Emulgator
27th May 2024, 17:30
I would suggest to try DGDemux.

vadlerg
19th June 2024, 11:51
I'm sorry bothering You @r0lZ and the community with this off-topic. I need 3D expertise in decoding 3D MVC question.
The CoreELEC (https://discourse.coreelec.org/t/3d-frame-packed-mvc-output-with-coreelec/9395/284)team succeeded to implement decoding 3D MVC on hardware level on Amlogic platform.
I've observed purple HALO on the right side picture when decoding so-called 3D full MVC movies. 3D MVC DTS Paint Symphony (https://kodi.wiki/view/Samples#3D_Test_Clips)
Left eye:https://discourse.coreelec.org/uploads/default/optimized/3X/0/7/07bdbfb41046e9351b283dcf8de036b69d2ce276_2_665x500.jpeg
Right eye:https://discourse.coreelec.org/uploads/default/optimized/3X/3/0/30c8050eeb86c2ac6728c07cd90452c985f86b6a_2_665x500.jpeg
When the device decoding normal 3D Blu-ray ISO files, I see no such purple ghosting, everything goes all right.
The TV is an LG 65UH950V.

Do You have any idea what and where goes wrong?

r0lZ
19th June 2024, 13:12
Sorry, no idea. Probably a bug in the decoder. Try to contact the dev team.

albain
30th June 2024, 15:29
Hi @r0lZ,

I just discovered your tool and I am very interested in its features. I have a collection of 3D blurays to play with my projector. The only issue with 3D projectors is that they don't offer motion interpolation (MEMC) in 3D mode.
Some people don't care about it, some people hate MEMC, but I love it : having smooth motions is a great benefit especially in 3D. Anyway I found a solution for this : a software called SVP for Smooth Video Project (see my post about it https://www.svp-team.com/forum/viewtopic.php?pid=84997#p84997 and the project page https://www.svp-team.com that explains all). It can generate motion interpolation during playback or transcode videos to make a 60FPS smooth video from a 24P one, but not for 3D content.
This is where your wonderful software comes : convert a H264 MVC 3D bluray to a full resolution side by side or top/bottom video file. This is a format that SVP can handle for transcoding.

So what I am doing is :
1/ Use your software to generate the MKV3D subfolder with all the demuxed files and scripts.
2/ I modify manually the AVS script to call the SVP library and interpolate frames : this is the part where a 24fps video can become a 60FPS or 120FPS depending on the applied settings
3/ I launch your generated command line script that will encode the new video

I would like to incorporate this part of the script described in my post automatically. Is there a template for this, or maybe this is a feature request : I need to add some actions between the decoding and the Return call.
This can be interpreted as a post-processing template.


I can help on tests & development if you want
Thank you

r0lZ
30th June 2024, 18:11
I see. Honestly, I'm not sure I will do that myself, as currently, I don't work much on BD3D2MK3D anymore. Furthermore, I don't like the idea to add code for a non-free tool.

But perhaps you can simplify your work by defining your interpolate() function in a .avsi plugin (loaded automatically when avisynth starts if you place it in the right directory). Then, you will just have to replace the Return(last) line in the original .avs script with your call to your function.

Anyway, please test if you can manage to put interpolate() in an independent plugin script, and if you can easily call it with a SINGLE call. That means that the combined SBS clip will have to be converted with SVP, rather than the two views independently. If it's possible, I will see if it is possible to determine if a function with a specific name (for example BD3Dpost_process(clip)) exists, and call it automatically from __ENCODE_3D_MOVIE.avs if it's the case.

I must verify that, but that could be as simple as this:
try {
BD3Dpost_process(last)
} catch (err_msg) {
# (ignore)
}
return(last)

Note also that normally, you should edit also the files __ENCODE_3D.cmd and __MUX_3D_OPTIONS.json to modify the framerate values (respectively the --fps and --default-duration arguments).

albain
1st July 2024, 10:11
Hi again,

I understand your position about not including code for specific commercial tools, this is the reason why I considered this request as a template to call a postprocess function with the input clip as parameter, as you mentioned it.

Otherwise you were right about the additional needed modifications : I got a 24fps video, so I had to modify also the --fps and --default-duration arguments.
There is a 30/60fps checkbox in the UI but that does not seem to apply the 60fps setting, at least when I untick the "half" checkbox to get full resolution.
Anyway with these additional modifications it works.

I was able to make the script load automatically when placing it in the plugins folder (defined by registry key of AVISynth)

So to summarize, it all works with a few manual steps, and it would be great to have those 2 features :
- Calling a post processing AVS method in the workflow (with the clip of with left and right pictures in 2 arguments ?)
- Being able to set output framerate (in my case to match the 60fps projector capabilities)

Thank you and I have dev skills (in C/C++/C#/Java) so maybe I can help !

r0lZ
1st July 2024, 10:53
Well, perhaps I'll do it, but certainly not soon.
The framerate problem is very annoying, as if it is necessary to change it for YOUR needs, another post processing script may require another modification (such as the aspect ratio after a crop operation). I cannot add options for all possible needs!
Also, why do you need to process the two views independently? SVP is not able to interpolate the combined output stream directly?

albain
1st July 2024, 10:59
Well, perhaps I'll do it, but certainly not soon.
The framerate problem is very annoying, as if it is necessary to change it for YOUR needs, another post processing script may require another modification (such as the aspect ratio after a crop operation). I cannot add options for all possible needs!
Also, why do you need to process the two views independently? SVP is not able to interpolate the combined output stream directly?

I thought that framerate control would be more common usage than just mine : most DLP projectors run at 60FPS so I guess it would be a benefit.

I am not sure about the need to process the 2 frames independantly, actually it works with one global frame. I just thought that interpolation would be more efficient if calculated separately but again this seems to work fine with the full clip

One future use, or maybe not depending on its success : with the new Apple vision headset, the HEVC MVC codec has been standardized, and the movies (accessible through location or buy) are in 60FPS + 4K resolution like in some theaters

albain
1st July 2024, 17:38
Hi again (sorry for spam),

is it possible to user hardware encoders (nvenc of intel quicksync) in the chain (with avisynth) ?

Thank you

r0lZ
1st July 2024, 17:59
I thought that framerate control would be more common usage than just mine : most DLP projectors run at 60FPS so I guess it would be a benefit.

60 fps can be useful in some specific cases, but it is not sufficient to just change the frame rate in the video and MKV settings. You have to convert the original video somehow (for example wits SVP), or the movie will play at a crazy speed, and the audio will be completely out of sync. It's why adding an option to force 60fps (or any other frame rate) might be confusing for most users, and useful only in some extremely rare cases, like yours.

Furthermore, I wrote BD3D2MK3D with the de-facto 3D standard in mind, and at least when I wrote it, it implied 23.976 fps, half-sbs, 16:9 aspect ratio (with the black borders if necessary), the h264 codec, and so on. I agree that there are now some new possibilities, but they require specific hardware or software, and are therefore not universal at all. I may be tempted to implement some of them, but they should stay easy to understand and use by a casual user.

r0lZ
1st July 2024, 18:06
Hi again (sorry for spam),

is it possible to user hardware encoders (nvenc of intel quicksync) in the chain (with avisynth) ?

Thank you
Yes (https://forum.videohelp.com/threads/395498-BD3D2MK3D-Convert-3D-BDs-or-MKV-to-3D-SBS-TAB-or-FS-MKV-Support-thread/page17#post2726051).

albain
2nd July 2024, 08:37
Thank you for your replies

One last thing : I have applied the modified settings on fps and duration (in json mux options, and in encoding command) but I have audio out of sync.
Do you know what have I missed ?

Thanks

r0lZ
2nd July 2024, 09:19
Hum, no. But it seems strange to convert from 23.976 fps to 60. Are you sure that SVP converts really to 60 fps without time stretch? That should require to insert frames in addition to duplicated frames. IMO, to avoid this problem, it woulld be better to convert to 47.952 or 71.928 (2 or 3 times the original frame rate).

von Suppé
2nd July 2024, 09:44
I don't know how the framerateconversion is done, but I can imagine it's based on a 24fps --> 60fps grid. Possibly the resulting runtime is a bit shorter since the resulting video is authored to run slightly faster (23.976fps --> 24fps).
When speeding up 23.976fps video, obviously audio also needs to be sped-up to stay in sync.

[EDIT] r0lZ, you beat me to it by seconds :-)

r0lZ
2nd July 2024, 09:47
Or it may be sufficient to specify 60/1.001 (or 59.94) fps instead of 60 ? At least, the mux should be in sync.

Enet47
4th July 2024, 07:35
I've been using SVP for years with BD3D2MK3D 3D conversions but I run it in real-time, not transcoding.

Enet47
8th July 2024, 19:24
Or it may be sufficient to specify 60/1.001 (or 59.94) fps instead of 60 ? At least, the mux should be in sync.
I want to be able to manually fix an MKV file with some AVS code. I was able to do this before by manually splitting it into left and right the modifying the movie.avs file. But this time I just want to run an avisynth commands like "selectevery" on an SBS MKV file.

What tool do you use to convert the file into x264 and MVC? Basically how do you get the files, framecounts etc for x264.exe. I would rather not use x264 but I assume it would be easier for you to answer if it's about a method you are already using. Thanks.

Enet47
10th July 2024, 10:00
Or
Any help on my request?

r0lZ
10th July 2024, 16:14
Not sure I understand what you mean. BD3D2MK3D doesn't convert TO x264 (AVC) and MVC. It takes the AVC and MVC streams from the BD and combine them to SBS. The two video (and audio and subtitles) streams are extracted from the BD with tsMuxeR. The other information, such as the chapters, the frame count and frame rate are extracted from the MPLS with a MPLS parser I have written myself (but some info can also be extracted with tsMuxeR).

Of course, if your input is a MKV created with MakeMKV, things are different. In that case, the streams can be extracted from the MKV with mkvextract. The characteristics of the file can be extracted with tsMuxeR.

Note that usually, a 3D BD is always made of a 16:9 image (usually 1920x1080 or very rarely 1280x720) at 23.976 (more precisely 24/1.001) fps.

The avisynth script is used to convert the elementary video streams to SBS, with the help of the FRIMSource plugin (that can decode the MVC stream).

x264 (or x265) is only used to encode the AVS script to the final h264 SBS stream. It has nothing to do with the resolution, frame rate or frame count. (However, you can pass the frame count as an argument to x264, to let it display accurately the remaining processing time or to stop the encoding before the end of the original video, but that's not absolutely necessary.)

Finally, mkvmerge is used to mux the final MKV.

I hope I have replied to your questions. I can't explain everything in details, as the whole process is very complex, but you can have a look at the produced files or to the source code to understand the principle.

Enet47
10th July 2024, 16:46
Not sure I understand what you mean. BD3D2MK3D doesn't convert TO x264 (AVC) and MVC. It takes the AVC and MVC streams from the BD and combine them to SBS. The two video (and audio and subtitles) streams are extracted from the BD with tsMuxeR. The other information, such as the chapters, the frame count and frame rate are extracted from the MPLS with a MPLS parser I have written myself (but some info can also be extracted with tsMuxeR).

Of course, if your input is a MKV created with MakeMKV, things are different. In that case, the streams can be extracted from the MKV with mkvextract. The characteristics of the file can be extracted with tsMuxeR.

Note that usually, a 3D BD is always made of a 16:9 image (usually 1920x1080 or very rarely 1280x720) at 23.976 (more precisely 24/1.001) fps.

The avisynth script is used to convert the elementary video streams to SBS, with the help of the FRIMSource plugin (that can decode the MVC stream).

x264 (or x265) is only used to encode the AVS script to the final h264 SBS stream. It has nothing to do with the resolution, frame rate or frame count. (However, you can pass the frame count as an argument to x264, to let it display accurately the remaining processing time or to stop the encoding before the end of the original video, but that's not absolutely necessary.)

Finally, mkvmerge is used to mux the final MKV.

I hope I have replied to your questions. I can't explain everything in details, as the whole process is very complex, but you can have a look at the produced files or to the source code to understand the principle.
Thanks for the description. I was looking at using X264 because I have an SBS MKV file that I want to run some Avisynth commands on. I could addthose commands in your movie.avs script. But my real problem is that I want to import the SBS file to be used by an Avisynth script like movie.avs. TSmuxer will give me the x264 file, but I can't get the MVC file because it's not a makemkv blu-ray or MKV. The other option will be to convert the SBS MKV to an MVC MKV which I've seen some others have done.

r0lZ
10th July 2024, 17:19
To open a MKV with avisynth, I use FFMpegSource2 (http://avisynth.nl/index.php/FFmpegSource). But for this kind of questions, regarding avisynth and not directly BD3D2MK3D, please post in an avisynth forum. The answers will be more precise than here. Thanks.

Of course, in a SBS file, there is only one single x264 video stream, no MVC stream. If you need to process the two views independently, you must split the SBS view. It's easy. Refer to the avisynth doc.

Enet47
10th July 2024, 18:03
To open a MKV with avisynth, I use FFMpegSource2 (http://avisynth.nl/index.php/FFmpegSource). But for this kind of questions, regarding avisynth and not directly BD3D2MK3D, please post in an avisynth forum. The answers will be more precise than here. Thanks.

Of course, in a SBS file, there is only one single x264 video stream, no MVC stream. If you need to process the two views independently, you must split the SBS view. It's easy. Refer to the avisynth doc.
I try not to bother busy people like yourself, especially when you have created such a useful tool. So I spent some time trying to get this working myself and was not able to do so. I don't need to process the views independently. I kind of already know how to do that with ffmpeg although in this case it fails I assume because of frame count. Anyway I'm trying with staxrip.

r0lZ
10th July 2024, 18:28
Install the FFMS2 plugin. (Put it in the plugins directory of your avisynth and it will be autoloaded, or put it anywhere else and use the LoadPlugin avisynth command to load it for your script only.)
Then, loading the MKV is very simple. Just use the FFMpegSource2 command. Example:

LoadPlugin("path\to\ffms2.dll")
FFMpegSource2("movie.mkv")
The rest is up to you.

You can use Info() to show the information about the MKV (including the number of frames).
I recommend to use AvsPMod (x64!) to check and edit the avisynth script.

Enet47
11th July 2024, 11:43
Install the FFMS2 plugin. (Put it in the plugins directory of your avisynth and it will be autoloaded, or put it anywhere else and use the LoadPlugin avisynth command to load it for your script only.)
Then, loading the MKV is very simple. Just use the FFMpegSource2 command. Example:

LoadPlugin("path\to\ffms2.dll")
FFMpegSource2("movie.mkv")
The rest is up to you.

You can use Info() to show the information about the MKV (including the number of frames).
I recommend to use AvsPMod (x64!) to check and edit the avisynth script.
Perfect. Thank you.

jp80
5th December 2024, 19:01
Not sure I understand what you mean. BD3D2MK3D doesn't convert TO x264 (AVC) and MVC. It takes the AVC and MVC streams from the BD and combine them to SBS. The two video (and audio and subtitles) streams are extracted from the BD with tsMuxeR. The other information, such as the chapters, the frame count and frame rate are extracted from the MPLS with a MPLS parser I have written myself (but some info can also be extracted with tsMuxeR).

Of course, if your input is a MKV created with MakeMKV, things are different. In that case, the streams can be extracted from the MKV with mkvextract. The characteristics of the file can be extracted with tsMuxeR.

Note that usually, a 3D BD is always made of a 16:9 image (usually 1920x1080 or very rarely 1280x720) at 23.976 (more precisely 24/1.001) fps.

The avisynth script is used to convert the elementary video streams to SBS, with the help of the FRIMSource plugin (that can decode the MVC stream).

x264 (or x265) is only used to encode the AVS script to the final h264 SBS stream. It has nothing to do with the resolution, frame rate or frame count. (However, you can pass the frame count as an argument to x264, to let it display accurately the remaining processing time or to stop the encoding before the end of the original video, but that's not absolutely necessary.)

Finally, mkvmerge is used to mux the final MKV.

I hope I have replied to your questions. I can't explain everything in details, as the whole process is very complex, but you can have a look at the produced files or to the source code to understand the principle.

Sorry to beat a dead horse but I wish to create a full SBS mkv without reencoding the video stream from the bluray source to keep its original picture quality, and I couldn't find any option for this in BD3D2KM3D.

Then could you think about adding this option, and in the meanwhile does somebody know another software that could allow me to do that ?

r0lZ
5th December 2024, 20:08
What you want is simply totally impossible. Forget it.
Full (or half) SBS (a totally different format than the source AVC+MVC) implies to re-encode the video. Dot.

You can minimize the quality loss, but not avoid it completely.

jp80
7th December 2024, 11:58
Yeah I realized my question made no sense after understanding that requirement.

FTP
8th December 2024, 11:21
Hi,

I'm trying to convert 3D MVC MKV files to SBS format using BD3D2MK3D but I'm having 1 problems and I have 2 extra questions.

1/ After generating the project, the encoding process crash and I get this error message...
Encoding movie in 3D
Movie: Minions 3D
Encoding started 03/12/2024 1:08:02,04

D:\tmp\Minions 3D\MKV3D>"D:\Logiciels\Vidéo\BD3D2MK3D 1.33\BD3D2MK3D 1.33\toolset\x264_x64.exe" --output-depth 8 --crf 23 --preset medium --sar 1:1 --range tv --colormatrix bt709 --frame-packing 3 --qpfile chapters_3D.qpfile --frames 130861 --fps 24000/1001 --output "MKV3D_3D.264" "__ENCODE_3D_MOVIE.avs"
avs [error]: Evaluate: Unhandled C++ exception!
(__ENCODE_3D_MOVIE.avs, line 19)
x264 [error]: could not open input file `__ENCODE_3D_MOVIE.avs'
Encoding finished 03/12/2024 1:08:02,08

D:\tmp\Minions 3D\MKV3D>"D:\Logiciels\Vidéo\BD3D2MK3D 1.33\BD3D2MK3D 1.33\toolset\mkvmerge.exe" @__MUX_3D_OPTIONS.json | "D:\Logiciels\Vidéo\BD3D2MK3D 1.33\BD3D2MK3D 1.33\toolset\tee.exe" "MKV3D_3D.mkvmerge.log"
mkvmerge v75.0.0 ('Goliath') 32-bit
Error: The type of file 'MKV3D_3D.264' could not be recognized.
It's a fresh install so I'm using:
- BD3D2MK3D 1.33
- AviSynth+ 3.7.3
- Java 8 JRE U431 64 bits
- Microsoft .NET Framework 4.8.09037

As I have an Intel i7-4790K, I've tried to disable the Hardware acceleration but it doesn't help.

I've also tried AviSynth+ 2.7.7.2 instead of the 3.7.3 but it's not helping either.
However, it works with AviSynth 2.6.0, but the final encoding is veeeery slow and I get some warning from BD3D2MK3D that I need to switch to a 64 bits version.

So any idea why I'm having this error message and how to make it work with 64 bits versions of AviSynth (which is recommanded everywhere)?


2/ Regarding Java (for subtitles), I followed the link in the install procedure and installed the lastest JRE, version 8 Update 431.

However, I noticed if we ask BD3D2MK3D for the Java version it sees (Help > Java version), it says Java is not installed(!), while it is and there is a file in "C:\Program Files (x86)\Common Files\Oracle\Java\java8path\java.exe".
And if we read all the comment of the pop-up, it now advises to install OpenJDK and not the official JRE.
And indeed, OpenJDK looks recognized by BD3D2MK3D.

So what are we supposed to intall?
The JRE or the JDK?
Official version or open source?

3/ At last, regarding subtitles in 3D SBS movie files.
VLC can display them properly (each subtitle on both sides and in the middle of the image).
But Plex don't display them properly. Each subtitle is displayed on both sides, but cut in 2, half on each side of the image. And it's the same behaviour on the Apple TV, Windows or iOS client.

Any idea if BD3D2MK3D can help, by using specific settings for SBS file to be played on Plex?

Thanks for your help! :)

r0lZ
8th December 2024, 14:05
1. For the crash, please post here the content of __ENCODE_3D_MOVIE.avs, or at least the line 19, since it contains the instruction that causes the crash.

2. Java : any version should work, but the Oracle version is currently not recommended anymore (notably for privacy and security reasons).
It is very difficult to determine what version is installed, because Java does not respect at all the installation guidelines of Windows, and each version uses another procedure! I will modify the install guide to recommend OpenJDK. Thanks for the information.
In the worst case, the conversion is made without Java. Although it's not recommended, that works well most of the times. But it seems that your OpenJDK version is recognised, so I assume that it's perfect now.

3. The 3D subtitles must be "printed" over the HSBS picture BEFORE it is split in the two parts (left and right eye views). A good player should be able to do that, but it's often a setting, sometimes difficult to find. Or you are unlucky and it's simply impossible. Anyway, BD3D2MK3D cannot force the player to display the 3D subtitles correctly.
There is a very simple solution. Just "hardcode" (aka "burn") the subtitles on the video during the encoding. That way, they will be correctly displayed regardless of the player. (And BTW, it's also the only way to obtain good 3D subtitles for Full-SBS). The price to pay is that it is impossible to disable them. But if you need them anyway, it's certainly the best solution.
Use the "hardcode subtitles" option on the last tab. (You don't need, but it doesn't hurt to select the same subtitles stream in tab 2.)

FTP
8th December 2024, 15:05
Thanks for your quick answer! :)

1. For the crash, please post here the content of __ENCODE_3D_MOVIE.avs, or at least the line 19, since it contains the instruction that causes the crash.
What's your recommendation: AviSynth+ 3.7.3 (the last one) or 2.7.7.2 (the one recommanded in the installation procedure - procedure "maybe" not updated)?

Here is the line 19 with AviSynth+ 3.7.3:
# AVC/MVC video decoder
LoadPlugin("D:\Logiciels\Vidéo\BD3D2MK3D 1.33\BD3D2MK3D 1.33\toolset\plugins64bit\FRIMSource.dll")
The path looks correct. At least, there's a FRIMSource.dll in this directory.
But maybe it's supposed to use another file from AviSynth+ :-/

2. Java : any version should work, but the Oracle version is currently not recommended anymore (notably for privacy and security reasons).
Correct. I -think- both version work, I've made some tests with both, even though it's hard to tell if it worked because of Java or because of BDSup2Sub++.

But, the fact that the "Help > Java version" pop-up says Java is not installed when it's the official JRE that's installed doesn't help to be confident.

It is very difficult to determine what version is installed, because Java does not respect at all the installation guidelines of Windows, and each version uses another procedure!
Ok, I understand. But once again, do you need the Java JRE (Runtime) or SDK (Development Kit) to be installed?
Or any of those are fine?
It -may be- part of the issue why BD3D2MK3D is not finding Java, if it's looking for the SDK while the install procedure so far recommands the JRE.

3. The 3D subtitles must be "printed" over the HSBS picture BEFORE it is split in the two parts (left and right eye views). A good player should be able to do that, but it's often a setting, sometimes difficult to find. Or you are unlucky and it's simply impossible. Anyway, BD3D2MK3D cannot force the player to display the 3D subtitles correctly.
Ok. I'll check on the Plex side.

There is a very simple solution. Just "hardcode" (aka "burn") the subtitles on the video during the encoding. That way, they will be correctly displayed regardless of the player. (And BTW, it's also the only way to obtain good 3D subtitles for Full-SBS). The price to pay is that it is impossible to disable them. But if you need them anyway, it's certainly the best solution.
Use the "hardcode subtitles" option on the last tab. (You don't need, but it doesn't hurt to select the same subtitles stream in tab 2.)
Thanks for the advise.
But it would not be convenient for me as I need to keep and the possibility to view the movies in French and English.

Thanks for your help! :)

r0lZ
8th December 2024, 18:16
What's your recommendation: AviSynth+ 3.7.3 (the last one) or 2.7.7.2 (the one recommanded in the installation procedure - procedure "maybe" not updated)?

All versions should work equally. BD3D2MK3D doesn't use complex Avisynth functions, so an old or recent version should do the job well.

Here is the line 19 with AviSynth+ 3.7.3:
# AVC/MVC video decoder
LoadPlugin("D:\Logiciels\Vidéo\BD3D2MK3D 1.33\BD3D2MK3D 1.33\toolset\plugins64bit\FRIMSource.dll")
The path looks correct. At least, there's a FRIMSource.dll in this directory.
But maybe it's supposed to use another file from AviSynth+ :-/

No, BD3D2MK3D uses only the plugins stored in the toolset folder, and as far as I know they work well.
I suspect a problem with the accented character in "vidéo". FRIMSource may have a (unfortunately classic) problem with the French language. As a rule, I tend to avoid those characters in the directory names. (BTW, my native language is French too, but my Windows is configured in English.)
Try to move the BD3D2MK3D installation folder elsewhere, and retry. (You will need to relaunch the whole procedure. Sorry.)

Correct. I -think- both version work, I've made some tests with both, even though it's hard to tell if it worked because of Java or because of BDSup2Sub++.

But, the fact that the "Help > Java version" pop-up says Java is not installed when it's the official JRE that's installed doesn't help to be confident.

I agree. Not sure what's happening, and honestly, I don't want to reinstall the deprecated Java from Oracle just to check what's happening. It is a nightmare to uninstall it completely.
Normally, BD3D3MK3D should detect Java if Java.exe can be launched from the Windows terminal (aka DOS Prompt) without specifying the path.

You can see the command that has been used for each conversion in the BD3D2MK3D.log file, or, during the conversion, in the console window. (Use File -> Show console)
Note that BD3D2MK3D uses the java version for some conversions, and the C++ version in other circumstances. There are bugs in both versions, but luckily not for the same jobs!

Ok, I understand. But once again, do you need the Java JRE (Runtime) or SDK (Development Kit) to be installed?
Or any of those are fine?
It -may be- part of the issue why BD3D2MK3D is not finding Java, if it's looking for the SDK while the install procedure so far recommands the JRE.

The JRE is largely sufficient. The SDK is never necessary, except if you want to develop a Java program.

Thanks for the advise.
But it would not be convenient for me as I need to keep and the possibility to view the movies in French and English.

I understand, but there is no other solution. It's mainly because a standard for 3D-subtitles does not exist officially. BD3D2MK3D has been the first program (and may still be the only program - I don't know) able to convert the subtitles to 3D while retaining the correct depth, but that requires to use a compatible player (or to hardcode the subtitles). It's because some players cannot display the 3D subs correctly that it is possible to include also the 2D subtitles (that must be printed on the image AFTER the split of the L/R views) but of course, the depth is not correct. I hope you will find the possibility to configure your players correctly for the 3D subs. Currently, many software players support that possibility, but unfortunately, it's still very rare for the hardware players.

FTP
8th December 2024, 22:55
All versions should work equally. BD3D2MK3D doesn't use complex Avisynth functions, so an old or recent version should do the job well.
Ok, so I stuck to the 3.7.3.

I suspect a problem with the accented character in "vidéo". FRIMSource may have a (unfortunately classic) problem with the French language. As a rule, I tend to avoid those characters in the directory names. (BTW, my native language is French too, but my Windows is configured in English.)
Try to move the BD3D2MK3D installation folder elsewhere, and retry. (You will need to relaunch the whole procedure. Sorry.)
Bingo, well done it works!
You can add this warning in the installation procedure ;)

However, it's surprising it's the reason of the crash, as why would the accent be a problem for the 64 bits versions and not the 2.6.0 in 32 bits? :(

I agree. Not sure what's happening, and honestly, I don't want to reinstall the deprecated Java from Oracle just to check what's happening. It is a nightmare to uninstall it completely.
Normally, BD3D3MK3D should detect Java if Java.exe can be launched from the Windows terminal (aka DOS Prompt) without specifying the path.

You can see the command that has been used for each conversion in the BD3D2MK3D.log file, or, during the conversion, in the console window. (Use File -> Show console)
Note that BD3D2MK3D uses the java version for some conversions, and the C++ version in other circumstances. There are bugs in both versions, but luckily not for the same jobs!

The JRE is largely sufficient. The SDK is never necessary, except if you want to develop a Java program.
You previously said both should work.
If we forget about BD3D2MK3D not detecting the official JRE in the Help menu, how can I test if BD3D2MK3D is in fact able to use this official JRE for the subtitles?
Because, I'm not fan of Java but I also need it to run the BD menus in VLC. And so far the latest version of the official JRE works wellwith VLC. So if I could make sure it also works well with BD3D2MK3D it would be great.
Otherwise, I have to do the contrary, try to test if the OpenSDK works with VLC, so I can keep only 1 of the 2 :rolleyes:

I understand, but there is no other solution. It's mainly because a standard for 3D-subtitles does not exist officially. BD3D2MK3D has been the first program (and may still be the only program - I don't know) able to convert the subtitles to 3D while retaining the correct depth, but that requires to use a compatible player (or to hardcode the subtitles). It's because some players cannot display the 3D subs correctly that it is possible to include also the 2D subtitles (that must be printed on the image AFTER the split of the L/R views) but of course, the depth is not correct. I hope you will find the possibility to configure your players correctly for the 3D subs. Currently, many software players support that possibility, but unfortunately, it's still very rare for the hardware players.
Understand. I'll have a look at Plex. I would be surprised if there's no solution as I've read a lot of BD3D2MK3D users using it to later on play the movies on Plex.

(BTW, my native language is French too, but my Windows is configured in English.)
Yep, I've seen you wrote we can email you in French or English, and your previous websites being some .be :D
Regarding Windows, my pro PC is setup in English and the personal one in French so that I stay used to the 2 versions ;)

Thanks very much for your great support! :thanks:

r0lZ
9th December 2024, 09:55
However, it's surprising it's the reason of the crash, as why would the accent be a problem for the 64 bits versions and not the 2.6.0 in 32 bits? :(

Honestly, I don't know. Perhaps because the 64-bit version is newer and it uses the UTF-8 character encoding, while the 32-bit version still use the infamous Windows codepages.

I will add a check in BD3D2MK3D, and if it detects non-ASCII characters in the path, it will issue a warning.

You previously said both should work.
If we forget about BD3D2MK3D not detecting the official JRE in the Help menu, how can I test if BD3D2MK3D is in fact able to use this official JRE for the subtitles?

Yes, both should work. And the OpenJDK version should work equally fine with Plex and all other Java based applications.
As I wrote, have a look at the log. The command that is used by BD3D2MK3D during a subtitles conversion is written. If it's BDSup2Sub++.exe, it's the C++ version, and if it's BSSup2Sub.jar, it's the Java version.


Thanks very much for your great support! :thanks:
You're welcome.
I hope you will find a good solution for Plex. I can't help you, as I don't use Plex, but if you find the setting to modify, please post it here. Your finding will certainly be useful to other users.

FTP
13th December 2024, 17:46
It's because some players cannot display the 3D subs correctly (...). I hope you will find the possibility to configure your players correctly for the 3D subs. Currently, many software players support that possibility, but unfortunately, it's still very rare for the hardware players.
Understand. I'll have a look at Plex. I would be surprised if there's no solution as I've read a lot of BD3D2MK3D users using it to later on play the movies on Plex.
Indeed, you're right it's a question of player.
Regarding Plex, some players work fine, some don't:

Web: OK
Windows: NOK
iOS (iPhone/iPad): NOK
tvOS (Apple TV): NOK
WebOS (LG): OK
Android TV: OK

And unfortunately, I would like the Apple TV player to work.
So I've open a topic on the Plex forum, I hope I'll get an answer.
https://forums.plex.tv/t/subtitles-of-sbs-3d-movies-not-properly-displayed-by-some-players/898754

I started by asking if there are specific settings and if not, I'll ask if they can fix the issue, but I'm not that confident. It looks like the issue exists for a very long time :(
https://forums.plex.tv/t/sbs-3d-subtitle-support/280710
No answer, no fix since 2018.

r0lZ
14th December 2024, 10:00
Thanks for the information.
I agree that they probably won't do anything. These forums where threads are automatically closed after a certain amount of time are made specifically to prevent a particular request from having to be considered. It doesn't make me want to be interested in Plex!

r0lZ
6th January 2025, 11:26
V1.24 is here. It's not a major update, but it fixes a few little bugs, and it includes the newest versions of the third-party tools.

v1.34 (January 6, 2024)
- Fixed a few very little bugs
- Wraped with the latest version of freeWrap (v6.75)
- Updated tsMuxeR Open Source to the latest version (git-7f8667d 2024-06-06-02-00-53)
- Updated x264 to the latest version (v 0.164.3204)
- Updated x265 to the latest version (v 4.1+54)
- Updated mkvtoolnix to the latest version (v89.0 'And the Melody Still Lingers On (Night in Tunisia)')

As usual, you can download it here: BD3D2MK3D.7z (https://download.videohelp.com/r0lZ/BD3D2AVS/BD3D2MK3D.7z)

Note that this version has been only slightly tested. If you encounter any problem, you can still download v1.33 here (https://download.videohelp.com/r0lZ/BD3D2AVS/BD3D2MK3D-v1.33.7z).

r0lZ
11th January 2025, 11:29
Sorry, due to important changes in tsMuxeR, BD3D2MK3D v1.34 doesn't work correctly. I am currently fixing it, but that may take some time. In the meantime, use v1.33, that can still be downloaded here (https://download.videohelp.com/r0lZ/BD3D2AVS/BD3D2MK3D-v1.33.7z).

r0lZ
11th January 2025, 16:48
Hopefully, the bug related to tsMuxeR is fixed. Sorry for the inconvenience.

v1.35 (January 11, 2025)
- Fixed a big bug in v1.34 due to different output filenames in the latest tsMuxeR. Sorry!

Download latest version: BD3D2MK3D.7z (https://download.videohelp.com/r0lZ/BD3D2AVS/BD3D2MK3D.7z)

tebasuna51
12th January 2025, 07:32
Thanks r0lZ

Enet47
16th May 2025, 05:41
Hopefully, the bug related to tsMuxeR is fixed. Sorry for the inconvenience.

Download latest version: BD3D2MK3D.7z (https://download.videohelp.com/r0lZ/BD3D2AVS/BD3D2MK3D.7z)
I'm starting to convert my 3D files to full-sbs but my media players wouldn't detect it as full-sbs. Then when I looked at the mkv header it is set to 3840x2160 not 3840x1080. The Video Display height property is set to 2160 but the Video Display Pixel property is set to 1080. Both should be set to 1080 so I think that maybe you are producing 3840x2160 files which is why my media players won't detect the full-sbs. I can modify the header to 1080p but that makes things worse futher down my display chain.

r0lZ
16th May 2025, 10:07
Both should be set to 1080 [...]
Well, unfortunately, for Full-SBS, there is no precise standard for the display resolution and aspect ratio. It's because originally, only Half-SBS has been defined officially. Therefore, the "correct" AR to use depends of the player. It's why there is a menu Settings -> Full SBS/T&B Aspect Ratio. Try to play with that settings. (Note that you can manually modify the AR and resolution settings without having to re-create the whole project. See the __ENCODE_3D.cmd and __MUX_3D_OPTIONS.json files.)

Also, a good player should retrieve the 3D mode from the video header (the frame-packing property of the x264 encoder) and/or from the MKV header (the stereo-mode property). All other methods are bizarre, non-official and prone to errors.

Do you encode your files with x264 or x265 ? Unfortunately, h265 does not support the frame-packing property, because all 3D video streams are supposed to be encoded in h264. Many hardware players support only the frame-packing and ignore the MKV stereo-mode. It's a pity.

Then when I looked at the mkv header it is set to 3840x2160 not 3840x1080.
Indeed, that's bizarre. I will have a look...

But no, BD3D2MK3D does NOT produce 3840x2160 files. It uses only the anisynth commands HorizontalReduceBy2 or VerticalReduceBy2 to produce Half-SBS or Half-TAB. For Full-SBS/TAB, the original images are just stacked together horizontally or vertically, without any resize.

Enet47
16th May 2025, 10:18
Indeed, that's bizarre. I will have a look...

But no, BD3D2MK3D does NOT produce 3840x2160 files. It uses only the anisynth commands HorizontalReduceBy2 or VerticalReduceBy2 to produce Half-SBS or Half-TAB. For Full-SBS/TAB, the original images are just stacked together horizontally or vertically, without any resize.
Hi. Thanks for checking. I looked at the code and saw the same as you but I was hoping that there was something I was missing or maybe there was an x264 option I could use to force the resolution.

I checked a second file I recently converted to full SBS and it has the same issue. When I do "fix" the Display Height attribute then my SVP software interpolation software can't play it properly. I convert it with full-sbs and this happens, there's nothing else which is why I was surprised that there's nothing obvious in the code that is causing this.

Enet47
16th May 2025, 11:03
Well, unfortunately, for Full-SBS, there is no precise standard for the display resolution and aspect ratio. It's because originally, only Half-SBS has been defined officially. Therefore, the "correct" AR to use depends of the player. It's why there is a menu Settings -> Full SBS/T&B Aspect Ratio. Try to play with that settings. (Note that you can manually modify the AR and resolution settings without having to re-create the whole project. See the __ENCODE_3D.cmd and __MUX_3D_OPTIONS.json files.)

Also, a good player should retrieve the 3D mode from the video header (the frame-packing property of the x264 encoder) and/or from the MKV header (the stereo-mode property). All other methods are bizarre, non-official and prone to errors.

Do you encode your files with x264 or x265 ? Unfortunately, h265 does not support the frame-packing property, because all 3D video streams are supposed to be encoded in h264. Many hardware players support only the frame-packing and ignore the MKV stereo-mode. It's a pity.


Indeed, that's bizarre. I will have a look...

But no, BD3D2MK3D does NOT produce 3840x2160 files. It uses only the anisynth commands HorizontalReduceBy2 or VerticalReduceBy2 to produce Half-SBS or Half-TAB. For Full-SBS/TAB, the original images are just stacked together horizontally or vertically, without any resize.
I've sorted the stuttering issue. That was from my side. But I still have to manually update the MKV header of each full SBS file I convert. Something somewhere in the software is setting the display height attribute to 2160. I wonder if it is somehow taking it from the screen resolution when the conversion is happening?

r0lZ
19th May 2025, 10:20
Not sure, but the problem may be caused by a confusion about what means "display height". I haven't much time to check that currently, but IMO the display width and height are another way to specify the aspect ratio of the video picture at display time. And if it's really the case, the display dimension must be 1920x1080 or 3840x2160 or any multiple of this dimension.
In the other hand, the physical width for full-SBS has to be two times the display width, due to the horizontal stacking of the two views.

r0lZ
19th May 2025, 12:28
OK, I did a quick test with the different aspect ratio settings of BD3D2MK3D. Everything seems correct.

First test, with the Full-SBS Aspect Ratio options set to 32:9 and SAR 1:1 (first option for the two settings). Here is what I get:

Width : 3 840 pixels
Height : 1 080 pixels
Display aspect ratio : 3.556

(3.556 is another way to write 32:9)

| + Pixel width: 3840
| + Pixel height: 1080
| + Display width: 3840
| + Display height: 1080

When loaded in mkvtoolnix GUI, the Display width and height, without surprise, is 3840x1080 (32:9). IMO, that value is not correct, since the Display AR is 16:9, but most hardware and software players need that format. In practice, they require the SBS image AR, not the Display AR. It's why there is an option to control that value in BD3D2MK3D

Second test, with the settings set to 16:9 and SAR 1:2.

Width : 3 840 pixels
Height : 1 080 pixels
Display aspect ratio : 16:9


| + Pixel width: 3840
| + Pixel height: 1080
| + Display width: 3840
| + Display height: 2160

In mkvtoolnix, the Display width and height is, again, perfectly coherent: 3840x2160 (equal to 1920x1080 and 16:9)
Again, everything is perfectly coherent with the chosen settings.

So, there is no problem with BD3D2MK3D. You may need a specific setting for your player, but you can easily select it in the GUI.

BTW, may I know what player(s) you use ?

Enet47
24th May 2025, 15:01
I think maybe the tests below have been swapped?

OK, I did a quick test with the different aspect ratio settings of BD3D2MK3D. Everything seems correct.

First test, with the Full-SBS Aspect Ratio options set to 32:9 and SAR 1:1 (first option for the two settings). Here is what I get:

(3.556 is another way to write 32:9)

When loaded in mkvtoolnix GUI, the Display width and height, without surprise, is 3840x1080 (32:9). IMO, that value is not correct, since the Display AR is 16:9, but most hardware and software players need that format. In practice, they require the SBS image AR, not the Display AR. It's why there is an option to control that value in BD3D2MK3D

That's not what I'm getting. For SAR 1:1 I get 3840x2160 for Display Height. If I change Display Height to 3840x1080 then mpv player plays it correctly.


Second test, with the settings set to 16:9 and SAR 1:2.


In mkvtoolnix, the Display width and height is, again, perfectly coherent: 3840x2160 (equal to 1920x1080 and 16:9)
Again, everything is perfectly coherent with the chosen settings.

So, there is no problem with BD3D2MK3D. You may need a specific setting for your player, but you can easily select it in the GUI.

BTW, may I know what player(s) you use ?

OK I will try with SAR 1:2 and hopefully this will give me 3840x1080. I will let you know how it goes. Thanks :)

r0lZ
24th May 2025, 15:25
I think maybe the tests below have been swapped?
Certainly not. It's what my code does, it's exactly what it produces and it's perfectly coherent.


That's not what I'm getting. For SAR 1:1 I get 3840x2160 for Display Height. If I change Display Height to 3840x1080 then mpv player plays it correctly.
That's not right at all.
What application do you use to read that values? It seems totally wrong!
And what is "mpv player"? Is it MPC (Media Player Classic)?

Enet47
24th May 2025, 15:29
Certainly not. It's what my code does, it's exactly what it produces and it's perfectly coherent.


That's not right at all.
What application do you use to read that values? It seems totally wrong!
And what is "mpv player"? Is it MPC (Media Player Classic)?
I'm using the latest version of MKVToolNiX GUI and with SAR1:1
Video display height is 2160
video pixel height is 1080.

The player is mpv player which is like MPC with MadVR but much more (text based) configurable and even better picture quality.

r0lZ
24th May 2025, 17:41
It's exactly what I wrote:
First test, with the Full-SBS Aspect Ratio options set to 32:9 and SAR 1:1 (first option for the two settings). Here is what I get:
...
When loaded in mkvtoolnix GUI, the Display width and height, without surprise, is 3840x1080 (32:9).

But note the AR set to 32:9. It's the combination of the AR plus the SAR that produces the display width/height. It is very difficult to know what setting a specific player takes into account and what setting it ignores. You should play with the two settings until you obtain the correct configuration for your player (and you may also have to play with the 3D and AR settings of the player).

I did not know the MPV player. It seems interesting. But anyway try with another player, just to be sure. I suggest Potplayer, probably the most versatile to play 3D videos (but I'm not sure for MadVR).

Enet47
24th May 2025, 22:59
It's exactly what I wrote:


But note the AR set to 32:9. It's the combination of the AR plus the SAR that produces the display width/height. It is very difficult to know what setting a specific player takes into account and what setting it ignores. You should play with the two settings until you obtain the correct configuration for your player (and you may also have to play with the 3D and AR settings of the player).

I did not know the MPV player. It seems interesting. But anyway try with another player, just to be sure. I suggest Potplayer, probably the most versatile to play 3D videos (but I'm not sure for MadVR).
Thanks. I tried SAR 1:2 but display height is still set to 2160 and pixel height is still 1080. But if I replace 2160 with 1080 then mpv is OK with it. I will just leave the defaults as is then modify the header.

Ksanto
30th May 2025, 21:43
Hi, firstly thank for the work done. I want to make a Bug report:

I have now tried to convert my PAL 3DBD of Mad Max Fury road to Full frame side by side, three times with different quality settings. Every time between the 30 and 40 min mark, the frames change sides from left to right and vise versa. I have verified that this is indeed the File and not the players fault (using Plex Web and a Pico 4 / Pico 4 Ultra) by also testing it on my PC. Have already searched for this error online but did not find any mentions of this.

DB3D2MK3D Version used: 1.35 (Tcl/Tk 8.6.13 wrapped with freeWrap 6.75)
Windows Version used: Windows 10 (2009 22.12.2020 19045.5854)
Hardware used: i7 3520M
decryption software used: Passkey 9 9.4.7.6

Tell me if I can provide any additional Information that would help identifying the Problem.


Regards
Ksanto

r0lZ
31st May 2025, 08:45
Welcome to the Doom9 forum and thank you for your report, Ksanto.

You are the first person to report that problem. I did Mad Max myself without problem.

Can you disable the hardware acceleration (menu Settings/MVC Decoder/Hardware acceleration)? That's often the cause of similar issues. If that's sufficient, you may need to update your Intel drivers, or continue to decode without hardware acceleration.

If that doesn't work, please let me know and we will try other workarounds.

Enet47
31st May 2025, 10:13
Welcome to the Doom9 forum and thank you for your report, Ksanto.

You are the first person to report that problem. I did Mad Max myself without problem.

Can you disable the hardware acceleration (menu Settings/MVC Decoder/Hardware acceleration)? That's often the cause of similar issues. If that's sufficient, you may need to update your Intel drivers, or continue to decode without hardware acceleration.

If that doesn't work, please let me know and we will try other workarounds.
Apologies to jump on this topic. But I've not been able to get Hardware acceleration working for over a year or more. The only way I used to get it working was by downgrading my video drivers. But with Windows 11 that is no longer possible. Intel have remove all traces of the drivers needed for Quick Sync from the Internet.

r0lZ
31st May 2025, 12:30
Well, I did not know that. Thanks for the information.

Anyway, Ksanto may still have a working Quick Sync driver, so testing with acceleration disabled makes sense. This way, the software version, provided with BD3D2MK3D will be used, and as far as I know, it works fine.

Enet47
31st May 2025, 12:44
Well, I did not know that. Thanks for the information.

Anyway, Ksanto may still have a working Quick Sync driver, so testing with acceleration disabled makes sense. This way, the software version, provided with BD3D2MK3D will be used, and as far as I know, it works fine.
Thanks for the reply. The issue is that Intel changed their hardware encoding interface to oneVPL a few years ago, but your software is still trying to use the old one. Yes the software version works but it is much slower. I'm trying to re-encode over 200 discs and each one takes up to 2 hours when encoding to full-SBS and some are taking 3 hours.

r0lZ
31st May 2025, 17:57
Yes the software version works but it is much slower.
It's not my feeling. I have an AND CPU, but I did some tests with Intel processors (supporting Quick Sync) and without the hardware acceleration, the encoding was only 5 or 6% slower. The encoder requires much more processing power than the decoder and Quick Sync is useful only during the MVC decoding.

I don't know oneVPL at all, and honestly, I'm not sure I will modify BD3D2MK3D (especially because the MVC decoder is not my work) for such a little gain.

Enet47
31st May 2025, 19:01
It's not my feeling. I have an AND CPU, but I did some tests with Intel processors (supporting Quick Sync) and without the hardware acceleration, the encoding was only 5 or 6% slower. The encoder requires much more processing power than the decoder and Quick Sync is useful only during the MVC decoding.

I don't know oneVPL at all, and honestly, I'm not sure I will modify BD3D2MK3D (especially because the MVC decoder is not my work) for such a little gain.
No problem. The issue might be the full SBS resolution slowing things down. Thanks for checking.

Enet47
13th June 2025, 00:40
OK, I did a quick test with the different aspect ratio settings of BD3D2MK3D. Everything seems correct.

First test, with the Full-SBS Aspect Ratio options set to 32:9 and SAR 1:1 (first option for the two settings).

Using the 32:9 AR with SAR 1:1 works perfectly for full-SBS. I've never looked at this setting before because I always left it on default. So I didn't know what you were talking about until today.

r0lZ
13th June 2025, 09:08
Thanks for the confirmation.

Unfortunately, there is no perfect default values, as these settings depend of the player.

Enet47
13th June 2025, 14:44
Thanks for the confirmation.

Unfortunately, there is no perfect default values, as these settings depend of the player.
Your recommendations for full-SBS works well for media players on Windows PC.

Ksanto
29th June 2025, 11:13
Welcome to the Doom9 forum and thank you for your report, Ksanto.

You are the first person to report that problem. I did Mad Max myself without problem.

Can you disable the hardware acceleration (menu Settings/MVC Decoder/Hardware acceleration)? That's often the cause of similar issues. If that's sufficient, you may need to update your Intel drivers, or continue to decode without hardware acceleration.

If that doesn't work, please let me know and we will try other workarounds.
Thank you r0lZ,

that did the trick. I took me some time before I had time to try it, but that's Life happening for you.

I have read about the problems with (lacking) Quick Sync beforehand and my mobile chip is indeed one with it. But as I understood it till now, I thought it was a Problem of not supported hardware whit a configuration trying to use it and not the other way around. I'm on the newest driver version available, so if I wanted to use it, the only viable way probably seams to make a firmware downgrade. Anyway it didn't felt the impact, it even felt marginally faster and I'm happy to have a Chip that still supports SGX (Software Guard Extensions).


Regards
Ksanto

r0lZ
29th June 2025, 12:14
Thanks for the confirmation.
I thought it was a Problem of not supported hardware whit a configuration trying to use it and not the other way around.
No, the default "auto" mode checks if you have a suitable CPU and if it's not the case, it uses the DLL provided with BD3D2MK3D. Of course, if you force the hardware acceleration and you don't have a CPU supporting it, you have the guarantee that the decoding will fail. But in HW enabled mode, the decoding may fait too, as you know now.

Since indeed, the speed gain with hardware acceleration enabled is not major, perhaps I should set the default to software only? I'll think about it...

Enet47
6th July 2025, 11:44
Thanks for the confirmation.
...
It would be very useful if the script would not wait for audio delays when audio has not been muxed with video. I'm doing this a lot at the moment and it's annoying to manually kill the mkvinfo process in Task Manager or wait for about 5 minutes for it to time out. If there is a way I can fix this at my end without you making any changes then that would be even better.

r0lZ
6th July 2025, 12:02
Just to confirm: are you using BD3D2MK3D with MKV files created with MakeMKV ? I suppose so, as I can't imagine a BD without audio ! ;-)

Enet47
6th July 2025, 12:38
Just to confirm: are you using BD3D2MK3D with MKV files created with MakeMKV ? I suppose so, as I can't imagine a BD without audio ! ;-)
I'm ripping and re-encoding 3D movies, most of which don't have Atmos audio. So I rip the video then mux the Atmos audio from a 4K disc after BD3DMK3D conversion.

r0lZ
6th July 2025, 15:16
I see. I will have a look, but I'm currently very busy so I can't guarantee a new version soon. Sorry.

Enet47
6th July 2025, 15:51
I see. I will have a look, but I'm currently very busy so I can't guarantee a new version soon. Sorry.
Thanks. I'm currently re-ripping my whole library of a couple hundred 3d blu-rays. So knowing my luck I will finish the whole lot then before the new version arrives lol. But we all have a real lives to lead so we can only do what we can do. Thanks for the great tool :)

r0lZ
6th July 2025, 18:18
OK, in the meantime, try this. Open the console (menu File -> Shown Console), and type this at the "(BD3D2MK3D) 1 %" prompt :

proc GetBDAudioDelays {a {b true}} {return 0}

This should bypass entirely the procedure to retrieve the audio delays.
I have not tested that trick, but it should work. Please confirm.

If it works fine, you will have to type it each time you launch BD3D2MK3D, or just create a file called "plugin.tcl" with the line above, and put that file in the BD3D2MK3D installation folder (with BD3D2MK3D.exe). Of course, don't forget to remove it and relaunch BD3D2MK3D if you need to process a BD with audio !

[EDIT] You have not confirmed if it's a BD or a MKV you open. In the second case, you have to type this :

proc GetMKVAudioDelays {a} {return 0}

Or, if you want to be sure, just type the two strings !

Enet47
6th July 2025, 20:02
OK, in the meantime, try this. Open the console (menu File -> Shown Console), and type this at the "(BD3D2MK3D) 1 %" prompt :

proc GetBDAudioDelays {a {b true}} {return 0}

This should bypass entirely the procedure to retrieve the audio delays.
I have not tested that trick, but it should work. Please confirm.

If it works fine, you will have to type it each time you launch BD3D2MK3D, or just create a file called "plugin.tcl" with the line above, and put that file in the BD3D2MK3D installation folder (with BD3D2MK3D.exe). Of course, don't forget to remove it and relaunch BD3D2MK3D if you need to process a BD with audio !

[EDIT] You have not confirmed if it's a BD or a MKV you open. In the second case, you have to type this :

proc GetMKVAudioDelays {a} {return 0}

Or, if you want to be sure, just type the two strings !
They are all MKV so I added proc GetMKVAudioDelays {a} {return 0}. At the end of processing I get the error below and only 8 files in the MKV3D folder instead of the usual 24 files. If you are too busy don't worry. I will carry on in the mean time. Thanks again.

Error Message:
list must have an even number of elements
list must have an even number of elements
while executing
"array set audiodelays [GetMKVAudioDelays $mplsfile]"
(procedure "GenerateAvs" line 1648)
invoked from within
"GenerateAvs"
invoked from within
".nbf5.gf.gen invoke "
invoked from within
".nbf5.gf.gen instate !disabled { .nbf5.gf.gen invoke } "
invoked from within
".nbf5.gf.gen instate pressed { .nbf5.gf.gen state !pressed; .nbf5.gf.gen instate !disabled { .nbf5.gf.gen invoke } } "
(command bound to event)

r0lZ
6th July 2025, 21:19
Oops!
Try this :
proc GetMKVAudioDelays {a} {return {0 0}}

Enet47
6th July 2025, 23:00
Oops!
Try this :
proc GetMKVAudioDelays {a} {return {0 0}}
Thank you :)

r0lZ
1st September 2025, 10:40
Here is the new version with a workaround for the wrong tsMuxeR (https://www.videohelp.com/software/tsMuxeR) .eac3 file extension.
Some third-party tools have also been updated to the latest version, but I have NOT tested them carefully. In case of problem, you can install the previous version again (available here: BD3D2MK3D_v1.35.7z (https://download.videohelp.com/r0lZ/BD3D2AVS/BD3D2MK3D_v1.35.7z)).


v1.36 (September 1, 2025)
- Fixed wrong tsMuxeR file extension .ac3+ec3 when extracting a .eac3 audio stream in AVC+MVC MKV input mode.
- Workaround for the long timeout delay when a BD without audio is processed.
- Updated x264 to version 0.165.3222
- Updated x265 to version 4.1+190
- Updated the MkvToolnix (https://www.videohelp.com/software/MKVToolNix) tools to version 94.0 ("Initiate")
- Updated tsMuxeR to version 2.7.0

As usual, you can download the latest version here: BD3D2MK3D.7z (https://download.videohelp.com/r0lZ/BD3D2AVS/BD3D2MK3D.7z)

MegamanXGold
21st September 2025, 20:48
Hello,

1. How can I stretch a Full-SBS 3D MKV to a full 4K frame? I know it's wasteful, but I can't play Full-SBS 1080p, and I don't want to lose quality by going Half-SBS.

2. I'd like to use the NVENC encoder in my RTX 3080 to much more quickly encode to HEVC, though I'd like for the best possible quality settings so it's not much worse than software encode. Is there a way to do that?

Reasons:
Maybe I'm doing something wrong, but my new PC uses a Ryzen CPU, and I can't get MPC-HC and madVr to display my MVC MKVs in SBS on my software EDID (fake/virtual) 4K display in Bigscreen Beta (VR app in Steam).

On my older PC, I had it convinced one of my 1080p monitors is a 1440p screen, and I could notice a significant bump in clarity watching movies. Now I want to go all the way on the new PC but, since I can't seem to play the videos in real-time on the new PC, I would like to convert the files.

The added benefit is that the built-in media player in Bigscreen Beta should be able to play the videos instead of needing to capture a fake screen.

Right now I'm trying to use BD3D2MK3D to create a Full-SBS video then I'll try to re-encode it in ffmpeg with the command
ffmpeg -i input.mp4 -c:v hevc_nvenc -crf 23 -c:a copy -vf scale=iw:2160 output.mp4
(though I imagine there's some stuff I'm going to have to figure out based on how complicated this mess looks (https://docs.nvidia.com/video-technologies/video-codec-sdk/12.0/ffmpeg-with-nvidia-gpu/index.html))

But the first encode is going to take hours because I'm dumb and set it to crf 22 with the slow preset, despite the warning, because I knew I'm going to re-encode the whole thing again and I really don't want to lose perceivable quality.

Thank you

r0lZ
22nd September 2025, 09:19
Welcome to the Doom9 forums, MegamanXGold !

It seems that your two questions are related. You should select Settings > AVC/HEVC Encoder > Use your own custom command for encoding. When that option is enabled, the last tab changes to include a Custom command field where you must specify the command you wish to use. For example, to encode in Half-SBS with nvenc, you should type something like this:

"path\\to\\nvencc\\nvencc64.exe" ^\n --codec avc --cqp 26 --profile high --level 4.1 --preset quality --sar ${sar} ^\n --colorprim bt709 --colorrange limited --chapter chapters_3D_delay.ogm.txt --key-on-chapter ^\n --input "__ENCODE_3D_MOVIE.avs" --output "video3D_nvenc.avc"

Some parameters can be automatically filled by the program, like the SAR with the variable ${sar} in my example above. Have a look at the list of variables. You will see that the video width and height can also be specified with variables but in your case, you can specify them in your command if the program you use to encode is able to resize the video to encode in 4K. However, I have never tested this, and I can be wrong. In case of problems, please let me know.

Of course, deselect the Half- option in the same tab, as otherwise some other parameters will be wrong and the Avisynth will resize the height (or width) of the original picture to half its resolution before your command will upscale it to 4K!

If your encoder doesn't have an option to resize the video, edit manually the file __ENCODE_3D_MOVIE.avs. Notice the line containing the AviSynth StackHorizontal command. It's where the video is resized if necessary (for Half-SBS/TAB) and the two views are joined together. In Half-SBS, the command is this:

StackHorizontal(HorizontalReduceBy2(Left), HorizontalReduceBy2(Right))

The HorizontalReduceBy2 command resizes the video height to half its resolution.
To do the opposite and upscale it to Full-SBS 4K, you should replace this command with the two commands below:

StackHorizontal((Left), (Right))
LanczosResize(7680, 2160)

In other words, if you have correctly deselected the Half option, it should be sufficient to just insert your resize command right below the StackHorizontal command.
(See the Avisynth manual about the resize filters here (https://avisynthplus.readthedocs.io/en/latest/avisynthdoc/corefilters/resize.html).)

I have not verified everything, but method 1 (with the resize done with your own custom encoding command) or method 2 (resize done with Avisynth) should work fine. However, be sure to verify the SAR and Aspect Ratio that work fine for your hardware. That options can be changed in the BD3D2MK3D settings.

Note also that the subtitles in Full-SBS/TAB are problematic, and, I guess, even more problematic in Full-4K. If you really need the subtitles, you may have to "hardcode" them in the last tab. That should work too.

Anyway, your custom command should be able to use your GPU to encode faster. That command is up to you, as I'm not a master in encoding techniques. The nvenc command above uses the GPU but honestly, I don't think the speed gain worth it. The quality is notably less good than with x264 for the same disc size. Anyway, it's your choice.

r0lZ
22nd September 2025, 09:30
But the first encode is going to take hours because I'm dumb and set it to crf 22 with the slow preset, despite the warning, because I knew I'm going to re-encode the whole thing again and I really don't want to lose perceivable quality.

Not sure I understand what you mean here. CRF 22 is not at all a very high quality. IMO, it is a good compromise between disc space and quality but you should use a much lower value (for example around 10) if the result has to be re-encoded, and you have plenty of disc space. CRF 0 is lossless but will produce a huge file size !
Anyway, if you encode directly to the final resolution (as explained in my post above), you don't need to re-encode and the final quality is up to you (and your encoding program).

Happy 3D viewing !

jd
6th November 2025, 00:06
Hi if i understand BD3D2MK3D can not do 3D Full SBS subtitles ?


i did a python script with the help of Grok Ai because i do not know python :)

the script modify the left_eye.xml file and all the png images so they work in Subtitle Edit and then export a working 3D Full SBS sub file

and the 3d Full SBS movie works perfect with the 3d sub on my Xreal One Pro

i have done only 4 3d Blu-ray movies Full SBS 3840x1080 and the subtitles works perfect

Titanic 3D
Avatar 3D
John Carter 3D
Jurassic Park 3D



here is the code


import xml.etree.ElementTree as ET
from PIL import Image
import os

# ----------------------------------------------------------------------
# Parse the XML file
tree = ET.parse('temp_3D_left.xml') # <-- the left_eye.xml file as input
root = tree.getroot()

# Directory where images are stored
image_dir = r"E:\3D\Avatar 3D\MKV3D\MKV3D.track_6_eng.3D_2D" # <-- change if needed

# ----------------------------------------------------------------------
for event in root.findall('.//Event'):
graphic = event.find('Graphic')
if graphic is not None:
# ---- XML values -------------------------------------------------
width = int(graphic.get('Width')) # current image width
orig_depth = int(graphic.get('OrigDepth')) # original depth
image_file = graphic.text # filename
left_x = int(graphic.get('X', '0')) # left padding
y_from_xml = int(graphic.get('Y', '0')) # Y value from XML
orig_height = int(graphic.get('Height', '0')) # original height (fallback 0)

# ---- Calculated spacing between the two copies -----------------
between_x = 1920 - width - orig_depth # gap between copies

# ---- Bottom padding: 1080 - Y - Height -------------------------
bottom_y = 1080 - y_from_xml - orig_height
if bottom_y < 0:
print(f"Warning: Negative bottom padding for {image_file}. Clamping to 0.")
bottom_y = 0

# ---- Load image to get actual dimensions -----------------------
input_path = os.path.join(image_dir, image_file)
output_path = os.path.join(image_dir, image_file) # overwrites original

try:
with Image.open(input_path) as img:
# Ensure RGBA for transparency
if img.mode != 'RGBA':
img = img.convert('RGBA')

orig_w, orig_h = img.size

# Use actual image height if XML Height was missing/inaccurate
if orig_height == 0:
orig_height = orig_h

# ---- Total canvas size -----------------------------------------
total_width = left_x + width + between_x + width
total_height = orig_h + bottom_y # image + bottom padding

# ---- Create new canvas -----------------------------------------
canvas = Image.new('RGBA', (total_width, total_height), (0, 0, 0, 0))

# ---- Paste both copies at the TOP (Y = 0) ----------------------
# First copy
canvas.paste(img, (left_x, 0))
# Second copy
second_x = left_x + width + between_x
canvas.paste(img, (second_x, 0))

# ---- Save ------------------------------------------------------
canvas.save(output_path, 'PNG')

# ---- Verify saved dimensions -----------------------------------
with Image.open(output_path) as saved:
saved_w, saved_h = saved.size

# ---- Update XML: Width and Height -----------------------------
graphic.set('Width', str(saved_w))
graphic.set('Height', str(saved_h))

print(f"Processed {image_file}: "
f"left={left_x}, Y={y_from_xml}, bottom={bottom_y}, "
f"between={between_x}, size={saved_w}x{saved_h}")

except IOError as e:
print(f"Error processing {image_file} with Pillow: {e}")

# ----------------------------------------------------------------------
output_xml = 'modified_3D_Left.xml'
tree.write(output_xml)
print(f"Modified XML saved as {output_xml}")


the "modified_3D_Left.xml" that the script outputs use that then in Subtitle Edit and Export > Bly-ray sub...
next i change the Video res to 3840 x 1080 and Align Left and the i klick Export all lines...


this script does only work if you crop the movie to the film frame so no black borders otherwise the script needs more modification i think not sure

here are some screenshot

r0lZ
6th November 2025, 12:25
Interesting and thanks for sharing your finding and your script. That can be useful to others.

Also, welcome to the Doom9 forums !

But note that although the subtitles are supported by your Xreal One Pro, subtitles with that width are not legal. Even in 2D UHD BD, the maximum width of a subtitle is 1920 (Full-HD width). They are supposed to be resized to UHD resolution at play time. However, I may admit that this limitation is artificial and that probably more and more hardware or software players will accept subtitles in UHD resolution in the future, if it's not already the case. But the fact is also that many players will reject them.
this script does only work if you crop the movie to the film frame so no black borders otherwise the script needs more modification i think not sure
Here, I do not agree. It's exactly the opposite. The 3D movies must never be cropped, exactly because otherwise the subtitles will not be placed at the right height in the picture, and that means that they may enter in foreground objects. (There are many other reasons to never crop a 3D movie, but not related to the subtitles.) Anyway, the Y position of the subtitles in the original XML produced by BD3D2MK3D are the correct positions for the non-cropped frame. If you crop the picture, you should modify the Y pos in the XML too... unless your player places the subtitles relatively to the bottom of the TV border instead of the bottom of the cropped image. As you can see, cropping a movie (even in 2D) introduces difficulties that are never present if you keep the frame unchanged.

I have also a question about SubtitleEdit. I don't understand how you can export directly the imported XML/PNG to BD Sup format. As far as I know, SubtitleEdit can only convert text subtitles to several graphic formats like BD Sup, but it cannot export a graphic format to another graphic format. Am I wrong ?

jd
6th November 2025, 17:20
Interesting and thanks for sharing your finding and your script. That can be useful to others.

Also, welcome to the Doom9 forums !


Thanks :)

forgot to say that the 3D Full SBS movies with this method subtitles works on Jellyfin app and direct on jellyfin through web browser Xreal One Pro and it work to if i look Crossed eyes on the screen i see then 3 screens but the middle is the 3D hehe no need Xreal One Pro :) here is a Youtube clip what i mean
https://www.youtube.com/watch?v=zBa-bCxsZDk

when i did the trial and error to get 3d subs to work i did use the Crossed eyes method it was faster to see if it works :)


I have also a question about SubtitleEdit. I don't understand how you can export directly the imported XML/PNG to BD Sup format. As far as I know, SubtitleEdit can only convert text subtitles to several graphic formats like BD Sup, but it cannot export a graphic format to another graphic format. Am I wrong ?


i just drop in the "modified_3D_Left.xml" to Subtitle Edit then Right Mouse Button Export > Bly-ray sub...

here is a screenshot

r0lZ
6th November 2025, 17:59
Cross-eyes technique ! Damned ! I forgot that. IMO, it's a pain, but indeed it's fast, and you don't need special equipment !

Thanks for the info about SubtitleEdit. But unfortunately, it is not possible to implement your method in BD3D2MK3D. The first steps can certainly be implemented, but the conversion from the final XML/PNG to BD Sup cannot be automated with SubtitleEdit, because it has no command-line option to do such a complex conversion, and BDSup2Sub cannot handle UHD subs. Pity. And anyway, honestly, I'm becoming old and I don't want to continue to implement new things in my programs, especially when they are not useful to many users. (BTW, do you know that you can easily "hardcode" your subtitles on the image with the option in the last tab ?)

But if you want, I can certainly add a link to your post above in the BD3D2MK3D home page so that peoples interested in UHD subs will be able to do it. Thanks again !

jd
6th November 2025, 18:24
But unfortunately, it is not possible to implement your method in BD3D2MK3D

ok :)

(BTW, do you know that you can easily "hardcode" your subtitles on the image with the option in the last tab ?)

yes i did that to the Avatar 3D movie first and of course it works perfect :)

But if you want, I can certainly add a link to your post above in the BD3D2MK3D home page so that peoples interested in UHD subs will be able to do it.

i have only done 4 3D movies yet and it have worked but not sure if it works on all but you can do that if you want :) i have now maybe 20 3D movies so going to test more :)

r0lZ
6th November 2025, 18:46
i have only done 4 3D movies yet and it have worked but not sure if it works on all but you can do that if you want :) i have now maybe 20 3D movies so going to test more :)
I see no reason to suspect that it will not work for the other subtitles (unless of course when BD3D2MK3D cannot convert then to Half-SBS, but that's rare, except for special subtitles such as karaoke).

I'll add a link on the home page soon. Thanks again.

jd
6th November 2025, 18:53
ok :)

subx
10th November 2025, 23:07
My first time using BD3D2MK3D, and I'm encountering an issue. Perhaps I'm missing something obvious.

File creation seems to go fine, but running __ENCODE_3D_LAUNCHER.cmd immediately fails.

Under Windows 11 this happens:

C:\incoming\Tron\MKV3D>"C:\incoming\BD3D2MK3D\toolset\avs2yuv64.exe" "__ENCODE_3D_MOVIE.avs" -frames 180028 -o - | "C:\incoming\BD3D2MK3D\toolset\x265_x64.exe" --output-depth 10 --crf 24 --preset slow --sar 1:1 --range limited --colorprim bt709 --qpfile chapters_3D.qpfile --frames 180028 --fps 24000/1001 --output "MKV3D_3D.265" --y4m -
error:
(__ENCODE_3D_MOVIE.avs, line 20)
x265 [error]: unable to open input file <->


__ENCODE_3D_MOVIE.avs, line 20 (both of the files are in the MKV3D folder)

interleaved = FRIMSource("mvc", "MKV3D.track_1.264", "MKV3D.track_1.mvc", layout = "alt", num_frames = 180028, cache = 2, platform = "")


I tried it on an older Windows 10 machine, and it failed at the same point, but with a different error:

C:\temp\Tron\MKV3D>"C:\temp\BD3D2MK3D\toolset\avs2yuv64.exe" "__ENCODE_3D_MOVIE.avs" -frames 180028 -o - | "C:\temp\BD3D2MK3D\toolset\x265_x64.exe" --output-depth 10 --crf 24 --preset slow --sar 1:1 --range limited --colorprim bt709 --qpfile chapters_3D.qpfile --frames 180028 --fps 24000/1001 --output "MKV3D_3D.265" --y4m -
__ENCODE_3D_MOVIE.avs: 1920x1080, YV12, 8-bits, progressive, 24000/1001 fps, 180028 frames
error: wrote only 3085668 of 3110400 bytes


The only similar error I found in this thread seemed to be caused by a non ASCII character in the file path, but that isn't the case for me.

Maybe I'm missing a dependency? Do I need anything other than BD3D2MK3D 1.36 and AviSynth+ 3.7.5?

r0lZ
11th November 2025, 11:04
Welcome to the Doom9 forum, subx!

Hum, strange.

The error with the second try can be caused by a damaged input file (the BD ISO or the source AVC+MVC MKV). This happens usually when there is a glitch in the video stream. In that case, the decoder must skip some frames and the total number of frames to encode is wrong. You can try to mux the final MKV but usually there will be a difference between the left and right views (and possibly also with the audio) , making the movie a pain to watch. Try to re-rip the original BD.

I suppose you have verified that you have enough disc space. Right? That can also explain the second error.

Also, I see that avs2yuv is used. It is necessary when only the 32-bit version of avisynth is installed. Try to install the 64-bit version of avisynth+ (https://github.com/pinterf/AviSynthPlus/releases). You can verify the versions recognised by BD3D2MK3D with Help -> Avisynth version.
(BTW, it seems that v3.7.4 is the latest official stable release. Perhaps v3.7.5 has a bug?)

Sorry, I can't help much more.

subx
11th November 2025, 16:13
Thanks for the quick response.


The error with the second try can be caused by a damaged input file ... Try to re-rip the original BD.
I ripped a different BD to hopefully try and rule out both bad rip and bad disc, but got the same result.


I suppose you have verified that you have enough disc space. Right?
I'm hoping over 100Gb is enough!


Try to install the 64-bit version of avisynth+ (https://github.com/pinterf/AviSynthPlus/releases). ... v3.7.4 is the latest official stable release
Hmm, I only had the 64bit version installed - but this has reminded me that I installed the main fork version:
https://github.com/AviSynth/AviSynthPlus/releases/
rather than the fork you've linked to:
https://github.com/pinterf/AviSynthPlus/releases/

Is there an important difference between the two? (if so, how do you install the pinterf version since there doesn't appear to be an installer?)

r0lZ
11th November 2025, 18:00
Is there an important difference between the two? (if so, how do you install the pinterf version since there doesn't appear to be an installer?)
Honestly, I don't know. Your version should work fine, but I don't understand why BD3D2MK3D doesn't recognise it. Have you tested Info -> avisynth version ? Please post the result here. (Ctrl-C to copy the content of the dialog.)

subx
11th November 2025, 20:00
I don't understand why BD3D2MK3D doesn't recognise it. Have you tested Info -> avisynth version ? Please post the result here.

I think it does recognise it...


---------------------------
BD3D2MK3D
---------------------------
AviSynth 32 Bit: AviSynth+ 3.7.4 (r4273, 3.7, i386) (3.7.4.0)
AviSynth+ 32-bit is supported by BD3D2MK3D.

AviSynth 64 Bit: AviSynth+ 3.7.4 (r4273, 3.7, x86_64) (3.7.4.0)
AviSynth+ 64-bit is supported by BD3D2MK3D.


I tried swapping to 3.7.4 (main fork) but it made no difference.

I've attached the BD3D2MK3D settings I used, in case I've missed something obvious there.

Enet47
6th December 2025, 03:22
I'm using this command in the AVS encode file:

interleaved = FRIMSource("mvc", "MKV3D.track_1.264", "MKV3D.track_1.mvc", layout = "alt", num_frames = 193562, cache = 2, platform = "sw")

But I'm still getting this error:
x264_x64.exe" --output-depth 8 --crf 16.5 --preset slow --tune film --aq-mode 3 --sar 1:1 --range tv --colormatrix bt709 --frame-packing 3 --qpfile chapters_3D.qpfile --frames 193562 --fps 24000/1001 --output "MKV3D_3D.264" "__ENCODE_3D_MOVIE.avs"
avs [error]: ERROR: Cannot initialize Intel Media SDK session.

r0lZ
6th December 2025, 09:55
Hum, strange. Is it the first time you use BD3D2MK3D? If yes, then be sure to install BD3D2MK3D correctly. When you extract the files from the archive, be sure to keep the original structure, with the sub-directories.

Also, try to modify the avisynth command from platform = "sw" to platform = "hw". Usually, using the hardware decoder is less secure (and it might even fail totally if you don't have a supported Intel processor) but who know?

Enet47
6th December 2025, 13:01
Hum, strange. Is it the first time you use BD3D2MK3D? If yes, then be sure to install BD3D2MK3D correctly. When you extract the files from the archive, be sure to keep the original structure, with the sub-directories.

Also, try to modify the avisynth command from platform = "sw" to platform = "hw". Usually, using the hardware decoder is less secure (and it might even fail totally if you don't have a supported Intel processor) but who know?
All working now. The set path command at the beginning of the Encode file was pointing to the wrong directory. So it looks like your program defaults to HW by default? Thanks for the response.

BTW AMD CPUs with AVX512, encode around twice as fast as Intel. Strange but preset "slow" is sometimes encoding faster than preset "medium".

r0lZ
7th December 2025, 12:33
Thanks for the confirmation. Just to be sure, do you know why a wrong directory was used? Is it a bug of BD3D2MK3D?

No, by default, BD3D2MK3D uses the automatic detection of the hardware acceleration. If a CPU supporting it is detected and the Intel drivers are correctly installed, it will use HW. Otherwise, SW is used. But IMO SW is safer. The Intel drivers are sometimes buggy and I trust at 100% only the SW version provided with BD3D2MK3D.

I'm not sure the names of the presets are good choices, as indeed the speed is not always what the user may expect. However, with a slower preset, the encoding is more complex and therefore usually slower. Note also that the decoding is also more complicated and using a very slow preset may cause playback problems on old hardware players.

Enet47
7th December 2025, 12:44
Thanks for the confirmation. Just to be sure, do you know why a wrong directory was used? Is it a bug of BD3D2MK3D?

Wrong directory.


No, by default, BD3D2MK3D uses the automatic detection of the hardware acceleration. If a CPU supporting it is detected and the Intel drivers are correctly installed, it will use HW. Otherwise, SW is used.

Well on my AMD machine it definitely chooses HW even though the command was set for SW. This happened every single time it failed because of the wrong folder.


I'm not sure the names of the presets are good choices, as indeed the speed is not always what the user may expect. However, with a slower preset, the encoding is more complex and therefore usually slower. Note also that the decoding is also more complicated and using a very slow preset may cause playback problems on old hardware players.
The presets are pretty decent choices based on the devs experience and feedback. Because of the more complex encoding, Slow preset should always be slower than Medium preset. But I'm finding that is not always the case. Sometimes it's about the same, other times it is faster. I think the AVX512 extensions are making a very large difference but maybe 3D cache also helps?

Hazmu
17th April 2026, 00:09
Hi, thank you for your tool, been using it for years to clone subtitles positions and depth and then use them on MVC MKV (with tsmuxer) and also to convert a few movies to Full-TAB and it's great.
But I have a question that is a little unrelated...Is there a way to use it to export the left and right streams into separate h.264 videos so I can edit them in Adobe programs?

r0lZ
17th April 2026, 08:21
Welcome to the Doom9 forum, Hazmu, and thanks for your positive appreciation of BD3D2MK3D!

Sorry, it is not possible to export directly the two views as 2 independent streams. However, you can export as Frame Sequential (stereoscopy option in the last tab). It should be easy to modify the Avisynth script to export only one view, then modify it again to export the other view. But note that you will obtain two video streams with no simple way to join then to create a SBS, TAB or Frame Sequential video. Unfortunately, I don't think that a tool exists to do that. It's certainly possible with Avisynth, but you will have to re-encode the video a second time.

Also, your modifications with Adobe will have to be exactly identical in the two views and respect the correct horizontal displacement to be compatible with the 3D depth. IMO, that will be very difficult!

If you really want to try that method, let me know and I'll explain how to modify the AVS script to create the two streams. The rest will be up to you!

xerno
29th April 2026, 09:49
Hi just wanted to say fsbs subtitles works when playing them on vlc, potplayer and mpc be without issues.

BD3D
15th May 2026, 09:19
I would like to encode my 3D BR collection with BD3D2MK3D with full HD resolution.
Which encoder and settings would you suggest to obtain the best compatibility and which players do support 3D?

r0lZ
15th May 2026, 10:13
BD3D2MK3D supports natively the two best encoders currently available : x264 and x265. The 3D SBS standard is of course the best option for the compatibility. It imposes Half-SBS or Half-TAB encoded in h264. But if you want to produce a Full-SBS (or FullgTAB) video, the standard is not respected anyway. Note that many 3D TVs (especially the first models) are unable to display Full-SBS (comparable to UHD in terms of buffer size and speed requirement).

The remaining question is the choice of the encoder. Since h264 is recommended, x264 is the best choice for compatibility. It is compatible with all 3D TVs, including the older models, as long as level 4.1 is used, but if it is able to encode in Full-SBS, that requires at least level 5, not compatible with most TVs. However, all Ultra-HD TVs support the h265 encoding. X265 is able to compress much more than x264 with an equivalent quality (but the encoding process is much slower). However take in mind that the UHD TVs are almost never able to display 3D content.

Currently, no 3D TVs are produced anymore, but there are alternatives such as video projectors, computers with a large screen and a good 3D video card, or 3D lenses. Honestly, I don't know that hardware very well, but I guess that recent solutions should accept Full-SBS and h265 without problem.

Note also that the complexity of the encoding (mainly controlled with the "speed" parameter) has also a slight influence on the compatibility. A complex (slow) encoding produces a video that is also more complex to decode. Therefore, a video encoded with a very slow speed option may be difficult to play with an old hardware, especially if it is equipped with old and slow processors.

In summary, the only choice for perfect compatibility is Half-SBS encoded with x264 at maximum level 4.1 and medium speed. In the other hand, the better quality is Full-SBS encoded with x265 at minimum level 5.0 (at placebo speed if you really want to compress very much). Unfortunately, it is impossible to combine the two options.

BD3D
15th May 2026, 10:47
Wow that was a quick and extensive answer.
Thanks a lot r0lZ.
I think I better stay with MakeMKV and an Rapsberry Pi 2 with an old KODI which support 3D.
Storage is not an issue nowadays and so I can be shure to have the best quality without encoding every 3D-BR.

smd9
20th May 2026, 20:16
Hi. I'm having an issue in running this program for the first time. I mounted the disc ISO, selected all my settings in the GUI and let it go. It finished doing its thing, then told me to run __ENCODE_3D_LAUNCHER.cmd. When I do that, however, I get an error message right away saying "Error: The type of file '00800_3D.264' could not be recognized." when trying to run MKVMerge. An tips on how I can fix this?

Here's some of the output I'm seeing in the command prompt window:

<path>\BD3D2MK3D\toolset\x264_x64.exe" --output-depth 8 --crf 16 --preset medium --sar 1:1 --range tv --colormatrix bt709 --frame-packing 3 --qpfile chapters_3D.qpfile --frames 129432 --fps 24000/1001 --output "00800_3D.264" "__ENCODE_3D_MOVIE.avs"
Encoding finished

<path>\BD3D2MK3D\toolset\mkvmerge.exe" @__MUX_3D_OPTIONS.json | "<path>\BD3D2MK3D\toolset\tee.exe" "00800_3D.mkvmerge.log"
mkvmerge v94.0 ('Initiate') 32-bit
Error: The type of file '00800_3D.264' could not be recognized.

r0lZ
20th May 2026, 22:25
Hum, not sure. I guess the encoding was not successfull, but why? What is the file size of 00800_3D.264?

You can try to disable the hardware acceleration. If you hane an Intel CPU, it can be the culprit. Also, verify if you have enough file size on your hard disc.

smd9
21st May 2026, 04:54
Hum, not sure. I guess the encoding was not successfull, but why? What is the file size of 00800_3D.264?

You can try to disable the hardware acceleration. If you hane an Intel CPU, it can be the culprit. Also, verify if you have enough file size on your hard disc.

00800_3D.264 is 0kb. There is another file in the folder called 00800.track_4113.264 that's 20GB.
I have plenty of space on the drive (over 200GB), so that shouldn't be an issue.
In any case, I disabled hardware acceleration in the decoder and it looks like that fixed it. Thanks!

r0lZ
21st May 2026, 08:46
In any case, I disabled hardware acceleration in the decoder and it looks like that fixed it. Thanks!
If you want to try again with the hardware acceleration enabled, try to update your Intel drivers. That might be sufficient, but without guarantee.

Hazmu
21st May 2026, 23:16
Welcome to the Doom9 forum, Hazmu, and thanks for your positive appreciation of BD3D2MK3D!

Sorry, it is not possible to export directly the two views as 2 independent streams. However, you can export as Frame Sequential (stereoscopy option in the last tab). It should be easy to modify the Avisynth script to export only one view, then modify it again to export the other view. But note that you will obtain two video streams with no simple way to join then to create a SBS, TAB or Frame Sequential video. Unfortunately, I don't think that a tool exists to do that. It's certainly possible with Avisynth, but you will have to re-encode the video a second time.

Also, your modifications with Adobe will have to be exactly identical in the two views and respect the correct horizontal displacement to be compatible with the 3D depth. IMO, that will be very difficult!

If you really want to try that method, let me know and I'll explain how to modify the AVS script to create the two streams. The rest will be up to you!

Sorry, forgot about this lmao
Yeah, if you can tell me how to modify it that would be great, thanks!

I wanna experiment to see if I can mask out the localized Spanish texts of the Spider-verse Bluray and add them to the 3D Bluray that only has English texts, so I plan to track the text boxes and keyframe what I have to and then reencode it back to MVC if possible

r0lZ
27th May 2026, 15:59
OK. Sorry for the late reply, the weather is too shiny here to spend much time on a computer !

So, as I wrote, begin by generating a project in frame sequential stereoscopy mode and with the x264 encoder at level 5.0. Since you will have to re-encode the video a second time, I suggest to use a very high encoding quality (a very low CRF value in the last tab).

When done, edit __ENCODE_3D_MOVIE.avs in a text editor. The interesting lines are this :

left = SelectEven(interleaved)
right = SelectOdd(interleaved)

# Hardcode subtitles
##left = VobSub(left, "subtitle_to_hardcode_left.sub")
##right = VobSub(right, "subtitle_to_hardcode_right.sub")
#left = SupTitle(left, "subtitle_to_hardcode_left.sup")
#right = SupTitle(right, "subtitle_to_hardcode_right.sup")

# Build Frame Sequential stream
Interleave(left, right)
AssumeFPS(48000/1001.0)

# Return the 3D clip.
Return(last)#.Info()

Note that the left and right lines can be inverted if the BD is encoded differently. Also, the lines below # Hardcode subtitles are commented out, because I have assumed that you don't need the subtitles within the video.

The lines to modify are below. Remove the # Build Frame Sequential stream section (in red) and replace the last line with Return(left)
Of course, to encode the right view, you should replace it with Return(right)
At this point, you have an avisynth script that can export one of the two views.

Edit also __ENCODE_3D.cmd.

echo Encoding started %date% %time%
@echo on

"D:\Tcl\work\BD3D2MK3D\toolset\x264_x64.exe" --output-depth 8 ^
--crf 5 --preset slow --level 5.0 --vbv-bufsize 168750 --vbv-maxrate 168750 ^
--sar 1:1 --range tv --colormatrix bt709 ^
--frame-packing 5 --qpfile chapters_3D.qpfile --frames 3592 --fps 48000/1001 ^
--output "00000_3D.264" "__ENCODE_3D_MOVIE.avs"
@echo off
echo Encoding finished %date% %time%

REM Optionnaly mux the video and demuxed streams to MKV.
REM Note: The mux is disabled if no streams are demuxed.
if exist "__MUX_3D.cmd" cmd /c "__MUX_3D.cmd"

REM Everything done: do the post-processing (Shutdown computer...)
if exist "__POSTPROCESS_3D.cmd" cmd /c "__POSTPROCESS_3D.cmd"
exit /B

Here again you should remove the red lines (the --frame-packing and --qpfile arguments, necessary only for frame-sequential output, and the whole section to mux the final MKV file.
You should also modify the arguments in bold:

--frames 3592 : Just divide the number of frames by 2. (In my example - a very short clip - you should replace 3592 with 1796.) Note that this argument is used by the encoder only to display the progress in % and the remaining time of the encoding. You can also simply remove --frames 3592 completely, but you will lose the progress feedback.

--fps 48000/1001 should be replaced with --fps 24000/1001 (It's the real frame rate.)

--output "00000_3D.264" should be replaced with the file name you wish to use for the view currently encoded (for example --output "left.264").

Now, you can encode the first view by launching __ENCODE_3D_LAUNCHER.cmd.
When done, edit again the two files to change the name of the view in the last line of the AVS script and the --output argument in the CMD from left to right. Encode again. That's all.

Note that it is theoretically possible to encode only the dependent view, and demux the main view from the original M2TS file. That will be faster, but I don't think it's a good idea, as the video quality of the two views will be slightly different, and that may introduce some problems in the final BD. If you want to try anyway, have a look in the first tab of BD3D2MK3D. The second stream, MVC, is the dependent view. It is usually the right-eye, but not always. You can encode only that view. To know what M2TS file contains the main view, use Tools -> Dependent view (MVC) file list. The M2TS file is the first one shown in the last line of the dialog. (It's usually the biggest file in the BD.) You can demux the 264 file from, say, H:\BDMV\STREAM\00000.m2ts with mkvtoolnix.

Now, you will have the big job to do: modify the two views, and re-create a working BD from the two modified video streams and other streams taken from the M2TS file of the main view. As I told you, I can't help you for this. Good luck !

r0lZ
21st July 2026, 15:27
Finally, there is a new version of BD3D2MK3D.

I did it because a new and very good MVC decoder is available. Jens Duttke (https://github.com/jens-duttke) is its author and he did a handy Avisynth plugin, compatible with BD3D2MK3D without too much work. It has also the big advantage that it is not dependent of an external API such as the Intel decoder. It should therefore work well without having to install some drivers and may even be compatible with BD3D2MK3D running under Linux and Wine HQ. It doesn't use the Intel hardware acceleration but it is really fast.

To select the new decoder, be sure to install Avisynth+ x64 (https://avs-plus.net/), then use Settings -> MVC Decoder -> Use Jens MVCSource.

Please note that this new MVC decoder requires Avisynth+ 64-bit. It you have not installed it, you can continue to use FRIMSource.


v1.37 (July 18, 2026)
- Added a new MVC decoder for Avisynth+ x64, made by Jens Duttke. Thanks Jens ! https://github.com/jens-duttke/mvc-source
- Updated x265 to version 4.1+239-8be7dbf (GCC AVX2)
- Updated the Mkvtoolnix tools to v100.0 ('Do Hot Girls Like Chords')


As usual, donwload the latest BD3D2MK3D version here (https://download.videohelp.com/r0lZ/BD3D2AVS/BD3D2MK3D.7z) or visit the BD3D2MK3D home (https://download.videohelp.com/r0lZ/BD3D2AVS/).
Have fun with your 3D movies!

P.S.: Jens is also the author of Oku3D (https://oku3d.com/), a fun media player that can turn any 2D movie to 3D with the help of some AI magic.

Columbo
21st July 2026, 16:38
We've been working with Jens on it. There's only one thing that still needs doing that he will get to soon. When feeding separate base and mvc streams, recovery point SEIs (RPSs) are not indexed, while if a combined stream is input RPSs are indexed. In practice it means for separate streams, seeking can be very slow for some sources. No biggie, Jens is gonna fix that.

Kudos to Jens for this amazing accomplishment. Runs on linux too! Avisynth+ and Vapoursynth supported.

r0lZ
21st July 2026, 18:39
Yes, I know that Jens is still working on the seek problem. Luckily, BD3D2MK3D doesn't need that feature, since the encoding is made frame by frame. Thanks anyway for the information.

r0lZ
21st August 2026, 11:40
This version is mainly a bug fix. When opening a 3DBD or a 3D MKV from the command line, the program crashed. (Bug reported here (https://forum.videohelp.com/threads/395498-BD3D2MK3D-Convert-3D-BDs-or-MKV-to-3D-SBS-TAB-or-FS-MKV-Support-thread/page20#post2802210). Thanks BenMcLean!)


v1.38 (August 21, 2026)
- Fixed bug when opening a 3DBD or 3D MKV from the command line. (Thanks BenMcLean!)
- Updated the Jens MVC decoder (libavsmvc.dll) to v8.0. (Thanks Jens!)
- Updated x265 to v4.3+13-fe9bc85 GCC


Download the latest version here (https://download.videohelp.com/r0lZ/BD3D2AVS/BD3D2MK3D.7z) or visit the BD3D2MK3D home (https://download.videohelp.com/r0lZ/BD3D2AVS/index.html#download).

r0lZ
21st August 2026, 17:36
I have fixed a problem with the option to encode immediately. It encoded in x264 or x265 anyway, even if the custom encoder was selected in the settings. Now, the custom encoder is used if you tick the option in the little progress dialog shown when the project is generated and the custom encoder is selected in the settings. (The message of the option shows also if x264, x265 or the custom encoder is used.) Thanks again BenMcLean! (https://forum.videohelp.com/threads/395498-BD3D2MK3D-Convert-3D-BDs-or-MKV-to-3D-SBS-TAB-or-FS-MKV-Support-thread/page20#post2802381)

I have also discovered that the new x265 exes trigger a virus warning by Windows Defender. I guess that it's a false positive (as usual with M$), but it's annoying anyway, so I have decided to revert to the version distributed with v1.37. It's also why I have released this new version as soon as possible.


v1.39 (August 21, 2026)
- The option to "Exit and encode after successful demux" launches now the custom command if that encoder is selected in the options. (Thanks again BenMcLean!)
- Reverted to v4.1 of x265 because v4.3 triggers a (probably false positive) virus warning in Windows defender.


Download the latest version here (https://download.videohelp.com/r0lZ/BD3D2AVS/BD3D2MK3D.7z) or visit the BD3D2MK3D (https://www.videohelp.com/software/BD3D2MK3D) home (https://download.videohelp.com/r0lZ/BD3D2AVS/index.html#download).

thxoptimizer
22nd August 2026, 07:58
Hello;
I have updated to the latest version and selected Use Jens MVCSource. If I understand that's the only initial settings to change

I have a question : I extracted a MKV with MakeMKV selecting this
https://i.ibb.co/842GW0Mw/Make-MKV.jpg
Then I see this in B23D2MK3D (but it's also in MKV : when reading the MKV in VLC, I noticed that track6 is empty(!) so finally the right choice was track5)
https://i.ibb.co/pBTxft9s/BD3-D2-MK3-D.jpg


So I randomly choose at the last screen to choose 6 (bad choice, I have to restart conversion)
https://i.ibb.co/9mvDqNZ3/BD3-D2-MK3-D2.jpg

r0lZ
22nd August 2026, 12:16
And what is your question?
Anyway, BD3D2MK3D cannot guess that a track is empty (probably as well as MakeMKV).