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

Airmiles
3rd August 2015, 19:31
Without the conversion box ticked, there was no problem. It kept a DTS track in 5.1. iFLICKS will turn this into AC3 anyway, so that is fine as well.

It only happens when converting 7.1 Master audio. 5.1 master audio gets converted fine. I will try to get you guys a sample. It should be in the directory of the finished rip right? Just as the meta file?

It might take a few days though. it is summer and my kids are pulling me to the communal pool everyday and when we get home they start complaining I am behind the computer all the time.

r0lZ
3rd August 2015, 19:37
It is theoretically preferable to convert the DTS HD MA track to AC3, because you start from a lossless track. But I'm not sure many peoples can really perceive the difference of quality.

Yes, all files necessary for the project are saved in the same directory.

I'm not in a hurry. Here also the sun is shining and I have to work in my garden...

Airmiles
4th August 2015, 08:32
Did Lion King agin to get the same error. The DTS file is almost 4GB. How do I get that to you guys? The demux data file is only 4kb.

OK, so here is the entire console content:

*** Welcome to BD3D2MK3D v0.69
() 1 % proc GetFreeDiscSpace {} {
> set tmp [file normalize [GetOutputFolder]]
> if {[string range $tmp 0 1] == "//"} {
> set src [string range $tmp 0 [string first "/" $tmp 2]]
> } else {
> set src [string range $tmp 0 2]
> }
> return [string map {"," "" "." "" "'" ""} [lindex [string trim [lindex [split [string trim [exec -- cmd /c dir [string map {/ \\} $src]]] \n] end]] 2]]
> }
***************************************

*** Opening BD disc E:\...
*** Filtering 15 MPLS files...
*** 4 3D MPLS files loaded.
*** BD disc E:\ opened successfully. 4 3D playlists loaded.

*******************************************************************************

Main job started Tue Aug 04 08:47:28 CEST 2015.

Saving file "00800.demux.meta"...
Saving file "chapters_2D_no_delay.txt"...
Saving file "chapters_2D_no_delay.qpfile"...
Saving file "chapters_3D_delay.txt"...
Saving file "chapters_3D.qpfile"...

-------------------------------------------------------------------------------

*** Demuxing the streams...
Network Optix tsMuxeR. Version 2.6.9. www.networkoptix.com
Decoding H264 stream (track 1): Profile: High@4.1 Resolution: 1920:1080p Frame rate: 23.976
H.264 muxing fps is not set. Get fps from stream. Value: 23.976
Decoding H264 stream (track 2): H.264/MVC Views: 2 Profile: High@4.1 Resolution: 1920:1080p Frame rate: 23.976
MVC muxing fps is not set. Get fps from stream. Value: 23.976
Decoding DTS-HD stream (track 3): Bitrate: 1536Kbps core + MLP data.Sample Rate: 48KHz Channels: 7.1 (DTS Master Audio 24bit)
Processed 127816 video frames
Processed 127816 video frames
Flushing write buffer
Demux complete.
Demuxing time: 42 min 1 sec

-------------------------------------------------------------------------------

*** Retrieving audio delays from playlist 00800.mpls...
All audio streams have no delay.

-------------------------------------------------------------------------------

*** Checking if the ArcSoft DTS decoder is installed...
*** ArcSoft DTS Decoder doesn't seem to be installed

-------------------------------------------------------------------------------

*** Converting "00800.track_4352.Eng.dtshdma" to AC3...
Command: eac3to.exe "00800.track_4352.Eng.dtshdma" "00800.track_4352.Eng.ac3 " -640 -down6 -libav -progressnumbers -log=eac3to_convert_to_AC3.log

eac3to process 3560 started.
DTS Master Audio, 7.1 channels, 24 bits, 48kHz
(core: DTS, 5.1 channels, 1509kbps, 48kHz)
dts, 48000, 7.1
The libav DTS decoder doesn't decode the full DTS-HD information.
Can't downmix this channel configuration ($60f).
Internal error - unknown audio output format!
*** eac3to ERROR: Can't downmix this channel configuration ($60f).
Internal error - unknown audio output format!

Can't convert 00800.track_4352.Eng.dtshdma to AC3. Using original file.

-------------------------------------------------------------------------------

*** Generating the avisynth script...

*** Saving "_ENCODE_3D_MOVIE.avs"...
Saving file "_ENCODE_3D_MOVIE.avs"...
*** Generating the batch files...

*** Saving "_ENCODE.cmd"
x264 command:
"C:\BD3D2MK3D\toolset\avs2yuv.exe" ^
"_ENCODE_3D_MOVIE.avs" -frames 127816 -o - ^
| "C:\BD3D2MK3D\toolset\x264_x64.exe" ^
--crf 23 --preset medium ^
--frame-packing 3 --qpfile chapters_3D.qpfile --frames 127816 --fps 24000/1001 ^
--output "00800.264" --demuxer y4m --stdin y4m -

*** Saving "tags.xml"

> x264_x64.exe --version
x264 0.146.2538 121396c
(libswscale 3.1.101)
(libavformat 56.23.106)
(ffmpegsource 2.17.4.0)
built by Komisar on Mar 1 2015, gcc: 4.8.4 (multilib.generic.Komisar)
x264 configuration: --bit-depth=8 --chroma-format=all
libx264 configuration: --bit-depth=8 --chroma-format=all
x264 license: GPL version 2 or later
libswscale/libavformat/ffmpegsource license: GPL version 2 or later


*** Saving "_MUX_3D.cmd"

*** Saving "_MUX_3D_OPTIONS.txt"
*** Adding attachments...

*** Saving "_MUX_2D.cmd" and "_MUX_2D_OPTIONS.txt"

*** Saving "_POSTPROCESS.cmd"
*** Done. Avisynth script and batch files generated.

