View Full Version : BD3D2MK3D v1.17: Convert 3D BDs or MKV to 3D SBS, T&B or Frame-sequential MKV
slavanap
4th February 2016, 14:51
Right. I did a test, and my method doesn't work.
[EDIT] Just tested with your method and it doesn't work either. The computer goes to sleep when it is encoding. I'm puzzled.
[EDIT2] Tried again today, because yesterday Windows Update was working in the background, and it may have influenced the result, but I have the same result now. The computer goes to sleep anyway. So, it appears that either BlockSleep doesn't work, or there is something special with cmd.exe. Could it be because cmd.exe is loaded from system32 and is therefore a 64-bit program, but the main x264 process is 32-bit? Anyway, the CMD window is not closed, so I assume that its process remains active, and BlockSleep should work. I don't understand.
Well, let's figure that out. I guess, this info will be useful to other users that's why I post in in the thread instead PMing you.
Please, run "powercfg -requests" under administrator 2 times (when blocksleep is running and when it's not) and post its output or PM it to me. "powercfg -requests" shows what processes/drivers/etc. blocks computer to go sleep. Moreover, if you're using a notebook, then go to "Explorer -> right click Computer -> Manager -> expand Event Viewer -> Windows Logs -> System" and see if there're recent messages with source UserModePowerService coming and what process generates them. Note, when this message appears, then sleep timer resets, so your computer may never go to sleep or go to sleep by explicit external call (which still logs in Event Log). Usually, some third-party notebook related programs can influence Windows power settings behavior.
[ADDED] I have this output (first is for running blocksleep, second if it's not running). Btw, don't forget to check your selected power plan settings.
P.S. Here's a thread @ sevenforums (http://www.sevenforums.com/performance-maintenance/333391-sleep-mode-stopped-occurring-automatically.html) that shows how to deal with issue when auto sleep does not work.
http://s30.postimg.org/heccxyv74/Untitled.jpg
r0lZ
4th February 2016, 17:22
To do my tests, I use the "Power saver" plan, modified with the "Turn off the display" and "Put the computer to sleep" options both set to 1 minute. The power plan itself works fine. The display turns black after exactly 1 minute, and the computer goes to sleep between 10 and 50 seconds later. (I don't know why there is an additional variable delay, but that's acceptable.)
I have also noticed that Foobar2000 blocks the computer from going to sleep during the playback of a song. That works fine, and it's reported by powercfg -requests, so it's not something wrong with the way my computer sleeps. Of course, for my tests, I have to stop Foobar2000.
Before and after launching the __ENCODE_3D.cmd batch with BlockSleep, powercfg -requests displays this:
DISPLAY:
None.
SYSTEM:
None.
AWAYMODE:
None.
Also, the result is identical with or without the c:\windows\system32\cmd.exe /c trick.
I have also used BlockSleep with a simple DOS command:
D:\BD3D2MK3D\toolset\BlockSleep.exe c:\windows\system32\cmd.exe /c pause
And in that precise case, powercfg -requests reports correctly this:
DISPLAY:
None.
SYSTEM:
[PROCESS] \Device\HarddiskVolume6\BD3D2MK3D\toolset\BlockSleep.exe
AWAYMODE:
None.
Obviously, BlockSleep doesn't block the computer from going to sleep, but apparently only when __ENCODE_3D.cmd is launched. Now, the question is: why?
slavanap
4th February 2016, 17:47
How do you launch blocksleep with __ENCODE_3D.cmd ?
I hope you launch it like this:
blocksleep.exe c:\windows\System32\cmd.exe /c call __ENCODE_3D.cmd
r0lZ
4th February 2016, 17:59
No, no "call". But I've found why it doesn't work. And you will not believe me! It's really totally immensely strange! So Microsoft!
This command doesn't work:
start /low "D:\BD3D2MK3D\toolset\BlockSleep.exe" c:\windows\system32\cmd.exe /c __ENCODE_3D.cmd
But this one works fine:
start /low D:\BD3D2MK3D\toolset\BlockSleep.exe c:\windows\system32\cmd.exe /c __ENCODE_3D.cmd
The ONLY difference are the quotes around "D:\BD3D2MK3D\toolset\BlockSleep.exe" ! :eek:
How is it possible!
Anyway, even if removing the quotes works in this case because there is no space in the path, I can't assume that it will work everywhere. So, currently, it is not possible to use BlockSleep with BD3D2MK3D. Or is it another trick to avoid the problems inherent to the bad programming of windows and CMD.exe?
[EDIT] BTW, the cmd.exe /c trick is not necessary. Same for the "call" command. As long as there are no quotes around the BlockSleep command, it works. This one works fine:
start /low D:\BD3D2MK3D\toolset\BlockSleep.exe __ENCODE_3D.cmd
r0lZ
4th February 2016, 18:27
Yeah! I've found a solution to avoid the problem of the quotes. This script works fine:
set path=%PATH%;D:\BD3D2MK3D\toolset
start /low BlockSleep.exe __ENCODE_3D.cmd
It's strange anyway. Perhaps you can find a solution to avoid the quotes bug from within BlockSleep itself, although I don't need imperatively a fix to use it with BD3D2MK3D.
slavanap
4th February 2016, 20:40
There's easier way to do the same thing. After reading "help start" documentation I got this working:
blocksleep.exe c:\windows\System32\cmd.exe /c start /low /b /wait __ENCODE_3D.cmd
although I advice to use this code snippet to guarantee that cmd.exe will be picked up from current Windows installation (defaults to c:\Windows\System32\cmd.exe)
for %%i in (cmd.exe) do set "cmd=%%~$PATH:i"
blocksleep.exe %cmd% /c start /low /b /wait __ENCODE_3D.cmd
P.S. blocksleep does not consume any CPU time anyway.
r0lZ
4th February 2016, 21:23
Indeed, that work with or without quotes. But I prefer my method, because Control-C doesn't work with yours (due to the /B argument). And anyway, adding the path to the toolset in the %PATH% variable doesn't hurt. I need it anyway.
I still don't understand why the quotes make it fail, especially because it's only a problem with my syntax and not with yours! :confused:
And to determine the cmd.exe path, I will probably use another method. I can retrieve it with BD3D2MK3D with the command
where cmd.exe
It is probably also possible to use the ComSpec environment variable. On my machine, %ComSpec% is exactly C:\Windows\system32\cmd.exe
However, I don't know if it can point to another exe on some systems.
slavanap
4th February 2016, 22:17
Yes, %ComSpec% is good way to call cmd.exe. Please use it instead my method. Also, this one
start /low "D:\BD3D2MK3D\toolset\BlockSleep.exe" %COMSPEC% /c __ENCODE_3D.cmd
works on my PC if I put it in .bat file. Maybe you need to escape " quotes in TCL?
[ADDED] I advise to add your path at the beginning of PATH variable,
set PATH=D:\BD3D2MK3D\toolset;%PATH%
because scanning for executables in PATH starts from the beginning, e.g. if you have
set PATH=%PATH%;D:\BD3D2MK3D\toolset
and there's blocksleep.exe in folder, that is in %PATH% then that first executable will be started (i.e. not one from D:\BD3D2MK3D\toolset).
r0lZ
5th February 2016, 01:32
Yep, but AFAIK I don't need cmd.exe at all (and %ComSpec%). This works perfectly: start /low BlockSleep.exe __ENCODE_3D.cmd
It's very simple, and sleep mode is correctly disabled. I don't see a good reason to launch cmd.exe a second time, since launching a .cmd file with start calls it anyway.
Your order of the %PATH% is better, that's right.
r0lZ
6th February 2016, 15:46
This version implements BlockSleep (as discussed just above), and a dialog to explain why a crop option will never be implemented (as discussed above above!).
It has also 4 new "From DB" buttons in the Cover Art tab, enabled only when the program can find some JPEG images in the metadata of the current BD. It is therefore much easier to associate a cover with your MKV now, since you have just to click a button. (Some BDs do not have cover art, and of course in that case that doesn't work.)
The latest DGMVCSource is included with this version, and since its black frame bug has been fixed, it is now the default MVC decoder again. The latest FRIMSource is NOT included, because it crashes when it is used with Avisynth v2.58. It works fine with Avisynth 3, but most peoples continue to use v2.58 (including me), and therefore I think it is too dangerous to update it.
The new x264 arguments --range tv --colormatrix bt709 are not really necessary, and should not change the final result at all. These arguments are simply added in the video header, to help the players to determine the correct luma range and color matrix. When they are not specified, a good player should use TV and bt709 for HD video anyway.
v0.84 (February 6, 2016)
- Added the arguments "--range tv --colormatrix bt709" in the x264 command line.
- Added Help -> Why no Crop option?
- Implemented the BlockSleep method to prevent the computer from going to sleep during an encoding. Thanks Slavanap!
- Since BlockSleep will remain active as long as the command prompt window is open, the \"When encoding is finished\" option in tab 5 is now saved with the settings.
- Added 4 "From BD" buttons in tab 4 to get the cover art images from the metadata of the current BD.
- Since the black frames bug with DGMVCSource has been fixed, DGMVCSource is now the default MVC decoder again.
- Updated DGMVCDecode.dll to the latest version 1.0.0.24. Thanks Donald!
- Updated the Intel library libmfxsw32.dll to the latest version 7.15.10.28 (from INDE 2016)
Download: BD3D2MK3D.7z (http://download.videohelp.com/r0lZ/BD3D2AVS/BD3D2MK3D.7z)
r0lZ
20th February 2016, 14:12
A lot of small changes and improvements in this version, and two bug fixes. Not a fundamental release, but you should download it anyway.
v0.85 (February 20, 2016)
- Added Search Wikipedia for Title and Search Google Images for Title in the Web menu of tab 3.
- Added the possibility to define a custom search engine for the Web menu of tab 3.
- Added Settings -> Chapters -> Include Dummy Chapter Near End of Movie to remove the last chapter at less than 5 seconds before the end of the movie.
- Added Help -> Version History to consult the BD3D2MK3D version history online.
- The tools menu has been split, with the subtitle tools in their own menu.
- Small cosmetic changes.
- It is now possible to encode the AVS script with any GUI thanks to the LoadHelper plugin. Thanks Slavanap!
- Bug introduced in v0.84: _ENCODE_2D_LAUNCHER.cmd launched __ENCODE_3D.cmd instead of the 2D version.
- Little bug: The palette analysis was skipped when converting XML/PNG subtitles not generated with BDSup2Sub to VobSub.
- Changed the web address to download x265 (because Snowfag doesn't compile 32-bit versions any more).
- Updated x264 to v0.148.2665 and x265 to v1.9+3
Download: BD3D2MK3D.7z (http://download.videohelp.com/r0lZ/BD3D2AVS/BD3D2MK3D.7z)
The full version history has been removed from this thread and is now available online here: Version history (http://download.videohelp.com/r0lZ/BD3D2AVS/history.txt)
mini-moose
24th February 2016, 13:01
A lot of small changes and improvements in this version, and two bug fixes. Not a fundamental release, but you should download it anyway.
Thanks for continuing to develop your great software r0lZ!
I'm sure it's been discussed in depth in the past but I'll take a chance and ask again.. Is DGMVCSource the better choice compared to Frim? I used Frim during while DGMV was being fixed and it seemed quite a bit faster. Encoding time is not really a bg conern, just wondering if it there are substantial benefits to using DGMV over Frim.
r0lZ
24th February 2016, 13:52
Normally, the two decoders should give the same result since they use the same decoder library (unless there is a bug in one of them of course). Slightly different speeds are of course possible, but I have never really tried to compare them.
However, I remember that someone (I think it's Frank, but I'm not sure) has reported decoding problems with FRIM in the past. It's why I have considered DGMVCSource as better, but honestly, I have never noticed that problems personally. And the last bug was in DGMVCDecode (or more precisely, in DGMVCDecode when used with the latest Intel libs), while FRIM worked fine, as you know. That bug is fixed now, so currently I think we can consider the two plugins as equivalent.
I keep the two decoders anyway, because each time Intel releases a new version of the decoder, new bugs can appear, and it is better to leave the possibility to the user to try if the other decoder plugin gives better results.
If you are sure that FRIM is faster, I think you can safely use FRIM by default. Of course, let me know if you find a bug or a problem with a specific BD.
mini-moose
24th February 2016, 13:58
Normally, the two decoders should give the same result since they use the same decoder library (unless there is a bug in one of them of course). Slightly different speeds are of course possible, but I have never really tried to compare them.
Thanks r0lZ. I'm not even 100% sure anymore Frim is faster as I never encoded the same movie with both. I remember thinking last time I tried, that I Frim seems faster than what I remembered DGMVC to be. I may just test it out to be sure.
r0lZ
24th February 2016, 14:12
OK, if you do benchmarks tests, please let us know the results. I'm curious. But IMO, on the whole encoding process, the decoding part is small anyway, and it's x264 that requires most time.
konikpolny
28th February 2016, 15:34
I have just started using BD3D2MK3D. Many thanks for this excellent tool.
I just tried to make a full SBS movie and noticed that --sar 1:2 is enforced. Can I disable it or overwrite this with --sar 1:1? I know the implications of having 2 full frames with original ratio.
r0lZ
28th February 2016, 16:26
Welcome to the Doom9 forums, konikpolny, and thanks for your positive appreciation.
Currently, there is no way to change the SAR in the GUI, but you can edit __ENCODE_3D.cmd before launching the encoding. It is however possible to change the DAR with Settings -> Full SBS/T&B Aspect Ratio. In most cases, you should not need to change the SAR, and changing the DAR should be sufficient.
I may add an option to change the SAR as well, if you can explain the interest to change it. What's wrong with the current values? (I may have made an error, because the correct aspect ratio values to use are difficult to determine for SBS or T&B, and it seems that different players need different settings.)
konikpolny
29th February 2016, 01:59
To be honest I'm not sure what I should be asking for then. To make myself clear - what I wanted to get was to have 2 'visually' full frames side by side. I tried changing the DAR setting from default to "Use 16:9 for both (not recommended)" but I didn't see any difference so not really sure what it does.
Now I also have just tested modifying sar in the __ENCODE_3D.cmd by:
1) removing sar completely --> this didn't do any change at all (Good question is WHY?):confused:
2) changing the value to --sar 1:1 --> this finally DID make the output video display 2 full frames side by side in their original ratio :thanks:
Can you also please explain what the DAR setting (Settings -> Full SBS/T&B aspect ratio) does as it doesn't seem to do any change to me.
The reason why I am asking for keeping original aspect ratio of each frame is to be able to immediately see that the movie is full-SBS. Then I can watch it as 2D -- by zooming to the left frame, or 3D - in which case I would change the aspect ratio of it to 16:9 on the player to make it visually half-SBS.
r0lZ
29th February 2016, 10:44
There are two AR stored in the final MKV. The Sample Aspect Ratio (SAR, stored in the h264 video stream) and the Picture Aspect Ratio (called above DAR, because I don't like PAR, meaning Pixel Aspect Ratio, but DAR stricto sensu is the aspect ratio of the display device.) The Picture AR is stored in the header of the MKV container. The player can use the SAR or the Picture AR, in conjunction with the PAR or DAR of the device to compute the way it should display (stretch) the picture.
Furthermore, some players use another information to deduce the correct aspect ratio: the Stereoscopy method (SBS, T&B...), itself stored in the h264 stream (the --frame-packing argument of the x264 command) and in the MKV header (the stereoscopy field), and even in the file name (if you have selected one of the Output File Name -> 3D Format Extension setting and your player recognises it.) Again, the player can use any information it can handle, and unfortunately, most players are not 3D-aware at all, and ignore the SBS or T&B format. And some players, notably most 3D TVs, assume that a 3D movie is always in 16:9, regardless of the width, height and aspect ratios.
As you can see, the subject is complex, and I have never found a reliable doc on the correct aspect ratios to use for SBS and T&B combined frame. I don't know if it's the aspect ratio of the combined 3D source, or the aspect ratio of the target 3D frames that matters. Originally, the AR used by BD3D2MK3D was always 16:9, even in Full-SBS/T&B, but after a discussion with zaphodalive, I have decided to add the option in the Settings menu. (That discussions starts in the last paragraph of this post (http://forum.doom9.org/showthread.php?p=1710088#post1710088).) At that time, I was almost sure that 16:9 was correct, and I have only implemented an hidden option to change it. But later, when I did more tests, I have noticed that indeed, most players need 32:9 for Full-SBS and 16:18 for Full-T&B, and therefore that it's the source AR that must be specified. Unfortunately, it's not the case of all players. And I'm still not sure for the SAR. Anyway, I have added the option to control the Picture AR in the Settings menu in v0.60 (http://forum.doom9.org/showthread.php?p=1711447#post1711447), but there is still no option to control the SAR.
So, if changing the Picture AR in the Settings does not change anything for you, that means probably that your player does not takes it into account, and uses the SAR only. May I know what player you use? Personally, I use PotPlayer to watch the movie in 2D on PC, and the player of my Samsung TV to watch it in 3D. PotPlayer recognises the "3D-LRQ" extension of the file names to know that the movie is in Half-SBS (and "3D-LR" for full SBS), and you can configure it easily to show either the left or right frame only, with the correct output aspect ratio, and optionally the correct half of the 3D subtitles or the 2D subtitles in 2D. My TV, as most 3D TVs, stretches the decoded image to occupy the whole 16:9 screen anyway, and ignores absolutely everything else, including the subtitles.
As far as I know, the SAR used by BD3D2MK3D is correct, and I don't think I'll change it. Your way to watch the movie in 2D by zooming on a single frame is very specific, and I don't think it should determine the SAR. But again, I may be wrong, and if someone can prove that 1:1 is the correct SAR for Full-SBS and Full-T&B, I'll change it, or I'll add a new option to control it. In the meantime, is it sufficient for you to edit __ENCODE_3D.cmd?
Sharc
29th February 2016, 11:56
Maybe I am wrong, but I think the confusion comes because full-SBS/T&B is not specified in any standard. It is just a custom format AFAIK. Therefore players will handle this format as per manufacturers' gusto. Standalone Blu-ray players will normally reject anything which is larger than 1920x1080 anyway.
Personally I think that the SAR for full SBS/T&B should be signaled 1:1 because neither the left nor the right eye picture is squeezed in any respect. The DAR is 16:9 assuming that the player recognizes the file as 3D, and hence should display the picture as 16:9. In the same sense a half-SBS should be signalled as SAR 1:2. In practice it may be best NOT so signal the SAR at all, considering that half-SBS/T&B are standard formats and smartTVs will recognize and display these formats correctly as 16:9.
Encoding to formats outside of standards has its issues. At least we cannot expect "correct" playback on various devices and must be prepared to find out which tweaks will eventually succeed with a specific playback infrastructure. Trial and error, unfortunately.
r0lZ
29th February 2016, 12:00
Yep, I think you're right, unfortunately. :-(
I will add the SAR option anyway. It's easy, and everyone will be able to experiment easily...
konikpolny
1st March 2016, 13:41
The player I am using is Media Player Classic on PC and what I meant by zooming to 1 frame to watch 2D was by using my own custom Pan&Scan settings. I am OK to have the 3D format either squeezed or in its original AR. It just takes different Pan&Scan settings to watch it in 2D.
The reason why I asked about SAR option really was to have a greater control of what the visual output picture is - showing the 2 frames in its original AR. Having the 2 frames squeezed doesn't affect my watching it in 2D or 3D.
May I ask that you describe in more detail how you can watch 2D of a 3D movie in PotPlayer?
r0lZ
1st March 2016, 15:18
MPC HC is a good player, but afaik it doesn't "know" the 3D formats, and it is unable to identify them and switch to the 3D or correct 2D mode automatically. It's why I prefer PotPlayer, but I use MPC too, for 2D, and to verify the SBS/T&B in "two views" format.
There are many settings to tweak in PotPlayer to watch the 3D movies in 2D. First of all, you should include the "magic string" in the file name of the MKV so that it will recognise the correct format, as explained here (https://www.tridef.com/user-guide/3d-file-formats). It's the same convention than for the Bino player. Although it's not documented, I've found that PotPlayer recognises also "HSBS", "HTAB", "SBS" and "TAB" anywhere in the file name (as long as the surrounding characters are NOT alphanumeric and "3D" is also present), but in that case, you cannot specify the order of the two views. Use the BD3D2MK3D option to generate the correct string automatically. Unfortunately, PotPlayer ignores the stereoscopy and frame-packing information.
For the options in the program, in the Video -> 3D Video Mode menu, I leave "Enable 3D Video Mode", "Auto Detect 3D Input Format" and "Auto Switch Between Video Modes (2D <-> 3D)" always enabled. If you have the correct magic string in the filename, it ignores the "3D Video Input (Source)" settings.
To display the 3D video in 2D, you should select in the "3D Video Output (Screen)" sub-menu, one of the two "3D to 2D" option. (I prefer to use the "(Right or Bottom Image)" one, because usually the dependent stream is for the right or bottom image, and it's a better way to verify if the MVC decoding was OK, but it's not as important for you.) With that menu, you can also convert the 3D to another 3D format, such as Anaglyph. In 2D, the quality of the image is somewhat degraded, and I wonder if it's due to my hardware.
For the subtitles, I suppose you don't need them, since you encode in Full-SBS, and it is not possible to generate 3D subtitles for Full-SBS ot Full-T&B. And currently, the only way to display 3D subtitles with the right depths on Full-SBS/T&B is to hardcode them, and of course in case of hardcoded subtitles, you have nothing to configure. So, the following explanation apply only to Half-SBS/T&B with 3D subtitles streams.
In the Subtitles -> 3D Subtitles (Stereoscopic) menu (identical to the "Video -> 3D Video Mode -> 3D Subtitles (Stereoscopic)" menu), you should enable "Do not use", "Subtitle Output Before Resizing" and "Identify 3D Subtitle Mode by Filename".
When you watch the video in 2D and you select a 3D subtitle stream, it is important to select the option "Display subtitles on Video (TV-OUT)" in the Subtitles menu, otherwise you'll get two subtitles in SBS or T&B format over a 2D video! And if you select a 2D stream, you must use the other option "Display subtitles on Overlay/VMR/EVR Surface", otherwise you'll see only an half of the subtitle in SBS, or nothing in T&B.
Note that currently, it seems that PotPlayer has some trouble playing the BD SUP streams. Some subtitles are never displayed, and sometimes, a specific subtitle stays on screen forever (or up to the next subtitle). I hope the author will fix that bug rapidly.
Now, it's my turn to request something. Can you explain what you did to watch a Half-SBS movie in 2D with MPC-HC? I would like to check if it is as easy to do it than with PotPlayer, and if MPC can display the 3D subtitles correctly in 2D. Thanks in advance!
frank
2nd March 2016, 16:38
Interesting news:
The Films & TV App of Win 10 plays 3D-hTAB movies generated by BD3D2MK3D in 2D mode. Good quality and low CPU load.
Useful for checking on PC.
EDIT: And 3D-hSBS in 2D. :)
r0lZ
2nd March 2016, 19:14
Yeah, great! It may be the time to say goodbye to my good old Windows 7...
Bino and SView can also play the 3D movies in 2D (and, of course, in various 3D modes).
frank
3rd March 2016, 09:18
So the Films & TV App of Win 10 evaluates the frame-packing parameter of mkv.
EDIT: frame-packing parameter in the h264 stream.
AFAIK the first App. It seems M$ has done its homework.
r0lZ
3rd March 2016, 11:53
The frame-packing is in the h264 stream. It's the stereoscopy mode that is in the MKV header. They are somewhat equivalent, but not totally. The h264 frame-packing is recognised by more programs, probably because it is used on Youtube. My TV, for example, recognises it, as well, of course, as the Youtube app of the TV. AFAIK, the stereoscopy value in the MKV container is ignored by all programs, apps and hardware players so far. It's a pity, because it is more precise than the frame-packing, as it makes the left or right view first distinction.
BTW, the .mk3d file extension is also ignored by almost all programs. It cannot specify the stereoscopy mode, so it is pretty useless anyway, but it can be useful to call Bino or Sview automatically for all 3D movies, and continue to use your preferred 2D player for the other MKV files. Unfortunately, I have to continue to use the .mkv extension, because my TV doesn't recognises the .mk3d files as movies, and it doesn't display them in the GUI! It's really stupid.
konikpolny
3rd March 2016, 12:28
r0lZ thanks a lot for the info about 2D mode for 3D movies in PotPlayer.
In MPC custom Pan&Scan settings for watching 2D of a 3D can be added in menu View (or right click on video) > Pan&Scan > Edit...
The idea of how to create those settings I found here (http://play3d-2d.blogspot.co.uk/2014/02/3d-sdb-to-2d-movie-in-media-player.html).
For testing rather than creating these one by one you can add all my settings directly into the MPC .ini file in the [Settings\PnSPresets] section under the existing 3 settings: 0=Scale to 16:9, 1=Zoom To Ultra-Widescreen, and 2=Zoom To Widescreen:
Preset3=3D (Half-SBS) to 2D [LEFT frame],1.000,0.500,2.000,1.000
Preset4=3D (Half-SBS) to 2D [right frame],0.000,0.500,2.000,1.000
Preset5=3D (Full-SBS) to 2D [LEFT frame],1.000,0.500,2.000,2.000
Preset6=3D (Full-SBS) to 2D [right frame],0.000,0.500,2.000,2.000
Preset7=3D (Half-OU) to 2D [TOP frame],0.500,0.875,1.000,2.000
Preset8=3D (Half-OU) to 2D [bottom frame],0.500,0.125,1.000,2.000
Preset9=3D (Full-OU) to 2D [TOP frame] 2.40:1 widescreen,0.500,0.875,1.800,1.800
Preset10=3D (Full-OU) to 2D [TOP frame] 16:9 (bot-edge),0.500,0.917,1.733,1.800
Preset11=3D (Full-OU) to 2D [bottom frame] 16:9 (top-edge),0.500,0.100,1.733,1.750
You must take into account that my Full-SBS / Full-OU settings above are for views displayed in their original AR ie. not squeezed and MPC is making such a video smaller to fit in the screen. Full-SBS / Full-TB movies with SAR 1:2 in MPC are squeezed and therefore to watch them in 2D they should be treated as Half-SBS/Half-OU.
These presets work perfecly for SBS movies, with T&B however it really depends on what AR your monitor has. On 16:10 monitors the movies with AR 16:9 will show the edge of top/bottom of the other picture and therefore you should probably correct the display by either moving the picture down to the bottom screen edge (if top picture is selected) or by moving the picture up to the top screen edge by using key combinations --> MPC defaults are Ctr+Num8 to move the picture up, and Ctr+Num2 to move the picture down.
That is yet another reason why I prefer SBS movies :)
Worth remembering is that you can quickly reset the used Pan&Scan setting in MPC by pressing Num5.
As regards 3D subtitles I personally prefer .ass subtitles which can be created from plain 2D .srt by tools like srt23Dass for instance.
It can be downloaded from here (http://www.networkedmediatank.com/showthread.php?tid=47904). Please be careful not to download it from any other dodgy site.
The download link is at the bottom of the first post in the forum.
The .ass output file is a textual file and therefore more manageable. You can easily choose your own font, color, size, base... etc. The only downside of it is that you set one depth for all the captions. Unless you are crazy about the movie and want to edit the depth manually of the individual subtitles.
One additional note about srt23Dass is that it does not "squeeze" the subtitles and so after conversion you need to manually reduce ScaleX OR ScaleY in the file to 50.
Unfortunately it doesn't seem to be developed anymore, which is a shame.
The ideal subtitles tool for me would be something like that which could also make use of the real 3D depth extracted from the 3D planes from the video stream.
r0lZ
3rd March 2016, 13:07
Thanks for the information. I'll check your presets soon. Currently, I'm checking various combinations of different SAR and DAR with all my players, in the hope that a de-facto standard can emerge. I'll post my findings here...
For the subtitles, I did already know the possibility to convert 2D text subtitles (usually SRT) to 3D ASS, but I know also that it is (currently) not possible to use the real 3D depth extracted from the 3D planes, and for me it's a major drawback. I did not know srt23Dass, but I know this web site (http://subtitle3d.com/), where you can convert your SRT to 3D ASS online.
BTW, it should be possible to add a tool in BD3D2MK3D to convert a SRT stream to 3D ASS with the correct depth values from the original 3D-Planes, and the correct positions on screen (cloned from the positions of an original BD SUP). I have never tried to implement that tool, simply because there are no textual subtitles in 3D BDs, and if the user downloads a SRT somewhere, most of the times, it will not be perfectly in sync, and the final depths of the individual subtitles can be wrong if they are taken from wrong start and end times. Also, it is not always easy to find the subtitles in your native language. And, finally, many players do not display the 3D ASS streams correctly, and show the subtitle only over one of the two views. And, of course, most hardware players cannot use ASS streams at all. So, IMO, 3D ASS subtitles are not really more interesting than 3D SUP. However, a tool to convert the original SUP stream to 3D ASS (with a first step to convert the bitmaps to text/SRT) would be very interesting. I know only two programs to convert the SUP to SRT: SupRip (http://exar.ch/suprip/) and the excellent Subtitle Edit (http://www.nikse.dk/subtitleedit/). They work, but they are very limited, they have no automatic OCR, and they are somewhat tedious to use. Therefore, I don't think that many BD3D2MK3D users will be interested in a tool to convert the subtitles to 3D ASS. If someone is really interested, I may add that tool later...
BTW, someone knows a good BD SUP to SRT (or HD VobSub to SRT) converter, if possible with fully automatic OCR and semi-automatic spell correction? If such a tool exists, it will motivate me to work on a SRT to 3D ASS tool.
frank
3rd March 2016, 13:29
A good way to generate your own 3D subtitles from srt is using
easySUP by deank (MultiAVCHD). It uses AVS2BDNXML and produces very usable BD sup files.
Then convert to 3D sup with BD3D2MK3D tools.
Edit deep values if necessary and reconvert.
@r0lZ
I use Subtitle Edit http://www.nikse.dk to generate srt, the best I know. You can use the zip as portable app. OCR works but you have to install the right language library.
But every OCR app I know has problems with spelling.
The frame-packing is in the h264 stream. It's the stereoscopy mode that is in the MKV header. Uhh, I forgot it. Thanks for the clarification!
konikpolny
3rd March 2016, 13:53
r0lZ, I must say I would be insanely grateful if you could add the feature of converting srt to ass with the use of original 3D-planes. It'd be enough to support adding external srts already made. I've got loads of perfectly synched and OCRed srt subs. The OCR process for the lack of fully automated tools could be done manually outside BD3D2MK3D.
frank
3rd March 2016, 14:47
Originally Posted by r0lZ:
Currently, I'm checking various combinations of different SAR and DAR with all my players, in the hope that a de-facto standard can emerge. Why? The TV or monitor is connected via HDMI. We only need that standard, current 1.4a. HDMI 2.0 (UHD 2160p, 4k) is another game.
HDMI 1.4a - 3D mandatory formats:
- frame packed (full size, BD)
- half SBS, half TAB (HDTV, bandwidth)
Since many of the capabilities detailed in the HDMI 1.4 specification are optional implementations, it’s the responsibility of the manufacturer to tell you what features are supported in the device.
Receivers with HDMI 1.4a can automatically detect the format. The aspect ratio in every case is 16:9!
Displays have an EDID table due to standard. That's why cropping (to other AR, 2.40...) will mess up the picture, but some dudes don't get it.
So if the stream has other formats, the player has to convert to one of the mandatory HDMI formats. Potplayer and Stereoscopic Player can do a lot.
r0lZ
3rd March 2016, 15:23
A good way to generate your own 3D subtitles from srt is using
easySUP by deank (MultiAVCHD). It uses AVS2BDNXML and produces very usable BD sup files.
Then convert to 3D sup with BD3D2MK3D tools.
Edit deep values if necessary and reconvert.
Personally, I use Subtitle Edit to convert SRT to BD SUP. It gives good results too, and can even convert to 3D directly (but unfortunately only with a fixed depth).
@r0lZ
I use Subtitle Edit http://www.nikse.dk to generate srt, the best I know. You can use the zip as portable app. OCR works but you have to install the right language library.
But every OCR app I know has problems with spelling.Yep. It's why I would like an app that can fix the most common errors automatically. SubRip (not SupRip) does that very well, but it doesn't work with BD SUP.
r0lZ, I must say I would be insanely grateful if you could add the feature of converting srt to ass with the use of original 3D-planes. It'd be enough to support adding external srts already made. I've got loads of perfectly synched and OCRed srt subs. The OCR process for the lack of fully automated tools could be done manually outside BD3D2MK3D.
I'll try to do it, but without guarantee. I don't know the ASS file format well, and I may have some difficulties with the guide file, since it is in a totally different format. Anyway, I'll try when I'll have some free time...
Why? The TV or monitor is connected via HDMI. We only need that standard, current 1.4a. HDMI 2.0 (UHD 2160p, 4k) is another game.
First, not everybody use a player connected to the TV via HDMI. Personally, I use an hard disc connected via USB, and the TV must recognise the format and AR correctly. (In the case of my Samsung TV and probably to most TVs, it stretches the 3D picture to occupy the whole screen anyway, so the SAR and DAR in the file are totally ignored, but other TVs or projectors may be smarter.)
Secondly, the software players are much more versatile, and need the correct AR, to display the movie in 3D or in 2D (like konikpolny does with MPC-HC, and I do with PotPlayer).
Finally, although I think it is not possible to determine the "right" DAR and SAR values that will work for any type of 3D and with any player, I think it is better to use by default the values that work best with the vast majority of software players. These values will be ignored in the case you describe, but they do not hurt, and may be very useful in many other cases.
Unfortunately, the results of the tests I did so far seem to indicate that there is not really an universal solution. I will still do some additional tests to try to clarify what some players need...
odyssey
8th March 2016, 16:36
I have trouble encoding my Wreck-It Ralph (nordic) blu-ray properly. During processing it complains about a few errors:
* DTS-HD stream (track 3): bad frame detected at position01:02:46,069. Resync stream.
* Warning: The AVC and MVC video streams do not have the same number of frames: 143017 and 143019. 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.
Most of the movie encodes without problems (I didn't check the audio stream at the bad frame position yet). However, After the end titles, the stream breaks, just before the disney logo appears.
I wouldn't be surprised if it's some sort of copy protection preventing this, but I haven't had such bad problems with any other discs (even several other Disney titles).
I tried ripping it with both AnyDVD and DVDFab - Same issue.
I do however (for the sake of convenience) extract the contents to directories using WinRAR prior to processing. Do you think it would help mounting the ISO with Daemon-Tools or similar?
r0lZ
8th March 2016, 18:32
It's typical of a badly ripped BD. There is at least one part with bad data. That means that even if the decoder can read the AVC and MVC stream, they are almost certainly desynchronised after the error, and the MVC stream cannot be decoded properly (because decoding a frame from the MVC stream depends of the same frame in the AVC stream, and due to the desync, the frames do not match any more).
I don't think that could be an intentional protection. That problem is frequent, especially with downloaded ISOs, and afaik, it has never be caused by a protection.
It is always better to mount the ISO instead of copying the streams, because you have to copy the stereoscopic movie twice (in the form of M2TS and SSIF), but that has no impact on the possibility to recover the error.
Unfortunately, I think there is nothing to do, except re-ripping the BD correctly.
odyssey
8th March 2016, 20:02
It's not a downloaded iso - As I said, I've been ripping it with both AnyDVD and DVDFab and even tried two different drives, and I get the same error with every one. The only thing I didn't try, was mounting the ISO (I dislike Daemon Tools lately so unless it may fix the problem, I would avoid installing it).
So, how can I rip the BD properly? Any better ripping software available?
If extracted source vs. mounted iso only has impact on speed, I think I'm all set. It takes just about 2 hours encoding with default settings + --ref 4 --me umh. I tried both from NAS and local SSD with similar speed results.
r0lZ
8th March 2016, 20:14
There are many programs to mount ISO files. On Win8 or 10, it's even possible without any additional software. On my Win7, I use WinMount, not free unfortunately, but there are many alternatives.
I don't know other rippers than AnyDVD and DVDFab. Have you tried to clean the disc?
Sharc
8th March 2016, 22:52
So the Films & TV App of Win 10 evaluates the frame-packing parameter of mkv.
EDIT: frame-packing parameter in the h264 stream.
AFAIK the first App. It seems M$ has done its homework.
Note: The SAR for the hSBS must be set to --sar 1:1 or unspecified for undistorted 2D playback by the W10 Movie&TV app.
odyssey
8th March 2016, 23:05
Oh cool, I didn't know that! :) Thanks for the tip.
Apparently it had something to do with the extracted disc contents. I mounted the ISO, and it went through with no alerts and no problems. Encoded perfectly through the end!
r0lZ
9th March 2016, 09:33
Note: The SAR for the hSBS must be set to --sar 1:1 or unspecified for undistorted 2D playback by the W10 Movie&TV app.
Thanks! That was also my conclusion. Apparently, all 3D formats (half and full) require SAR 1:1. When I did my tests, I have noticed too that Bino and Stereoscopic Player require it for Half-SBS. Sview, PotPlayer (in 3D mode) and SM Player ignore the SAR (and therefore accept 1:1 too).
Most 2D players obey the SAR and if you want to display the two views undistorted, it is necessary to use 2:1. It's a pity, because it is impossible to have the correct final AR in both 3D and 2D modes, but anyway, who want to play a SBS movie with the 2 images side by side, even if they are not distorted? And with SAR 1:1, it is still possible to display one view only with a good 3D player or with MPC-HC with a custom Pan & Scan setting.
Therefore, the next version of BD3D2MK3D will use SAR 1:1 in all cases. At least, it's very simple for me! :-)
Apparently it had something to do with the extracted disc contents. I mounted the ISO, and it went through with no alerts and no problems. Encoded perfectly through the end!
Thanks for the info. It's interesting. BTW, finally, what tool did you use to mount the ISO?
odyssey
9th March 2016, 09:44
BTW, finally, what tool did you use to mount the ISO?
Windows 10 native as you suggested :) Pretty cool that you can do that now.
odyssey
9th March 2016, 09:57
Does anyone have experience with 4K (passive) 3D TVs and streaming 3D movies?
Passive 3D TVs work by polarising every other line, so for Full HD TVs, it's best to encode 3D titles in "top/bottom"-mode. With 4K TVs, you wouldn't lose any pixels when playing 3D titles, but is there a way to encode them properly and be able to stream them e.g. using DLNA from a NAS?
I wonder if Full-TB or Full-SBS would work and if it would be able to stretch it properly. Is there a better way? Interleaved?
I'm currently using an older LG 3D TV, but I'm very pleased with it and might upgrade to a LG 4K TV in the future. It would be nice if I could already encode my movies properly ;)
Sharc
9th March 2016, 11:10
.... it is impossible to have the correct final AR in both 3D and 2D modes, but anyway, who want to play a SBS movie with the 2 images side by side, even if they are not distorted?
Cross-eyed viewing perhaps (you remember the finger-focus trick) :D
And with SAR 1:1, it is still possible to display one view only with a good 3D player .....
Yes, e.g. Stereoscopic player has to be forced to the DAR (16:9) rather than leaving it on "Standard", otherwise the 2D will be displayed at half width.
I also think --sar 1:1 is currently the best compromise.
r0lZ
9th March 2016, 14:15
r0lZ, I must say I would be insanely grateful if you could add the feature of converting srt to ass with the use of original 3D-planes.
I'm working on the SRT to ASS 3D converter, but I have a problem with the fonts.
I know that it is possible to use a custom font and to include it as attachment in the final MKV, so that the players should be able to use the correct font to render the subtitles. But IMO the players able to do that are very rare, and it's probably never the case of most hardware players. Also, currently, I don't know how to determine the filename of the font that the user wants to use, For example, the Times New Roman font is made of 4 files: TIMES.TTF, TIMESI.TTF, TIMESBD.TTF and TIMESBI.TTF. If it seems relatively obvious that "Times New Roman" should be shortened to "Times" to obtain the correct base name of the font file, it's not as easy with other fonts. And I have no way to know if all files must be included, or only some of them. Therefore, I don't think that including the TFF file is a good option. I would prefer to give only the possibility to use an universal font, that exists on (almost) all platforms. As far as I know, only Arial, Times New Roman and Verdana are widely available (under all versions of Windows, Linux and Mac). They are also the 3 only fonts available at the subtitle3d.com (http://subtitle3d.com/) web site, and that seems to confirm that they are the 3 "good" fonts to use. But perhaps there are other fonts that any player accepting the subtitles in ASS format must recognise. I've tried to find some info on that subject on the internet, but without success. So, I need some help.
Someone know what ASS/SSA fonts are recognised by all platforms, without the need to install or mux them ?
Would it be a problem if only Arial, Times New Roman and Verdana are available ?
Is it advised to offer the choice of any local font, without muxing them in the final MKV ? What do the players if they cannot use the font referenced in the ASS script ?
It seems that MPC-HC and PotPlayer display correctly the subtitles (at the specified position and with the specified font and font size). Can you confirm ? I use also Aegisub to check the placement of the fonts. Are there other players or editors to check the fonts (and especially their size and position) ?
Otherwise, I think that the rest should not be very difficult to implement. So, I think I'll do it anyway...
konikpolny
12th March 2016, 18:56
r0lZ i think you could allow user to choose their own local font. I am using MPC-HC and if it can't find the font referenced it does substitute it with its own preferred font. I don't know about the other players. As regards font styles to mux i think it should be enough to enclose just the main one, but it should be tested. I also think that muxing font should be provided as an option.
The minimalistic approach you are suggesting is for a foolproof suitable-for-all players, and I understand that but it imposes its limitations and that is not necessarily good. I would vote for having the defaults which can be overwritten and advise about the consequences of the change.
I would prefer my own font but if you decide to only support arial, times and verdana it'll still be great. The ass is editable text format and the font can be changed in the sub file manually. It's also worth noting that for many players the ass subfile can be loaded externally and doesn't have to be muxed.
I'd also suggest starting with the most simple approach and allowing for more advanced support in the future.
Many thanks
r0lZ
12th March 2016, 20:29
Well. I think that (at least currently) I can only support the 3 "universal" fonts, for the reason explained above, but also because it seems that SubStation Alpha (SSA) does not use the same font size as the vast majority of programs. (I know that there is a difference between Point size and Pixel size, but SSA uses a third measure, totally non-standard.)
I need to know exactly the width and height of a subtitle rendered in a specific font and with a specific font size, to be able to position it correctly on screen, and minimize the risk of collisions with the objects in the foreground of the scene. That should be easy, but due to the strange font size used by SSA, it's a nightmare, because there is no direct correspondence of what I can measure in my program with what will be displayed by the SSA/ASS rendering engine. Furthermore, it seems that it is not sufficient to scale the values by a constant factor. That works somewhat, but the factor is different for each font! It is a pain to evaluate it, and I spent several hours to do it for the 3 universal font. I don't want to do it with all fonts available with Windows, and there is no way to automate that task. Therefore, the user will have to use one of the 3 fonts if he wants approximately correct results. It is still possible, as you suggest, to change the font and/or font size with a text editor, but that will be at your own risk. I can't support that officially.
BTW, I really don't understand some decisions of SSA. In (almost) all programs, the RGB colours are expressed in that order: R, G, B. Except in SSA/ASS, where it's the opposite: B, G, R! Converting between RGB to BGR is easy, but that forces to intercept the font color changes in the original SRT to convert them to the correct ASS format. Anyway, the anti-standard used by SSA is confusing, and IMO completely stupid! The problem of the font size is much more important, as afaik there is no way to solve it. (Of course, it you use a program such as Aegissub, the font size doesn't matter, because the user can change it freely and see the result immediately. It's totally different when the final subtitle has to be generated by a program, and still be at a precise position and occupy a certain space on screen.)
tyee
13th March 2016, 03:09
Just getting back into 3d after a long while. Quick question, can makemkv rip the 3d disc so that bd3d2mk3d can see it for processing? Full backup or mkv mode? I don't use anydvd.
r0lZ
13th March 2016, 10:02
I don't use MakeMkv, but I think that it can do a backup suitable for BD3D2MK3D. I think also that you can back up the main movie only, and that's of course an advantage in term of disc space.
You need an ISO or BD files in a directory on HDD for BD3D2MK3D. BD3D2MK3D can't accept a MKV as input.
Sorry, but I can't tell you more. Perhaps someone else can confirm?
tebasuna51
13th March 2016, 14:54
I make a test with a recently ISO converted to SBS with BD3D2MK3D.
I used MakeMkv to rip that ISO to a mkv output (adding MVC-3D video).
Of course BD3D2MK3D can't open the mkv produced by MakeMkv, but I use tsMuxeR to open the mkv (see attached image, maybe BD3D2MK3D can accept mkv3D and use tsMuxeR to extract tracks).
I generate a new test ISO with tsMuxeR, from the mkv, and now is accepted by BD3D2MK3D and seems work fine.
See the 2 attached log's. Forget audio and x264 parameters differences. Maybe there are a problem with subs like the info in avs show:
Original avs
# Subtitle: Spa PGS, 3D-plane: 0
# Subtitle: Eng PGS, 3D-plane: 1
# Subtitle: Spa PGS, 3D-plane: 2
Test avs
# Subtitle: Spa PGS, 3D-plane: 0
# Subtitle: Eng PGS, 3D-plane: 0
# Subtitle: Spa PGS, 3D-plane: 0
r0lZ
13th March 2016, 15:38
Great. Thanks for the help.
Perhaps I'll add MVC MKV input support later, but currently I'm working on the ASS 3D subtitles.
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.