View Full Version : BD3D2MK3D v1.36: 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.36.
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.
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.
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.
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
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.
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...
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!
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.