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

tyee
16th March 2016, 05:23
Thanks guys. I used makemkv to create a mkv with just the main movie. Then tsmuxer to create a blu-ray iso from that, then mounted with slysoft virtual clone drive. Worked great.

r0lZ
16th March 2016, 09:28
With that MakeMkv+tsMuxeR method, what do you do to have the correct subtitle depths when BD3D2MK3D converts the subtitles from the re-authored BD to 3D? AFAIK, there is no way to specify the 3D-Plane number to use with a specific subtitle stream in the MKV, therefore the 3D-Plane assignments are lost. Right?
I know that it is possible to specify the 3D-Planes to use when the ISO is created with tsMuxeR, but if I implement a method to load the MKV directly in BD3D2MK3D, I will have no way to know the original 3D-Plane assignments. Or is it an info about the 3D-Planes stored in the MKV by MakeMKV, like a backup of the original MPLS? Someone knows if that info exists, and if it's the case, what and where it is?

odyssey
16th March 2016, 10:48
Why is bdsup2sub++ not recommended?

Btw, no_simpleblock seems not to be supported anymore.

A few "requests" :)

- It would be cool if it could show the actual number of channels on each audio stream, and perhaps be able to choose for each one weather it should extract the core or not. F.ex. in case of 7.1 tracks, I would rather keep the 7.1, but would still extract core of additional 5.1 tracks to save space.

- In case of hardsubbing, also create an AVS/CMD for non-subbed :)

Perhaps be able to create different configurations of a movie. Say I've processed a movie with hardsubbing, and now I want to create a version without subs and a different language, then it could create a new avs/cmd/options file in the same directory, and skip the extraction because the files are already extracted.

It's really no big deal. I just modify them manually :)

r0lZ
16th March 2016, 11:23
Why is bdsup2sub++ not recommended?It has a lot of bugs. Especially, when it converts some subtitle streams to XML/PNG, it generates a lot of black images and a lot of entries in the XML file for the same subtitle. It is then impossible to convert the XML to SUB or SUP. Unfortunately, it is not developed any more, so that bug cannot be fixed. (The development of the java version has stopped too, but it is more mature and has less bugs. Its well known bug of the wrong frame rate used when converting to or from XML/PNG can easily be addressed, and anyway the ++ version has the same bug.)
It's a pity, because I hate java, and the ++ version is 10 times faster, but it is too dangerous to use it currently.

Btw, no_simpleblock seems not to be supported anymore.
OK, I'll verify that. Can you confirm that the option is simply useless, or does it make MkvMerge crash?

A few "requests" :)

- It would be cool if it could show the actual number of channels on each audio stream, and perhaps be able to choose for each one weather it should extract the core or not. F.ex. in case of 7.1 tracks, I would rather keep the 7.1, but would still extract core of additional 5.1 tracks to save space.
It's not simple for me. And anyway, if you select the global option to extract the core in tab 2, the 7.1 track is demuxed, but the 5.1 track is muxed automatically. You can easily modify __MUX_3D_OPTIONS.txt to replace it with the 7.1 version since it is on HDD.

- In case of hardsubbing, also create an AVS/CMD for non-subbed :)
Again, it's not as easy as it sounds. Creating a second AVS script is not really difficult, but I will have to create also the new CMD files to call the right AVS script. Anyway, it is very easy to remove the command that does the hardsubbing if you want to do the two versions. Also, new options and scripts will be confusing for the casual users.

Perhaps be able to create different configurations of a movie. Say I've processed a movie with hardsubbing, and now I want to create a version without subs and a different language, then it could create a new avs/cmd/options file in the same directory, and skip the extraction because the files are already extracted.
It's difficult for me. The normal flow of operations is already very complicated (due to the numerous options available) and I don't want to make it even harder to maintain. And I need some information available only when the whole process is made (such as the exact number of frames, available only when the streams are demuxed), so currently it's impossible. Also, I will have no way to know if the user wants to restart the whole process from scratch because something went wrong the first time, or if he wants only to generate a variant of the scripts.