-------------------------------------------------------------------------------


Job finished Tue Aug 04 09:29:39 CEST 2015

Done with errors!

* Can't convert 00800.track_4352.Eng.dtshdma to AC3. Using original file.
Can't downmix this channel configuration ($60f).
Internal error - unknown audio output format!

Launch "_ENCODE.cmd" to encode the video (and optionally mux to MKV).

r0lZ
4th August 2015, 09:05
Really strange. I could understand that libav has trouble with the input file, but the error is related to the output: "unknown audio output format!" AC3 is unknown to libav? Obviously, there is a bug somewhere in the libav decoder.

If you cannot find a shorter file with the same problem, you can probably cut the Lion King dtshdma file, and send only the beginning. There are several methods to cut a file. The easiest one might be jsoto's CutFile (http://download.videohelp.com/jsoto/others.htm). My email address is pgcedit at "you know the google email service name". (You can also find it in the Contact section of the PgcEdit home page. See my signature.)

tebasuna51
4th August 2015, 10:41
Maybe the problem is related with this

*** Converting "00800.track_4352.Eng.dtshdma" to AC3...
Command: eac3to.exe "00800.track_4352.Eng.dtshdma" "00800.track_4352.Eng.ac3 " -640 -down6 -libav -progressnumbers -log=eac3to_convert_to_AC3.log

eac3to process 3560 started.
DTS Master Audio, 7.1 channels, 24 bits, 48kHz
(core: DTS, 5.1 channels, 1509kbps, 48kHz)
dts, 48000, 7.1
The libav DTS decoder doesn't decode the full DTS-HD information.
Can't downmix this channel configuration ($60f).
Internal error - unknown audio output format!
*** eac3to ERROR: Can't downmix this channel configuration ($60f).
Internal error - unknown audio output format!

Can't convert 00800.track_4352.Eng.dtshdma to AC3. Using original file.

The libav decoder can't output 7.1, only the core 5.1.
The channel configuration $60f is the standard 5.1 (FL,FR,FC,LF,SL,SR) and can't be downmixed to 5.1, is already 5.1.

Starting with eac3to v3.29 the new dcadec (with support for DTS-HD) is included and is the recommended decoder for any DTS (only DTS Express require the ArcSoft decoder).

Never use the -libav parameter now, use always -dcadec for any DTS (except DTS Expres than need ArcSoft), with -down6 to downmix 7.1 to 5.1

Airmiles
4th August 2015, 10:42
OK, so i just sent the files.

r0lZ
4th August 2015, 11:22
@Airmiles: Got your files, and as expected I have the same error here. I haven't noticed it because I have the ArcSoft DTS decoder installed, and it is used by default (unless I convert manually with the -libav parameter).

@tebasuna51: Thanks for the explanation. I did know that libav can only output the 5.1 core, but IMO it's not a reason to crash, even when the -down6 argument is specified. If the input is already in 5.1, the -down6 option should simply be ignored.

I didn't know DTS Expres, but I see on the DTS official site that it "has been widely used by major entertainment studios for Blu-ray disc™ secondary audio, BD Live, and other similar applications." It's a problem for BD3D2MK3D, because that means that it can encounter that format in 3DBDs, and I will need to process that streams differently. Can you confirm that DTS Expres can be used ONLY as secondary audio in BD discs? As far as I know, I have never encountered that format in a 3DBD, at least as primary audio.

I remember the info about dcadec in the eac3to thread, but IIRC it was still experimental, and I did not know that it is now the "official" decoder. I will include it in the next release of BD3D2MK3D.

Thanks!

tebasuna51
4th August 2015, 13:07
I did know that libav can only output the 5.1 core, but IMO it's not a reason to crash, even when the -down6 argument is specified. If the input is already in 5.1, the -down6 option should simply be ignored.
Yep, should simply be ignored, but I can reproduce the error with DTS-MA 7.1 -libav -down6.
With DTS 5.1 or 6.1 the -libav -down6 work without problems.
Seems a eac3to bug.
If you still want use -libav never add the innecesary -down6

I remember the info about dcadec in the eac3to thread, but IIRC it was still experimental, and I did not know that it is now the "official" decoder. I will include it in the next release of BD3D2MK3D.
Now is eac3to default for DTS-HD 7.1 only, but is well tested (ffmpeg,
LSMASHSource.dll...) and I recommend to madshi use it for all DTS.

Can you confirm that DTS Expres can be used ONLY as secondary audio in BD discs?
Yes, is only for secondary audio like Director's commentary and others.

Is detected by eac3to, MediaInfo and MkvMerge like 'DTS Express'

Like, for now, is only decoded by ArcSoft and can't be included in BD3D2MK3D package I sugest you to remux to mkv (if selected) without recode.


Also I recommend replace the old Aften encoder (libAften.dll included in eac3to) for the best free AC3 encoder ffmpeg.
You can use eac3to to only extract any DTS and after use ffmpeg:

1) DTS-HD support with -acodec libdcadec (the same dcadec included in eac3to)

2) Downmix automatic if required, for instance this command line is valid for DTS-HD 5.1, 6.1 or 7.1

ffmpeg -acodec libdcadec -i input.dts -acodec ac3 -center_mixlev 0.707 -surround_mixlev 0.707 -ab 640k output.ac3

Or you can fix the output channels with -ac channels

Airmiles
4th August 2015, 13:32
So that's another thing for version 0,7 to correct ;)

r0lZ
4th August 2015, 14:16
OK, I have removed the code that checks if the Arcsoft DTS decoder is installed and that forced the -libav argument when it's not the case. That prevented eac3to to use the dcadec for DTS HD MA. Now, the libav decoder is never forced any more (except when using the GUI of the Convert tool, if the user selects explicitly the libav option). I have also removed -down6 when -libav is specified. Eac3to should not crash any more.

