View Single Post
Old 14th January 2017, 11:28   #1144  |  Link
r0lZ
PgcEdit daemon
 
r0lZ's Avatar
 
Join Date: Jul 2003
Posts: 7,469
Quote:
Originally Posted by macrea View Post
From my understanding, TSMuxer won't show you the original planes. It just lets you select the plane you want to use. Is that incorrect?
Well, it's partially incorrect. TSMuxeR shows you the 3D-Plane number, but it is right that it can have some bugs. The problem is related to the structure of the MPLS. A MPLS can reference some subtitle streams but not necessarily all physical streams really present in the M2TS/SSIF. I call the unreferenced streams "phantom streams". They are present, but normally you cannot select them during the playback. (The video, audio and subtitle streams for the PiP video are also additional streams, referenced in an extension of the MPLS but not related to the real movie. They are therefore similar to the phantom streams.) In a 3DBD, the 3D-Planes are assigned only to the streams referenced in the MPLS, in the order of the MPLS. Most of the time, all streams physically present in the M2TS/SSIF files are referenced in the MPLS, in the same order, and in that case the 3D-Planes shown by TSMuxeR should be correct. However, when a phantom stream is present before a referenced stream, or when the streams are not in the same order than in the M2TS, TSMuseR assigns the 3D-Planes sequentially to the wrong streams. That's a bug, and it's one of the major reasons that have motived me to write my own MPLS parser. BD3D2MK3D shows you only the streams really referenced in the MPLS (without the PiP), with the correct 3D-Planes assignments.

So, yes, it is a good idea to use BD3D2MK3D to verify the 3D-Planes assignments shown by TSMuseR, even if most of the times there are no differences.

Quote:
Originally Posted by macrea View Post
If you use the wrong plane for the subtltle (a different plane than originally on the disc), then the results will not work correctly.
Correct, although most of the times, all 3D-Planes are similar. It's why BD3D2MK3D has some tools to convert an external 2D subtitle stream to 3D using the most appropriate 3D-Plane, even if no 3D-Plane exist in the BD for that specific stream or language. The results, although not perfect, are usually very good.

Quote:
Originally Posted by macrea View Post
I did try using TSMuxer a while back, and it was a foreign animated 3D blu-ray with English subtitles. They must have messed up the planes on the disc because the subs are flat on the screen (plane zero?), cutting through lots of 3D objects and ruing the experience. After using TSMuxer, the subtitles still had the same problem.
Some cheap 3DBDs have no 3D-Planes or they have a constant depth. (It's usually the case of Asian movies, some documentaries, cheap BDs for kids, and so on...) It's also the case of many ISOs badly compressed to fit on a BD25 and found on the internet (because the 3D-Planes information is in the MVC video stream and is lost when you re-encode it.)

Of course TSMuxeR cannot create new 3D-Planes automatically for that bad BDs. If the original subtitles are flat, it cannot fix the problem. (It should be possible to give a constant depth to unstick all subtitles from the surface of the stream, but afaik it's not possible currently.)

Anyway, in your case, since you don't want to re-encode the video, the MVC stream will stay untouched, and if you use the correct 3D-Plane number, you should obtain exactly the same depths than in the original BD.

Quote:
Originally Posted by macrea View Post
I'm new to this 3D planes thing, but am I right that the higher the number in TSMuxer, the farther out of the screen the subtitles are? I'd like to place them far enough out that they won't cut through objects. Any advice would be appreciated.
No! TSMuxeR shows you the assignments ONLY! In a single MVC stream, there can be up to 32 different 3D-Planes. In the MPLS, each referenced subtitle stream is defined. The language of the stream, for example, is defined in the MPLS. The number of the 3D-Plane to use is also defined for the subtitle stream (in the 3D extension of the MPLS). The 3D-Plane number is therefore not related at all to the depth of the subtitles (or only very indirectly).

However, the depth values stored in the 3D-Plane itself represent the position along the Z axis of the subtitles. 0 means "on the surface of the screen", < 0 means beneath the screen, and of course, positive values mean toward the spectator. There is normally one depth value per frame in each 3D-Plane, but some depths may be undefined (hex 0x80) if there is no subtitle at that frame. Usually, the depths values range is around -10 to 25. The full range is -127 to 127. (Note also that in BD3D2MK3D, all depth values are multiplied by 2, for technical reasons and because that permits a better precision.)

Unfortunately for you, you cannot create your own 3D-Planes easily, or modify an existing one. They must be attached to the MVC stream before the mux, and afaik there is no tool able to do that. You will therefore have to use a plane present in the original MVC stream, even if it is not perfect.

BD3D2MK3D has some tools to analyse the content of a 3D-Plane and display some statistics (like the min, max and average depths or the number of undefined depths), but unfortunately for you, it can only analyse the 3D-Planes files extracted from the MVC stream, itself demuxed from the SSIF, so using that tools directly on the BD is impossible.

Quote:
Originally Posted by macrea View Post
I also read that some 3D films can have dynamic planes, which place the subs in different planes based on individual dialog, so one line might be on a different plane than another line, depending on the action on-screen. Can anybody suggest a better software solution than TSMuxer for this, or is TSMuxer recommended?
Correct. In fact, all "good" 3D-planes are dynamic, because it is very painful to have to adapt constantly the focus of your eyes to see the objects in the movie and to read the subtitles. The subtitles must therefore be as close as possible to the objects that the spectator is supposed to look at.

As you should have understood now, TSMuxeR is not responsible of the quality of the 3D-Planes. It has just to insert the correct 3D-Planes number(s) in the MPLS so that they correspond to the physical subtitle streams. Dot. Therefore, TSMuxeR can perfectly be used to assign the 3D planes (but as explained above, not to be sure of the 3D-Plane number to use). The rest depends of the 3D-Planes present in the MPLS stream. And authoring them yourself is another story, currently impossible or very difficult with free tools and without authoring the 3DBD yourself. (I hope that TSMuxeR doesn't have the same bug when it muxes than when it analyses a MPLS, but I can't be sure because I don't use it for that job. Anyway, since you remux just to regain some space, I suppose that you will not keep the useless phantom streams, and the 3D-Planes assignments should be straightforward.)

Final note: I have adopted the terminology of TSMuxeR when I began to write BD3D2MK3D, but "3D-Plane" is not the official name. It is probably better to use "Offset Sequence" (hence the ".ofs" extension of the 3D-Plane files.)
__________________
r0lZ
PgcEdit homepage (hosted by VideoHelp)
BD3D2MK3D A tool to convert 3D blu-rays to SBS, T&B or FS MKV
r0lZ is offline