Anyway, the philosophy of BD3D2MK3D is to save all files in a project directory and document them as far as possible so that an experienced user can freely modify them if he wish, instead of hiding the details of the operations in a black box, like most programs do. The drawback is that many users feel uncomfortable with that numerous and sometimes somewhat cryptic files and I don't want to make things even more complex to understand. As you said:It's really no big deal. I just modify them manually :)

tebasuna51
16th March 2016, 11:33
...Or is it an info about the 3D-Planes stored in the MKV by MakeMKV, like a backup of the original MPLS? Someone knows if that info exists, and if it's the case, what and where it is?
Maybe in next version:
http://www.makemkv.com/forum2/viewtopic.php?f=10&t=13892&p=48157

r0lZ
16th March 2016, 11:57
Interesting info. Thanks. Let's hope a solution will be implemented soon.

frank
17th March 2016, 11:04
Until then:
BD3D2MK3D Tools Extract 3D-planes from MVC is able to work with .m2ts (MVC stream) of mounted iso.
So you can extract the 3D-plane-xx.ofs from iso before ripping with MakeMKV.

frank
17th March 2016, 11:18
For x265 encoding:
The profile info in __MUX_3D_OPTIONS.txt must be
x265 main@..
not
x265 high@

I prefer Preset Faster and level 4.0.

r0lZ
17th March 2016, 11:27
Until then:
BD3D2MK3D Tools Extract 3D-planes from MVC is able to work with .m2ts (MVC stream) of mounted iso.
So you can extract the 3D-plane-xx.ofs from iso before ripping with MakeMKV.
Yes, but the 3D-plane alone is useless. And AFAIK, MakeMKV doesn't remove the 3D-planes from the MVC stream, and tsMuxeR preserves them also when the ISO is created. If I'm right, the only thing that is missing in the re-authored ISO is the reference (what subtitle stream uses what 3D-plane). Saving the 3D-plane itself doesn't help.

However, I can be wrong. I don't know exactly how MakeMKV and tsMuxeR handle the SEI messages with the planes. I know for sure that tsMuxeR doesn't remove them when the stream is demuxed, and I suppose that there is no reason to remove them when it is remuxed. So, IMO, only MakeMKV can be a problem here. I can't check that myself, since I don't have the license.
For x265 encoding:
The profile info in __MUX_3D_OPTIONS.txt must be
x265 main@..
not
x265 high@

I prefer Preset Faster and level 4.0.
OK, I'll have a look...

r0lZ
17th March 2016, 11:56
Hum, sorry, but it seems that it's the profile high that is used with the preset faster:

E:\BD3D2MK3D_projects\test_faster\00015>"D:\Tcl\work\BD3D2MK3D\toolset\avs2yuv.exe" "__ENCODE_3D_MOVIE.avs" -frames 3084 -o - | "D:\Tcl\work\BD3D2MK3D\toolset\x264_x64.exe" --crf 22 --preset faster --sar 1:1 --range tv --colormatrix bt709 --frame-packing 3 --qpfile chapters_3D.qpfile --frames 3084 --fps 24000/1001 --output "00015_3D.264" --demuxer y4m --stdin y4m -
__ENCODE_3D_MOVIE.avs: 1920x1080, 24000/1001 fps, 3084 frames
y4m [info]: 1920x1080p 1:1 @ 24000/1001 fps (cfr)
x264 [info]: using SAR=1/1
x264 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.1 Cache64
x264 [info]: profile High, level 4.0
[3.0%] 94/3084 frames, 14.05 fps, 1172.49 kb/s, eta 0:03:32

I've also verified the other presets, and only the superfast preset gives not a high profile. In that case, it's baseline, not main. So, unless you force x264 to use the main profile by specifying additional x264 options, BD3D2MK3D is right. Or x264 is wrong.