But if I understand correctly, currently, eac3to will use dcadec only for DTS HD MA. And it will continue to use the libav decoder for all other DTS formats (or the Arcsoft decoder if it is installed). Right? Should I force eac3to to use dcadec for all DTS streams (except DTS Express)? Is it possible simply by adding -dcadec?

Currently, I don't know how to recognise DTS Express. I don't use eac3to any more to analyse the BD MPLS file, because it doesn't do a good job with 3D playlists, and I don't want to use it only to recognise the DTS Express tracks. I have written my own MPLS parser, but as far as I know, only the following codec values can be present. Or at least, they are the only values I have found in the available documentation:

1 "MPEG1"
2 "MPEG2"
3 "MPEG1"
4 "MPEG2"
27 "AVC"
32 "MVC"
128 "LPCM"
129 "AC3"
130 "DTS"
131 "TrueHD"
132 "AC3+"
133 "DTS-HD"
134 "DTS-HD-Master"
144 "PGS"
145 "IGS"
146 "TextSub"
234 "VC1"

As you can see, only regular 5.1 DTS, DTS HD and HD-MA are referenced. Do you know the codec ID of DTS Express, or where I can find more doc on the MPLS format?

I don't use eac3to to extract the tracks either, because it cannot work properly with subtitle tracks in some BD3D (when the same subtitle is included in the M2TS of the base view AND in the M2TS of the dependent view, something relatively frequent). I use tsMuxeR 3D. And I don't want to modify everything just to support the ffmpeg encoding. So, currently, I continue to use LibAften. Do you think that the next version of eac3to will use automatically ffmpeg instead of Aften? That would be great! If it's not the case, I may change the code later...

Anyway, thanks for the useful info. You're the king for everything related to audio here at D9!


@Airmiles: Yes. An update should be available in a couple of days, but I have discovered another bug (not related to audio) and it is very difficult to fix...

BTW, the next version is not 0.7 but 0.70. It's already the 70th version of BD3D2MK3D! (The version number is not a floating point number.)

tomilein
4th August 2015, 15:01
Hello i have tested you're Tool and this is very great.

Final Credits are very long or short from Movie to Movie.

Can i somehow cut the final credits from any Movie by edit the .avs file?

Or may be something built later in BD3D2MK3D?

Sorry for my bad Englisch.

r0lZ
4th August 2015, 15:15
I have no intention to add an option to cut the end credits, but you can do that easily.
First, use the preview (in the first tab) to determine the length of the part of the movie you want to keep. Convert it to seconds. For example, if you want to keep 1:35:30, the number of seconds to keep is 5730. Then convert that number to frames: Multiply the number of seconds by 23.976. With my example, that gives 137382.48. Rounds that number. Edit _ENCODE.cmd and replace the numbers of the two -frames arguments with the number of frames you have just computed.. (If you encode in 2-pass, you have to edit 4 -frames arguments.) x264 will compute only that number of frames, and that should not prevent MkvMerge to mux the MKV. However, note that the audio and subtitles are not truncated. Some players may still report the full original duration.

Another way to do it is to compute the whole movie normally, then use the MkvMerge cut function to cut the file after a certain time code. IMO, it's a better method because the audio and subtitles will be cut as well, but you will have to encode the whole movie. And you need to install MkvToolnix. Let me know if you need more info on this second method.

tebasuna51
4th August 2015, 16:11
But if I understand correctly, currently, eac3to will use dcadec only for DTS HD MA. And it will continue to use the libav decoder for all other DTS formats (or the Arcsoft decoder if it is installed). Right? Should I force eac3to to use dcadec for all DTS streams (except DTS Express)? Is it possible simply by adding -dcadec?
Now eac3to use dcadec for DTS-HD 7.1 only.
Yes I recommend use always -dcadec for all DTS streams (except DTS Express)

I have written my own MPLS parser, but as far as I know, only the following codec values can be present.
...Do you know the codec ID of DTS Express, or where I can find mode doc on the MPLS format?
Seems than secondary streams don't have codes in MPLS.
Checked Snow White and the Huntsman (2012) and I don't see codes for secondary video and 2 secondary audios (one DTS Express and other AC3 2.0 eng)

r0lZ
4th August 2015, 17:08
Do you mean that the secondary streams are not referenced at all in the MPLS? It's strange, as I have already seen many director comments or similar tracks in MPLS files. But perhaps they were not considered officially as secondary tracks in that BDs? Anyway, indeed there are often audio or subtitle (or even PIP video) tracks present in the M2TS (or SSIF) but not in the MPLS. They are what I have called "phantom tracks" in earlier versions of BD3D2MK3D. They have caused serious problems (notably because the phantom subtitle tracks do not have a 3D-Plane number and I can't therefore convert them to 3D correctly), and I have therefore decided to show only the referenced tracks in the GUI. It is not possible any more to select the phantom tracks for inclusion in the MKV. Problem solved: BD3D2MK3D has probably not to worry about DTS Express. At least if it is true that a secondary stream is always absent from the MPLS, and that all streams encoded in DTS Express are secondary tracks. If you can confirm that, please let me know. In the meantime, I will simply ignore DTS Express.

I will add -dcadec for all DTS streams. Without the DTS Express problem, it's easy. ;-)

Thanks again!

thahandy
4th August 2015, 17:57
Oh, well, that's really strange. I did The Owls of Ga'Hoole without problem.
Are you sure that the copy on your HDD has been properly decrypted? Also, normally, you should use an ISO of the whole BD. Copying the files on HDD doesn't make sense for a 3DBD, because you'll have to copy the 3D video content twice (as M2TS and as SSIF files). Therefore, I suspect that there are missing or improperly decrypted files in your copy.
Try again with an ISO. (They can be mounted without special software in Win 8 or 10, but you need an ISO mounter program under Win 7 or XP.) You can also process the BD directly if it is decrypted on the fly with AnyDVD HD (not free).

