Log in

View Full Version : Convert .mk3d to SBS


ai4spam
12th October 2019, 06:38
How can I convert a mk3d file into a SBS file? BD3D2MK3D does the opposite.

r0lZ
13th October 2019, 09:33
A MK3D file is already a 3D movie (more precisely, a MKV file with 3D content). Why do you want to convert it again ?

However, if your MKV file is a file containing the original AVC and MVC video streams, copied without re-encoding by MakeMKV, then you can use BD3D2MK3D (in MKV input mode) to create a SBS. But normally, that kind of 3D MKV has the regular .mkv file extension, not .mk3d.

If you need more help, tell me exactly what is inside your mk3d file.

ai4spam
22nd October 2019, 10:45
Thank you for your reply. I need to convert it because I don't know how else to play it on my older LG 3D TV. I tried BD3D2MK3D, it tells me that my file does not contain the streams it wants (no MVC). Here is what MediaInfo says:

General
Format : Matroska
Format version : Version 4
File size : 36.9 GiB
Duration : 2 h 1 min
Overall bit rate mode : Variable
Overall bit rate : 43.3 Mb/s
Encoded date : UTC 2019-07-22 16:52:12
Writing application : mkvmerge v35.0.0 ('All The Love In The World') 64-bit
Writing library : libebml v1.3.9 + libmatroska v1.5.2

Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : Stereo High@L4.1 / High@L4.1
MultiView_Count : 2
MultiView_Layout : Both Eyes laced in one block (left eye first)
Format settings : CABAC / 2 Ref Frames
Format settings, CABAC : Yes
Format settings, Reference frames : 2 frames
Codec ID : V_MPEG4/ISO/AVC
Duration : 2 h 1 min
Bit rate mode : Variable
Bit rate : 37.1 Mb/s
Width : 1 920 pixels
Height : 1 080 pixels
Display aspect ratio : 16:9
Frame rate mode : Constant
Frame rate : 23.976 (24000/1001) FPS
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.746
Stream size : 31.6 GiB (86%)
Title : MPEG-4 AVC Video / 13145 - 23933 kbps / 1080p / 23.976 fps / 16:9 / High Profile 4.1
Language : English
Default : Yes
Forced : No


So, how can I make a SBS out of this?

r0lZ
22nd October 2019, 23:43
I see in the MediaInfo log: MultiView_Layout : Both Eyes laced in one block (left eye first). It's probably the frame sequential 3D format (FS for short). Unfortunately, it's a format that can be created by BD3D2MK3D, but not opened. There is little sense in converting a 3D movie to FS, then again from FS to SBS. It's two time a lossy conversion.

Your FS version is big: 36.9 GB ! That means that the quality of the video is probably high, but it is difficult to convert it again, as FS is a final 3D format to be played with some specific players (mainly projectors), not a format intended to be converted.

Anyway, BD3D2MK3D cannot help. I suggest to convert your movie from the original BD directly to SBS with BD3D2MK3D. You can use MakeMKV to create a AVC+MVC 3D MKV that you will probably be unable to play, but that can be opened by BD3D2MK3D.

It is theoretically also possible to convert your MKV to SBS, but that require a good knowledge of the Avisynth scripting, and you will need also a few other programs. Honestly, I can't explain how to do it without your MKV file.

ai4spam
23rd October 2019, 09:10
VideoHelp to the rescue: https://forum.videohelp.com/threads/340028-How-to-convert-frame-sequential-3D-to-side-by-side-3D
Except AviSynth thinks the video has half the frames, so the approach suggested there does not work, it just picks every other frame instead of the left/right frames.

r0lZ
24th October 2019, 08:28
I don't understand. IMO, the script in the second post is correct (assuming your movie is really encoded in FS format). Here it is, with some comments:

WhateverSource() # I would use: FFMpegSource2("movie.mkv")
left=SelectEven().BilinearResize(width/2,height) # This select only half the frames, normally the frames for the left eye, and resize them
right=SelectOdd().BilinearResize(width/2,height) # This select only half the frames, normally the frames for the right eye, and resize them
StackHorizontal(left,right) # Creates the SBS by concatenating the left and right frames, and returns the resulting movie

