Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion. Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules. |
|
![]() |
|
Thread Tools | Search this Thread | Display Modes |
![]() |
#1221 | Link |
Registered User
Join Date: Dec 2002
Posts: 5,565
|
Note that Blu-ray and MKV work differently. On a Blu-ray subtitlines lines are marked forced. So you can have a single track with forced and non-forced lines. But in mkv tracks get a forced flag (or not). To make it even more complicated, the forced line flags may be kept in mkv for certain formats (namely DVD style idx/sub and Blu-ray style sup/pgs). Some players (LAV Splitter) can be set up to make use of both depending on what the user wants. I don't know how Kodi works but most players seem to look at the track flags of the mkv container. For those players a work-around is to duplicate the subtitle track (but only keeping the forced lines for the duplicate) so you have two tracks. Or hardcoding the forced lines but not the non-forced ones.
(Not all Blu-rays are authored to use forced line flags. Some use multiple tracks similar to mkv but without any flags.) Last edited by sneaker_ger; 24th August 2017 at 21:40. |
![]() |
![]() |
#1222 | Link |
Registered User
Join Date: Apr 2008
Posts: 30
|
Kodi does allow as shown mixed unforced and forced subtitles. See for example: https://forum.kodi.tv/showthread.php...339#pid1516339
My question is about what I am doing wrong in bd3d2mk3d, what boxes and I not checking or should be checking? And as a followup in case Kodi simply does not work properly on a 3D mkv, can I check both subtitles in bd3d2mk3d, use 1 to extract forced only and set to default, and, use the other as a second subtitle "track" so that I can play either one? Will they both save to the mkv? Edit - looks like it does work but would have been slightly preferred in one file. Last edited by sfatula; 25th August 2017 at 18:37. |
![]() |
![]() |
#1223 | Link | ||
PgcEdit daemon
Join Date: Jul 2003
Posts: 7,468
|
Sorry for replying only now, guys. For whatever reason, I haven't received the notifications of the new replies. And I was in holidays, far away from my computer.
Quote:
The option in the third tab suppresses only the ENCODER_SETTINGS tag (somewhat redundant with the info already included by x264 in the video stream). It doesn't suppress the inclusion of the most informative files in the final MKV. Why would you want that? Quote:
Can you describe exactly what you did? If I understand correctly, you have created a 3D MKV with MakeMKV, then created a new job with BD3D2MK3D, and finally launched it to create the final MKV, but MkvMerge doesn't recognise the 264 file. Correct? IMO, that problem can be caused by the laptop going to sleep mode during the encoding with x264. It is well knows that x264 doesn't support well the sleep mode. Normally, you should launch __ENCODE_3D_LAUNCHER.cmd (and NOT directly __ENCODE_3D.cmd). You can also tick the option "Exit and encode immediately" in the little dialog when BD3D2MK3D created the project. Both methods call __ENCODE_3D.cmd, but after having disabled (temporarily) the automatic sleep option of Windows. That should work. If it's not sufficient, try to change the power plan of your laptop so that it goes never to sleep automatically. And anyway, I recommend to use only the desktop computer to encode the project. It is probably much more powerful. Let me know if launching the correct CDM file has solved the problem.
__________________
r0lZ PgcEdit homepage (hosted by VideoHelp) BD3D2MK3D A tool to convert 3D blu-rays to SBS, T&B or FS MKV |
||
![]() |
![]() |
#1224 | Link | |
PgcEdit daemon
Join Date: Jul 2003
Posts: 7,468
|
Quote:
They can be (and are often) in their own separate stream. That means, for example, that you will have (at least) two streams in a specific language, like French: one for all subtitles, to be used if you watch the movie in its original audio language, and one with only the forced subtitles, to use when you watch the movie with the audio in your own language. The forced subtitles translate only written words or parts of the dialogs that have not been translated. The forced subtitles can also be some subtitles specifically tagged as forced in a stream containing both the forced and not forced subtitles. That method is less often used, but it exists. Unfortunately, BD3D2MK3D has no way to know how the subtitles are authored, because the forced streams are not specifically marked as forced. It presents therefore the whole list of streams to the user, and it tries to guess if there are forced streams or not. It does that this way. It ignores the language of the first audio stream (usually English), because there are often other subtitle tracks in the same language (director comments, hearing impaired...) For the other tracks, it considers that there are (probably) forced tracks if there are several streams in the same language. For example, it will probably consider that there are forced streams if there are two subtitle tracks in French. In that case, it enables automatically the "Forced subtitle are authored in their sepatate streams" option in track 2, and you cannot select the "forced streams only" pseudo-streams. You can of course change that option if BD3D2MK3D is wrong. When that option is off, you can select the "forced only" sub-streams, and BD3D2MK3D will try to extract the forced subtitles from the complete demuxed stream. If it cannot find the forced streams, it will issue a warning. In the other hand, when the option is ticked, YOU have to tell BD3D2MK3D what stream is forced, by ticking the option "forced" of that streams. (Use the preview to see the subtitles. And use a good player that doesn't modify the order of the subtitles.) Usually, the first stream in a specific language contains all subtitles, and the second one contains only the forced subtitles. BD3D2MK3D builds the __MUX_3D_OPTIONS.txt file (used to tell MknMerge how to build the final MKV) with the information it has. It sets the "forced" flag in the MKV header of the stream if the stream contains only the forced subtitles extracted from a full subtitle stream, and it sets it also for complete streams if the user has manually set the forced flag for that stream in tab 2. Now, it may be possible that Kodi respects ONLY the global forced flag of the current subtitle stream, OR ONLY the forced flag of the individual subtitles within a subtitle stream that is not globally tagged as forced. I don't know Kodi enough to be sure of what it does, but AFAIK, BD3D2MK3D does correctly its job. However, I don't remember if BD3D2MK3D tags all individual subtitles as forced in a globally forced stream. That should not be necessary since the global flag in the MKV header of the stream is theoretically sufficient, but Kodi may ignore it. Anyway, be sure to tick the "forced" flag in tab 2 for the correct streams, and if the problem persists, let me know. I may need to modify slightly the way the individual subtitles are tagged. Note also that you can modify easily the global forced flag of a stream without having to start the whole conversion over, and without having to recompute the x264 stream. Just edit the __MUX_3D_OPTIONS.txt with a text editor, and change the following lines: --forced-track 0:no to: --forced-track 0:yes Then launch __MUX_3D.cmd to rebuild the final MKV. If you want to test if Kodi will react at the individual forced subtitles within a stream containing only forced subtitles and you suspect that they have not been individually tagged as forced, you can open the stream in BDSup2Sub (use the Subtitle Tools menu to launch it), and tag any subtitle as forced with Edit -> Edit Frame -> Forced Caption option. Then export the subtitle stream and use it to build a new MKV. (Edit the __MUX_3D_Options.txt file if necessary, and launch __MUX_3D.cmd to rebuild the final MKV without computing the x264 stream again.) Sorry if that's somewhat confusing. Unfortunately, due to limitations in the BD format and usual bad authoring, it is difficult to completely automate the handling of the forced subtitles. [EDIT] sneaker_ger has correctly resumed the situation and its difficulty. Normally, BD3D2MK3D is able to handle the two cases, but as I've explained above, it needs a little help from you.
__________________
r0lZ PgcEdit homepage (hosted by VideoHelp) BD3D2MK3D A tool to convert 3D blu-rays to SBS, T&B or FS MKV Last edited by r0lZ; 28th August 2017 at 10:05. |
|
![]() |
![]() |
#1225 | Link | ||
PgcEdit daemon
Join Date: Jul 2003
Posts: 7,468
|
Quote:
(BTW, do you use 2D or 3D subtitles?) Quote:
Oh, another thing. A DVD player shows the forced subtitles of a stream containing both forced and normal subtitles only if the stream is "current". That means that it has to be selected, but not enabled. Perhaps Kodi needs something similar. But since there is no way to declare a stream as "current" in a MKV, perhaps you have to be sure that the stream containing the forced captions is the first in the list of subtitle streams. To force BD3D2MK3D to do that, be sure to tick the "default" option for that stream in tab 2. The stream with the default option will be the first in the MKV, and will have the "default" flag set. Maybe that will make the difference. However, normally, the default stream must be shown anyway, including its non forced subtitles. But AFAIK, no players respect that rule. I don't know for Kodi.
__________________
r0lZ PgcEdit homepage (hosted by VideoHelp) BD3D2MK3D A tool to convert 3D blu-rays to SBS, T&B or FS MKV Last edited by r0lZ; 28th August 2017 at 10:15. |
||
![]() |
![]() |
#1226 | Link |
Registered User
Join Date: Apr 2008
Posts: 30
|
Probably a false alarm. I did the process again as I had already split into two streams the subtitles and the second time, with a single stream some forced and some not, Kodi plays only the forced ones just as it should (with subs disabled). If you enable them, it plays them all. Perhaps there was a glitch in the encoding, or, perhaps Kodi had a glitch at the time. Will save and post an example next time.
|
![]() |
![]() |
#1227 | Link |
Registered User
Join Date: Apr 2008
Posts: 30
|
When I run the program against San Andreas 3D bluray, and select only the truehd stream and not the ac3 stream, the file output is named 00098.track.4253.Eng.thd+ac3. So, it did not decouple the thd from ac3. I really don't want the ac3 track. I note there is an option to only select the ac3 track, but, I do not check that of course. Why not only the thd? Yes, I know that's so other stuff can play it, etc. but I don't want it. So, I end up having to use ffmpeg or mkvextract to get only the thd, manually.
|
![]() |
![]() |
#1228 | Link |
Registered User
Join Date: Dec 2013
Posts: 606
|
First of all, a big thanks to r0lZ for this awesome software. Unbelievable that I never was aware of the possibilities of this tool.
I'm doing lots of subtitle creating/editing. Also wanting to be able to do that for 3D subs and understanding this piece of gem software, I'm near completing reading this whole thread phew. Wow, it's dazzling... Looking at the "2: Select streams"-tab I at first was also a bit confused about keeping only the True-HD track. The box "Use the 5.1 core of DTS-HD, TrueHD and E-AC3 audio streams..." is misleading indeed. I don't know if this has been addressed already, but TrueHD in a mkv is different than TrueHD on bluray video disc. TrueHD has no "core". On BD video, next to the TrueHD stream (which is independent) there is an embedded, also independent AC3 stream for legacy reasons. These two independent streams can be "muxed" as one track on BD video. However, you can't mux both streams as one audiotrack in mkv container. It is possible to mux both streams as separate tracks of course. DTS-HD is differently in its build-up. It has indeed a (lossy) dts-core (like you'll find on a dvd-video), which is, of course, independent. Next to that core there is extra (dependant) audiodata, which, combined with the dts-core, makes up for the DTS-HD audio. A DTS-HD track can be muxed (as one track) in both BD's m2ts- and mkv container. So, looking at the previously mentioned box, I would suggest changing it into something like this: One box for DTS-HD that would say something like: Use only dts-core (If checked, only the dts-core will be muxed. If unchecked, the whole DTS-HD stream will be muxed (as one audiotrack) in the resulting mkv) And a second box for TrueHD in which one has three choices, something like: 1: AC3 only (one track: only the legacy AC3 track will be muxed) 2: TrueHD only (one track: only the TrueHD track will be muxed) 3: TrueHD track + AC3 track (so, both independent tracks will be muxed as two audiotracks). With maybe the possibility to set one or the other as "default track" ? Last edited by von Suppé; 6th September 2017 at 08:36. Reason: crossing some tees |
![]() |
![]() |
#1229 | Link | |
Registered User
Join Date: Dec 2013
Posts: 606
|
I am near completion reading the whole thread. Excuse me for going a bit offside as I don't use BD3D2MK3D for 3D mkv creating. My player won't play them but it does play 3D BD iso's so I use tsMuxer to remux main movie only, for diskspace reasons, and the fact that I want to replace/add my personally edited/created subtitles, of course preferably in proper 3D.
Quote:
Or if I would leave tsMuxer's self-found 3D-Plane untouched, it would double-back it's own bug and assign the correct 3D-Plane number during muxing? Does that mean that the 3D-Plane contains 3D depth value for all videoframes of the video? I was under the impression that the 3D-Plane contained only depth-info about the subtitle it references to... |
|
![]() |
![]() |
#1230 | Link | |
PgcEdit daemon
Join Date: Jul 2003
Posts: 7,468
|
Again, sorry for the late reply. I am not notified of the replies to this thread any more. Not sure why.
Quote:
If you have selected the option to keep only the "core" in tab 2, then BD3D2MK3D demuxes only the AC3 track, and of course it muxes it in the final MKV. The advantage is the great compatibility, the small file size and the speed of the demux process. If the "core" option in tab 2 is not ticked, then indeed BD3D2MK3D demuxes the combined THD+AC3 track. But it's not that combined track that is muxed. As von Suppé has explained, it's impossible anyway, because MKV doesn't support that combined tracks. When the audio track is muxed, mkvmerge disregards the AC3 sub-track automatically, so that the audio track really muxed in the final MKV is the THD track alone. There is absolutely no need to split the combined track manually or change anything in the way BD3D2MK3D works. Technical notes: When the combined THD+AC3 track is muxed with mkvmerge, BD3D2MK3D uses the --audio-tracks argument to specify what sub-stream mkvmerge must keep. "--audio-tracks 0" keeps only the THD track. "--audio-tracks 1" keeps only the AC3 track. Example of muxing only the THD track from a THD+AC3 file, generated by BD3D2MK3D: (The magic is highlighted in red) Code:
### Audio stream(s) --track-name 0:Chinese (TrueHD 5.1 48/96KHz) --language 0:zho --default-track 0:yes --sync 0:5005 --compression 0:none --audio-tracks 0 00001.track_4352.Zho.thd+ac3
__________________
r0lZ PgcEdit homepage (hosted by VideoHelp) BD3D2MK3D A tool to convert 3D blu-rays to SBS, T&B or FS MKV Last edited by r0lZ; 13th September 2017 at 10:31. |
|
![]() |
![]() |
#1231 | Link | |||
PgcEdit daemon
Join Date: Jul 2003
Posts: 7,468
|
Quote:
Quote:
If I have decided to include only a single option, it's because usually there is only a single HD audio track in a movie. It can be either THD+AC3 or DTS-HD/MA, but I have never seen a movie containing a THD AND a DTS-HD/MA track at the same time. The user can select either the "lite" and compatible option of demuxing only the AC3 sub-stream or the DTS core, or he can opt for the best quality and keep either the THD or the DTS-HD/MA stream. IMO, there is no need to split that option in 4 different parts, as I don't think that it makes much sense to keep the two streams from a combined THD+AC3 stream. (And a power user can do it anyway, as explained at the end of my previous post.) Furthermore, the 3D BDs containing a THD+AC3 stream are very rare, and I don't want to add too many options, difficult to understand for the casual users. However, I agree that using the term "core" for THD+AC3 is not correct. But the place in the GUI is limited, and I haven't enough room to explain in details what the option does. If someone proposes a better name for that option, short enough to fit in the GUI, I will of course accept to use it instead of the current text. Quote:
Another way to handle the THD+AC3 problem would be to present the two sub-streams in the list of streams as two totally independent streams. The user will have the possibility to select the THD stream or/and the AC3 stream independently, and tick the Default option for the stream he prefers. And the option to keep only the core will be related to the DTS streams only. But that would require many changes to the way BD3D2MK3D handles the audio streams, and that may introduce new bugs, so I'm not sure I will do it.
__________________
r0lZ PgcEdit homepage (hosted by VideoHelp) BD3D2MK3D A tool to convert 3D blu-rays to SBS, T&B or FS MKV Last edited by r0lZ; 13th September 2017 at 09:37. |
|||
![]() |
![]() |
#1232 | Link | ||||
PgcEdit daemon
Join Date: Jul 2003
Posts: 7,468
|
Quote:
Quote:
The MPLS file contains a 3D specific extension with the 3D-Plane to use for each stream that is referenced in the playlist, in the order of the playlist. The bug of TsMuxer is that it retrieves the list of the subtitle streams directly from the M2TS (or SSIF file, I don't know), and not from the MPLS. Then it applies the 3D-Plane numbers at that stream list. If there are more physical streams than referenced in the MPLS (phantom streams), then the last streams have no 3D-Planes, and if the stream order is not the same, then the 3D-Planes are assigned to wrong streams. Quote:
Quote:
But you are also right. Indeed, a single 3D-Plane contains normally the 3D offset values for the subtitles of a specific stream. The values not necessary to display specific subtitles (corresponding to the frames without subtitles) are present, and may contain either the last really used offset value or the special "empty" value 0x80. Since they are not used, that doesn't matter much. However, it's an additional difficulty when you have to add a new subtitle stream to a 3DBD. If there are subtitles displayed at frames where the 3D offsets are not defined, the result is unpredictable. (The two "Convert Subtitles to 3D" tools of BD3D2MK3D try to deal with that problem, but it's not always perfect.) Now the bad thing about remuxing the MVC streams and the 3D-Planes. Although it is theoretically possible to assign correctly the 3D-Planes to the right subtitle streams with TsMuxer (with some help from BD3D2MK3D), you must understand theat the SEI messages are lost when the MVC stream is re-encoded. So, if you don't add them back before using tsMuxeR, it doesn't make sense to specify the 3D-Plane numbers, because they will reference 3D-Planes that are not present physically. So, TsMuxeR can be used to assign the 3D-Planes only when it remuxes an original MVC stream that has not been re-encoded, or a MVC stream that has been re-encoded with an encoder smart enough to re-insert the 3D-Planes as SEI messages in the final MVC. That was impossible until recently with free tools, but I know that now, FRIM has added that possibility to its encoder (or is it a separate tool to be used after the encode?) As I wrote, I'm personally not interested in re-encoding to AVC+MVC, so I'm not the right person to help you on this subject. See the FRIM thread for more info.
__________________
r0lZ PgcEdit homepage (hosted by VideoHelp) BD3D2MK3D A tool to convert 3D blu-rays to SBS, T&B or FS MKV Last edited by r0lZ; 13th September 2017 at 10:50. |
||||
![]() |
![]() |
#1233 | Link | |
Registered User
Join Date: Dec 2013
Posts: 606
|
Thanks for your verbose explaination, r0lZ. I'm still a bit dazzled (again)
![]() It seems I have a lot of testing to do. One thing please... Quote:
When I want to remux main-movie only to 3D BD-iso, doesn't tsMuxer only have to remux the already present dependant videostream, that would remain untouched, if I understood correctly? I mean, tsMuxer isn't a (re-)encoder, not? |
|
![]() |
![]() |
#1234 | Link |
PgcEdit daemon
Join Date: Jul 2003
Posts: 7,468
|
Yes, that's correct. The SEI messages are lost only if you re-encode the video. If you demux it and remux it untouched, the 3D-Planes are preserved. You have just to provide the right 3D-Plane numbers (as shown by BD3D2MK3D) and everything should be fine.
__________________
r0lZ PgcEdit homepage (hosted by VideoHelp) BD3D2MK3D A tool to convert 3D blu-rays to SBS, T&B or FS MKV |
![]() |
![]() |
#1235 | Link |
Registered User
Join Date: Dec 2013
Posts: 606
|
Thanks r0lZ, that's clear; it's what I also thought.
When using the "Extract 3D-planes from MVC" tool, and reading about your self-made mpls parser, must I therefore always choose the right playlist (*.mpls file)? Or would the outcome be an exact match if I would choose the *.ssif- or even the (smaller) dependent *.m2ts stream as input? |
![]() |
![]() |
#1236 | Link |
PgcEdit daemon
Join Date: Jul 2003
Posts: 7,468
|
The dependent (MVC) M2TS file contains the SEI messages with the 3D-Planes, but unfortunately, the tool to extract them works only on the elementary MVC stream. You must therefore demux the MVC stream from the dependent M2TS, the SSIF or (indirectly) from the MPLS. Using the dependent M2TS is the fastest solution because it's a less big file, but that will not work if the movie is made of several parts (when the playlist shows several M2TS files for the same movie, like in multi-angle movies). Finally, you should extract the 3D-Planes from the demuxed stream with MVCPlanes2OFS.exe (a CLI tool) or the "Extract 3D-planes from MVC" menu of BD3D2MK3D.
Or you can just prepare a project with BD3D2MK3D, move the 3D-Planes stuff out of the project folder, and delete the project. That's longer, but it's simple and you can do other things while BD3D2MK3D is working. It will also give you a detailed log of the extracted 3D-planes, and their correspondance with the subtitle streams. (Note that you must select at least one subtitle track in tab 2 for this to work, as otherwise the 3D-Planes are not necessary and of course not extracted.)
__________________
r0lZ PgcEdit homepage (hosted by VideoHelp) BD3D2MK3D A tool to convert 3D blu-rays to SBS, T&B or FS MKV Last edited by r0lZ; 16th September 2017 at 12:52. |
![]() |
![]() |
#1237 | Link |
Registered User
Join Date: Dec 2013
Posts: 606
|
Thanks r0lZ, it's clear. I'll go do some work and see if things are going ok.
Cheers Edit: Should I be worried if BD3D2MK3D finds lesser mpls files than BDInfo? Last edited by von Suppé; 17th September 2017 at 10:05. |
![]() |
![]() |
#1238 | Link |
Registered User
Join Date: Dec 2013
Posts: 606
|
Ok, I think first try-out went well. Remuxing Avatar 3D movie only. I wasn't sure if all subtitles would have to be remuxed, but I just gambled and checked only 2 subtitles I wanted to keep, specifying the 3D-plane numbers found by BD3D2MK3D (in this case the same as found by tsMuxer).
Output ISO plays wonderful! 3D sups have the proper placemements and depths, just as in the original. As I am further learning about my 2 mediaplayers' 3D capabilities (or lack of them) I also did a BD3D2MK3D project to create a 3D mkv andI carefully specified the project folder, but I can't see any of the "3D-Plane-**.ofs" files, nor the "3D-Planes.log" that I would have if I use the 3D-planes extraction tool. I also went through the "BD3D2MK3D.log". Are they stored somewhere in another, maybe temporary created folder? |
![]() |
![]() |
#1239 | Link | |
PgcEdit daemon
Join Date: Jul 2003
Posts: 7,468
|
Quote:
If you want to see all 3D Playlists, click on the option in the upper right corner of the first tab. But you will have to decide yourself what playlist to use. It's not always simple, especially with protected discs. You can even inspect the 2D Playlists (but not convert them) with File -> Explore 2D content of 3DBD. Of course, the 2D MPLS have no 3D extensions and therefore no MVC stream and no 3D-Planes. So, although by default BD3D2MK3D shows you only the most useful 3D playlists, it can show you all playlists, like BDinfo.
__________________
r0lZ PgcEdit homepage (hosted by VideoHelp) BD3D2MK3D A tool to convert 3D blu-rays to SBS, T&B or FS MKV Last edited by r0lZ; 18th September 2017 at 07:40. |
|
![]() |
![]() |
#1240 | Link | |
PgcEdit daemon
Join Date: Jul 2003
Posts: 7,468
|
You don't need to include all subtitles. Just the languages you need. Of course, if you don't remux all subtitles, there will be useless 3D-Planes in the MVC, but that's not a problem.
Quote:
You can even use BD3D2MK3D as a demuxer, to demux all necessary streams. If you select the audio and subtitle you really need, you will find them in the project folder at the end of the operation, with the video streams and the chapters as well, and you will not need to demux anything else. And an additional advantage is that BD3D2MK3D merges together the different parts of a multi-angle or multi-story movies. You can therefore use it if you want to remove all angles but one. Or you can also use BD3D2MK3D just to confirm the 3D-Plane numbers, and demux the streams with tsMuxeR. After all, you don't need to demux the 3D-Planes if you don't re-encode the MVC. Generating a whole project with BD3D2MK3D just to have its full 3D-Planes log may be overkill! However, you may need the OFS files if you want to check what is the "best" 3D-Plane to use with an additional subtitle stream you want to add to the original BD. There are several tools in the Subtitles menu that can help you decide what stream to use, but you need the 3D-Planes and the subtitles in XML+PNG format. In that case, it is probably a good idea to generate the BD3D2MK3D project.
__________________
r0lZ PgcEdit homepage (hosted by VideoHelp) BD3D2MK3D A tool to convert 3D blu-rays to SBS, T&B or FS MKV Last edited by r0lZ; 18th September 2017 at 07:56. |
|
![]() |
![]() |
Thread Tools | Search this Thread |
Display Modes | |
|
|