And IMO forum rule 12 has not been violated. :)
Is this the reason BD3D2MK3D is encoding the wrong file? I just extracted the ISO file

00200.mpls, 0:01:36, 2 chapters, 00302.ssif
00301.mpls, 0:06:13, 2 chapters, 00301.ssif
00800.mpls, 1:41:52, 17 chapters, 00300.ssif

But its actually getting 00300.m2ts file (first 7 min of the movie) instead the 00300.ssif file

r0lZ
4th August 2015, 18:10
According to what I can see, 00800.mpls contains the main movie, since its duration is 1:51:52. Is it what you have encoded? And 00300.ssif (in BDMV\STREAM\SSIF) must contain the whole movie in 3D (AVC and MVC streams interleaved together), or 00300.m2ts (in BDMV\STREAM) must contain also the whole movie, but only in 2D (AVC stream only). If it's not the case, either there are other SSIF files in the playlist and you have not copied their names here, or your MPLS is severly damaged.

I don't know if the simple fact of extracting the files from the ISO is sufficient to truncate the movie. That should not be the case. Either the structure is damaged and tsMuxeR may crash or refuse to work, or it is correct and it should work. But anyway, it is never a good ides to extract the SSIF files from a BD3D. As I wrote, that doesn't make sense.

bigotti5
4th August 2015, 18:31
Codes for secondary audio are 0xA1 (161) for DD+ secondary audio and 0xA2 (162) for DTS Express, and yes - pure DD+ and DTS Express are allowed for secondary streams only in BD.
Afaik 3D playlists cannot contain PiP so you cant find secondary audio codes in 3D playlists. Secondary streams can exist in corresponding m2ts but they are referenced in (another) 2D playlists only.

r0lZ
4th August 2015, 18:48
Thanks. Useful info!

So, only streams for PiP are considered secondary. A director comment track, for example (as long as it is not the audio of the PiP) cannot be considered as secondary stream. Can you confirm that I have correctly understood? If it's the case, indeed I don't have to worry about DTS Express. :-)

tomilein
4th August 2015, 19:21
The Option with MkvMerge is probably better if Subtitle and Audio cut.

I try to read in the Topic with MkvMerge.

Thank you.

My englisch is bad, sorry for this :)