Of course, it is normal that the number of frames in the input file is divided by two in the output, since the left and right frames are now concatenated. You can verify that with the avisynth command info() and a player that can play an avisynth file. Or better, I suggest to use AVSPMod (http://avspmod.github.io/) to edit and verify your script (64-bit version here (https://forum.doom9.org/showpost.php?p=1801766&postcount=1202)).
And to create the x264 stream from it, you can use Simple x264 Launcher (http://muldersoft.com/#x264_x64). And use mkvtoolnix (https://mkvtoolnix.download/) for the MKV.

ai4spam
26th October 2019, 07:14
Well, the problem with that script is that AviSynth (and VirtualDub2, for example) don't actually show double the number of frames, so that choosing the even and odd frames would be getting the left and right views. Instead, it only gets the left view frames, and has no idea how to get the right view frames.
There seems to be talk about ssifSource2 and h264stereosource as AviSynth plugins, but no reputable sources to get them or instructions how to use them.

sneaker_ger
26th October 2019, 08:48
I see in the MediaInfo log: MultiView_Layout : Both Eyes laced in one block (left eye first). It's probably the frame sequential 3D format (FS for short). Unfortunately, it's a format that can be created by BD3D2MK3D, but not opened.
Are you sure? Sounds to me like it is MVC as created by MakeMKV from a standard 3D Blu-Ray. (Which BD3D2MK3D can convert to SBS, right?)

The important part seems to be:
Format profile : Stereo High@L4.1 / High@L4.1
MultiView_Count : 2

This just means the track has the 3D flag (13) in MKV container:
MultiView_Layout : Both Eyes laced in one block (left eye first)

r0lZ
27th October 2019, 10:39
Are you sure? Sounds to me like it is MVC as created by MakeMKV from a standard 3D Blu-Ray. (Which BD3D2MK3D can convert to SBS, right?)

Yes, and BD3D2MK3D rejects the file. Therefore, it's not AVC+MVC 3D.

The important part seems to be:
Format profile : Stereo High@L4.1 / High@L4.1
MultiView_Count : 2

Yes, and the problem is "High@L4.1 / High@L4.1". For AVC+MVC it should be "High@L4.1 / MVC", as the dependent view is NOT encoded in h264.
The count of 2 views is obviously always 2 for stereo and doesn't inform of the packing format.
So, this tells us only that the two views have been encoded separately. That can be AVC+MVC or Frame Sequential.

This just means the track has the 3D flag (13) in MKV container:
MultiView_Layout : Both Eyes laced in one block (left eye first)
Yes, and it's the flag that BD3D2MK3D sets when it encodes in FS. So, it's not an evidence that the file is encoded in AVC+MVC. Unfortunately, there is no specific flag for the stereo-mode in the MKV container, or for the frame-packing in the video stream, so unfortunately, the flags are useless to distinguish AVC+MVC from FS.

I can only trust ai4spam:
I tried BD3D2MK3D, it tells me that my file does not contain the streams it wants (no MVC).
So, it must be FS, no ?

r0lZ
27th October 2019, 10:58
Well, the problem with that script is that AviSynth (and VirtualDub2, for example) don't actually show double the number of frames, so that choosing the even and odd frames would be getting the left and right views. Instead, it only gets the left view frames, and has no idea how to get the right view frames.
Strange. AFAIK, all frames are visible in a FS video. I will do a test here...
There seems to be talk about ssifSource2 and h264stereosource as AviSynth plugins, but no reputable sources to get them or instructions how to use them.
SSIFSource, is obsolete, and given its name, it can only open a BD SSIF file, not a MKV.
I don;t know (or remember) how h264stereosource works.

sneaker_ger
27th October 2019, 11:33
Yes, and the problem is "High@L4.1 / High@L4.1"
It say "Stereo High".

Wikipedia:
Stereo High Profile (128)
This profile targets two-view stereoscopic 3D video and combines the tools of the High profile with the inter-view prediction capabilities of the MVC extension.
https://en.wikipedia.org/wiki/Advanced_Video_Coding#Profiles


Either way MediaInfo notation does not always follow exact wording from the specs so discussion about that is moot.

r0lZ
28th October 2019, 12:04
The problem is that, as far as I know, the stereoscopic MKV files with AVC+MVC can only be produced by MakeMKV. And that files can easily be opened bu BD3D2MK3D. Therefore, it MUST be something else. I don't know what, but I suspect some kind of frame sequential (aka frame-alternate) packing. And for that packing, the Avisynth script above should work. So, I don't understand why the two methods fail.

sneaker_ger
28th October 2019, 13:18
@ai4spam
Please cut a short sample from the file using mkvtoolnix and upload it somewhere.