Log in

View Full Version : BD3D2MK3D v1.17: Convert 3D BDs or MKV to 3D SBS, T&B or Frame-sequential MKV


Pages : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 [33] 34 35 36

r0lZ
26th July 2019, 11:15
Any thoughts on what needs to change to get a 1920x2160 file?
Not sure. The problem is that SeparateFields() splits the image in two half.
I don't know if there is another way to force Interleave() to accept the full image as a single field. I'll have a look...

r0lZ
26th July 2019, 11:17
The guide's X placement for margin method moves the subtitles correctly but of the 2 (left+right) subtitle lines the right subtitle line has a very narrow margin and appears in the left view. As it has a very narrow margin the subtitle is spread from top to bottom word by word. This needs fixing.
OK, I guess it's only a stupid bug. I will fix it ASAP. Thanks for the beta testing!

r0lZ
26th July 2019, 12:33
OK, I guess it's only a stupid bug.
Indeed, that was a stupid bug. The right margin was computed as the position from the left border of the image. It is now correctly the number of pixels from the right side.

Sorry, currently, I don't have much time to test my code. Anyway, here is a new beta (http://download.videohelp.com/r0lZ/BD3D2AVS/SRTtoASS3D_v0.7.7z). Please test it, especially with meaningful depth values from a good 3D-Plane, as my test did not take the depth into account.

konikpolny
26th July 2019, 22:00
Anyway, here is a new beta. Please test it.

r0lZ,
Now the right view subtitles do appear on the right side, but the subtitles margins for it are still wrong and for example the subtitle one line "Is that understood?" correctly showing on the left side as one line, on the right view is stacked from top to bottom and displayed as:
Is
that
understood?
I think the marginL for the right subtitle is beyond the scope of the video size:
Half-SBS dimensions: 1920 x 1080
Dialogue: [....],3D,,314,961,304,,Is that understood?
Dialogue: [....],3D,,2223,962,304,,Is that understood?

Full-SBS dimensions: 3840 x 1080
Dialogue: [....],3D,,629,1923,304,,Is that understood?
Dialogue: [....],3D,,4445,1923,304,,Is that understood?

I would also suggest disabling and greying out the second Y option "except for subtitles in the top of the screen" if the first option "Ignore the guide for Y position" is not selected.

tebasuna51
27th July 2019, 00:01
Not sure. The problem is that SeparateFields() splits the image in two half.
I don't know if there is another way to force Interleave() to accept the full image as a single field. I'll have a look...

Maybe:

left = SelectEven(interleaved).AssumeFieldBased()
right = SelectOdd(interleaved).AssumeFieldBased()

# Build combined Row-interlaced image
Interleave(left, right).Weave()

r0lZ
27th July 2019, 14:03
Maybe:

left = SelectEven(interleaved).AssumeFieldBased()
right = SelectOdd(interleaved).AssumeFieldBased()

# Build combined Row-interlaced image
Interleave(left, right).Weave()
Yes, I guess it's correct. I forgot AssumeFieldBased(). Thanks for the suggestion.

r0lZ
27th July 2019, 14:06
I think the marginL for the right subtitle is beyond the scope of the video size:[...]