r0lZ
4th August 2015, 19:52
If you want to cut the video at a precise frame, you should add the frame number (followed by upper case i) in the "chapters_3D.qpfile" file before launching _ENCODE.cmd. Otherwise, you will only be able to cut at the next i-frame in the file, and the precision will only be something like 1 second or two. (By default, the chapters_3D.qpfile forces an i-frame at the beginning of each chapter, so if you want to cut at a chapter point, you don't need to edit it.)
Cutting with MkvMerge is easy. Look in the "global" options.

bigotti5
5th August 2015, 03:07
A director comment track, for example (as long as it is not the audio of the PiP) cannot be considered as secondary stream
It is possible to have secondary audio without PiP (even in 3D) but secondary audio is always mixed with primary audio at playback level (secondary audio must include mixing metadata).

00000000h: 4D 50 4C 53 30 32 30 30 00 00 00 3A 00 00 00 BE ; MPLS0200...:...¾
00000010h: 00 00 00 D2 00 00 00 00 00 00 00 00 00 00 00 00 ; ...Ò............
00000020h: 00 00 00 00 00 00 00 00 00 00 00 0E 00 01 00 00 ; ................
00000030h: 00 00 00 00 00 00 00 00 40 00 00 00 00 80 00 00 ; ........@....€..
00000040h: 00 01 00 00 00 78 30 30 30 30 32 4D 32 54 53 00 ; .....x00002M2TS.
00000050h: 01 00 00 07 FF F8 00 D5 CC 6F 00 00 00 00 00 00 ; ....ÿø.ÕÌo......
00000060h: 00 00 00 00 00 00 00 56 00 00 01 01 00 00 02 00 ; .......V........
00000070h: 00 00 00 00 00 00 09 01 10 11 00 00 00 00 00 00 ; ................
00000080h: 05 1B 61 00 00 00 09 01 11 00 00 00 00 00 00 00 ; ..a.............
00000090h: 05 86 6E 65 6E 67 09 01 1A 00 00 00 00 00 00 00 ; .†neng..........
000000a0h: 05 A1 61 65 6E 67 01 00 00 00 09 01 1A 01 00 00 ; .¡aeng..........
000000b0h: 00 00 00 00 05 A2 61 65 6E 67 01 00 00 00 00 00 ; .....¢aeng......
000000c0h: 00 10 00 01 00 01 00 00 00 07 FF F8 FF FF 00 00 ; ..........ÿøÿÿ..
000000d0h: 00 00 00 00 00 68 00 00 00 24 00 00 00 02 00 02 ; .....h...$......
000000e0h: 00 01 00 00 00 24 00 00 00 18 00 02 00 02 00 00 ; .....$..........
000000f0h: 00 3C 00 00 00 30 00 16 00 00 09 02 00 00 10 12 ; .<...0..........
00000100h: 00 00 00 00 05 20 61 00 00 00 00 20 00 00 00 00 ; ..... a.... ....
00000110h: 00 2C 00 01 00 00 00 24 00 08 00 00 00 01 00 1C ; .,.....$........
00000120h: 30 30 30 30 33 4D 32 54 53 00 00 00 02 00 00 07 ; 00003M2TS.......
00000130h: FF F8 00 D5 CC 6F 00 00 00 07 FF F8 00 00 ; ÿø.ÕÌo....ÿø..

tomilein
5th August 2015, 04:52
Ok i have test Mkvtoolnix and the Option "Global" with timecode format
00:10:00,01:20:00
and have after mux three files.

test (1)-001.mk3d (307mb),
test (1)-002.mk3d(1,74gb)
and
test (1)-003.mk3d (1,27gb)

I can cut the opening and final credits and have the "Movie" only.

Subtiles and Audio works fine with new files.

Thank you for Hint.

Airmiles
5th August 2015, 08:18
@Airmiles: Yes. An update should be available in a couple of days, but I have discovered another bug (not related to audio) and it is very difficult to fix...

BTW, the next version is not 0.7 but 0.70. It's already the 70th version of BD3D2MK3D! (The version number is not a floating point number.)[/QUOTE]


I am just happy you made this great tool. Thanks for all that work!!:thanks:

r0lZ
5th August 2015, 08:24
@bigotti5: Thanks for the info!
@others: Thanks for the thanks!

r0lZ
12th August 2015, 09:13
OK, finally v0.70 is ready.

This version fixes the strange bug with the apostrophe in numbers reported by Airmiles here (http://forum.doom9.org/showthread.php?p=1732365#post1732365) and two other bugs.

I have also had a problem with a Chinese BD3D. 3 of the subtitles are malformed in the original BD, and as a consequence, they cannot be converted correctly to 3D. If you hardcode the stream, the image is obscured by a large black rectangle during the display of these 3 subtitles. I have found a way to detect that malformed subtitles, and implemented a workaround to simply skip them. The workaround works well, but it is very slow. Therefore, I have added a new option in the Settings menu (as well as in the GUI to convert a subtitle stream to 3D) to turn it off. I recommend to leave it on anyway when you hardcode the subtitles on the video stream, as otherwise you may have to re-encode the whole movie. Note that the workaround is not applied to the 2D subtitle streams.

For the problem of the periodic slowdowns when playing a movie in frame sequential mode at 59.94 fps, I have added an option to force BD3D2MK3D to convert the frame rate to exactly 60 fps instead. Unfortunately, that frame rate seems incompatible with the current MVC decoders, probably because to encode at 60 fps, it is necessary to seek in the video, and that's something not yet supported by the available MVC decoders. As a consequence, the option to encode at exactly 30 or 60 fps is not in the GUI. However, it is possible to test it by editing the "::config(exactly30fps)" option at the end of the BD3D2MK3D.cfg file.

The dcadec DTS decoder is now always used when decoding a DTS, DTS-HD or DTS-HD-MA stream. (It is still possible to use the Libav decoder when the stream is decoded from the Convert Audio tool, but the help message about the Libav option does not recommend it.) As a consequence, the support for the commercial (and slow) ArcSoft decoder has also been removed.

x264 has also been updated to the latest version.


# v0.70 (August 12, 2015)
# - Fix: Invalid Character error under foreign Windows systems in some specific languages.
# - Workaround to skip malformed monochrome subtitles when converting them to 3D.
# - New Settings -> Verify Input Subtitles option to enable or disable the (slow) workaround.
# - New setting in Tools -> Convert Subtitles to 3D (with 3D-plane) to disable the workaround.
# - New hidden settings in BD3D2MK3D.cfg to select either 29.97 or 59.94 or exactly 30 or 60 fps.
# - Fix: Bug introduced in v0.69. The program could hang when converting audio to AC3 or AAC.
# - Fix: Little bug when trying to guess the language of a subtitle stream from its file name.
# - BD3D2MK3D forces now eac3to to use the dcadec DTS decoder (unless the "Libav" option is ticked in the GUI).
# - Removed the support for the commercial Arcsoft DTS decoder.
# - Removed the change change in v0.69 to avoid the not responding window when converting audio due to problems.
# - Updated x264 to the latest version (v0.148 build 2579)

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

Airmiles
12th August 2015, 20:03
So this also fixes the 7.1 DTS Master HD issue?

sneaker_ger
12th August 2015, 20:11
Yes, it should work now.

Airmiles
12th August 2015, 21:30
Just did a test run of The Lion King 3d, to see if there were any remaining errors. There are none. Thanks! Version 0.70 seems to be a success!

Airmiles
12th August 2015, 21:43
By the way. When 4K blu rays get here. Would it be hard to upgrade the tool to use the same GUI with an HEVC (x265) encoder?

That is, if there will be 3D 4K blu rays. I seem to remember reading that it was not sure whether there would be any, because this wasn't mentioned in the 4K BDA specs.

r0lZ
12th August 2015, 22:13
Thanks for the confirmation about v0.70.

It is already possible to encode with x265. See Settings -> AVC/HEVC Encoder.
But of course, currently I have no way to prepare BD3D2MK3D to 4K, as afaik there are no 4K BDs or specs right now.

thahandy
13th August 2015, 05:59
According to what I can see, 00800.mpls contains the main movie, since its duration is 1:51:52. Is it what you have encoded? And 00300.ssif (in BDMV\STREAM\SSIF) must contain the whole movie in 3D (AVC and MVC streams interleaved together), or 00300.m2ts (in BDMV\STREAM) must contain also the whole movie, but only in 2D (AVC stream only). If it's not the case, either there are other SSIF files in the playlist and you have not copied their names here, or your MPLS is severly damaged.

I don't know if the simple fact of extracting the files from the ISO is sufficient to truncate the movie. That should not be the case. Either the structure is damaged and tsMuxeR may crash or refuse to work, or it is correct and it should work. But anyway, it is never a good ides to extract the SSIF files from a BD3D. As I wrote, that doesn't make sense.
Hi, To get back to u.
This time i mounted the ISO and everything works fine. :)
It seems Winrar is extracting the m2ts files improperly.

It seems the m2ts are "virtual" files created from the siff files?

Size of BDMV is 91,2 GB (97.933.204.414 bytes)

Btw, any trick to merge 2 3D disks together at post processing? (Titanic 3D) or just use mkvmerge at the end?

r0lZ
13th August 2015, 06:34
It seems the m2ts are "virtual" files created from the siff files?
It's the opposite. For the compatibility with the 2D-only players, it is necessary to put the main movie in 2D in standard M2TS files. The second view is therefore in another M2TS, not readable directly with a 2D player, because it is encoded in MVC and is therefore dependent of the main 2D M2TS. The two M2TS files are interleaved at the file system level, and the SSIF file is a file level trick that references both streams at the same time, exactly as if it is a single file. It's why you copy two times exactly the same data if you copy the M2TS and the SSIF files to your hard disc. Normally, the SSIF is never created directly by the authoring program. It is created when the image of the BD is built. (BTW, I don't know if the 3D players prefer to read the two M2TS or the SSIF, but in any case a file is not necessary. The MVC M2TS is useless if the player reads the SSIF, and the SSIF is useless if it reads the two M2TS. The main M2TS is necessary to play the movie in 2D anyway.)

Btw, any trick to merge 2 3D disks together at post processing? (Titanic 3D) or just use mkvmerge at the end?
I have already used MkvMerge without problem to do just that (with The Hobbit). It works perfectly and it keeps the audio, subtitles and chapters correctly synchronised in the second part. IMO, MkvMerge in "append mode" is the best solution.

Wolfy59
14th August 2015, 08:55
Hi r0lZ and thanks for the work you do here and on another topics in this forum. Unfortunatly I always have th " problème with your last release even if i modify the console. Sometimes i have an avs2yuv problème with some bd at the 2nde pass. It crash before the encoding end and mux the partial encoding.
Thanks by advance for your answers and sorry for my bad english.

r0lZ
14th August 2015, 09:17
th " problème
What is that problem?

I have never had crashes during the encoding of the second pass, and I can't help. I can only suggest to encode in CRF mode, requiring only a single pass and giving a slightly better quality. Unless you want to copy the MKV to a DVD or another medium with a small fixed size, you should never use 2-pass encoding. It's slow and totally useless.

Anyway, avs2yuv should not crash during the second pass if it has successfully processed the movie during the first pass. It is not at all related to the pass, and should work exactly the same way during the first and second pass.

Just to be sure: Are you sure you have enough disc space?

thahandy
14th August 2015, 12:25
I've noticed your ABR calculation is a bit off by 2GB if the MKV file size is set @ 15GB (~12.5Mbit). Do you include the audio and subtitle tracks as part of the calculation?

What I do now it just demux/convert and manually calculate the video bitrate afterwards @ Video Bitrate Calculator (http://www.silverjuke.net/forum/topic-213.html) (video target size = total size - audio and subs. (audio size 1MB, 4% overhead)) and edit the _ENCODE.cmd for the new bitrate. But this still leaves the old encoding values in the mediainfo property of the MKV. I can't find the file with this info. _MUX_3D_OPTIONS.txt seems not to be working.

Another (non BD3D2MK3D) issue I have with this subtitles it included on the BD (all languages,2D and 3D), they are not fixed centered and bottom (inside bounds), but placed all over the screen across the movie. I'm trying to fix this in BDSup2Sub/bdsup2sub++ and horizontal centering works just fine but there seems to
be an issue to force all to "bottom (inside bounds)" automatically. :mad:
Anything you can do?

Subtitle #181-184 for example (see link below)
http://tempsend.com/685ED5D426

Wolfy59
14th August 2015, 13:14
What is that problem?

I have never had crashes during the encoding of the second pass, and I can't help. I can only suggest to encode in CRF mode, requiring only a single pass and giving a slightly better quality. Unless you want to copy the MKV to a DVD or another medium with a small fixed size, you should never use 2-pass encoding. It's slow and totally useless.

Anyway, avs2yuv should not crash during the second pass if it has successfully processed the movie during the first pass. It is not at all related to the pass, and should work exactly the same way during the first and second pass.

Just to be sure: Are you sure you have enough disc space?

Thanks for your quick answer. yes i have 900go free space. For the others problème i will send you a screenshoot when the problème will come back. I will try crf 16 for the next encode

r0lZ
14th August 2015, 13:40
@thahandy

Yes, BD3D2MK3D include the audio and subtitle streams in the calculation, as well as the muxing overhead. I have changed already slightly the calculation, because someone else has reported that it was off, and the last tries I did were perfect. So I don't know how you obtain a wrong file size. I'll check again. Perhaps it happens when the audio streams are converted to AC3 or AAC?

The encoding settings are included in the tags.xml file (as well as the tags defined by the user in tab 3).

The fact that the subtitles are placed at different positions in some 3DBDs is intentional. One of the big problems with the 3D subtitles is that they force the spectator to focus on the subtitle to read them, then on the character in the image. That repeated actions are not pleasant, and therefore to minimize the problem, the subtitles are placed as close as possible to the character, and at approximately the same depth. For example, in Avatar, there are many subtitles placed largely over the standard bottom center position. It's especially important if there is an object in the bottom of the image that gets away from the surface of the screen, but the main character or action takes place in the background. The subtitles have to be in the background too, and cannot be placed "inside" the objects in the bottom of the screen. For that reason, they have to be placed higher. Some subtitles are placed at the left or right side, or even at the top, for the same reason.

If you move them in the bottom center of the screen, the 3D depth values used by BD3D2MK3D will not be correct, and the subtitle will "enter" in the objects in the foreground. It's extremely unpleasant, and that can cause severe headache. Therefore, I advice you to keep the original positions, at least for the 3D subtitles. (If you mux also 2D subtitles, they will be badly placed anyway, and therefore it doesn't matter much if you move them in the bottom center.)

Note the "Clone Subtitles positions from another file" function in the Tools menu. It does just the opposite than what you want. With that tool, you can modify the positions of the subtitles of a "standard" stream to place them in the positions of the corresponding subtitles of a good 3D stream (called "guide stream"). This allows you to convert a downloaded SRT file to SUP and then to 3D correctly, with the right depths and positions (as long as the guide stream has correct positions and its 3D-Plane file has correct values for all subtitles in the SRT).

So, you are lucky if your 3DBD has subtitles in different positions. The author did a great work! It's usually much better than the subtitles in the bottom center, even if they are placed in front of the foremost objects. And of course, I have no intention to create another tool to destroy the correct 3D positions!

Perhaps it's possible with BDSup2Sub, but I don't think so. IMO, the easiest way to do what you want would be to convert the original SUP to SRT (with SupRip), and then re-create a SUP file from the SRT (with SubtitleEdit). But again, I do not recommend to do that!

r0lZ
14th August 2015, 13:43
Thanks for your quick answer. yes i have 900go free space. For the others problème i will send you a screenshoot when the problème will come back. I will try crf 16 for the next encode
OK, but take care. CRF 16 is very low. You will end up with a very big MKV file. (I use CRF values between 18 and 23, depending of the quality of the image of the movie. And I use CRF 18 only for movies with very detailed and sharp images, such as Sin City 2.)

Wolfy59
14th August 2015, 14:05
OK, but take care. CRF 16 is very low. You will end up with a very big MKV file. (I use CRF values between 18 and 23, depending of the quality of the image of the movie. And I use CRF 18 only for movies with very detailed and sharp images, such as Sin City 2.)

I want a 20->25 Go mkv out to use with my nas and Kodi

r0lZ
14th August 2015, 14:13
OK, then 16 is a good bet. (Unfortunately, it is not possible to know the resulting bitrate, even approximately, when using the CRF mode, because it depends greatly of the original movie and encoding. But with CRF 16, you should have a "near perfect" quality anyway, regardless of the bitrate.)

Wolfy59
14th August 2015, 15:37
Thanks r0lZ

thahandy
14th August 2015, 16:37
@thahandy

Yes, BD3D2MK3D include the audio and subtitle streams in the calculation, as well as the muxing overhead. I have changed already slightly the calculation, because someone else has reported that it was off, and the last tries I did were perfect. So I don't know how you obtain a wrong file size. I'll check again. Perhaps it happens when the audio streams are converted to AC3 or AAC?

Tbh. I didn't encode with that value, as it was a bit high acording the calculator and calculated the size :rolleyes:

I've let it run again it its tells 11485Kbit @ 161min. With 2080MBytes to add I get ~15900MBytes calculated (14.8GByte)
So i guess you're using byte (2^) instead bytes?! Which clears a lot of things. Bytes is the thing I'm after! ;)

10.5Mbit + DTSHD-MA +SUBs -> 13,6 GB (14.674.780.160 bytes)
10,8Mbit + DTSHD-MA +Subs -> 13,8 GB (14.845.025.940 bytes) (target 14305MB)
11.1Mbit + DTSHD-MA +SUBs -> 14,3 GB (15.408.095.232 bytes)
11.4Mbit + DTSHD-MA +SUBs -> 14.8 GB (15.900.000.000 bytes) (estimated by BD3D2MK3D)


The encoding settings are included in the tags.xml file (as well as the tags defined by the user in tab 3).

thank you!!!!

The fact that the subtitles are placed at different positions in some 3DBDs is intentional.

[...]

So, you are lucky if your 3DBD has subtitles in different positions. The author did a great work! It's usually much better than the subtitles in the bottom center, even if they are placed in front of the foremost objects. And of course, I have no intention to create another tool to destroy the correct 3D positions!

Now u mention it it makes sens :rolleyes: Thanks for this extended explanation. :cool:
All the non-naive languages (dutch) are subtitled by default on TV and Disk as long I can remember and seems we're used to look down for text. The funny thing is when it ran in the cinema, the subtitles where at the bottom center like we used to and this BD is the first the subtitles are placed where we're looking as you mentioned.
(note that our subtitles are simplified of whats actually being said. Otherwise you're only reading the whole movie. Sadly not everyone sticking to this "rule")

Perhaps it's possible with BDSup2Sub, but I don't think so. IMO, the easiest way to do what you want would be to convert the original SUP to SRT (with SupRip), and then re-create a SUP file from the SRT (with SubtitleEdit). But again, I do not recommend to do that!
I can only fix horizontal to center, vertical it seems to refuse to fix(to all subs). I assume vertical is the easy things to fix, as it has only one offset from top.

Guess I'll just leave the subtitle it is, as it's just one movie. Thanks for the input!

r0lZ
14th August 2015, 16:51
So i guess you're using byte (2^) instead bytes?! Which clears a lot of things. Bytes is the thing I'm after! ;)
Sorry, but for me it's still terribly obscure. What do you mean? Bytes is the plural of byte, and nothing else.

In your example above, what is your target MKV file size?

thahandy
14th August 2015, 17:56
Sorry, but for me it's still terribly obscure. What do you mean? Bytes is the plural of byte, and nothing else.

15GB = 1.536MB = 15.728.640KB = 16.106.127.360Bytes
So in my case at the moment need to set it at 13969MB to get a output around 15.000.000.000Bytes
http://4.bp.blogspot.com/_HqwAcDB2RrQ/S8V5uu3CRjI/AAAAAAAAACQ/bQrBUC4mlIs/s1600/tabla_bytes.jpg

In your example above, what is your target MKV file size?
MKV set at 15000MB which was given an estimated 11485Kbit to be used

r0lZ
14th August 2015, 18:12
Ah, OK. BD3D2MK3D uses the real (computer) sizes, as it should. A GB is therefore 1024 * 1024 * 1024 bytes. And your final MKV file size should be around 15,728,640,000 bytes. (BTW, the right column in your illustration should not exist. There is officially no KB at 1000 bytes, or mega at 1000000. The industry of the CD-R, DVD-R, BD-R had adopted these wrong values for commercial reasons only. But it's a lie, and no program should use these values.)

BTW, I did just two very rapid tests on a small clip. The duration of the clip is 0:03:24, and the audio file size is 4788 KB. When I ask for a target file size of 300MB, the computed bitrate is 11571 kbps, and the final MKV size is exactly 300.098 MB. Not too bad!
If I ask for a final file size of 1000 MB with the same clip, the bitrate is 39006 and the final file size is 1001.361 MB. I agree that the bitrate is slightly too high, but only a little. I'm not sure I need to try to obtain a better value. Computing the overhead is extremely difficult, perhaps impossible. I can't guarantee extremely accurate results.

I am currently encoding a longer movie, but even with the superfast preset, the two passes will take some time. I have requested a final file size of 10 GB (10240 MB in the GUI). I'll report the result tomorrow. If it is true that the final size is really too different, I'll try to improve the formula...

[EDIT]
15GB = 1.536MB = 15.728.640KB = 16.106.127.360Bytes
Correct.

So in my case at the moment need to set it at 13969MB to get a output around 15.000.000.000BytesIf you want a final file size of 15,000,000,000 bytes, you have to compute the right number of real MBs: 15,000,000,000/1024/1024 = approximately 14305 MB, not 15000 (and not 13969 neither).

thahandy
14th August 2015, 18:49
Ah, OK. BD3D2MK3D uses the real (computer) sizes, as it should. A GB is therefore 1024 * 1024 * 1024 bytes. And your final MKV file size should be around 15,728,640,000 bytes. (BTW, the right column in your illustration should not exist.There is officially no KB at 1000 bytes, or mega at 1000000. The industry of the CD-R, DVD-R, BD-R had adopted these wrong values for commercial reasons only. But it's a lie, and no program should use these values.)

The picture was just random to get the idea.

yup, byte to GB is a but a mess in compute land
CD 700 = 734.000.000Bytes (700MB)
dvd-r 4.7 = 4.700.000.000Bytes (4.5GB)
16GB flashdisk = 14.700.000.000Bytes (13.7GB)

Thats why I was after the real Bytes.
I just need to make a 1,024^2 compensation in BD3D2MK3D, no worries

BTW, I did just two very rapid tests on a small clip. The duration of the clip is 0:03:24, and the audio file size is 4788 KB. When I ask for a target file size of 300MB, the computed bitrate is 11571 kbps, and the final MKV size is exactly 300.098 MB. Not too bad!
If I ask for a final file size of 1000 MB with the same clip, the bitrate is 39006 and the final file size is 1001.361 MB. I agree that the bitrate is slightly too high, but only a little. I'm not sure I need to try to obtain a better value. Computing the overhead is extremely difficult, perhaps impossible. I can't guarantee extremely accurate results.
[..]

Its off by 0.1%, no need to change :D

[EDIT]

[EDIT]

Correct.

If you want a final file size of 15,000,000,000 bytes, you have to compute the right number of real MBs: 15,000,000,000/1024/1024 = approximately 14305 MB, not 15000 (and not 13969 neither).
You're correct. A 1024 to much

http://www.dr-lex.be/info-stuff/videocalc.html
http://forum.doom9.org/attachment.php?attachmentid=14957&stc=1&d=1439575334

r0lZ
14th August 2015, 19:07
The CDR is correct and it uses the right (binary) size. 4,700,000,000 bytes for the DVD-R is not 4.5GB but 4.377 GB and not the false 4.7 GB! (BTW, when you select 2-pass in file size mode in BD3D2MK3D, the default value is 4470 MB, because it's a bit less than the size of a single layer DVD. It's handy if you want to burn a 3D movie on a DVD.)

And I didn't know that the flashdisks have adopted the wrong (decimal) values too. That's really stupid.

Since all file and disc sizes are displayed in Windows (and, afaik, also in Linux, Mac, Android and other OS) in real binary sizes, it is normal to use the same units in BD3D2MK3D. There is no reason to mix binary sizes for the audio and subtitle files, and decimal sizes for the target disc.

frank
15th August 2015, 00:21
At end of project creation I got an error message:
Warning: There is only 17.09 GB of free space on your target disc.
You may still need 21 GB...You cannot cancel that window and return to the main. The Abort button does the same as the Return button.
To end the program you must kill it's process in task manager.:scared:

r0lZ
15th August 2015, 09:24
Oh, I have added that warning recently, but I don't remember if I have tested it in real circumstances. I'll have a look.

Anyway, don't worry. It is displayed at the very end of the project creation and the project should be usable without problem (at least if you have enough disc space).

[EDIT] Indeed, there was a bug here. It is fixed, and I will release a new version soon...

r0lZ
15th August 2015, 09:38
Its off by 0.1%, no need to change :D
For your information, I have finished the test of the full movie (1:25:31). I have requested a final size of 10 GB and obtained exactly 9.997 GB. The difference is minimal, and therefore I will not change the formula. Especially because with the two first tests (with the short clip) the final file was slightly too big, and with this test, it is slightly too small. It will be probably very difficult to obtain a formula that gives perfect results in both cases.
Anyway, I have slightly changed the "MB" label in the last tab to make it obvious that it means "real MB" (1024KB).