r0lZ
17th March 2016, 14:59
- In case of hardsubbing, also create an AVS/CMD for non-subbe0d :)
I have not implemented that, but I have improved slightly the content of the mux option file. Now, when a subtitle is hardcoded, it is also added in the MUX options file, but commented out. It is therefore easier to edit the files to create also a non-hardsubbed version of the movie.
You should:
- Edit the AVS script to remove the command that hardcodes the subtitle.
- Edit __MUX_3D_OPTIONS.txt to uncomment the subtitle stream.
- Less important: When a subtitle is hardcoded, its language code is assigned to the video track, since the video is now in a specific language. If you are picky, you should also restore the language of the video track to "und".
- It is also a good idea to change the output file name, of course.

tebasuna51
17th March 2016, 17:00
I can't check that myself, since I don't have the license.

MakeMKV is free while in beta (http://www.makemkv.com/forum2/viewtopic.php?f=5&t=1053)

r0lZ
17th March 2016, 17:11
Including for the BD? I believed it was free only for the DVD. Anyway, I'll download it again. Thanks.

tebasuna51
17th March 2016, 17:50
http://www.makemkv.com/
...
- Functionality to open DVD discs is free and will always stay free.
- All features (including Blu-ray decryption and processing) are free during BETA.

r0lZ
19th March 2016, 11:25
I've finished the beta version of the SRT to ASS 3D converter, and I have tried to release BD3D2MK3D v0.86, but unfortunately currently I can't log in to my FTP account at VideoHelp. I hope that the problem will be solved soon, and I'll release v0.86 officially as soon as possible.
In the meantime, you can download BD3D2MK3D v0.86 here (https://www.wetransfer.com/downloads/ed15a57bbbce02b2e1b2a3ad516c263d20160319101324/d787530f3b1f22e944a7a94937bec25020160319101324/8810a2). (That URL will be valid only during one week.)

There are still some things to improve in the SRT to ASS 3D converter, but it is already usable. See the help in the menu for an explanation on how to use it. Suggestions, bug reports and comments are welcome. Have fun!

frank
19th March 2016, 12:39
Originally Posted by r0lZ:
Hum, sorry, but it seems that it's the profile high that is used with the preset faster:
Quote:
E:\BD3D2MK3D_projects\test_faster\00015>"D:\Tcl\work\BD3D2MK3D\toolset\avs2yuv.exe" "__ENCODE_3D_MOVIE.avs" -frames 3084 -o - | "D:\Tcl\work\BD3D2MK3D\toolset\x264_x64.exe" --crf 22 --preset faster --sar 1:1 --range tv --colormatrix bt709 --frame-packing 3 --qpfile chapters_3D.qpfile --frames 3084 --fps 24000/1001 --output "00015_3D.264" --demuxer y4m --stdin y4m -
__ENCODE_3D_MOVIE.avs: 1920x1080, 24000/1001 fps, 3084 frames
y4m [info]: 1920x1080p 1:1 @ 24000/1001 fps (cfr)
x264 [info]: using SAR=1/1
x264 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.1 Cache64
x264 [info]: profile High, level 4.0Sorry, you've confused it. I meant x265 used for HEVC, and that is not the same.

"D:\3D\BD3D2MK3D\toolset\x265_x64.exe" --crf 20 --preset faster --level-idc 4.0
...
x265 [info]: HEVC encoder version 1.9+73-6d06de58c3163c19
x265 [info]: build info [Windows][ICC 1500][64 bit] 8bit
x265 [info]: Compiling by KG7x [x265.ru]
x265 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX AVX2 FMA3 LZCNT BMI2
x265 [info]: Main profile, Level-4 (Main tier)Version 1 of the HEVC standard defines three basic profiles: Main, Main 10, and Main Still Picture. [ITU 2015]
HEVC - Wiki (https://en.wikipedia.org/wiki/High_Efficiency_Video_Coding)

r0lZ
19th March 2016, 12:46
Oh, OK. I don't use x265 often, and I did not pay attention to that.
That will be fixed in the next version.

[EDIT] Fixed in final v0.86, posted just below.

r0lZ
19th March 2016, 13:37
Baldrick has just fixed the problem of the FTP login at VideoHelp (Thanks!), so here is the official release of v0.86.

Note that this version is slightly different that the one posted above. I've just fixed the label of the video track of the 3D version when x265 is used to compute it. (In fact, I've just removed the profile and level information from the label.) It's the little bug reported by Frank just above. If you don't use x265, the two versions are strictly equivalent, and anyway, the label of the video stream is not really important. However, you should download the final release anyway.


v0.86 (March 19, 2016)
- Added the subtitle tool Convert SRT to ASS 3D (still in beta)
- The SAR (Sample Aspect Ratio in the h264 stream) is now 1:1 for all 3D modes (Full and Half).
- When a subtitle is hardcoded, it is now also present but commented out in __MUX_3D_OPTIONS.txt
- Fix: Wrong label of video stream when using x265 to encode the 3D version.
- Updated MkvToolnix exes to the latest version (v8.9.0)

frank
19th March 2016, 14:33
Thanks.
I'm testing with HEVC because Germany starts DVB-T2 (incl HEVC) with the Olympics. Then from 2017, all terrestrial tv channels are to be switched to HEVC.

BD3D2MK3D is a very good tool to study the behavior of HEVC. Results are very good, you can save 30-50 % size.
I use it now to convert very long 3D movies like Avatar, Jurassic World in excelent quality. Streaming from 8GB USB stick is possible. With my notebook I use raw interleave output to HDMI for the best passive 3D picture. You cannot trust the bad built-in tv players. So at the moment my notebook (Potplayer) decodes HEVC very fine.

r0lZ
19th March 2016, 14:49
I like the compression and quality of HEVC too, but the problem is the compatibility. I guess I'll have to buy an external hardware player, or a mini-PC to run Kodi, but currently I use the player of my TV. It works very well with AVC and gives a much better picture than most external players I've tested so far, but it doesn't support the subtitles (except the stupid SRT format) and, unfortunately, HEVC. Anyway, I prefer to wait before buying something else, because I guess that many players are not yet ready for HEVC, and I prefer to have a larger choice...

r0lZ
22nd March 2016, 10:09
http://www.makemkv.com/
...
- Functionality to open DVD discs is free and will always stay free.
- All features (including Blu-ray decryption and processing) are free during BETA.
Hum, it's not what MakeMKV itself tells. I've just installed the latest version and opened a BD3D, and I see this dialog:

---------------------------
MakeMKV BETA popup
---------------------------
This functionality is shareware. You may evaluate it for 30 days after what you would need to purchase an activation key if you like the functionality. Do you want to start evaluation period now?
---------------------------
&Yes &No
---------------------------

tebasuna51
22nd March 2016, 10:30
Hum, it's not what MakeMKV itself tells. I've just installed the latest version and opened a BD3D, and I see this dialog:

Use Help -> Register and the provided beta key.

r0lZ
22nd March 2016, 10:46
What provided beta key? Where can I find it? Why is it necessary to make things so complex?

And I don't understand how to create a 3D MKV. I can open the 3DBD as files, and in that case, it is possible to select the title to backup and the additional MVC stream (not selected by default), but the resulting MKV contains only the AVC stream, and is therefore 2D only, and useless for BD3D2MK3D.

In the other hand, if I open the BD3D as a disc, the only thing that I can do is a whole backup to HDD. I cannot make a MKV with a specific title.

Have I missed something? How do you create a MVC MKV with a specific title?

sneaker_ger
22nd March 2016, 10:49
but the resulting MKV contains only the AVC stream
How did you determine that?

r0lZ
22nd March 2016, 10:55
With MkvExtract, MkvMerge and MediaInfo. No MVC stream.

sneaker_ger
22nd March 2016, 10:58
MediaInfo is not looking like this?
Format : AVC
Format/Info : Advanced Video Codec
Format profile : Stereo High@L4.1 / High@L4.1
MultiView_Count : 2

r0lZ
22nd March 2016, 11:05
No. There is ONLY an AVC stream. No MVC. Never. I did 5 tests so far, and it seems impossible to get it to work as expected.
Perhaps it's because I did not have the beta key. I've just found it, and will retry immediately...

[EDIT] No, no way. It doesn't work.

Sorry, I abandon. I have never liked MakeMKV, and the current version confirms that it has not evolved at all since the last time I've used it (years ago). There is still no preview, for example! And if it works only in some circumstances, I will probably receive questions and emails asking how to use it with BD3D2MK3D, and I will be unable to explain. I don't want that. Sorry.

Sharc
22nd March 2016, 11:31
I just tried MakeMKV here.
It extracts the AVC and MVC streams and combines these in one interleaved .mkv which plays fine with stereoscopic player..

But if I remember correctly their interleaved format is proprietary (?); at least it used to be.

sneaker_ger
22nd March 2016, 11:33
I think they were the first to do it. Matroska isn't really well defined, most of it is just "do like mkvmerge does". LAV + madVR now play mvc-in-mkv as well (in 2d and 3d).

Sharc
22nd March 2016, 12:09
Well, something seems to have been improved:
The interleaved stereoscopic .mkv produced by MakeMKV can now be demuxed with tsMuxeR (2.6.12) and split into separate .264 (=avc) and .mvc streams.

r0lZ
22nd March 2016, 12:15
MediaInfo is not looking like this?
Format : AVC
Format/Info : Advanced Video Codec
Format profile : Stereo High@L4.1 / High@L4.1
MultiView_Count : 2
Damn, you are right! The video is Stereo, with 2 views. :goodpost:
I have been fooled by the way the video streams are presented (as a single AVC stream, but stereo).
I will now see what I can do with tsMuxeR to extract the two streams. (I need them as two different streams, not a single interleaved stream.)
Well, something seems to have been improved:
The interleaved stereoscopic .mkv produced by MakeMKV can now be demuxed with tsMuxeR (2.6.12) and split into separate .264 (=avc) and .mvc streams.
It's exactly what I need.

tebasuna51
22nd March 2016, 22:53
It's exactly what I need.

Yes, for that I show you the attached image in http://forum.doom9.org/showthread.php?p=1760566#post1760566

r0lZ
23rd March 2016, 09:06
Yes. thanks. But finding what's in the MKV is not the most difficult task. Currently, BD3D2MK3D assumes that the information is stored in a BD structure, and modifying everything is really not easy. I'm still not sure I'll do it. But I am trying...

Sharc
23rd March 2016, 09:15
I imagine that the extra step could be to remux the .mkv into a BD structure or .iso using tsMuxer, and from there onwards continue with BD3D2MK3D "as usual".
But probably not so easy and straightforward, as I imagine ....

r0lZ
23rd March 2016, 09:41
It's not a bad idea, and yes, it's (relatively) straightforward. At least, it's much easier than having to change my code each time it is dependent of the input type. But IMO, doing what you suggest will ruin the advantage of integrating the 3D MKV input in BD3D2MK3D. That will require to write again a very large file on disc, and therefore much disc space and much time. Also, everybody can do that with the tsMuxeR GUI, and the advantage of doing it directly with BD3D2MK3D is minimal. So, if I do the job of integrating the MKV input, it must be processed directly, without the additional step of the ISO creation.

However, I remember your idea, but just for a small part of the ISO. Currently, many necessary values are taken from the MPLS file, and of course, that doesn't work for the MKV input. When a MKV is opened, I may generate internally a fake MPLS with the necessary info, just to not have to change the code everywhere. The current code will fetch the values from the fake MPLS when they are needed, just like it does with a real BD or ISO. But I'm still not sure that will be sufficient to avoid most difficulties...

Also, there are two well known problems with the 3D MKV format: the left/right view first flag and the 3D-plane assignments are lost. I'm still not sure for the audio delays. All that values are normally in the MPLS file, but I need a way to either compute/deduce/retrieve them automatically, or I need a GUI to input them from the user.

r0lZ
24th March 2016, 11:15
I did some tests with MakeMKV and tsMuxeR, and I have some problems with the detection of the audio tracks.

When the original audio is DTS-HD Master Audio, MakeMKV selects by default the core, but you can also select the HD-MA stream. Good. But when the created MKV is parsed by tsMuxeR, it prints this for the two audio streams:

Track ID: 2
Stream type: DTS-HD
Stream ID: A_DTS
Stream info: Bitrate: 1536Kbps core + MLP data.Sample Rate: 48KHz Channels: 2 (DTS Master Audio 24bit)
Stream lang: und

Track ID: 3
Stream type: DTS
Stream ID: A_DTS
Stream info: Bitrate: 1536Kbps Sample Rate: 48KHz Channels: 2
Stream lang: und

Track 3 is OK, but the stream type of track 2 is DTS-HD instead of DTS-HD-MA. I need a correct stream type to determine precisely the way the audio can be processed and display the correct info in the GUI. Unfortunately, I haven't found so far a BD with a DTS-HD High Res track, and therefore I cannot check if tsMuxeR prints something different for HD and MA. If someone can check that for me, I'll be very grateful.
You have to use the command line: tsMuxeR.exe 3Dmovie.mkv

The second problem I have is with TrueHD audio. It is also possible to select either the core or the THD audio, or both in MakeMKV. But when tsMuxeR parses the file with a THD track, I see this:

Track ID: 2
Can't detect stream type

Track ID: 3
Stream type: AC3
Stream ID: A_AC3
Stream info: Bitrate: 640Kbps Sample Rate: 48KHz Channels: 5.1
Stream lang: eng

Obviously, tsMuxeR is unable to recognise the THD track. I don't know if it's a bug in MakeMKV or in tsMuxeR, and if the problem exists with all THD tracks or if it is specific to the BD I've used. Again, someone can confirm that TrueHD is not supported by tsMuxeR ? If it works, what is the exact Stream Type it prints ?

Finally, I have been unable to find a BD3D with an example of AC3+ (aka EAC3) stream, and therefore I don't know what tsMuxeR prints in its Stream Type field. (I know that it uses A_AC3 for the Stream ID, but it's not sufficient.) Can someone help ?

Thanks in advance!

odyssey
24th March 2016, 14:41
r0lz, can you display the channels in the select streams tab?

It's useful, because (to me) it makes sense to keep 7.1 tracks, but extract core of lossless 5.1 to save space.

Perhaps also display if it's an Atmos track. I don't think you can see that today.

r0lZ
24th March 2016, 15:18
It's difficult. I don't have the info directly. In the MPLS, there is only an "audio_format" value, that can be 1, 3, 6 or 12, corresponding to this:
1 "Mono"
3 "Stereo"
6 "Multi-channel"
12 "Stereo/Multi-channel"
Currently, I display exactly that. It is not possible for me to analyse the streams themselves and therefore I can't count the channels. It might be possible to deduce the number of channels according to the codec type and the audio_format, but I'm not sure it works with all codec types, and I don't know the rules anyway. I don't want to risk to display a wrong info, so currently I prefer to display only the content of the MPLS, without trying to improve it.

Atmos is completely opaque to the tools I use, and I can't detect or handle it specifically. Sorry.

Note that you can easily inspect the real content of the audio streams with a good player or MediaInfo, and select the options in BD3D2MK3D accordingly. And if you are still not sure or if you want to pick the core of some streams and leave other ones in their original format, you can untick the option to extract the core, and demux. Then, when the demux is finished, use the Tools menu to extract the core of the streams you want in light 5.1, and edit the __MUX_3D_OPTIONS.txt file to change the filename and label of that streams. It's easy.

odyssey
24th March 2016, 15:58
Why is it hard? You write the info already in the mux options file, but since you can only see that when the streams are demuxed I can't make the decision when I make the project.

r0lZ
24th March 2016, 17:24
It's exactly for that reason for me too. I know the exact number of channels only when the streams are demuxed. When the GUI is built, I don't have the info. And don't ask me to demux everything anyway just to know the number of channels!

tebasuna51
24th March 2016, 19:46
but the stream type of track 2 is DTS-HD instead of DTS-HD-MA. I need a correct stream type to determine precisely the way the audio can be processed and display the correct info in the GUI.
For me is enough DTS-HD, the question is extract the 'core' or preserve the HD, no mather if is MA or HR.

Unfortunately, I haven't found so far a BD with a DTS-HD High Res track, and therefore I cannot check if tsMuxeR prints something different for HD and MA.
A DTS Hi-Res, 7.1 channels, 3018kbps, 96kHz (core: DTS, 5.1 channels, 1509kbps, 48kHz) in mkv is show by tsMuxeR like:

Track ID: 2
Stream type: DTS-HD
Stream ID: A_DTS
Stream info: Bitrate: 3045Kbps Sample Rate: 96KHz Channels: 7.1

Less info than a DTS-MA

The second problem I have is with TrueHD audio...
Obviously, tsMuxeR is unable to recognise the THD track. I don't know if it's a bug in MakeMKV or in tsMuxeR, and if the problem exists with all THD tracks or if it is specific to the BD I've used. Again, someone can confirm that TrueHD is not supported by tsMuxeR ?

Seems than tsMuxeR don't recognise THD track (Atmos or standard) in mkv's. Always get: Can't detect stream type

A workaround can be use eac3to 3Dmovie.mkv

MKV, 1 video track, 3 audio tracks, 0:02:29, 24p
1: h264/AVC, 1080p24 (16:9)
2: TrueHD (Atmos), English, 7.1 channels, 48kHz
3: AC3, English, 5.1 channels, 640kbps, 48kHz
...


Finally, I have been unable to find a BD3D with an example of AC3+ (aka EAC3) stream, and therefore I don't know what tsMuxeR prints in its Stream Type field.

Not from a BD3D but:

Track ID: 4
Stream type: E-AC3 (DD+)
Stream ID: A_AC3
Stream info: Bitrate: 1664Kbps (core 640Kbps) Sample Rate: 48KHz Channels: 7.1
Stream lang: eng

r0lZ
24th March 2016, 20:24
Thanks for the info. Very useful.

Using eac3to to retrieve the info about the THD tracks is possible, as well as MkvInfo. But the problem is that I have to demux it, and if tsMuxeR cannot recognise the track, that means that it cannot demux it. The workaround would be to use eac3to to demux all tracks. And that means that I have to change totally the current workflow of the program and rewrite a big part. And since eac3to cannot demux many subtitles from the 3DBDs, I don't want to use it for the BD3Ds. And using two different demuxing methods for the BD3D and MKV modes is absurd. I'm afraid I'll have to ignore the THD tracks. The users will need to select the AC3 core in MakeMKV and de happy with that! Or use AnyDVD to decrypt the original BD.

AKI84
25th March 2016, 23:44
Obviously, tsMuxeR is unable to recognise the THD track. I don't know if it's a bug in MakeMKV or in tsMuxeR, and if the problem exists with all THD tracks or if it is specific to the BD I've used. Again, someone can confirm that TrueHD is not supported by tsMuxeR ?

A MKV file with a TrueHD track has always been a problem with tsmuxer.

https://github.com/mbunkus/mkvtoolnix/wiki/TrueHD-and-AC3
If a TrueHD track contains AC3 data then both data sets are completely decodable independently from another. The AC3 part is present so that if that track is output to a hardware decoder that doesn't know about TrueHD then that hardware decoder can still decode the AC3 part. The only difference between the two is that TrueHD is a lossless codec while AC3 isn't – but they've both been done from the same source material.

The Matroska specs state that one track must only contain data for one codec. Therefore mkvmerge cannot keep the AC3 interleaved with the TrueHD part in a single track.



The problem is that tsmuxer only works with a thd+ac3-core track.

r0lZ
26th March 2016, 07:45
I see. It makes sense.
It's a pity. Perhaps tsMuxeR could try to re-create the THD+AC3 track with the THD and AC3 tracks from the MKV. But since the development of tsMuxeR has stopped, we have to live with that problem.
Anyway, if someone really want to add the THD track in the final SBS/T&B MKV, he can demux it with MkvExtract, and remux the MKV with the additional track with MkvMerge.

tebasuna51
27th March 2016, 01:18
I make some test and suggest to MakeMkv developer include tags for 3d-plane: http://www.makemkv.com/forum2/viewtopic.php?f=10&t=13892#p48559

After that all the info needed to create a fake mpls can be obtainend with:
mkvmerge --engage keep_track_statistics_tags -F verbose-text -i INPUT.mkv >output.log

For me still there are a pending question: Audio delays

When tsMuseR extract audio tracks ignore the audio delays in mkv's (eac3to add the delay automatically), and is not easy know the mkv delays because aren't stored in metadata.

AFAIK the only method is extract the timecodes of each audio track:
mkvextract timecodes_v2 INPUT.mkv 1:timecodes_1.txt
and read the second line of the txt:
# timecode format v2
200
210.666667
...
Here the delay of track 1 is 200 ms.

r0lZ
27th March 2016, 09:32
I've seen (and replied to) your message at the MakeMKV forums. Good proposition. Thanks!

I'm not sure the audio delays are so important. Personally, I have never seen an audio streams with a delay in any BD. (BD3D2MK3D verifies them and uses them, if any, but afaik they are always 0.) And I suppose that MakeMKV doesn't truncate the audio before muxing them to MKV, so I guess that the problem of the delay can be ignored. Of course, if it appears that some MKVs created by MakeMKV have noticeable audio delays, I'll have to take them into account. But I'll do that later. For me, there are many other things to solve, much more important. (BTW, I've just finished the part of the code that loads the MKV in the GUI, and let the user select the streams he wants. But currently, it is totally impossible to demux the file. I have still many things to modify...)

r0lZ
27th March 2016, 09:54
tebasuna51, I'm not sure why you have specified the option --engage keep_track_statistics_tags in your example:

mkvmerge --engage keep_track_statistics_tags -F verbose-text -i INPUT.mkv

Apparently, it is possible to retrieve the information without that option:

mkvmerge -F verbose-text -i INPUT.mkv

Is it something I've missed?

tebasuna51
27th March 2016, 10:42
Personally, I have never seen an audio streams with a delay in any BD.
I don't see delays in BD's also, but maybe there are "custom" BD's with added audio tracks from DVD's with delays.

And I suppose that MakeMKV doesn't truncate the audio before muxing them to MKV, so I guess that the problem of the delay can be ignored.
I don't know how MakeMKV manage the delay, if there are any, I'll make some test about that.

But I know mkvmerge behaviour, mkv only support positive delays then, when a track have negative delays, for instance a .m4a with initial silence added, mkvmerge truncate the initial frames until obtain a 0 or positive delay.

Of course, if it appears that some MKVs created by MakeMKV have noticeable audio delays, I'll have to take them into account. But I'll do that later.
I agree, can be do later.

(...I have still many things to modify...)
Yes, I don't know Tcl-Tk languaje but reading your source file I can see many dependencies of BD structure. Thanks for your effort.

tebasuna51
27th March 2016, 11:10
tebasuna51, I'm not sure why you have specified the option --engage keep_track_statistics_tags in your example

MakeMKV use mkvmerge without --disable track-statistics-tags, then there are always usefull data not showed without --engage keep_track_statistics_tags.

All tracks show that info:

tag_bps:18321545
tag_duration:00:02:00.663000000
tag_number_of_bytes:276341585
tag_number_of_frames:2893

bps is the real average bitrate of the track, usefull for VBR tracks (DTS-HD, THD, ...)
duration show you the real duration of the track
number_of_bytes show the expected size of extracted track
number_of_frames show the number of subs for instance, or the number of video frames.

Last MediaInfo versions uses that tags, if present, to show the exact info, without that tags MediaInfo can't know exact values without examine the full file, and don't do that, show some estimation some times wrong.

r0lZ
27th March 2016, 11:43
I know that, but BD3D2MK3D doesn't need that infos. To retrieve the 3D-plane tags, "-F verbose-text" is sufficient. I have other ways to retrieve the total duration, and the bps, number of bytes and number of frames are not necessary when the MKV is opened.

BTW, BD3D2MK3D includes the --disable-track-statistics-tags in its __MUX_3D_OPTIONS.txt file by default, but this can be changed with the Settings menu.