I would also suggest disabling and greying out the second Y option "except for subtitles in the top of the screen" if the first option "Ignore the guide for Y position" is not selected.
Done. Check this new beta (http://download.videohelp.com/r0lZ/BD3D2AVS/SRTtoASS3D_v0.8.7z). I think the X placement is now correct, but please check if the depth is also correct.

pyk123
28th July 2019, 02:00
Hi rolZ

I am very much grateful that you have made such a great program as someone who likes 3D very much.
I have a question for you.

How do I get 3dp files?
I tried many titles with MVCplanes2OFS..exe but failed.
How can I make 3dp files?

When I asked you this question a long time ago
You told me that I had a movie title problem
I have not been able to get all of the hundreds of titles I have in the meantime.


Every time I try, I always get this result.

please help!

#sample#

Command: "H:\BD3D2MK3D\toolset\MVCPlanes2OFS.exe" "00001.track_4114.mvc" "."


Searching 3D-Planes ...

Done

Searching and removing empty 3D-Planes...

Empty 3D-Plane #00 removed

Number of 3D-Planes in MVC stream : 1
Number of 3D-Planes written : 0
Number of frames : 0

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

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

Source subtitle streams information:
- Eng PGS, 3D-plane: 1
- Eng PGS, 3D-plane: 2
- Eng PGS, 3D-plane: 3
- Eng PGS, 3D-plane: 4
- Ara PGS, 3D-plane: 5
- Bul PGS, 3D-plane: 6
- Zho PGS, 3D-plane: 7
- Zho PGS, 3D-plane: 8
- Zho PGS, 3D-plane: 9
- Hrv PGS, 3D-plane: 10
- Ces PGS, 3D-plane: 11
- Ell PGS, 3D-plane: 12
- Heb PGS, 3D-plane: 13
- Hun PGS, 3D-plane: 14
- Isl PGS, 3D-plane: 15
- Ind PGS, 3D-plane: 16
- Kor PGS, 3D-plane: 17
- Msa PGS, 3D-plane: 18
- Pol PGS, 3D-plane: 19
- Por PGS, 3D-plane: 20
- Por PGS, 3D-plane: 21
- Ron PGS, 3D-plane: 22
- Srp PGS, 3D-plane: 23
- Slk PGS, 3D-plane: 24
- Slv PGS, 3D-plane: 25
- Spa PGS, 3D-plane: 26
- Spa PGS, 3D-plane: 27
- Tha PGS, 3D-plane: 28
- Tur PGS, 3D-plane: 29
- Vie PGS, 3D-plane: 30



console message

Done with warnings!

* Warning: Subtitle track "00001.track_4608.Eng.2D.sup" is associated with the 3D-plane file 3D-Plane-01.ofs, but the 3D-Plane #1 doesn't exist or is empty.
There are no other 3D-planes to use. Using constant depth of 0 (+ additional depth of 0)!
The subtitles will appear on the surface of the screen (unless you have specified a non-zero additional depth).
* No forced captions in "00001.track_4608.Eng_forced.2D.sup". Stream skipped.
* Warning: Subtitle track "00001.track_4609.Eng.2D.sup" is associated with the 3D-plane file 3D-Plane-02.ofs, but the 3D-Plane #2 doesn't exist or is empty.
There are no other 3D-planes to use. Using constant depth of 0 (+ additional depth of 0)!
The subtitles will appear on the surface of the screen (unless you have specified a non-zero additional depth).
* No forced captions in "00001.track_4609.Eng_forced.2D.sup". Stream skipped.
* Warning: Subtitle track "00001.track_4610.Eng.2D.sup" is associated with the 3D-plane file 3D-Plane-03.ofs, but the 3D-Plane #3 doesn't exist or is empty.
There are no other 3D-planes to use. Using constant depth of 0 (+ additional depth of 0)!
The subtitles will appear on the surface of the screen (unless you have specified a non-zero additional depth).
* No forced captions in "00001.track_4610.Eng_forced.2D.sup". Stream skipped.
* Warning: Subtitle track "00001.track_4611.Eng.2D.sup" is associated with the 3D-plane file 3D-Plane-04.ofs, but the 3D-Plane #4 doesn't exist or is empty.
There are no other 3D-planes to use. Using constant depth of 0 (+ additional depth of 0)!
The subtitles will appear on the surface of the screen (unless you have specified a non-zero additional depth).
* No forced captions in "00001.track_4611.Eng_forced.2D.sup". Stream skipped.
* Warning: Subtitle track "00001.track_4612.Ara.2D.sup" is associated with the 3D-plane file 3D-Plane-05.ofs, but the 3D-Plane #5 doesn't exist or is empty.
There are no other 3D-planes to use. Using constant depth of 0 (+ additional depth of 0)!
The subtitles will appear on the surface of the screen (unless you have specified a non-zero additional depth).

tebasuna51
28th July 2019, 10:38
When I asked you this question a long time ago
You told me that I had a movie title problem
I have not been able to get all of the hundreds of titles I have in the meantime.

Every time I try, I always get this result.

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

MVCPlanes2OFS.exe seems run 43 sec but don't found 3D-planes.
If that happen in hundreds of titles maybe you have hundreds of movie title problems.
How do you obtain these movies?

r0lZ
28th July 2019, 12:40
Yes, MVCPlanes2OFS.exe works correctly only if the MVC stream contains the original 3D-Planes. Unfortunately, they are destroyed when the video is re-encoded, so you should always use it with an unmodified 3D BD (or an original 3D BD ripped with MakeMKV).

Remuxed 3D BDs (without re-encoding, for example to add the Atmos audio or new subtitle tracks) should still contain the 3D-Planes, but they are often badly assigned to the wrong subtitle streams, and therefore they give bad 3D depth values for a specific stream. But MVCPlanes2OFS should be able to retrieve the OFS planes from a remuxed 3D BD anyway.

Note also that many cheap Asian movies do not have 3D-Planes at all, or they have bad 3D-Planes with a single fixed depth value only.

Downloaded material is often badly re-encoded, or remuxed at best, and you should avoid it like the plague. Furthermore, it's a copyright infringement, prohibited by the Doom 9 rules.

konikpolny
28th July 2019, 20:23
Done. Check this new beta (http://download.videohelp.com/r0lZ/BD3D2AVS/SRTtoASS3D_v0.8.7z). I think the X placement is now correct, but please check if the depth is also correct.

r0lZ, all works like a charm. I did check the depth. Many thanks for this update :thanks:

xiai
29th July 2019, 03:01
when i encode with x265 10bit,There was a mistake.
can't read "bitrate": no such variable
can't read "bitrate": no such variable
while executing
"set x264args2d " --bitrate $bitrate --pass 1 --stats "${basename}_2D.stats" ^\n ""
("2-pass" arm line 2)
invoked from within
"switch $::x264mode {
"CRF" {
set x264args2d " --crf $::x264crf"
set x264info12d "CRF $::x264crf"
}
"CQ" {
set x264args2d " --qp $::x264..."
(procedure "GenerateAvs" line 2493)
invoked from within
"GenerateAvs"
invoked from within
".nbf5.gf.gen invoke "
invoked from within
".nbf5.gf.gen instate {pressed !disabled} { .nbf5.gf.gen state !pressed; .nbf5.gf.gen invoke } "
(command bound to event)

xiai
29th July 2019, 03:14
i tried 2 3dbds,the same error
http://i1.fuimg.com/681677/1feece4cb7c71e51.png

konikpolny
29th July 2019, 16:00
when i encode with x265 10bit,There was a mistake.

Hi Xiai,
I once had this error. To add a little bit of info about the problem: This happens on project creation and not during encoding. For me when I used the same 3DBD source on another PC the project created without any issues. I then went back to the original PC and after a restart I didn't have any problems. I also don't think this has anything to do with x265 project creation. Can you please try the above and if the issue persists try creating x264 project and say if the error still comes up?

xiai
29th July 2019, 17:24
Hi Xiai,
I once had this error. To add a little bit of info about the problem: This happens on project creation and not during encoding. For me when I used the same 3DBD source on another PC the project created without any issues. I then went back to the original PC and after a restart I didn't have any problems. I also don't think this has anything to do with x265 project creation. Can you please try the above and if the issue persists try creating x264 project and say if the error still comes up?

I tried. There was no problem on the other computer.

xiai
29th July 2019, 17:27
I want to encode with GPU, such as AMD VCE, What shall I do?
x265 encode with cpu is too slow

konikpolny
29th July 2019, 18:18
I want to encode with GPU, such as AMD VCE, What shall I do?
x265 encode with cpu is too slow

encoding x265 is in principle much much slower, but the last BD3D2MK3D v1.9 release uses exceptionally slow x265 version. So I suggest downloading the latest version from http://msystem.waw.pl/x265/ and replacing it (in the toolset directory). Choose "GCC 9.1 none" for download. You should notice some speed improvement unless the latest version again slowed down the encoding (in my last encodes I used a version from over a month ago).

r0lZ
31st July 2019, 10:24
when i encode with x265 10bit,There was a mistake.
Thanks for the feedback.

Can you tell me what settings you use ? I suppose it's 2-pass or ABR. Right ? But the screenshot in your second post shows CRF. I don't understand. In CRF mode, the bitrate is not specified, and it is (normally) never specified in the command line.

konikpolny, thanks for your additional info. Unfortunately, it is difficult for me to understand what's happening, as I have no way to reproduce the bug.

Just a suggestion. Are you sure you have not changed the mode immediately AFTER having clicked on the big button to generate the project ? In that case, it is possible that the settings of a bitrate mode interferes with the final (CRF) mode.

r0lZ
31st July 2019, 10:37
I want to encode with GPU, such as AMD VCE, What shall I do?
x265 encode with cpu is too slow
x264 and x265 are unable to use the GPU to speed the encoding up. According to the developers, GPU enabled encodings are always of inferior quality, and they have therefore decided to encode "normally", without the help of the GPU.

Personally, I encode with x264, and of course I have not noticed a decrease of the encoding speed. Anyway, I will release a new version of BD3D2MK3D soon, and I will include the latest version of the x265 encoder. I hope that it will be faster than the current version. Anyway, if you select the slow modes with x265, the encoding are indeed very slow. The placebo speed can take days to encode a short video. I suggest to stick with the default speed, medium.

@konikpolny: Of course, the new version will also include the fixed version of the SRT to ASS 3D converter. Thanks for your help and your numerous testings !

r0lZ
31st July 2019, 10:57
Can you tell me what settings you use ?
Perhaps I've found a possible culprit, but I need another info.
Can you select the x264 mode with the settings menu, and have a look at the last tab. Tell me what mode is selected there. Then, go back to the x265 encoding mode. Your settings should be restored.

Perhaps the bug is occurring only when the program generates the script to encode the 2D version of the movie. The 2D version can be encoded only with x264, and therefore, it is possible that the program mixes some settings from the 3D encoding with x265, and from the 2D encoding with x264. Since I do everything with x264, that could also explain why I have never encountered that bug.

konikpolny
31st July 2019, 11:04
Can you tell me what settings you use ? I suppose it's 2-pass or ABR. Right ? But the screenshot in your second post shows CRF. I don't understand. In CRF mode, the bitrate is not specified, and it is (normally) never specified in the command line.

konikpolny, thanks for your additional info. Unfortunately, it is difficult for me to understand what's happening, as I have no way to reproduce the bug.

I am absolutely sure i had the error when creating project with x265 CRF. Untouched and not meddled with. I even think I then tried doing it with x264 and the error was still all the same.
I may come back with more info next time I get the error.

r0lZ
31st July 2019, 16:57
OK, thanks. I will try to reproduce the bug. I have an idea, but I'm not sure...

r0lZ
1st August 2019, 11:03
when i encode with x265 10bit,There was a mistake.
I was right, and that bug was easy to reproduce.

The problem was due to the generation of the scripts necessary to encode the 2D version of the movie. (This feature is not widely used, but has been requested by some users, and it was relatively easy to implement, so I did it.)

For technical reasons, it is not possible to encode the 2D version with x265. Therefore, to generate the script, the program uses the settings of the x264 encoder, set in the last tab when the selected encoder is x264. You can, for example, set it to encode in 2-pass. Then, you change your mind, and you select the x265 HEVC encoder. The settings in the last tab change, and can be, for example, CRF 28. Then you launch the generation of the project. It is correctly generated for the 3D version, but the bitrate variable, not necessary when encoding in CRF mode, is not properly initialized. Since the x264 encoding in 2-pass mode requires the bitrate variable, the program crashes when it generates the _ENCODE_2D.cmd script.

Luckily, that bug had no impact on the 3D versions, and did not occur when the two encoding modes (for x264 and x265) were identical (CRF for example). Anyway, that bug is now fixed. I will release a new version soon...

xiai
2nd August 2019, 16:11
Thanks for the feedback.

Can you tell me what settings you use ? I suppose it's 2-pass or ABR. Right ? But the screenshot in your second post shows CRF. I don't understand. In CRF mode, the bitrate is not specified, and it is (normally) never specified in the command line.

konikpolny, thanks for your additional info. Unfortunately, it is difficult for me to understand what's happening, as I have no way to reproduce the bug.

Just a suggestion. Are you sure you have not changed the mode immediately AFTER having clicked on the big button to generate the project ? In that case, it is possible that the settings of a bitrate mode interferes with the final (CRF) mode.

My settings are already displayed on the picture.
x265 10bit crf 26 preset veryslow
I don't have this problem with another computer.

xiai
2nd August 2019, 16:14
I was right, and that bug was easy to reproduce.

The problem was due to the generation of the scripts necessary to encode the 2D version of the movie. (This feature is not widely used, but has been requested by some users, and it was relatively easy to implement, so I did it.)

For technical reasons, it is not possible to encode the 2D version with x265. Therefore, to generate the script, the program uses the settings of the x264 encoder, set in the last tab when the selected encoder is x264. You can, for example, set it to encode in 2-pass. Then, you change your mind, and you select the x265 HEVC encoder. The settings in the last tab change, and can be, for example, CRF 28. Then you launch the generation of the project. It is correctly generated for the 3D version, but the bitrate variable, not necessary when encoding in CRF mode, is not properly initialized. Since the x264 encoding in 2-pass mode requires the bitrate variable, the program crashes when it generates the _ENCODE_2D.cmd script.

Luckily, that bug had no impact on the 3D versions, and did not occur when the two encoding modes (for x264 and x265) were identical (CRF for example). Anyway, that bug is now fixed. I will release a new version soon...

ok,thanks!

xiai
4th August 2019, 04:14
I would also recommend introducing QSVEnc, VCEEnc and NVEnc, so that there are more choices.
https://github.com/rigaya

r0lZ
7th August 2019, 07:20
I would also recommend introducing QSVEnc, VCEEnc and NVEnc, so that there are more choices.
https://github.com/rigaya
Hum, sorry, but I don't think I'll do that. BD3D2MK3D is not a GUI for multiple encoders. Originally, it has been designed for x264 only. I have added x265 mainly because it was not too difficult to do it, because the command line is very similar to x264, but I don't want to add many other encoders, just for offering more choices. IMO, the best encoders are currently x264 and x265, and I'll stick with them, unless someone can prove me that a new encoder offers some things really important for BD3D2MK3D. Furthermore, honestly, I understand nothing related to QSVEnc and VCEEnc, as everything is written in Japanese.

tebasuna51
7th August 2019, 10:13
The big work of BD3D2MK3D is prepare all files (avs, subs, etc.) to do the encode with __ENCODE_3D.cmd

If a user want try with other encoder is easy replace the x264/x265 line in that file with the equivalent for other encoder.

I don't know QSVEnc or VCEEnc, with NVEnc I can make a equivalent command line encode except for --frame-packing 3 (basic for 3D output) but maybe any NVEnc expert can do it.

r0lZ
8th August 2019, 08:06
If I add a new encoder, it will certainly be NVEnc, as I suppose it is much faster than x264 or x265, for a slightly worse quality. But indeed, the lack of the equivalent of the --frame-packing argument is a problem.

r0lZ
8th August 2019, 08:44
As promised, here is the new version, with several important bugs fixed.

v1.10 (August 7, 2019)
- Fix: It was not possible to reply to the dialog appearing after a tsMuxeR demux error if the error message was too long.
- Fix: When the x264 settings in tab 5 were set to encode in 2-pass or ABR, and the encoding was made with x265 in CRF or CQ mode, the "bitrate" variable was not initialized, causing a crash.
- Fix: SRT to ASS 3D conversion: bad X placement when converting the subtitles to 3D with the margins option
- SRT to ASS 3D conversion: Added the possibility to provide a fixed Y placement when using a guide (optionally only for the subtitles in the lower half of the screen)
- Updated x264 to the latest version (0.158.2984)
- Updated x265 to the latest stable version (3.1.2+1)
- Updated Mkvtoolnix to the latest version (35.0.0 'All The Love In The World')

Thanks for the bug reports, guys !

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

tebasuna51
8th August 2019, 12:40
Thanks for de new version.

thxoptimizer
17th August 2019, 17:41
Hi,

I converted my first movie yesterday successfully (BD3D2MK32 version 1.9 + AviSynth 2.6.0)

Q1) I am just worried about these errors :
Done with errors!

* DTS-HD stream (track 3): bad frame detected at position00:25:56,928. Resync stream.
(...)
* DTS-HD stream (track 3): bad frame detected at position01:25:10,037. Resync stream.
* Warning: The AVC and MVC video streams do not have the same number of frames: 139855 and 139861. 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.

But the outputfile seems normal so far (I didn't see the all movie though)

Q2 : if I understand correctly, "forced subtitles" are not very frequent.
If I just care about the usual subtitles, what if the best choice to avoid complications? Radio button of my language + "default" radio button?


Suggestion : why BD3D2MK32 is not able to keep my preferences on the output folders when it is restarted?

r0lZ
18th August 2019, 09:25
Welcome to the Doom9 forums, thxoptimizer !

Hi,

I converted my first movie yesterday successfully (BD3D2MK32 version 1.9 + AviSynth 2.6.0)

Q1) I am just worried about these errors :

Done with errors!

* DTS-HD stream (track 3): bad frame detected at position00:25:56,928. Resync stream.
(...)
* DTS-HD stream (track 3): bad frame detected at position01:25:10,037. Resync stream.
* Warning: The AVC and MVC video streams do not have the same number of frames: 139855 and 139861. 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.


But the outputfile seems normal so far (I didn't see the all movie though)
Hum, bad thing. The first error (bad audio frame) can happen when there are several M2TS files in the MPLS, but if you see a lot of them, they indicate probably that your BD image is damaged.

As far as I know, the second error occurs only when there are severe errors in one or both video streams. That confirms probably that the ISO image is bad. The symptom is that the two views will be out of sync after a certain point. That can be a real torture for the brain ! But if you are extremely lucky, it's simply some frames missing in at the very end of one of the two video streams, and in that case (but in that case only), you don't have to worry. To verify, just play the very end of the movie in 3D, and see if both views are in sync. (It's easy to verify with the end credits sequence, when the text is moving up. Watch it without your 3D glasses. The text of the two views must appear "merged" at the same vertical position.)

If the problem is confirmed, try to re-rip the BD, perhaps with another method. If the problem persists, that means that your BD is damaged, and there is probably nothing to do.
Q2 : if I understand correctly, "forced subtitles" are not very frequent.
If I just care about the usual subtitles, what if the best choice to avoid complications? Radio button of my language + "default" radio button?
Indeed, forced subtitles (when they exist) are usually authored in their own separate stream. If there is only one subtitle stream in your language, I suggest to disable the option "Forced subtitles are authored in their own separate stream" and select the two streams in your language. If there are no forced subtitles in the main stream, BD3D2MK3D will display a warning at the end of the job, and the forced subtitle stream will simply be skipped.

If there are two or more streams in your language, try to determine what is what with the preview (use a good player like PotPlayer). The first stream is usually the main stream, but the second can be either the forced stream, or a special stream like directors comments or for hearing impaired.

If you are interested only in one subpic stream, it is sufficient to just select it. But if you select several streams, the Default radio-button can be used to force the subtitle to be the first available, and it sets also the "default" flag in the MKV header. That flag is supposed to instruct the player that it should enable that stream by default, but only a few players respect it. Anyway, it doesn't hurt to enable it.

Also, to "avoid complications", it might be a good idea to encode the subtitles on the video, with the "Hardcode subtitles" option in the last tab. The advantage is that you will see the subtitles with the correct depth, regardless of the player you use. The drawback is, of course, that you need to choose only one stream, and that it will be impossible to turn it off during playback. So, use that option preferably when you want to watch the movie in its original language and with the subtitles anyway.
Suggestion : why BD3D2MK32 is not able to keep my preferences on the output folders when it is restarted?
The output folder is saved with the content of the tabs (except of course the BD specific stuff) when you use Settings -> Save Tabs Settings Now. (It is saved also when you quit the program, if the option to save the tabs settings on exit is enabled.) That way, you can configure the important things (like the encoding settings or the output directory) only once, save the settings, and then, when you do another BD, modify one or another parameter for the current BD without affecting your default settings.

Note that the settings from the Settings menu (used less frequently) are saved immediately anyway.

Tenker
19th August 2019, 07:46
Thanks for de new version.


Unfortunately I get the error message
can't read "x264bitrate"
with the version.

can't read "x264bitrate": no such variable
can't read "x264bitrate": no such variable
while executing
"set bitrate $x264bitrate"
(procedure "GenerateAvs" line 2287)
invoked from within
"GenerateAvs"
invoked from within
".nbf5.gf.gen invoke "
invoked from within
".nbf5.gf.gen instate {pressed !disabled} { .nbf5.gf.gen state !pressed; .nbf5.gf.gen invoke } "
(command bound to event)

Under v1.9 no problems.
Tested on 2 PC with 2 images.

dm9656
19th August 2019, 10:21
Hi,

I did tests lately on my LG OLED E6 in order to check the differences or similarities between Full-SBS and Full-TAB.

I have always encoded in FTAB, as I had the same logic ("it seems logical"), so just never tried FSBS until now.

As I always encode in at least placebo/CRF15 quality with x264/8bit/BR compatible, I am quite confident the result is humanly indiscernable from the original BR (typically the resulting MKV file is nearly the same size as the original BR), and that my comparison tests are reliable. As a note, I do use "motion interpolation" option when watching in 3D in order to achieve the full immersive experience, but I don't think this messes up with the tests (high frame rate for 3D content really gives a much more dramatic improvement than for 2D content).

Results:
- image in FULL-TAB result is excellent, the 3D is crisp, with 100% certainty the 4K TV displays both full frames perfectly (e.g. alternate the 2x1080 lines over full 2160 height)
- image in FULL-SBS is ok but NOT as good: it feels blurry, less defined, much more like "H-TAB" than "F-SBS". I tried to see if there was anything related to filters etc. but after many trials and settings tweaking, I couldn't achieve the same quality as FTAB. Altough it would require capturing the TV output and analyze it line by line to understand exactly what is happening, I'm quite confident that what is displayed is in fact H-TAB and that the TV does not make use of all the original video data.

My 2 cents is that FTAB certainly allows for "simpler decoding" as you hinted, because the image being already encoded vertically, all the TV has to do is decode/split/interlace the lines "as is". In FSBS, there is much more work needed as lines have also to be moved around to arrange them vertically, and it is possible they just didn't care doing it for FSBS. Anyway, it might be a flaw with my particular TV model, but all in all, SBS seems a more complicated and risky option.

In conclusion: choosing FTAB as a standard for encoding 3D MKVs seems the best option for maximum quality output on all equipments (as long as there are no problems related to FTAB on other TVs, but I have not seen any reports about such problems).

LG TVs (HD and UHD) use always passive glasses that filter the polarized light. That means that they emit half the pixels with a particular polarization, and the other half with the opposite polarization. As far as I know, all LG TVs are based on the same model. One line of pixel contains the pixels for the left view, the next one for the right view and so on. (I have read somewhere that LG is now able to offer full resolution for the two eyes, but theoretically, it's impossible.) Therefore, it seems logical to use Half-TAB instead of Half-SBS, as there is exactly the same number of line for the left and right eyes in the encoded video and in the screen. You encode 1920x540 and you see exactly that. If you use Half-SBS, half the pixels are not at the right position and are useless. You see a 960x540 image.

However, if that logic is correct for Half-TAB, IMO there is absolutely no reason to prefer Full-TAB over Full-SBS or FS. Since the video resolution is full anyway, the passive HD TV will throw away half the resolution regardless of the 3D frame packing. But the habit to prefer TAB over SBS is well anchored, and there are certainly many web sites that continue to pretend, probably wrongly, that Full-TAB gives a better quality with all kind of LG TVs.

I don't know how 3D UHD LG TVs react to Half-TAB or Half-SBS. IMO, the quality loss when using Half-SBS is probably minimal, if not completely absent, but I'm not sure.

On the other hand, Half-SBS is largely considered better for active 3D TVs. I don't know why, as with active glasses, all pixels are used to display the left and right views. But it is a fact that Half-TAB gives less good results on my Samsung HD TV. Again, I think that Full-SBS/TAB/FS are strictly equivalent.

r0lZ
19th August 2019, 12:04
In conclusion: choosing FTAB as a standard for encoding 3D MKVs seems the best option for maximum quality output on all equipments (as long as there are no problems related to FTAB on other TVs, but I have not seen any reports about such problems).
Thanks for the info. However, I'm not sure I agree with your conclusion. First, it should be noted that most relatively old 3D TVs (not UHD) do NOT support Full-TAB or Full-SBS. They require the half resolution, because their decoding buffers are just sufficient for 2D Full-HD. When they play a 3D movie, they have to handle two views at the same time, and therefore, they cannot do it in full resolution. Of course, that limitation doesn't exist on UHD TVs, because their buffers are twice as large as what is needed to decode Full-3D.

Also, I must admit that I don't understand why your TV shows the Full-SBS movies with less quality than Full-TAB. IMO, the two views must be cut BEFORE they are processed for the 3D display, and therefore, there is no reason to prefer one method over the other. But I trust your test. Your TV (and perhaps most or all LG TVs) has a problem with Full-TAB. That doesn't mean that the TVs made by other brands have the same problem. If would be nice to compare the two methods with, say, a Samsung UHD TV. I bet that both methods will give equivalent results.

Anyway, BD3D2MK3D offers all possibilities, so you are free to use what gives the best result with your equipment.

r0lZ
19th August 2019, 12:10
Thanks for de new version.

Unfortunately I get the error message
can't read "x264bitrate"
with the version.

Under v1.9 no problems.
Tested on 2 PC with 2 images.
Hum, strange. It's theoretically fixed.

Can you tell me exactly how you encode: x264 or x265 and with what mode (CRF, CQ, 2-pass or ABR) ? And if you encode with x265, please change the encoder and see what mode is selected for x264.

I will have a look anyway...

Tenker
19th August 2019, 13:04
Hum, strange. It's theoretically fixed.

Can you tell me exactly how you encode: x264 or x265 and with what mode (CRF, CQ, 2-pass or ABR) ? And if you encode with x265, please change the encoder and see what mode is selected for x264.

I will have a look anyway...

- h264 with x264
- FRIMSource
- ABR 15MBs

thxoptimizer
19th August 2019, 14:41
@r0lZ : thank you for you very complete explanation.

1st movie (before your answer) : I have checked on my TV (LG 55C6V) and...I haven't found how to active the subtiles...:stupid:
I forgot to check the end of the movie as you said, nevermind it was just a 1st test.

2nd movie (after your answer) : I have followed all your recommendations and the subtitles ar directly visible. Unfortunately, I think my TV doesn't like Full SBS because what I see is a 3D movie with very large horizontal black bars

For your information, usually I always watch my movies on physical support (Blu-Ray 3D), but I am just preparing when I will watch my movies on a headset because my next TV won't have 3D capability :(

r0lZ
19th August 2019, 15:01
Unfortunately, I think my TV doesn't like Full SBS because what I see is a 3D movie with very large horizontal black bars
This is a well known problem, due to the fact that the de-facto standard for 3D SBS or TAB is not very consistent, especially for Full-SBS or Full-TAB. The aspect ratio to use is not clearly specified. Some TVs require to set the aspect ratio of the combined view, and others require the aspect ratio of the final display (16:9), and some (like my Samsung) ignore totally the AR settings and disp[lay the movie in 16:9 full-screen anyway (and this is not a bad idea, because the SBS/TAB standard REQUIRES a 16:9 movie, with the black bars if necessary, so displaying it in 16:9 anyway makes sense.)

For a good result, you may have to change the AR settings with the menu Settings -> Full SBS/T&B aspect ratio. Note that there are two AR: the DAR set in the MKV header and the SAR in the video stream, so there is a total of 4 combinations. I suggest to encode a little clip several times just to verify what setting works for your TV. You can already exclude the default settings. :-(

Note also that there is no problem in Half-SBS/TAB.

thxoptimizer
19th August 2019, 16:41
Er...OK...this time I didn't understand everything (Full-TAB, AR, DAR) but I keep in mind what you suggest about the Settings -> Full SBS/T&B aspect ratio.

PS : I can't send you a private message : each time I write something and I click on "submit message", it's like it's working...but I don't see anything in "Sent item" so...I assume everything I wrote is lost...

sneaker_ger
19th August 2019, 17:53
Make sure "Save a copy of this message in your Sent Items folder" is ticked when you write a PM. You can activate this option by default in the Options of your CP (https://forum.doom9.org/profile.php?do=editoptions).

r0lZ
20th August 2019, 18:42
PS : I can't send you a private message : each time I write something and I click on "submit message", it's like it's working...but I don't see anything in "Sent item" so...I assume everything I wrote is lost...
I have received them, and replied. Maybe you have also to untick the "Receive Private Messages only from Contacts and Moderators" option ?

dm9656
20th August 2019, 22:09
Just a few words in reply

Thanks for the info. However, I'm not sure I agree with your conclusion. First, it should be noted that most relatively old 3D TVs (not UHD) do NOT support Full-TAB or Full-SBS. They require the half resolution, because their decoding buffers are just sufficient for 2D Full-HD. When they play a 3D movie, they have to handle two views at the same time, and therefore, they cannot do it in full resolution.

Yes, I should have mentionned my post did not apply to all TVs indeed.


Of course, that limitation doesn't exist on UHD TVs, because their buffers are twice as large as what is needed to decode Full-3D.

Agreed, FTAB/FSBS is mainly intended to get the best out of UHD TVs.


Also, I must admit that I don't understand why your TV shows the Full-SBS movies with less quality than Full-TAB. IMO, the two views must be cut BEFORE they are processed for the 3D display, and therefore, there is no reason to prefer one method over the other. But I trust your test. Your TV (and perhaps most or all LG TVs) has a problem with Full-TAB. That doesn't mean that the TVs made by other brands have the same problem. If would be nice to compare the two methods with, say, a Samsung UHD TV. I bet that both methods will give equivalent results.


Yes this is a bit strange and I just noticed this lately, however I have had that TV for nearly 3 years...
BTW "Your TV (and perhaps most or all LG TVs) has a problem with Full-TAB" ==> I guess you wanted to write "with Full-SBS".


Anyway, BD3D2MK3D offers all possibilities, so you are free to use what gives the best result with your equipment.

And this is where I give you my best thanks for the excellent work :)

dm9656
20th August 2019, 22:19
May I give my 2 cents about how I sort the things out of this SAR/DAR complexity when I encode in FTAB (for my LG UHD TV) ?

After the 3D encoding, I use MKVToolNix with the header editor, and edit the "Video display width/height" of the video stream with the target 1920/1080 values (usually they are set to same values as "Video pixel width/height" of 1920/2160).

Maybe I could set the parameters right in BD3D2MK3D that would do it for me without tweaking, but I don't remember ever succeeding with this, and this header tweaking gives me a 100% assurance that everything will play fine on the TV.

This is a well known problem, due to the fact that the de-facto standard for 3D SBS or TAB is not very consistent, especially for Full-SBS or Full-TAB. The aspect ratio to use is not clearly specified. Some TVs require to set the aspect ratio of the combined view, and others require the aspect ratio of the final display (16:9), and some (like my Samsung) ignore totally the AR settings and disp[lay the movie in 16:9 full-screen anyway (and this is not a bad idea, because the SBS/TAB standard REQUIRES a 16:9 movie, with the black bars if necessary, so displaying it in 16:9 anyway makes sense.)

For a good result, you may have to change the AR settings with the menu Settings -> Full SBS/T&B aspect ratio. Note that there are two AR: the DAR set in the MKV header and the SAR in the video stream, so there is a total of 4 combinations. I suggest to encode a little clip several times just to verify what setting works for your TV. You can already exclude the default settings. :-(

Note also that there is no problem in Half-SBS/TAB.

r0lZ
21st August 2019, 22:22
Maybe I could set the parameters right in BD3D2MK3D that would do it for me without tweaking, but I don't remember ever succeeding with this, ...
Well, just tick "Settings -> Full SBS/T&B Aspect Ratio -> Use 16:9 AR For Both (Not recommended)". That should put directly the right values for your TV in the MKV header.

Unfortunately, some TVs prefer to trust the SAR in the video stream, and AFAIK, you cannot change it without re-encoding.

sneaker_ger
22nd August 2019, 00:51
ffmpeg can change H.264 and HEVC SAR values without re-encoding.
https://www.ffmpeg.org/ffmpeg-bitstream-filters.html#h264_005fmetadata

r0lZ
23rd August 2019, 20:35
Thanks for the info. I did not know that. :-)

TVI
24th August 2019, 23:41
Thanks for your kind words.

As explained by tebasuna51, when you use the CRF encoding mode, the quality doesn't vary much, but the file size can vary, due to the difficulty to compress the images of the original movie. A CGI film like an animated Pixar movie can be compressed extremely well, because the image is very clean and without artifacts. In the other hand, old movies with much noise are very difficult to compress, because each frame is different from the previous one. So, differences in file size are not unusual, and you should not worry about them.

BTW, many peoples think that a specific bitrate is important to encode correctly, and prefer to encode in 2-pass mode for that reason, but it's totally wrong. Specifying the bitrate (in ABR or even 2-pass modes) imposes a constraint that the encoder must obey, and therefore, the quality is ALWAYS less good than the encoding in CRF mode (when it gives finally approximately the same file size, of course). The ONLY interest of 2-pass mode is therefore to control precisely the size of the final MKV file. That may be important if you need to copy it on a physical media like a DVD, but you should always avoid that mode if you don't care of the final file size.

See also my previous reply, just above this one.


Thank you very much for your helpful response (and tebasuna51).

Just one more query please. At some point during the majority of my 3D conversions there is a green flash and the 3D is thrown out of synch. It's is pretty random and can happen once or multiple times, and usually there will be another green flash and the 3D will return to normal.

Do you know why this happens? I wondered if it was something to do with checking the laptop during the conversion process?

Thank you!

sneaker_ger
25th August 2019, 15:09
Could be a decoding problem. Are you using hardware decoding? Try turning it off.