View Full Version : Guide to convert BD 3D to 3D Left+Right Stereoscopic and Anaglyph
Rumbah
22nd January 2013, 22:32
I have a "problem" with BD3D2MK3D (with the Tangled 3D BluRay).
Opening the resulting avs file created by BD3D2MK3D in any other program than avs2yuv results in "Can't create the graph". Is there any way to preview the avs file?
EDIT: On Win7 64 Bit
r0lZ
22nd January 2013, 22:41
The problem is that the program MUST be in the "magic folder" (containing the third-party tools used by BD3D2MK3D). That folder must have the stereoscopic player exe in its path. You can try to move or copy your program in that folder, and launch it from that location. That works well with AvspMod.
Note also that you cannot seek to any position with your program. The AVS script prohibits it, so if you try to do it, it will take a very long time. That means also that if the program tries to skip some frames to respect the frame rate, it may fail.
Rumbah
22nd January 2013, 22:56
Ah, thanks for the fast answer, I'll give that a try.
I just wanted to try to benchmark the different resize filters for this purpose and try Didee's suggestion to use bicubic resize with b+2c=0 for downsizing, e.g. b=-0.5, c=0.25 .
r0lZ
22nd January 2013, 23:09
Good idea. Please let us know your benchmark results.
Rumbah
24th January 2013, 12:55
Well, I guess my CPU works hard for the decoding so the speed does not differ that much, but here are my quick results:
Untouched = 51.694904 fps
BilinearResize(1920, 1080) = 48.070914 fps
BicubicResize(1920, 1080) = 47.461295 fps
BicubicResize(b=-0.5, c=0.25, 1920, 1080) = 47.623734 fps
BicubicResize(b=-1.0, c=0.5, 1920, 1080) = 47.331453 fps
BlackmanResize(1920, 1080) = 44.079143 fps
GaussResize(1920, 1080) = 43.927917 fps
LanczosResize(1920, 1080) = 45.933014 fps
Lanczos4Resize(1920, 1080) = 44.493882 fps
PointResize(1920, 1080) = 48.224223 fps
Spline16Resize(1920, 1080) = 46.986299 fps
Spline36Resize(1920, 1080) = 45.716445 fps
Spline64Resize(1920, 1080) = 44.302872 fps
SincResize(1920, 1080) = 44.246743 fps
My avisynth file:
SetMemoryMax(128)
LoadPlugin("E:\Treiber\BD3D2MK3D\toolset\stereoplayer.exe\ssifSource2.dll")
part1 = ssifSource2("L:\BDMV\STREAM\SSIF\00012.ssif", 85384, left_view = true, right_view = true, horizontal_stack = false)
part2 = ssifSource2("L:\BDMV\STREAM\SSIF\00013.ssif", 58864, left_view = true, right_view = true, horizontal_stack = false)
last = part1 + part2
AssumeFPS("ntsc_film")
RESIZE
Trim(0,-30000)
The testsequence was the first 30000 frames of Tangled 3D with a Core2Quad Q9650 (3 Ghz).
r0lZ
24th January 2013, 14:20
Thanks!
What are the units of the results?
r0lZ
24th January 2013, 14:26
Someone has used the 2-pass encoding mode of BD3D2MK3D? I don't use it, but I did some tests, and apparently, x264 crashes at the very end of the first pass, because the output file is "NUL". I have decided to redirect the output to NUL to avoid writing an useless big h264 file on HDD, but perhaps it is required to have a real file as output. Strangely, x264 doesn't crash when I do a quick test with a short clip.
Someone can confirm that bug, or it it just me?
Rumbah
26th January 2013, 17:22
Ah, sorry, the unit is fps.
Nico8583
28th January 2013, 17:51
Do you have a new version of DirectShowMVCSource ? Or ssif2source is always up to date with news movies ?
I would like to create 1 AVS to left eye and 1 AVS to right eye, DirectShowMVCSource seems to be perfect for that but I have random crash...
pippus
29th January 2013, 23:52
I always receive this error on various Blu-ray
if not exist "H:\BDMV\STREAM\SSIF\00896.ssif" goto filenotfound
set path=C:\Users\pippus\Desktop\bd3d\BD3D2MK3Dversion13\toolset\stereoplayer.exe;C:\Users\pippus\Desktop\bd3d\BD3D2MK3Dversion13\toolset;%path%
echo Encoding _ENCODE_3D_MOVIE.avs
echo Movie: John carter BD3D bluebird
echo Encoding started %date% %time%
@echo on
"C:\Users\pippus\Desktop\bd3d\BD3D2MK3Dversion13\toolset\stereoplayer.exe\x264.exe" ^
--crf 17 --preset medium --profile high --level 4.1 ^
--output "00896_m2ts.264" "_ENCODE_3D_MOVIE.avs"
@echo off
echo Encoding finished %date% %time%
REM Optionnaly mux the video and demuxed streams to MKV.
REM Note: The mux is disabled if no streams are demuxed.
if exist "_MUX_3D.cmd" cmd /c "_MUX_3D.cmd"
REM Everything done: do the post-processing (Shutdown computer...)
if exist "_POSTPROCESS.cmd" cmd /c "_POSTPROCESS.cmd"
exit /B
:filenotfound
echo *******************************************************************************
echo ERROR: File "H:\BDMV\STREAM\SSIF\00896.ssif" not found!
echo Is the Blu-ray disc loaded?
echo *******************************************************************************
pause
if I try to directly launch the AVS script tells me error
can't create the graph error line 81
my AVS
# Avisynth script generated Sun Jan 27 23:44:03 CET 2013 by BD3D2MK3D v0.13
# to convert "H:\BDMV\STREAM\SSIF\00896.ssif"
# (referenced by playlist 00800.mpls)
# to Half Side by Side, Left first.
# Movie title: John carter BD3D bluebird
#
# Source MPLS information:
# MPLS file: 00800.mpls
# 1: Chapters, 16 chapters
# 2: h264/AVC (left eye), 1080p, fps: 24 /1.001 (16:9)
# 3: h264/AVC (right eye), 1080p, fps: 24 /1.001 (16:9)
# 4: DTS HiRes, English, 7.1 channels, 24 bits, 2046kbps, 48kHz
# (core: DTS, 5.1 channels, 24 bits, 1509kbps, 48kHz)
# 5: DTS HiRes, Italian, 7.1 channels, 24 bits, 2046kbps, 48kHz
# (core: DTS, 5.1 channels, 24 bits, 1509kbps, 48kHz)
# 6: AC3, Russian, 5.1 channels, 640kbps, 48kHz
# 7: AC3, Ukrainian, 5.1 channels, 640kbps, 48kHz
# 8: Subtitle (PGS), English
# 9: Subtitle (PGS), English
# 10: Subtitle (PGS), Italian
# 11: Subtitle (PGS), Russian
# 12: Subtitle (PGS), Ukrainian
# 13: Subtitle (PGS), Latvian
# 14: Subtitle (PGS), Lithuanian
# 15: Subtitle (PGS), Estonian
# 16: Subtitle (PGS), English
# 17: Subtitle (PGS), Italian
# 18: Subtitle (PGS), Russian
# 19: Subtitle (PGS), Ukrainian
#LoadPlugin("C:\Users\pippus\Desktop\bd3d\BD3D2MK3Dversion13\toolset\stereoplayer.exe\DirectShowMVCSource.dll")
## Alt method using ssifSource2 (for SBS or T&B only):
LoadPlugin("C:\Users\pippus\Desktop\bd3d\BD3D2MK3Dversion13\toolset\stereoplayer.exe\ssifSource2.dll")
SIDEBYSIDE_L = 14 # Half Side by Side, Left first
SIDEBYSIDE_R = 13 # Half Side by Side, Right first
OVERUNDER_L = 16 # Half Top/Bottom, Left first
OVERUNDER_R = 15 # Half Top/Bottom, Right first
SIDEBYSIDE_L = 14 # Full Side by Side, Left first
SIDEBYSIDE_R = 13 # Full Side by Side, Right first
OVERUNDER_L = 16 # Full Top/Bottom, Left first
OVERUNDER_R = 15 # Full Top/Bottom, Right first
ROWINTERLEAVED_L = 18 # Row interleaved, Left first
ROWINTERLEAVED_R = 17 # Row interleaved, Right first
COLINTERLEAVED_L = 20 # Column interleaved, Left first
COLINTERLEAVED_R = 19 # Column interleaved, Right first
OPTANA_RC = 45 # Anaglyph: Optimised, Red - Cyan
OPTANA_CR = 46 # Anaglyph: Optimised, Cyan - Red
OPTANA_YB = 47 # Anaglyph: Optimised, Yellow - Blue
OPTANA_BY = 48 # Anaglyph: Optimised, Blue - Yellow
OPTANA_GM = 49 # Anaglyph: Optimised, Green - Magenta
OPTANA_MG = 50 # Anaglyph: Optimised, Magenta - Green
COLORANA_RC = 39 # Anaglyph: Colour, Red - Cyan
COLORANA_CR = 40 # Anaglyph: Colour, Cyan - Red
COLORANA_YB = 41 # Anaglyph: Colour, Yellow - Blue
COLORANA_BY = 42 # Anaglyph: Colour, Blue - Yellow
COLORANA_GM = 43 # Anaglyph: Colour, Green - Magenta
COLORANA_MG = 44 # Anaglyph: Colour, Magenta - Green
SHADEANA_RC = 33 # Anaglyph: Half-colour, Red - Cyan
SHADEANA_CR = 34 # Anaglyph: Half-colour, Cyan - Red
SHADEANA_YB = 35 # Anaglyph: Half-colour, Yellow - Blue
SHADEANA_BY = 36 # Anaglyph: Half-colour, Blue - Yellow
SHADEANA_GM = 37 # Anaglyph: Half-colour, Green - Magenta
SHADEANA_MG = 38 # Anaglyph: Half-colour, Magenta - Green
GREYANA_RC = 27 # Anaglyph: Grey, Red - Cyan
GREYANA_CR = 28 # Anaglyph: Grey, Cyan - Red
GREYANA_YB = 29 # Anaglyph: Grey, Yellow - Blue
GREYANA_BY = 30 # Anaglyph: Grey, Blue - Yellow
GREYANA_GM = 31 # Anaglyph: Grey, Green - Magenta
GREYANA_MG = 32 # Anaglyph: Grey, Magenta - Green
PUREANA_RB = 23 # Anaglyph: Pure, Red - Blue
PUREANA_BR = 24 # Anaglyph: Pure, Blue - Red
PUREANA_RG = 25 # Anaglyph: Pure, Red - Green
PUREANA_GR = 26 # Anaglyph: Pure, Green - Red
MONOSCOPIC_L = 1 # Monoscopic 2D: Left only
MONOSCOPIC_R = 2 # Monoscopic 2D: Right only
# Load main video (189932 frames)
#DirectShowMVCSource("H:\BDMV\STREAM\SSIF\00896.ssif", seek=false, seekzero=true, stf=SIDEBYSIDE_L)
## Alt method using ssifSource2
ssifSource2("H:\BDMV\STREAM\SSIF\00896.ssif", left_view = true, right_view = true, horizontal_stack = true)
AssumeFPS("ntsc_film")
# Resize is necessary only for Half-SBS or Half-Top/Bottom,
# or when the option to Resize to 720p is on.
BilinearResize(1920, 1080)
# Anaglyph and Interleaved modes are in RGB32, and must be converted to YV12.
#ConvertToYV12(matrix="PC.709")
# Add 3 seconds of black at the end of the video (72 frames)
Return(last + BlankClip(last, 72))#.Info()
can you tell me why?
thanks
frencher
30th January 2013, 02:57
Do you have a new version of DirectShowMVCSource ? Or ssif2source is always up to date with news movies ?
I would like to create 1 AVS to left eye and 1 AVS to right eye, DirectShowMVCSource seems to be perfect for that but I have random crash...
Would it be possible to add support for mkv in combination with CombineMVC.exe by DirectShowMVCSource ?
Cedvano
30th January 2013, 10:21
Would it be possible to add support for mkv in combination with CombineMVC.exe by DirectShowMVCSource ?
Tu veux créer un MKV MVC ? (You want to create a MKV MVC ?)
r0lZ
30th January 2013, 12:02
I always receive this error on various Blu-ray
if I try to directly launch the AVS script tells me error
can't create the graph error line 81
can you tell me why?
thanks
Have you verified if the H:\BDMV\STREAM\SSIF\00896.ssif file is really present?
Also, are you sure the BD is unprotected? Usually, you cannot rip directly a protected BD. You have to either decrypt it to an ISO and mount the ISO, or use AnyDVD HD to decrypt the BD on the fly. eac3to is not a decrypter, and therefore, BD3D2MK3D requires an unprotected DVD or a mounted ISO as source.
frencher
30th January 2013, 16:01
Tu veux créer un MKV MVC ? (You want to create a MKV MVC ?)
Oui, pour la prise en charge des pistes audio et sous titres forcés et aussi les châpitres.
Yes, for support audio tracks and subtitles as forced and chapters.
pippus
30th January 2013, 16:03
Have you verified if the H:\BDMV\STREAM\SSIF\00896.ssif file is really present?
Also, are you sure the BD is unprotected? Usually, you cannot rip directly a protected BD. You have to either decrypt it to an ISO and mount the ISO, or use AnyDVD HD to decrypt the BD on the fly. eac3to is not a decrypter, and therefore, BD3D2MK3D requires an unprotected DVD or a mounted ISO as source.
H:\BDMV\STREAM\SSIF\00896.ssif file is really present?
the path is ok
Also, are you sure the BD is unprotected?
unprotected
I tried to aprtire GraphEdit but AVC / MVC decoder (by CoreCodec) do not find
http://img571.imageshack.us/img571/8721/immagineusx.png
Nico8583
30th January 2013, 20:49
Do you have a new version of DirectShowMVCSource ? Or ssif2source is always up to date with news movies ?
I would like to create 1 AVS to left eye and 1 AVS to right eye, DirectShowMVCSource seems to be perfect for that but I have random crash...
I have added SetMemoryMax(32) at the beginning of the script and all seems to be OK :)
frencher
31st January 2013, 02:51
Tu veux créer un MKV MVC ? (You want to create a MKV MVC ?)
Make MKV (http://www.hdfever.fr/2012/09/02/tutoriel-riper-un-blu-ray-3d-en-mkv-avcmvc-full-hd-3d-avec-makemkv) is already doing.
The goal would be to read .MKV AVC/MVC directly with MVC Player Free
Sharc
4th February 2013, 20:56
Someone (I don't remember who) told me to use these settings:
--bluray-compat --profile high --level 4.1 --vbv-maxrate 40000 --vbv-bufsize 30000 --keyint 24 --slices 4
--open-gop --colorprim bt709 --transfer bt709 --colormatrix bt709 --b-pyramid strict --fake-interlaced --aud
But I don't understand why --bluray-compat is not sufficient alone. If it does what its name suggests, that option should force all necessary flags. Anyway, BD3D2MK3D forces all options above when you tick the "BD compatible" checkbox.
Great program, thanks :)
Is there a specific reason to flag the encode as interlaced (--fake-interlaced)?
r0lZ
5th February 2013, 12:52
Honestly, I don't know. Perhaps it's a blu-ray requirement. But I'm not a specialist in x264 encoding, especially for blu-ray. Lord Mulder is certainly much more able to reply than me. See the last sentence in this post (http://forum.doom9.org/showthread.php?p=1614207#post1614207), and my reply...
frencher
6th February 2013, 00:25
Tu veux créer un MKV MVC ? (You want to create a MKV MVC ?)
Make MKV (http://www.hdfever.fr/2012/09/02/tutoriel-riper-un-blu-ray-3d-en-mkv-avcmvc-full-hd-3d-avec-makemkv) is already doing.
The goal would be to read .MKV AVC/MVC directly with MVC Player Free
3D Sample created with Make MKV (http://ul.to/8u8cuqku)
Sharc
6th February 2013, 00:42
Honestly, I don't know. Perhaps it's a blu-ray requirement. But I'm not a specialist in x264 encoding, especially for blu-ray. Lord Mulder is certainly much more able to reply than me. See the last sentence in this post (http://forum.doom9.org/showthread.php?p=1614207#post1614207), and my reply...
I thought that --fake-interlaced is only required for 1920x1080 25fps or 29.97fps, encoded as progressive. All other cases (including downsized 720) should remain progressive and not use --fake-interlaced for blu-ray compliance.
r0lZ
6th February 2013, 12:05
OK, I'll study the BD requirements (in this site (http://www.x264bluray.com/)), and I'll do the necessary modifications. (But I'm not sure how I can detect that the input video is interlaced or not. That might be a problem when encoding to 1080p.)
In the meantime, should you ned so, you can remove --fake-interlaced from the _ENCODE.cmd batch before launching it.
frencher
8th February 2013, 01:11
3D Sample created with Make MKV (http://ul.to/8u8cuqku)
An idea to play it ?
Sharc
9th February 2013, 11:16
An idea to play it ?
What's exactly your problem?
- Use Stereoscopic Player (not free)
- Set playback to Optimized Anaglyph Red-Cyan
- Watch it through Red-Cyan goggles
It's perfect 3D.
You may also want to try the free Bino player
http://bino3d.org/
- Set the input to Alternate, right first
- Set the ouput to to Red-Cyan, Dubois
Output seems not to be quite as good as with Stereoscopic player, I didn't try all options though.
slavanap
10th February 2013, 00:07
Also look at 3D Vision Player by NVIDIA (http://www.nvidia.com/object/3d-vision-video-player-1.7.2-driver.html). Actually it is a free analogue of StereoScopic Player, but without CoreAVC/MVC decoder.
Cedvano
10th February 2013, 11:43
An idea to play it ?
I test it and inform you ! :)
Edit:
- TMT5 can read in 3D (but not much depth)
- Nvidia 3D player NOK
Re-Editing:
I convert it in M2TS and can be read in 3D with TMT5.
r0lZ
10th February 2013, 13:16
What is TMT5? And what means NOK?
Nico8583
10th February 2013, 13:45
What is TMT5? And what means NOK?
TotalMedia Theatre 5 from ArcSoft :)
r0lZ
10th February 2013, 13:57
Thanks. I suppose NOK means Not OK. Right?
Nico8583
10th February 2013, 14:03
Thanks. I suppose NOK means Not OK. Right?
I suppose too :)
Cedvano
10th February 2013, 14:15
Thanks. I suppose NOK means Not OK. Right?
Yes! It's Not OK :o
frencher
10th February 2013, 15:43
Maybe Neisklar could take a look for assistance would be appreciated. :p
Version "Combines" of Make MKV is different and speed are phenomenal
Cedvano
10th February 2013, 16:25
Maybe Neisklar could take a look for assistance would be appreciated. :p
Version "Combines" of Make MKV is different and speed are phenomenal
I can read without problems MKV 3D make with MakeMKV.
I would like a "MakeM2TS" for compress 3DBD more easily.
frencher
10th February 2013, 16:48
I can read without problems MKV 3D make with MakeMKV.
I would like a "MakeM2TS" for compress 3DBD more easily.
MakeM2TS = CombineMVC.exe + tsMuxeR Link Here (http://forum.doom9.org/showthread.php?p=1600201#post1600201)
Cedvano
10th February 2013, 17:39
MakeM2TS = CombineMVC.exe + tsMuxeR Link Here (http://forum.doom9.org/showthread.php?p=1600201#post1600201)
Edit: Doesn't work
Pixel on video
frencher
10th February 2013, 19:00
Edit: Doesn't work
Pixel on video
send your sample HERE (http://uploaded.net)
Cedvano
10th February 2013, 21:12
I prepare the upload.
Here the mediainfo of file.
General
ID : 1 (0x1)
Complete name : D:\LION_TEST\BDMV\STREAM\Cars2.m2ts
Format : BDAV
Format/Info : Blu-ray Video
File size : 117 MiB
Duration : 29s 962ms
Overall bit rate mode : Variable
Overall bit rate : 32.8 Mbps
Maximum Overall bit rate : 35.5 Mbps
Video
ID : 4113 (0x1011)
Menu ID : 1 (0x1)
Format : AVC
Format/Info : Advanced Video Codec
Format profile : Stereo High@L4.1 / High@L4.1
MultiView_Count : 2
Format settings, CABAC : Yes
Format settings, ReFrames : 4 frames
Codec ID : 27
Duration : 30s 72ms
Bit rate mode : Variable
Bit rate : 31.1 Mbps
Maximum bit rate : 23.0 Mbps
Width : 1 920 pixels
Height : 1 080 pixels
Display aspect ratio : 16:9
Frame rate : 23.976 fps
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.625
Stream size : 111 MiB (95%)
Audio
ID : 4352 (0x1100)
Menu ID : 1 (0x1)
Format : AC-3
Format/Info : Audio Coding 3
Mode extension : CM (complete main)
Format settings, Endianness : Big
Codec ID : 129
Duration : 29s 952ms
Bit rate mode : Constant
Bit rate : 448 Kbps
Channel(s) : 6 channels
Channel positions : Front: L C R, Side: L R, LFE
Sampling rate : 48.0 KHz
Bit depth : 16 bits
Compression mode : Lossy
Stream size : 1.60 MiB (1%)
Language : French
Edit: Here the link : http://uploaded.net/file/zcwh5oau
Create a BD structure with Tsmuxer and test.
frencher
10th February 2013, 23:42
Create a BD structure with Tsmuxer and test.
Work very well with MVC Player Free (no bad pixels here) ;) I'm not sure with tsMuxeR for BD Player
http://i46.tinypic.com/1t3s74.png
Cedvano
11th February 2013, 16:36
I have the same result with TMT5 and the file only.
This is the BD structure. I work to find the good options.
My goal is to reduce the size of BD3D.
9Hawk9
13th February 2013, 14:01
Hi, guys, I'm new around here. I'm trying to transcode, well I have successfuly transcode several BD 3D's to mkv encode 720p with BD3D 2 Mk3D,
but now have some troubles. Encoding stop's at 97% off first pass and have noticed that it could not find file or the path to the BD.
:filenotfound
echo *******************************************************************************
echo ERROR: File "K:\BDMV\PLAYLIST\00002.mpls" not found!
echo Is the Blu-ray disc loaded?
echo *******************************************************************************
pause
I have tryed with a few different BD sources and it's allways the same. What or where could be a problem?
PS: My English isn't by the book, so sorry for that and I'm not a computer expert, so ...
r0lZ
13th February 2013, 15:36
Hum, that's very strange. Seems related to a hardware problem with your BD drive. Perhaps it becomes too hot and closes itself? Encoding directly from the BD drive is not recommended, as it has to spin for a long time, and it may becomes very hot. Anyway, try to copy the BD to an ISO first, then mount the ISO and convert the movie from the mounted image. If it's a problem with your drive, that should work.
BTW, have you checked if the BD disc is still accessible in the drive when the problem occurs? You should be able to open the K:\BDMV\PLAYLIST\ folder in Explorer. If you can't, then that confirms the hardware problem.
Also, try with a BD that you have already successfully converted, just to be sure that it's not a new kind of copy protection.
9Hawk9
13th February 2013, 19:14
Thanks, but I think that's not an issue, beacuse I'm using iso files from a virtual disc, mounted with daemon tolls. Is it maybe, beacuse the playlist contains multiple m2ts files?
r0lZ
13th February 2013, 19:24
Is it maybe, beacuse the playlist contains multiple m2ts files?
Multiple M2TS can be a problem (especially when using DirectShowMVCSource instead of ssifSource2) but afaik, it happens at the beginning of the encoding, when all M2TS files must be opened at the same time. Avisynth may give up due to the unusually long startup delay. I don't think it should hang later.
Is it a message in the x264 log?
9Hawk9
13th February 2013, 19:57
Where can I find x264 log and is there any solution for that problem, or with multiple m2ts files wont work as it should be.
PS: Didn't mention that error accours between two encodes from the same BD, beacuse I allways make two, H-SBS and Anaglyph red/cyan encodes.
It looks like there is problem with multiple m2ts files, I just made one m2ts BD H-SBS encode and seems to be OK. Now I'm making an Anaglyph encode, will see....
Well, everyting is OK with one m2ts playlist in Anaglyph too, multiple m2ts playlist is still in error.
Thanks for your help, I appreciate it.
tyee
17th February 2013, 05:30
Does everyone know that you can use SSP's stereo transformation filter in mpc-hc to playback sbs and over/under after converting using r0lZ app. I added it under external filters and it just works, although I have to manually set in the output tab, resolution to 1920x1080 to get proper AR.
What player is everyone using?
r0lZ
17th February 2013, 09:52
Currently, I don't have a 3D graphic card in my laptop. I use my Samsung TV for playback. But I use sometimes The KMPlayer to show my SBS or T&B movies in anaglyph. It's handy to verify if the views are in the correct order, but a pain to watch a long movie!
A friend lend me a portable PC with a Nvidia 3D graphics card, and I've tried to get PowerDVD working in 3D, but w/o luck. The KMPlayer is not an option either, as it doesn't handle the hardware. I've had to install the Nvidia stereo player. It works, but it is very basic.
I would prefer MPC-HC, good to play MKV files with chapters. Can you explain with more details how you did it?
Sharc
17th February 2013, 17:32
What player is everyone using?
- Stereoscopic player (not free)
- Bino (free)
- you may want to try out this (I didn't try myself):
http://www.oaultimate.com/computers/playing-3d-sbs-videos-as-3d-anaglyph.html
http://www.oaultimate.com/computers/alternative-way-play-stereoscopic-3d-on-mpc-and-gom.html
tyee
17th February 2013, 18:36
Forgive me but I think I don't need SP to play over/under or sbs. As long as your TV or Projector has the ability to play these just load the video in mpc-hc and start playback, then switch your TV or Projector into that mode and it should work. The only thing I can think of that requires SP is if you have to convert the format you have into another one. My projector plays sbs and o/u so I don't need to convert anything. This is assuming you have converted a Blu-ray into sbs or o/u with your app, which is great btw! Please correct me if I'm wrong here. I was nearly going to purchase SP until I thought about this. For ssif playback direct from a Blu-ray, then yes you would need SP but not for sbs or o/u, yes??
Update - confirmed, I disabled the SP transformation filter and I still get 3D.
I just added the stereoscopic transformation filter in mpc-hc under external filters and it showed up. Select it and set it's options if required. I don't know why there is no 5 min. time limit like the SP itself, strange!
Sharc
17th February 2013, 19:50
Agree, if you are lucky to have an advanced 3D playback infrastructure.
I use Stereoscopic Player (SP) to convert on the fly Blu-Ray ssif into a 3D format which fits to my 'outdated' 2-D projector for example.
BD3D2MK3D comes handy for converting 3D Blu-ray sources to Anaglyphs on DVD5 (using tsMuxer for authoring rather than mkv), which playback well on my 'outdated' 2D-Standalone + LCD TV.
tyee
17th February 2013, 20:33
Right. I understand
I'm doing some tests and comparing sbs to o/u and I'm tending to like o/u better for the 3D wow effect. It seems definitely sharper and that helps the effects. What do others think?
r0lZ
17th February 2013, 22:27
Personally, I prefer SBS, at least when played on my Samsung TV, as with T&B, I have noticed sometimes flickering sharp horizontal lines. (I have never seen flickering vertical or horizontal lines in SBS mode.) However, that may be a problem with my TV.
Theoretically, since the parallax works on the horizontal axis, it should be better to use T&B, as there is a greater X resolution, and therefore a more precise parallax. But IMO, that doesn't matter much. Most of the 3D effect is due to the brain, and if the parallax is sufficient, the effect is correct in the two modes. I have even seen 3D-DVDs (yes, they exist!) and the 3D effect was good, despite the 720x240 resolution. The picture was not very good, but it's another problem.
Sharc
17th February 2013, 23:55
....I have noticed sometimes flickering sharp horizontal lines.....However, that may be a problem with my TV.
Could the flickering be due to the '--fake interlaced' setting for progressive encodes, triggering the deinterlacer in your TV? Just speculating......
tyee
18th February 2013, 02:12
@r0lZ
So when we use your app and get our sbs or o/u, what is the frame rate per eye? Is the projector/TV giving us 24Hz per eye??
Another thing I'm noticing is a 1 frame out of sync when encoding which of course throws the 3D out of sync. It is random meaning it may happen when I start an encode or it may not. It happens for both sbs or o/u. I usually start the encode then playback the first 30 seconds and see if it has this problem. If yes, I start over.
I haven't tried DirectShowMVCSource yet only ssifsource2. I get 100% cpu and 48fps using x264 crf 20 veryfast preset.
BTW, for years I, not being a programmer was looking for a gui creator that was easy. I finally found it! This is the most awesome app I've ever used, well, close! It allows anyone to make a gui for a command line app by copy/paste then changing the items for your specific solution. Check it out here. I made my own x264 gui by not controlling only x264.exe but controlling a batch file with everything inside it including noise reducers, sharpeners, etc. Works awesome. Free of course. I should probably start a new thread on it but mention it here because of tcl you mentioned.
http://tinytools.objective-view.de/Tools/FroG
r0lZ
18th February 2013, 10:11
Could the flickering be due to the '--fake interlaced' setting for progressive encodes, triggering the deinterlacer in your TV? Just speculating......Perhaps, but anyway, the problem is not visible in SBS, due to the higher vertical resolution.
r0lZ
18th February 2013, 10:32
@r0lZ
So when we use your app and get our sbs or o/u, what is the frame rate per eye? Is the projector/TV giving us 24Hz per eye??I suppose it depends of the hardware. When I was trying to get the 3D working on my friend's computer, I had to change the screen refresh rate from 60Hz to 100Hz, as otherwise, it was too slow and I had choppy/flickering playback. With 100Hz, I suppose each eye can receive 50 images per second (excellent for PAL).
My TV is supposed to run at 300Hz and the 3D glasses are certified up to 300 Hz. 150Hz per eye is of course better to avoid any flickering effect, but honestly, I'm not sure my TV works really at 300Hz.
Of course, it's different if you use passive 3D glasses based on polarised light (with LG TVs for example), as in that case, all images are received by the two eyes (but the resolution has to be divided by 2 once again).
Another thing I'm noticing is a 1 frame out of sync when encoding which of course throws the 3D out of sync. It is random meaning it may happen when I start an encode or it may not. It happens for both sbs or o/u. I usually start the encode then playback the first 30 seconds and see if it has this problem. If yes, I start over.
Well, I have had that problem only once, with a MPLS containing several M2TS. The problem started at the joint between 2 M2TS. I don't remember if I was using ssifsource2 or DSMVCsource. I've started over with the other method, and it worked fine. Anyway, it's a problem with the disc or ISO, or with the filter, but not with the GUI, so I can't do much.
I haven't tried DirectShowMVCSource yet only ssifsource2. I get 100% cpu and 48fps using x264 crf 20 veryfast preset.
If you want to do other things when encoding, you can add "--threads 3" in the additional options, to restrict x264 to a specific number of cores. Of course, it takes more time to encode, but at least, your PC is still responding correctly. (I may add a GUI to select the number of threads in the next version...)
http://tinytools.objective-view.de/Tools/FroGThanks for the link. I'll have a look. That can be handy do do simple GUIs. (For GUIs like BD3D2MK3D, it's probably not sufficient, because I have to launch several commands and analyse their outputs.)
[EDIT] I had a look at their homepage. Seems easy and clean. I remember the good old Amiga days, when I wrote also a similar tool to build simple GUIs by describing the elements in a text file. That was handy, but somewhat limited. Maybe this one is more powerful. Thanks anyway!
tyee
18th February 2013, 16:53
I tried the sbs and o/u comparison again and there is no contest on my projector (Benq W1070). The o/u is noticeably better with the higher horizontal resolution. I guess my projector has okay horizontal scaling for the sbs but very good vertical scaling for the o/u. In some of the skiing scenes (Art Of Flight 3D) I could nearly walk through my screen into that scene it was so clear and transparent. I'll have to run the original BR tonight and compare how close it is to the o/u.
I have only converted one disk so far with only one ssif file. For multi ssif files will eac3to combine them or will your app do it or I thought I read earlier in this thread there is another app that can do it?? Sometimes I want to do this manually.
r0lZ
18th February 2013, 18:41
I use eac3to to extract the audio and subpic streams from the MPLS, except when the MPLS is made of a single M2TS/SSIF file (because subtitle timings are sometimes damaged when there is a cut between two M2TS). In that case, the streams are extracted from the M2TS.
The video is encoded from the single or multiple M2TS/SSIF pair(s) anyway. (Look at the AVS script to see how I do it.)
Sharc
23rd February 2013, 00:33
@r0lZ:
A very minor issue:
When one checks 'Resize 1080p to 720p' the Intro Clip still keeps '1080p' in the text.
Nico8583
25th February 2013, 21:05
I'm allways searching a software to encode BD50 3D to BD25 3D but I would like to test also BD3D2MK3D so I have many questions please :D
- What softwares do I need in addition of BD3D2MK3D ? FFDShow, Haali Media Splitter,... ?
- Is it better for you to use SBS or TB ? I have an active 3D TV Samsung, I have read TB is better for LG
- Is it better to use ssifSource2 or DirectShowMVCSource ?
- If I choose 3D subtitles, what is the best resize filter ? Time is not a problem for me :)
- Is it necessary to convert subtitles to 3D for SBS/TB ? Is it an option for subtitles 2D also ?
- How can I determine if left is first ?
- What is the best resize filter between x264 and AviSynth ? Again time is not a problem for me, I search the best time / quality report but + for quality
- BD compatible add --blu-ray option of x264 ?
- What is the bitrate minimum to get a very good quality for Half ? Same question for Full ?
I'm sorry for all these questions but thanks to help me :)
r0lZ
25th February 2013, 22:07
- What softwares do I need in addition of BD3D2MK3D ? FFDShow, Haali Media Splitter,... ?Honestly, I don't know I have both. It's a question for the authors of the filters.
- Is it better for you to use SBS or TB ?I have also a Samsung, and personally, I prefer SBS, as it tends to be less problematic with thin sharp horizontal lines.
- Is it better to use ssifSource2 or DirectShowMVCSource ?DirectShowMVCSource is more "powerful", as it can encode in a large variety of 3D formats, including anaglyph. But when there are many SSIF files referenced by the MPLS you want to encode, it may be slow to start and cause DirectShow timeout problems. In that case, I recommend using ssifSource2. Otherwise, they should be equivalent. (There is still an open question about a problem with missing frames in some cases, but I have not been able to reproduce it, so I can't say if a specific filter is the culprit.)
- If I choose 3D subtitles, what is the best resize filter ?I use the bilinear filter. It is fast and well suited to shrink the bitmap. Note also that usually, the subtitle width or height is divided exactly by 2 (and the other dimension is not resized). It's a very simple case to handle, and most, if not all resize methods should give an equivalent result. But I haven't tested all filters.
- Is it necessary to convert subtitles to 3D for SBS/TB ? Is it an option for subtitles 2D also ?2D subtitles can be used only with 3D aware programs or hardware, as they must be duplicated at display time. Unfortunately, the Samsung TVs cannot display the IDX/SUB subtitles. They can only display (badly) the text-based subtitles, like SRT. (It's why there is an option to hardcode the subtitles in the video.)
If you use an external player or multimedia hard disc to send the video to the TV, it must use 3D subtitles in bitmap format, as otherwise they will be placed on the whole screen, covering both images (in SBS mode) or only the bottom image (in TB mode).
So, the 2D bitmap subs can be useful only with software or hardware players running on the 3D display. Furthermore, they must be able to change the "depth" of the subtitles, as otherwise, the subs are displayed on the surface of the screen, often "inside" objects. That's really unpleasant.
BD2D2MK3D doesn't have an option to mux the 2D subs, but you can do it manually with MkvMerge if you wish. (The 2D subs are in the temp folder anyway.)
- How can I determine if left is first ?I have never seen a BD with right first, but they may exist. Currently, I trust eac3to. It displays the "left/right eye" string in the corresponding video stream.
If you're not sure, you can use a software player that can display 3D video in anaglyph and test with cheap anaglyph glasses. (I use The KMPlayer for that purpose.)
- What is the best resize filter between x264 and AviSynth ?I don't know. Usually, I use bilinear (for the same reason than for the subtitles), or lanczos (for its quality). I don't know if the x264 or AVS filters are better or more rapid, but usually, I prefer to use the AVS filters, to leave more CPU power for x264.
- BD compatible add --blu-ray option of x264 ?It adds several otions, but I'm not sure they are correct. See here (http://forum.doom9.org/showthread.php?p=1614375#post1614375), here (http://forum.doom9.org/showthread.php?p=1614207#post1614207) and here (http://www.x264bluray.com/). (I still need to study the different cases, and adapt the parameters accordingly.) Anyway, IMO, that option doesn't make much sense. I've added it at the request of a user, but who want to convert a BD to SBS or TB to burn another BD? IMO, it is better to copy the original.
- What is the bitrate minimum to get a very good quality for Half ? Same question for Full ?I use the bitrate modes (and mainly the 2-pass mode) ONLY when the size of the output file matters (for example, to put the encoded movie on a DVD). IMO, it doesn't make sense to use the bitrate modes if you are interested in quality only. A very complex movie may require a high bitrate, and a simple and clean cartoon can be encoded with very high quality at a relatively low bitrate. IMO, the CRF mode is the best one to ensure that the quality will be good, regardless of the complexity of the movie and of the half/full 3D mode. It is made for that purpose, and I recommend to use it. (Note that when you change the preset, say from medium to slower, the quality doesn't change much in CRF mode. It's the output size that changes. In the other hand, changing the preset in 2-pass or ABR mode doesn't change the size, but affects the quality.)
Nico8583
25th February 2013, 22:24
Thanks a lot to spend your time to respond me :)
- For ssifSource2 or DirectShowMVCSource, I think I'll use ssifSource2 :)
- For 3D subtitles, Samsung can display them correctly or badly like 2D ? What depth do you use in general ?
- I'll search more informations about resize filters :)
- I'll search also more informations about x264 options :)
- What is the "best" CRF value to ensure quality without obtain a very big file ? Is there a big difference between CRF medium and CRF slower for example ?
Thanks again !!
r0lZ
25th February 2013, 23:06
Samsung cannot display 3D subs, as it cannot handle the bitmap subs. It needs text subs, that cannot be in 3D. (Furthermore the SRT subs must be in an external file, and cannot be embedded in the MKV container!) It display the SRT subs in 3D, but badly, because there is no way to specify the depth, and because long lines are wrapped too early, giving sometimes 4 lines of subs, or even more! That's way too much. I prefer to hardcode the subs and control myself their depth and position. Or I use 3D soft subs with my Lacie multimedia HDD (but I don't like that solution either, as using the OSD of an external device displayed on a 3D TV is a pain!)
The choice of the depth is a difficult problem. Since I have no good way to preview the 3D video with the subs on my PC, I need to estimate the depth. I try to determine if many objects are "popping out of the screen" when subs are displayed, and if it's the case, I try to estimate the depth. It's not easy. Usually, a good starting point is around 20, but that depends of the movie. (Note that if the format of the movie is Cinemascope, you can move the image near the top of the screen, and place the subs in the large black bar at the bottom. Of course, in that case, the depth of the subs doesn't matter much.)
The default CRF is 23, and imo, it has been very well chosen. It gives a good quality for a small size (but again, the size depends of the preset). But when I encode a movie with a very sharp picture, or when the quality of the picture matters much, I tend to lower it, around 20, or even 15 in some cases. When the source is bad or blurred (such as a VHS rip), you can safely use a CRF of 25 or even 30.
I have read somewhere that decreasing the CRF by 3 doubles the size of the video stream. Of course, it's an estimation, and imo, it is exaggerated. (Using CQ 0 produces a lossless output, but the bitrate is extremely high!)
Is there a big difference between CRF medium and CRF slower for example ?
I did only simple tests, but yes, the difference in bitrate is noticeable, especially if you are crazy enough to use the Placebo preset!
Nico8583
25th February 2013, 23:39
Thanks one more time :-)
Last question tonight :-D have you tried to play Full SBS on Samsung TV ? If you have tried, what solution do you use ?
r0lZ
26th February 2013, 08:53
Full SBS (or TB) in 1080p is rejected. However, I remember having played successfully a full-3D movie in a lower resolution. IIRC, it was 720p TB, but I'm not sure.
Another problem with the Samsung TVs and 3D: They require 16:9 video. So, if you crop the black bars of a 3D movie shot in Cinemascope, it will be played full-screen anyway, and the picture will be stretched vertically. AFAIK, LG has the same problem. It's why there is no Crop tool in BD3D2MK3D. (Cropped 2D videos can be played with the correct aspect ratio.)
Nico8583
26th February 2013, 21:29
Full SBS (or TB) in 1080p is rejected. However, I remember having played successfully a full-3D movie in a lower resolution. IIRC, it was 720p TB, but I'm not sure.
Another problem with the Samsung TVs and 3D: They require 16:9 video. So, if you crop the black bars of a 3D movie shot in Cinemascope, it will be played full-screen anyway, and the picture will be stretched vertically. AFAIK, LG has the same problem. It's why there is no Crop tool in BD3D2MK3D. (Cropped 2D videos can be played with the correct aspect ratio.)
Thanks :)
But if I play a Full SBS with a PC and a software, does it work ? The PC output could be in a correct format 1920 x 1080 ?
r0lZ
26th February 2013, 22:30
I don't know. If your external player can add the black borders itself and send pure 16:9 via HDMI, that should be OK. But imo, most players send what they receive, and it's the responsibility of the TV to adapt the image to the correct aspect ratio. Also, take in mind that using an external player for 3D playback on your TV is really not handy. You cannot see the OSD of the external player, as it is not designed to be seen in 3D. IMO, it is better to keep the black borders anyway, to be compatible with all hardware players and TVs, and they doesn't consume much disc space anyway.
Nico8583
27th February 2013, 13:28
I'm talking about a Full SBS 3840 x 1080 so black borders would be include ?
I believe Stereoscopic Player (for example) can play Full SBS, so output on HDMI would be 1920 x 1080 like a Blu ray player ?
Other question : have you tried to make a Blu ray structure with a Half SBS ? Do you know a way to convert 2D subtitle to 2D subtitles SBS ?
Thanks !
r0lZ
27th February 2013, 13:47
I believe Stereoscopic Player (for example) can play Full SBS, so output on HDMI would be 1920 x 1080 like a Blu ray player ?
I don't know. My PC is not connected to my TV via HDMI, and I don't use Stereoscopic Player. Sorry.
have you tried to make a Blu ray structure with a Half SBS ?
No. I'm not interested in burning BDs. IMO, they are already on decline, and I prefer to keep my 3D movies on HDD (as half-SBS). IMO, HDDs are so cheap today that burning BDs is not the best way to back your collection up.
Do you know a way to convert 2D subtitle to 2D subtitles SBS ?
What are "2D subtitles SBS"? If you want then in 2D, there is nothing to convert (except from SUP to IDX/SUB). If you need to convert text-based subtitles to 3D, there is a program called 3DSubtitler, referenced earlier in this thread.
Nico8583
27th February 2013, 19:11
Thanks :)
I don't have the same opinion about BD but it is not the subject :D
"2D subtitles SBS" are classic subtitles divided by 2 on horizontal, one for left side and one for right side but without 3D effect. But is it necessary ? I don't know, I'll make tests...
Perhaps is it possible to convert 1920 x 1080 subtitles to 2 same 960 x 1080, or convert 1920 x 1080 to 1 960 x 1080 is suffisant.
r0lZ
27th February 2013, 19:22
They are 3D subs, made for 3D videos, but without depth effect, and therefore appearing on the "surface" of the screen.
You can create such subs with BD2D2MK3D. Just set the depth to 0. They are converted anyway when you process a BD movie, but you can also do it on external subtitle files with Tools -> Convert Subtitles to 3D. It's just a GUI for the command line program Suppe3D.exe, included in the toolkit.
Nico8583
28th February 2013, 22:51
Thanks, Suppe3D is exactly what I'm searching :)
Now, I'm looking to choose the best resize filter, Lanzcos(4) or Spline(16,36,64)...
r0lZ
28th February 2013, 23:04
You should thank Neisklar. He is the author of Suppe3D. IIRC, the first post concerning that tool is here (http://forum.doom9.org/showthread.php?p=1594978#post1594978) in this thread (although the Suppe3D name is not used in that post).
Please let us know the result of your resize filters comparison.
jdobbs
5th March 2013, 06:40
Someone (I don't remember who) told me to use these settings:
--bluray-compat --profile high --level 4.1 --vbv-maxrate 40000 --vbv-bufsize 30000 --keyint 24 --slices 4
--open-gop --colorprim bt709 --transfer bt709 --colormatrix bt709 --b-pyramid strict --fake-interlaced --aud
But I don't understand why --bluray-compat is not sufficient alone. If it does what its name suggests, that option should force all necessary flags. Anyway, BD3D2MK3D forces all options above when you tick the "BD compatible" checkbox.
Because there is lots of variability in the blu-ray standard. The "--bluray-compat" set's the things that are required -- but there are lots of things that are really up to you. For example, you don't have to use level 4.1, you could just as easily choose level 4.0. You don't have to set the maxrate to 40000 -- that's just the highest you could set it.
r0lZ
5th March 2013, 07:48
Thanks for the precision. Does that mean that --bluray-compat is sufficient to ensure BD compatibility, and that I should not force any other parameters (except perhaps verify that the level is not too high)? For example, can I safely remove the --fake-interlaced flag, and assume that x264 is smart enough to set it when it is required?
jdobbs
5th March 2013, 15:18
Fake interlaced is just a way to make a progressive source look like interlaced so it is compliant. Example: A 720x480 29.97fps stream is expected to be interlaced -- because 480p is not a part of the standard for a primary video track (only for secondaries). So by using the --fake-interlaced setting you can tell the playback system it is interlaced, while keeping it progressive. In 99% of all encodes you wouldn't use it.
r0lZ
5th March 2013, 15:42
Yes, but for that 1% where it must be set, should I set it manually, or is the --bluray-compat flag sufficient to inform x264 to set it automatically when necessary? (I must admit that I would prefer the second solution, as B3D2MKV has no way to know if it must be set or not.)
Sharc
5th March 2013, 21:28
You would have to set it manually when really needed.
But what if --fake-interlaced is always set (or never set)? Would the playback device complain, or is there another disadvantage?
IIRC my SONY standalone seems to be forgiving when I forgot to set --fake interlaced where it actually should have been set. Maybe other players are more picky?
jdobbs
5th March 2013, 23:45
You would have to set it manually when really needed.
But what if --fake-interlaced is always set (or never set)? Would the playback device complain, or is there another disadvantage?
IIRC my SONY standalone seems to be forgiving when I forgot to set --fake interlaced where it actually should have been set. Maybe other players are more picky? Every player I have ever seen will play back 480p. In fact, I've never seen one that also wouldn't play 480p back at 23.987fps as well -- even though that is only legal as a secondary to a 23.976 progressive primary (1080p or 720p).
frencher
7th March 2013, 01:04
Sourcecode for mkv (AVC/MVC) remuxing (http://www.makemkv.com/forum2/download/file.php?id=464&sid=40e4cc06ee773e06b6830556440a76a3)
tyee
7th March 2013, 05:45
Your sourcecode link does not exist.
tfboy
8th March 2013, 10:39
I've been playing around with converting 3D BDs to 3D DCPs for cinema usage and I have a workflow that's OK and have written up the process on my blog.
But I'd like to optimise it a bit, and wondered if there were any tweaks I could bring in, particularly around the usage of ldecod.
Right now, I'm using ldecod to regenerate the full right-eye of the SSIF information demuxed using eac3to.
But the decoding is quite slow and I was wondering if there's anyway of speeding it up. For example, with alexpk's mod, can you opt to only decode one stream at a time?
I've played around with compiling the more recent versions of ldecod, but I've realised alexpk has done something extra to permit the two input files to work.
Any ideas?
:thanks:
frencher
9th March 2013, 00:27
Hi tfboy,
Look in my signature "MVC Player Free" no need to rip just select the .ssif file or files, you need and you have option "encode".
You have the options left eye, right eye, side by side, upper under.
Ldecod forgotten thing of the past ;)
I am currently working the "Playlist" (.mpls)
BD3D2MK3D works fine ;)
tfboy
9th March 2013, 11:29
Thanks, but no real luck with it. I've loaded the SSIF, it has generated the following AVS script:
LoadPlugin ("D:\tools\StereoPlayer.exe\DirectShowMVCSource.dll")
File = "G:\BDMV\STREAM\SSIF\00201.ssif"
Left = DirectShowMVCSource(File, decodeleft=TRUE)
Right = DirectShowMVCSource(File)
Video = StackHorizontal(Left,Right)
Video = Video.ConvertToYV12()
LoadPlugin ("D:\tools\StereoPlayer.exe\DirectShowSource.dll")
Audio = DirectShowSource("G:\BDMV\STREAM\00201.m2ts", video=FALSE)
Video = AudioDub(Video, Audio)
Return Video
But it takes a long time opening the media then I get a timeout waiting for graph to start, Preview line 4...
What I need is to have the "full" right (and left) eye h264 video demuxed into individual files. Currently, the Demux option in tools is greyed out.
r0lZ
9th March 2013, 11:41
Timout problems are common with DirectShowMVCSource. Usually, relaunching the same AVS script several times solves the problem. You can also specify a different timeout (in ms) in the DirectShowMVCSource command:
DirectShowMVCSource(..., timeout=200000)
tfboy
9th March 2013, 11:54
Thanks r0lZ. I guess I should be able to demux the h264 streams with the app? I won't persevere if I can't :) Thanks to frenchy for his work too!
edit:
Ahh, looks like I'm getting further.
When I click play, I get a "Cannot play back the file. The format is not supported" with line 8. Now line 8 refers to the audio. However, if I disabled that or remove the line from the Preview.avs script, then when I click the play button, I get an "opening media..." and after a few seconds, goes back to Ready with nothing appearing.
frencher
9th March 2013, 12:22
You can choose the output mode see screenshot (SBS, OR, LEFT or RIGHT).
Problem for line 8 (audio) some DTS track have difficulty therefore in the "Audio" Disable audio here should go for if you want the right to take you "Right View MVC"
Then you go to "Tools" and encode ;)
http://i48.tinypic.com/34rzsd5.png
http://i47.tinypic.com/qp0139.png
r0lZ
9th March 2013, 12:24
I'm not the author of MVC Player Free, and I can't comment on it.
Try with BD3D2MK3D (http://download.videohelp.com/r0lZ/BD3D2AVS/BD3D2MK3D.7z). It can use DirectShowMVCSource or ssifSource2. With ssifSource2, you can encode the right view only if you wish. The drawback is that ssifSource2 cannot handle the MPLS files directly, and when there are several M2TS files referenced by the MPLS, it is necessary to encode all parts separately. BD3D2MK3D handles that problem automatically, but in some rare cases, that can cause some problems too (for example when there is a frame missing from the left or right view).
[EDIT] Frencher has replied before me.
frencher
9th March 2013, 12:31
[EDIT] Frencher has replied before me.
No problem :D
MVC Grrrrrrr.
tfboy
9th March 2013, 12:56
Thanks for the help, but I'm still being a bit thick.
I don't need to view the video, just to demux it so I end up with left h264 video file and right h264 video file. I had a quick look at BD3D2MK3D but can't seem to demux the right eye video.
Would you mind posting a correct avs script for that so I can confirm I'm not missing something on my PC.
Thanks / merci :)
r0lZ
9th March 2013, 13:20
IIRC, you can demux the right view with eac3to, but that doesn't make much sense IMO, as without the BD structure and the left view, the AVC stream cannot be decoded.
tfboy
9th March 2013, 13:26
IIRC, you can demux the right view with eac3to, but that doesn't make much sense IMO, as without the BD structure and the left view, the AVC stream cannot be decoded.
You can, and I've been using eac3to to do just that. And then, I was using ldecod to recreate the full video for the right eye.
I need a full, readable h264 video of left and right eyes, something ldecod gives me, although it's slow and you end up with huge files being uncompressed YUV.
I guess maybe some "processing" or "compression" is required for the right eye, but I want minimal loss of quality because it's to be transformed to a DCP, viewed on a cinema screen.
edit: here's my workflow: http://www.xavierwalker.co.uk/blog/3d-blu-ray-to-3d-dcp/
r0lZ
9th March 2013, 13:38
I need a full, readable h264 video of left and right eyes
So, if I understand correctly, you need a decoded right view. It's why I have proposed to use BD3D2MK3D with ssifSource2, and the option to encode only the right view. You can do a lossless encode if you want.
You can't just demux the right view and hope it will be "a full, readable h264 video", as the MVC stream contains only the differences in the left and right views. So, you must re-encode anyway. It is true that ldecod can output the raw decoded stream, and you don't need an AVS script. It is indeed very slow. Unfortunately, with the DirectShowSource and ssifSource2 plugins, you need the AVS script, and therefore, you need also to re-encode, even if it's with CQ 0 (lossless mode). That method is much more rapid.
frencher
9th March 2013, 20:22
So, if I understand correctly, you need a decoded right view. It's why I have proposed to use BD3D2MK3D with ssifSource2, and the option to encode only the right view. You can do a lossless encode if you want.
You can't just demux the right view and hope it will be "a full, readable h264 video", as the MVC stream contains only the differences in the left and right views. So, you must re-encode anyway. It is true that ldecod can output the raw decoded stream, and you don't need an AVS script. It is indeed very slow. Unfortunately, with the DirectShowSource and ssifSource2 plugins, you need the AVS script, and therefore, you need also to re-encode, even if it's with CQ 0 (lossless mode). That method is much more rapid.
Yes left.yuv and Right.yuv
tfboy
10th March 2013, 14:11
OK, I'm getting somewhere now. :)
However, it has me thinking of using the avisynth script as an input to ffmpeg. Then I don't have to create the intermediary yuv files, I can effectively pipe the resulting yuv from avs directly into ffmpeg.
tfboy
10th March 2013, 15:41
Using ssif2 / avs script as a plugin to ffmpeg doesn't appear to work. I initially had an issue that was combining 32bit avisynth with 64bit ffmpeg. So now I'm using the 32bit version off ffmpeg.
Using: ffmpeg32.exe -i d:\tools\test.avs -pix_fmt rgb24 -f image2 i:\tiff\r-%06d.tiff
where my avs script is:
LoadPlugin("ssifSource2.dll")
ssifSource2("G:\BDMV\STREAM\SSIF\00000.ssif", left_view = false, right_view = true)
I get the "can't create the graph" referring to line2 as the resulting images from the video...
I've tried various things including avs2yuv, but my guess is a problem within avisynth so I need to fix that before playing around with piping it into ffmpeg.
I suppose the issue could be that the avs script is expected to be used in conjunction with the x264 encoder. Maybe I have to to go via that too, but I was hoping to avoid having to create the actual file and pipe the output directly into ffmpeg.
So what I'm trying to achieve is: ssif file => avs script with ssif2 => piped into ffmpeg.
I might need to do: ssif file => avs script with ssif => x264 encoded video => piped into ffmpeg.
Thoughts?
Thanks
vanden
11th March 2013, 14:55
MakeM2TS = CombineMVC.exe + tsMuxeR Link Here (http://forum.doom9.org/showthread.php?p=1600201#post1600201)
No !
The combined AVC/MVC raw stream of makemvc.exe is not exactly identical to that of combinemvc.exe ...
-- With a sample (CombineMVC.exe + tsMuxeR) Cars2.m2ts (http://uploaded.net/file/zcwh5oau) :
- It is not readable with StereoscopicPlayer (StereoscopicPlayer recognizes well the format: "separate stream, Left to Right" but no video).
- Remux Cars2.m2ts with mkvtoolnix to mkv (Cars2Mkvtoolnix.mkv (http://infonetservices02.chez.com/Cars2Mkvtoolnix.mkv)) : same effect with StereoscopicPlayer ...
- By cons with MVC Player v0.0.1.0 Free Car2.m2ts is playable but the remux mkv with mkvtoolnix is not playable.
-- With a sample created by MakeMKV SamyMakeMKV.mkv (http://infonetservices02.chez.com/SamyMakeMKV.mkv) :
- It is readable with StereoscopicPlayer.
- Remux SamyMakeMKV.mkv with tsMuxeR in m2ts (SamyTSMuxer.m2ts (http://infonetservices02.chez.com/SamyTSMuxer.m2ts)): The m2ts is not recognized as "separate stream, Left to Right" by StereoscopicPlayer, so that only the left stream is readable (=2D) ...
- By cons with MVC Player Free v0.0.1.0 no files are readable.
-- Anything strange, open Cars2Mkvtoolnix.mkv file with MakeMKV :it is recognized correctly !
Record with MakeMKV in Cars2MakeMKV.mkv (http://infonetservices02.chez.com/Cars2MakeMKV.mkv) : it become playable with StereoscopicPlayer !
-- Last note :
Combined MKV (AVC/MVC created by MakeMKV) play with Microsoft DTV/DVD Video Decoder = audio is out of sync.
Tested with MPC-HC.1.6.5.6366.x86 (with Haali Media Splitter, LAV Splitter AND MPC splitter).
MPC-HC report 30fps (with Microsoft DTV/DVD Video Decoder) and audio is out of sync.
It's OK with Haali Media Splitter + MPC video decoder (DXVA or FFmpeg).
It's OK with Haali Media Splitter + CoreAVC 3.01 (DXVA or NOT).
And it is also OK with MPC splitter + MPC video decoder OR CoreAVC 3.01 (DXVA or NOT).
And it is also OK with LAV splitter + MPC video decoder OR CoreAVC OR 3.01 (DXVA or NOT).
By cons, if you remux the MKV with tsMuxer in M2TS, audio is sync ! (with Microsoft DTV/DVD Video Decoder and any splitter).
M2TS files combined AVC/MVC (created by CombineMVC.exe + tsMuxeR) audio is synchronized with the Microsoft DTV decoder / DVD Video Decoder (with any splitter).
if you remux the M2TS with mkvtoolnix in MKV, sound is synchronized with the Microsoft DTV decoder / DVD Video Decoder (with any splitter) !
Is there a way to decombine a file AVC/MVC combined ?
non !
la piste brute combinée AVC/MVC de makemvc.exe n'est pas exactement identique a celle de combinemvc.exe ...
-- Avec un sample (CombineMVC.exe + tsMuxeR) par exemple Cars2.m2ts (http://uploaded.net/file/zcwh5oau) :
- il n'est pas lisible avec stereoscopic player (stereoscopic player reconnait bien le format : "separate stream, Left to Right" mais pas de video).
- Remuxer ce m2ts avec mkvtoolnix en mkv (Cars2Mkvtoolnix.mkv (http://infonetservices02.chez.com/Cars2Mkvtoolnix.mkv)) : même effet avec stereoscopic player ...
- Par contre avec MVC Player Free v0.0.1.0 cars2.m2ts est bien lisible mais le remux avec mkvtoolnix en mkv ne l'est pas.
-- Avec un sample créé par MakeMKV SamyMakeMKV.mkv (http://infonetservices02.chez.com/SamyMakeMKV.mkv) :
- Il est lisible avec steroscopic player.
- Remuxer ce mkv avec TSMuxer en m2ts (SamyTSMuxer.m2ts (http://infonetservices02.chez.com/SamyTSMuxer.m2ts)) : Le m2ts n'est pas reconu comme "separate stream, Left to Right" par stereoscopic player donc que coté gauche de lisible (2D) ...
- Par contre avec MVC Player Free v0.0.1.0 ni le mkv ni le m2ts ne sont lisibles.
Autre chose etrange, MakeMKV ouvre corectement le fichier cars2Mkvtoolnix.mkv, en l'enregistrent avec MakeMKV en Cars2MakeMKV.mkv (http://infonetservices02.chez.com/Cars2MakeMKV.mkv) il deviens lisible par stereoscopic player !
Derniere remarque :
Les fichiers MKV combinés AVC/MVC (créés par MakeMKV) lu avec le decoder Microsoft DTV/DVD Video Decoder = audio désynchronisé
Testé avec MPC-HC.1.6.5.6366.x86 (avec Haali Media Splitter, LAV Splitter ET MPC splitter).
MPC-HC report 30fps (avec Microsoft DTV/DVD Video Decoder) et le son est désynchronisé.
C'est bon avec haali Media Splitter + MPC video decoder (DXVA ou FFmpeg).
C'est bon avec Haali Media Splitter + CoreAVC 3.01 (DXVA ou NON).
Et c'est aussi bon avec MPC splitter + MPC video decoder OU CoreAVC 3.01 (DXVA ou NON).
Et c'est aussi bon avec LAV splitter + MPC video decoder OU CoreAVC 3.01 (DXVA ou NON).
Par contre si on les remux en m2ts avec TSMuxer alors il n'y a plus de désynchronisation avec le decodeur microsoft (quelque soit le splitter) !
Les fichiers M2TS combinés AVC/MVC (créés par CombineMVC.exe + tsMuxeR) le son est bien synchronisé avec le decodeur Microsoft DTV/DVD Video Decoder (quelques soit le splitter).
si on les remux en MKV avec mkvtoolnix le son est bien synchronisé avec le decodeur Microsoft DTV/DVD Video Decoder (quelques soit le splitter) !
Y at-il un moyen de decombine un fichier AVC/MVC combinés ?
frencher
11th March 2013, 15:40
Is there a way to decombine a file AVC/MVC combined ?
I've asked this question but I did not get an answer until now.
J'ai déjà posé la question mais je n'ai pas eu de réponse jusqu'à maintenant.
tfboy
11th March 2013, 19:01
Not sure why vanden's quoting a post from another thread?
Je ne sais pas pourquoi vanden reprend un post d'un autre sujet?
Any ideas about this one?
Est-ce que quelqu'un a des idées sur mon sujet précis?
vanden
11th March 2013, 19:19
This is the same thread !?
http://forum.doom9.org/showthread.php?p=1615145#post1615145
tfboy
11th March 2013, 21:57
Sorry, blonde moment seeing different thread numbers...
vanden
11th March 2013, 22:58
I found a way to read the m2ts (created by CombineMVC.exe + tsMuxeR) in SteroscopicPlayer :
J'ai trouvé un moyen de lire les m2ts (créés par CombineMVC.exe + tsMuxeR) dans SteroscopicPlayer :
http://infonetservices02.chez.com/graphedit.jpg
http://infonetservices02.chez.com/StereoscopicPlayer.jpg
Haali media splitter connects well to MainConcept MVC/AVC Decoder, but the MVC stream is coromput.
EDIT
I guess CombineMVC.exe uses filters Sonic/MainConcept (Sonic MVC Muxer AND Sonic File Writer) ?
http://i48.fastpic.ru/big/2012/1112/44/db3c7e36258aa2d7fdb3fc7f06dad844.png
If so, it should be possible to decombine with Sonic File Writer ?
This should work, but only with those made with CombineMVC not with those made with MakeMKV ...
frencher
12th March 2013, 11:54
@vanden
Is it possible to create support for mkv from MakeMKV ?
Is it possible to create the same format mkv (AVC / MVC) as does MakeMKV?
vanden
12th March 2013, 14:15
@vanden
Is it possible to create support for mkv from MakeMKV ?
Currently no ... but I suspect that the combined AVC/MVC raw stream, created by MakeMKV is very very close to that of CombineMVC.
Because when muxing combined AVC/MVC raw stream created by CombineMVC in mkv with MKVtoolnix it is well recognized by MakeMKV !
It is sufficient to record that open file in MakeMKV and it is transformed into a "combined MKV / Type MakeMKV" ...
But inversse operation is not possible for the moment ... I do not know how to convert a combined AVC/MVC raw stream created by MakeMKV in combined AVC/MVC raw stream created by CombineMVC ...
@vanden
Is it possible to create the same format mkv (AVC / MVC) as does MakeMKV?
Yes it is possible:
1. create a combined AVC/MVC raw stream with CombineMVC.
2. Mux this stream with MKVtoolnix.
3. open this mkv file with MakeMKV.
4. Record the file.
Edit
Error! No way to decombine ...
r0lZ
12th March 2013, 14:26
2. Mux this stream with MKVtoolnix.
3. open this mkv file with MakeMKV.
4. Record the file.
I don't understand the difference between point 1 and points 2/3. MKVToolnix is not an exe. Do you mean that the combined stream must be remuxed once (with MkvMerge) and then the remuxed file must be remuxed again, a second time?
vanden
12th March 2013, 14:41
I don't understand the difference between point 1 and points 2/3. MKVToolnix is not an exe. Do you mean that the combined stream must be remuxed once (with MkvMerge) and then the remuxed file must be remuxed again, a second time?
2. yes muxed with MkvMerge(=mkvtoolnix=mmg.exe)
3. and 4. : I suppose remux with MakeMKV + certainly modify the header of the raw stream.
r0lZ
12th March 2013, 15:28
Oops, yes, I have never realized that it is possible to remux a MKV file with MakeMKV. Thanks for the tip!
moamoa
12th March 2013, 20:13
Help!
I use MakeMVK to backup my BR's. But I'm have problems with 3D ones. MakeMKV can backup the file but I can't create a SBS MKV from it. It just makes a MVC MKV which is hard to play.
I would like to convert this to a SBS MKV. If I use MakeMKV to to a backup instead, I hoped to use BD3D2MK3D.
Firstly the backup changes all the files names to "00001.ssif.smap" and similar, then the BD3D2MK3D application will not open the backup as it finds no 3D content. If i manually rename the files to "00001.ssif", then the BD3D2MK3D application will open the back up and I get the first screen on.
But If I then click on the "2:Select streams" tab I get an error and cant continue?
What am I doing wrong?
(see attached screens)
If ignore the first error and click through to the last page to start the encoding, i get the error shown in image 3
Help?
r0lZ
13th March 2013, 00:32
BD3D2MK3D can only convert a 3D BD, not a MKV. You should convert your BD, instead of doing an intermediate conversion with MakeMKV.
moamoa
13th March 2013, 10:26
BD3D2MK3D can only convert a 3D BD, not a MKV. You should convert your BD, instead of doing an intermediate conversion with MakeMKV.
I think that is what I'm doing. I'm only using MakeMKV to make a backup copy of the BD image without encryption on it, not to make an actual MKV. It has this feature too! So the errors shown in the previous post's attached images are related to the converted BD folder, not an MKV as input source. You can see this from the first image which shows it has found the right track in the BD file structure. What is going wrong after this? (image 2 and 3)?
r0lZ
13th March 2013, 11:02
Unfortunately, your images are still not approved, and I can't see them. (BTW, the next time, you should upload them to an image sharing service such as Imageshack, and post the links here.)
Anyway, BD3D2MK3D requires a standard BD structure to operate successfully. I have not analysed how MakeMKV does the backup, but obviously, it is not standard, notably due to the file extension changes. You'll probably have to use another method to decrypt the BD and make a standard ISO. I'll try to understand why BD3D2MK3D fails with the backups created by MakeMKV, but don't expect a miracle. BD3D2MK3D uses external CLI programs that I haven't written myself, and if one of them does not work with the MakeMKV ISO, I will be unable to change that.
pwimmer
13th March 2013, 13:43
I found a way to read the m2ts (created by CombineMVC.exe + tsMuxeR) in SteroscopicPlayer :
J'ai trouvé un moyen de lire les m2ts (créés par CombineMVC.exe + tsMuxeR) dans SteroscopicPlayer :
http://infonetservices02.chez.com/graphedit.jpg
http://infonetservices02.chez.com/StereoscopicPlayer.jpg
You can also use Haali media splitter in place of Mainconcept MPEG Demultiplexer.
I'll make .m2ts files with a combined stream with a single PID work with Stereoscopic Player's default MPEG-TS splitter. The issue should be solved within the next few weeks.
Stereoscopic Player's splitter is based on the Media Player Classic splitters: http://www.3dtv.at/OpenSource
A note on 3D MKVs using the MVC codec: There is no official spec for MVC in the MKV container yet! The MakeMKV developer and me proposed to append the subset SPS and second PPS to the CodecPrivate element on the MKV devel list. Everyone creating 3D-MKV files should know that the files might not be compliant with a future spec.
moamoa
13th March 2013, 15:20
I'll try to understand why BD3D2MK3D fails with the backups created by MakeMKV, but don't expect a miracle. BD3D2MK3D uses external CLI programs that I haven't written myself, and if one of them does not work with the MakeMKV ISO, I will be unable to change that.
Thanks! :)
The images are upload now. There might not be anything really wrong, could just be me not doing something right or a set-up issue. But I appreciate you looking, so, thanks.
r0lZ
13th March 2013, 15:41
Yes, but I'm currently trying to fix another problem (with timeouts when using DirectShowMVCSource with multi-SSIF MPLS files), and it's damn slow. Please be patient...
vanden
13th March 2013, 23:19
I'll make .m2ts files with a combined stream with a single PID work with Stereoscopic Player's default MPEG-TS splitter. The issue should be solved within the next few weeks.
Stereoscopic Player's splitter is based on the Media Player Classic splitters: http://www.3dtv.at/OpenSource
Good news !
A note on 3D MKVs using the MVC codec: There is no official spec for MVC in the MKV container yet! The MakeMKV developer and me proposed to append the subset SPS and second PPS to the CodecPrivate element on the MKV devel list. Everyone creating 3D-MKV files should know that the files might not be compliant with a future spec.
Yes official specification for combined AVC/MVC raw stream and for each container (ts/mkv/mp4/avi ...) !
vanden
14th March 2013, 15:41
@ moamoa
Have you tried to demuxe this :
1. the .m2ts
2. the .SSIF
3. the .mpls
With eac3to ?
r0lZ
14th March 2013, 16:13
The images are upload now. There might not be anything really wrong, could just be me not doing something right or a set-up issue. But I appreciate you looking, so, thanks.
I see. Anyway, if eac3to fails when it tries to retrieve the stream information for the selected MPLS, that means that something is wrong with your BD or ISO.
(The error of your 3th screenshot is caused by the missing stream information, but is not relevant. It should not happen with a valid BD.)
I haven't tried to process a MakeMKV backup yet. Still busy, but I should have some time tomorrow...
moamoa
15th March 2013, 19:53
I see. Anyway, if eac3to fails when it tries to retrieve the stream information for the selected MPLS, that means that something is wrong with your BD or ISO.
(The error of your 3th screenshot is caused by the missing stream information, but is not relevant. It should not happen with a valid BD.)
I haven't tried to process a MakeMKV backup yet. Still busy, but I should have some time tomorrow...
Thanks you.
I hope it's not too difficult to fix! :)
r0lZ
17th March 2013, 11:32
I suspect that the combined AVC/MVC raw stream, created by MakeMKV is very very close to that of CombineMVC.
I have tried to use MakeMKV to create the combined MKV file, then extract the combined h264 file with MkvExtract, remux it to M2TS with TsMuser, and use that combined M2TS file as input for DirectShowMVCSource, with the AVS syntax explained here (http://forum.doom9.org/showthread.php?p=1600201#post1600201).
But that doesn't work. The combined M2TS file created with CombineMVC and TsMuxer works perfectly. That means that something important is different with the MakeMKV method.
@Neisklar: Can you have a look at the MakeMKV method and, perhaps, modify DirectShowMVCSource to work with that method too? That would be nice, as that method is much more rapid than CombineMVC.
Also, can you write the CLI version of CombineMVC, with the support for named pipes, as discussed early?
Thanks in advance!
r0lZ
17th March 2013, 12:09
# v0.14 (January 24, 2013)
# - Removed "b-spline" from the list of subtitle resize filters due to BDSup2Sub++ crashing.
# - Changed the NUL output of the first pass in 2-pass mode to the real .264 file, due to x264 crashing.
# v0.15 (March 17, 2013)
# - Bug: When one checks 'Resize 1080p to 720p' the Intro Clip still keeps '1080p' in the text.
# - Little bug: Wrong error message when the program is launched and the config file BD3D2MK3D.cfg doesn't exist.
# - Added a check to ensure that the Haali Media Splitter is installed. (It is required to see the progress percentage during the encoding.)
# - Added menu "Help -> Haali Media Splitter home" to easily download and install the Haali DirectShow filter.
# - Removed Tools -> Join SSIF files (as it doesn't work well) and replaced by CombineMVC and TsMuxer to do the same thing manually.
Currently, there is still no good solution to process a MPLS with a large number of M2TS/SSIF files, although the CombineMVC method works. If you cannot encode a MPLS, be sure to tick the options to demux also the AVC and MVC streams (in tab 2), then use CombineMVC and TsMuxer (both can be launched from the Tools menu) to create a combined M2TS file (don't forget to change the TsMuxer output format from TS to M2TS), and edit the AVS script produced by BD3D2MK3D to load and process the combined M2TS. I have added commented-out lines to facilitate that. You should just have to uncomment them, and remove or comment-out the lines above that part. That method is not fully automatic, as I have no way to automate the job made by CombineMVC, you can encode only in half or full SBS or Top/Bottom, and CombineMVC is damn slow, but it works.
If you prefer, you can also try to use the old BD3D2AVS (http://download.videohelp.com/r0lZ/BD3D2AVS/BD3D2AVS.7z), using the old (and also very slow) ldecod method.
Of course, if someone can write a CLI and optimised version of CombineMVC, I'll try to fully implement that method in BD3D2MK3D.
Also, currently, I haven't found a solution to process successfully BD backups created by MakeMKV. I'll try again later...
Download the latest BD3D2MK3D version here (http://download.videohelp.com/r0lZ/BD3D2AVS/BD3D2MK3D.7z).
vanden
17th March 2013, 12:26
I have tried to use MakeMKV to create the combined MKV file, then extract the combined h264 file with MkvExtract, remux it to M2TS with TsMuser, and use that combined M2TS file as input for DirectShowMVCSource, with the AVS syntax explained here (http://forum.doom9.org/showthread.php?p=1600201#post1600201).
But that doesn't work. The combined M2TS file created with CombineMVC and TsMuxer works perfectly. That means that something important is different with the MakeMKV method.
Yes but why when muxing combined AVC/MVC raw stream created by CombineMVC in mkv with MKVtoolnix it is well recognized by MakeMKV ??!!
It is sufficient to record that open file in MakeMKV and it is transformed into a "combined MKV / Type MakeMKV" ... playable with the default filters of stereoscopic player (like all 3d mkv file created with MakeMKV) !
@Neisklar: Can you have a look at the MakeMKV method and, perhaps, modify DirectShowMVCSource to work with that method too? That would be nice, as that method is much more rapid than CombineMVC.
It is necessary to force "DirectShowMVCSource", to use "MatroskaSplitter.dll" (of sereoscopicplaver> = 1.9.6) instead of "MPEGSplitter.dll" ...
r0lZ
17th March 2013, 13:28
vanden, thanks for the precision, but it's useless for my GUI. I need a combined.h264 file that can be processed by the current version of DirectShowMVCSource, not by stereoscopic player. As far as I know, I need to use CombineMVC. In other words, your finding is interesting, but I would like to do exactly the opposite: convert a h264 combined stream made with MakeMKV to something equivalent to what CombineMVC produces. That seems impossible currently. Or have I missed something?
Of course, it would be better if DirectShowMVCSource could open the combined h264 produced by MakeMKV (or preferably the MKV file containing it). It it is sufficient to use the Matroska Splitter, that should be possible. But the new DirectShowMVCSource should support well the two methods, as MakeMKV is not free.
samfednik
17th March 2013, 13:54
as MakeMKV is not free.
http://www.makemkv.com/forum2/viewtopic.php?f=5&t=1053
r0lZ
17th March 2013, 14:08
Thanks. I did know that "beta free" thing, but anyway, it will be payware one day.
vanden
17th March 2013, 14:29
I understood why StereoscopicPlayer (with filters by default) does not work with files CombineMVC : this is a problem with stf.dll.
With DirectShowSource we have the same problem when using stf.dll :
LoadPlugin("DirectShowMVCSource.dll")
video = DirectShowMVCSource("CombinedMVC.m2ts", stf=16)
AssumeFPS(video, 24000, 1001)
return video
Does not work ! While this script works :
LoadPlugin ("DirectShowMVCSource.dll")
left = DirectShowMVCSource("CombinedMVC.m2ts", decodeleft=true)
right = DirectShowMVCSource("CombinedMVC.m2ts")
video = StackHorizontal(left, right)
return video
With a file .SSIF, both scripts work properly !
Another discovery muxer combined raw stream created by combineMVC in a mkv containair with mkvmerge : This damages Combined raw stream !
1. create raw combined stream (with combinemvc)
you can test this combined raw stream with Mainconcept/Sonic filters :
http://infonetservices02.chez.com/rawcombinemvc.jpg
2. Mux it with mkvtoolnix.
3. Demux with tsMuxer or mkvextract or eac3to.
4. verify that combined raw stream is no longer readable with MainConcept filters :
http://infonetservices02.chez.com/rawcombinemvc_(Mkvmerge-Mux)_(TsMuxer-Demux).jpg
http://infonetservices02.chez.com/rawcombinemvc_(Mkvmerge-Mux)_(Mkvextract-Demux).jpg
http://infonetservices02.chez.com/rawcombinemvc_(Mkvmerge-Mux)_(eac3to-Demux).jpg
Mux in .m2ts (Combined raw stream created by combinemvc) demux with tsMuxeR or eac3, the Combined raw stream does not damaged .
r0lZ
17th March 2013, 14:47
I understood why StereoscopicPlayer (with filters by default) does not work with files CombineMVC : this is a problem with stf.dll.
That was already known, as you can see here:
The Plugin is now capable of opening .m2ts (or other MPEG Transportstreams) files, with an single combined MVC stream.
BUT: when using such a file, the STF will NOT work (even the StereoPlayer won't play it), so you need to do it this way for example:
LoadPlugin ("DirectShowMVCSource.dll")
left = DirectShowMVCSource("combined.m2ts", decodeleft=true)
right = DirectShowMVCSource("combined.m2ts")
video = StackHorizontal(left, right).BilinearResize(1920, 1080)
return video
vanden
17th March 2013, 16:01
That was already known, as you can see here:
Sorry I had not seen ! So I confirm !
frencher
17th March 2013, 18:27
It is necessary to force "DirectShowMVCSource", to use "MatroskaSplitter.dll" (of sereoscopicplaver> = 1.9.6) instead of "MPEGSplitter.dll" ...
"MatroskaSplitter.dll" for *.mkv
"MPEGSplitter.dll" for *.ts, *.mts, *.m2ts
:goodpost:
Sharc
17th March 2013, 20:47
@r0lz
It would be handy to get the option of muxing the files into blu-ray structure after encoding, rather than mkv only, because some (2D-)blu-ray standalones reject to play mkv.
(It can be done with little manual work now, so no high priority, just for convenience)
r0lZ
17th March 2013, 22:53
Not sure why you want to convert a BD to a BD! IMO, if you want a backup, you should just copy the original BD. You want a backup for a 2D BD player?
Also, honestly, I don't know how to create the BD structure. Creating a MKV is easy, and I can probably create a M2TS instead, but that's not a BD structure. My program is a GUI only, and if that can be done easily with an existing CLI tool, I may have a look, but I don't want to write that from scratch.
moamoa
17th March 2013, 22:55
I see. Anyway, if eac3to fails when it tries to retrieve the stream information for the selected MPLS, that means that something is wrong with your BD or ISO.
(The error of your 3th screenshot is caused by the missing stream information, but is not relevant. It should not happen with a valid BD.)
I haven't tried to process a MakeMKV backup yet. Still busy, but I should have some time tomorrow...
Any joy? Does this look possible? :)
r0lZ
18th March 2013, 00:35
@moamoa: Read the thread, and your PMs.
Sharc
18th March 2013, 00:49
Not sure why you want to convert a BD to a BD! IMO, if you want a backup, you should just copy the original BD. You want a backup for a 2D BD player?
Also, honestly, I don't know how to create the BD structure. Creating a MKV is easy, and I can probably create a M2TS instead, but that's not a BD structure. My program is a GUI only, and if that can be done easily with an existing CLI tool, I may have a look, but I don't want to write that from scratch.
Well, I want for example to convert & compress the main movie of an original 3D BD to an SBS, TB or anaglyph BD5 which - when in BD format - can be played on any 2D standalone BD player and watched on my legacy 2D (anaglyph) or any 3D (SBS, TB) TV or projector. It works perfectly.
The creation of a BD structure is easy: TSMuxer (CLI) has Blu-ray as an option. Just check its GUI :)
frencher
18th March 2013, 01:02
How create mkv (AVC/MVC),
From MakeMKV program folder
My BD is John Carter 3D
Scan BD infos
makemkvcon.exe -r --cache=1 info disc:9999 32 bit
makemkvcon64.exe -r --cache=1 info disc:9999 64 bit
My disc is disc:2
Remux directly to MKV 3D by title 3 (00800.mpls = title 3)
makemkvcon.exe mkv --progress=-same disc:2 3 "F:\Temp\John Carter" 32 bit
makemkvcon64.exe mkv --progress=-same disc:2 3 "F:\Temp\John Carter" 64 bit
Download => makemkvcon.rar (http://ul.to/tphq3gko) (If don't works, please install MakeMKV)
I dream of:
- Update of "DirectShowMVCSource.dll" with audio support and "CombineMVC.exe"
- MKV 3D Seekable
- Subtitles and forced subtitles
- Chapters
- Update of eac3to :D
Enjoy ;)
r0lZ
18th March 2013, 08:18
What is that makemkvcon command supposed to do, and how can it be useful to us?
frencher
18th March 2013, 16:15
What is that makemkvcon command supposed to do, and how can it be useful to us?
ISO is a large MKV 3D structure is kept AVC/MVC and everything needed. (Chapters Languages)
Fewer problems with several cutoff .SSIF
100% Compatible with "Stereoscopic Player" and seekable
Faster than "CombineMVC" and does not require remux.
And more .....
Easy Export to pipe with recode on a fly
Developers Tutorial here (http://www.makemkv.com/developers/usage.txt)
r0lZ
18th March 2013, 16:46
OK, I suppose you were replying to this post:
@r0lz
It would be handy to get the option of muxing the files into blu-ray structure after encoding, rather than mkv only, because some (2D-)blu-ray standalones reject to play mkv.
(It can be done with little manual work now, so no high priority, just for convenience)
But if I understand correctly, Sharc wants a way to create a BD with an Anaglyph, SBS or TB conversion, not with AVC/MVC streams, compatible only with 3D BD players.
frencher
18th March 2013, 16:58
It is necessary to force "DirectShowMVCSource", to use "MatroskaSplitter.dll" (of sereoscopicplaver> = 1.9.6) instead of "MPEGSplitter.dll" ...
If "DirectShowMVCSource.dll" is updated everything is possible
frencher
20th March 2013, 05:23
"MVC Player Free v0.0.1.1" In my signature... :rolleyes:
Extract and run directly MVC Player Free.exe or play associated file with MVC Player Free.exe
# Added: Full Recode with x264 1 & 2 pass and custom preset (output > .mkv)
# Added: Auto-switch of some compatible 3D TV (SBS an UO)
# Added: eac3to infos
# Added: eac3to demux (selected .m2ts & .ssif ready)
# Added: Rapid link to CombineMVC and tsMuxeR
# Added: Editable playlist (x264 & eac3to demuxing)
# Added: Multi angle compatible
# Added: Support of index.bdmv (BD Root)
# Added: Support of playlist (.mpls)
# Added: Support of all media
# Fixed: Help topic (in progress...)
# Fixed: Link for update (in my signatre)
# Some fixes
http://i46.tinypic.com/2qanwcj.png
frencher
21st March 2013, 01:40
"MVC Player Free v0.0.1.2" In my signature... :rolleyes:
Extract and run directly MVC Player Free.exe or play associated file with MVC Player Free.exe
# Added: MediaInfo
# Added: Export to i420 YUV (output > .yuv)
# Fixed: Stop probleme with DirectShow filters
# Some fixes
vanden
22nd March 2013, 04:05
As I tried to answer my question :
I guess CombineMVC.exe uses filters Sonic/MainConcept (Sonic MVC Muxer AND Sonic File Writer) ?Having filters Sonic Scenarist 5.5 (Sonic MVC Muxer 1.0.0.29341), I tested the graph.
Surprise the file is not exactly the same size as the CombineMVC file and it is not readable with Mainconcept/Sonic MPEG demultiplexer or (once remux in m2ts) with DirectShowSource ...!
Remux in mkv (mkvmerg) MakeMKV can not see the MVC stream ...
By chance I test Sonic HD Demuxer filter 4.3.00.0134 (on my raw stream combined "Sonic MVC Muxer") and it works.
I say I will test with a MakeMKV file demuxed (with eac3to), it works too !
I accidentally found a way to read in GraphEdit the raw combined stream of MakeMKV.
1. Demux MKV (with eac3to).
2. Open GraphEdit :
-a- File Source (Async) (open a raw file CombineMVC) / Mainconcept MPEG demultiplexer / Mainconcept MVC Decoder : Just activate the 2 video outputs of the decoder.
-b- File Source (Async) (open a raw file MakeMKV) / Sonic HD Demuxer / Mainconcept MVC Decoder / 2 Video render.
http://infonetservices02.chez.com/MakeMKV-Graphedit.jpg
frencher
23rd March 2013, 03:17
"MVC Player Free v0.0.1.3" In my signature... :rolleyes:
Extract and run directly MVC Player Free.exe or play associated file with MVC Player Free.exe
# Added: eac3to demux with chapters (selctable .m2ts, .ssif and others media files)
# Added: Auto Play On/Off (Playback)
# Fixed: MediaInfo (BD path and files)
# Some fixes
frencher
24th March 2013, 05:11
I made a small package because CombineMVC is not CLI at the moment but it could work here must be missing a little something ...
The work is sent with eac3to L.h264 and R.h264 to CombineMVC.exe with pipe.
Package is: HERE (http://ul.to/9bd9tc7l)
Wolfy59
24th March 2013, 12:14
Hi no question no help needed for this moment just a BIG thanks for all you do here
r0lZ
24th March 2013, 12:29
Thanks to you! :-)
frencher
24th March 2013, 13:21
You are welcome Wolfy59 ;)
jumpjack
27th March 2013, 21:34
Is there any tutorial for 3dbd's free?
I can get it finding some 3d files on my BD, but then... what?
Is it supposed to work properly in WindowsXP SP3? GUI looks weird, like missing something.
I click on GO button after selecting a 3d file, but nothing appears happening, nothing appears in output folder.
frencher
28th March 2013, 19:23
Is there any tutorial for 3dbd's free?
I can get it finding some 3d files on my BD, but then... what?
Is it supposed to work properly in WindowsXP SP3? GUI looks weird, like missing something.
I click on GO button after selecting a 3d file, but nothing appears happening, nothing appears in output folder.
Kill process "3DBD's Free Plugin.exe" there may be a memory leak...
For better works use "MVC Player Free" ;)
jumpjack
28th March 2013, 21:37
Kill process "3DBD's Free Plugin.exe" there may be a memory leak...
For better works use "MVC Player Free" ;)
Can you please be more specific?
I still don't get how to use 3dbd, how it works, what it is expected to do, how I can view the resulting (if any) 3d video.
frencher
29th March 2013, 01:45
Can you please be more specific?
I still don't get how to use 3dbd, how it works, what it is expected to do, how I can view the resulting (if any) 3d video.
"3DBD's Free" in this release serves only one demux bluray but in standby because of memory leak.
"MVC Player Free" takes over and allows direct reading and re-encoding on the fly Bluray unencrypted but also demux and remux almost any type of video but also the Bluray and Bluray 3D with the various tools provided.
jumpjack
29th March 2013, 09:19
So how can I use 3dBd and/or MVC Player Free to watch my MIB-III 3d-bd on my PC?
r0lZ
29th March 2013, 11:11
Yes, I find it difficult to understand too.
Frencher, si tu veux, écrit une petite doc en français, et je la traduirai...
frencher
2nd April 2013, 04:43
Tutorial for MVC Player Free is now ready: HERE (http://forum.doom9.org/showthread.php?p=1602605#post1602605)
Merci pour ta proposition r0lZ ;) corrige moi si j'ai fait des erreurs de traduction...
Une idée pour combiner avec eac3to et les pipes ?
jumpjack
2nd April 2013, 11:14
I get this error:
Evaluate: System Exception - Access Violation on line 6
First lines of file:
LoadPlugin ("E:\documenti\Downloads\MVC Player Free v0.0.1.3\MVCtoAVI.exe\DirectShowMVCSource.dll")
LoadPlugin ("E:\documenti\Downloads\MVC Player Free v0.0.1.3\MVCtoAVI.exe\DirectShowSource.dll")
# Start AVS for Selected Tracks
Video1 = DirectShowMVCSource("D:\BDMV\STREAM\SSIF\00342.ssif",timeout=2000000,stf=13)
Audio1 = DirectShowSource ("D:\BDMV\STREAM\00342.m2ts",audio=TRUE,video=FALSE)
Video2 = DirectShowMVCSource("D:\BDMV\STREAM\SSIF\00344.ssif",timeout=2000000,stf=13)
Audio2 = DirectShowSource ("D:\BDMV\STREAM\00344.m2ts",audio=TRUE,video=FALSE)
(which one is considered 6th one?)
Tested on MenInBlack-III.
This error appears when operating on BD.
Operating on folder structure created on hard disk by MakeMKV results in nothing happening upon pressing PLAY button.
frencher
2nd April 2013, 13:13
I get this error:
Evaluate: System Exception - Access Violation on line 6
First lines of file:
LoadPlugin ("E:\documenti\Downloads\MVC Player Free v0.0.1.3\MVCtoAVI.exe\DirectShowMVCSource.dll")
LoadPlugin ("E:\documenti\Downloads\MVC Player Free v0.0.1.3\MVCtoAVI.exe\DirectShowSource.dll")
# Start AVS for Selected Tracks
Video1 = DirectShowMVCSource("D:\BDMV\STREAM\SSIF\00342.ssif",timeout=2000000,stf=13)
Audio1 = DirectShowSource ("D:\BDMV\STREAM\00342.m2ts",audio=TRUE,video=FALSE)
Video2 = DirectShowMVCSource("D:\BDMV\STREAM\SSIF\00344.ssif",timeout=2000000,stf=13)
Audio2 = DirectShowSource ("D:\BDMV\STREAM\00344.m2ts",audio=TRUE,video=FALSE)
(which one is considered 6th one?)
Tested on MenInBlack-III.
This error appears when operating on BD.
Operating on folder structure created on hard disk by MakeMKV results in nothing happening upon pressing PLAY button.
"DirectShowMVCSource.dll" not works with MakeMKV File
Have you tried this ?
http://i47.tinypic.com/343qd21.png
jumpjack
2nd April 2013, 13:17
"DirectShowMVCSource.dll" not works with MakeMKV File
Have you tried this ?
http://i47.tinypic.com/343qd21.png
yes, but no luck.
Could the "access violation" be related to being reading directly from BD? Maybe the program attempts writing something to the folder where it reads data from, which is of course readonly.
r0lZ
2nd April 2013, 14:10
If your disc is an original, it is probably encrypted. You have to decrypt it on HDD first, or use AnyDVD HD to decrypt it on the fly.
frencher
2nd April 2013, 19:02
If your disc is an original, it is probably encrypted. You have to decrypt it on HDD first, or use AnyDVD HD to decrypt it on the fly.
From my original MIB III in 3D with AnyDVD HD
http://i47.tinypic.com/ddexcz.png
odyssey
11th April 2013, 09:07
BD3D2MK3D is great, but I have some problems with it.
1: Seems like eac3to is reporting an incorrect number of frames (very low - usually around 5000 frames, but a seemingly random number). This happens with all 3D blurays. Problem is the same when I try to manually extract the audio, where I only get 5-10 minutes.
2: SSIFSource2 fails to encode with x264 properly, when --preset slow is used. It gives a lot of "duplicate frame added"-errors, and the right-eye output stutters a lot.
I'm running it on XP x86 SP3. All encodes made as HOU (didn't try any other). I can't be the only one with these problems?
r0lZ: Would be nice if you could choose which method (at least SSIF or DirectShowMVCSource) should be enabled, in the GUI :)
Besides any possible failures, are there any reason to choose one method over another in terms of quality?
r0lZ
11th April 2013, 09:57
1: Seems like eac3to is reporting an incorrect number of frames (very low - usually around 5000 frames, but a seemingly random number). This happens with all 3D blurays. Problem is the same when I try to manually extract the audio, where I only get 5-10 minutes.Very strange problem. I have never seen that. Usually, the number of frames reported by eac3to is off by 1, but is it almost correct. I can only suggest to try to update eac3to, and verify with the command line or one of its GUIs if it fails again, or if it's a bug in BD3D2MK3D.
2: SSIFSource2 fails to encode with x264 properly, when --preset slow is used. It gives a lot of "duplicate frame added"-errors, and the right-eye output stutters a lot.Again something new for me. I have already noticed once a missing or duplicated frame in one of the views (causing a slight left/right desync), but I have never notices numerous additional frames. Anyway, I doubt --preset slow could be the cause, as x264 should encode what it receives, regardless of the preset.
r0lZ: Would be nice if you could choose which method (at least SSIF or DirectShowMVCSource) should be enabled, in the GUI :)
Menu Settings -> Use ssifsource2 for SBS/T&B
Besides any possible failures, are there any reason to choose one method over another in terms of quality?Normally no. Both should produce correctly decoded frames. The main limitation with ssifsource2 is that it can encode only in SBS or Top/Bottom, but it seems to crash less with MPLS containing many SSIF parts, and it's why BD3D2MK3D offers to use it anyway for SBS or T&B if it's the case.
odyssey
11th April 2013, 10:07
I can only suggest to try to update eac3to, and verify with the command line or one of its GUIs if it fails again, or if it's a bug in BD3D2MK3D.
I'm already on 3.27 and as I mentioned, I have the same problem when I extract the audio, so I can say for sure that it's not a problem with BD3D2MK3D. I just posted in this thread, as it seems to be a problem with 3D disks only.
Again something new for me. I have already noticed once a missing or duplicated frame in one of the views (causing a slight left/right desync), but I have never notices numerous additional frames. Anyway, I doubt --preset slow could be the cause, as x264 should encode what it receives, regardless of the preset.
I would think that too, but it's quite obvious. The first pass is fine, and when it goes on to pass 2 it triggers throughout. When you think about it, it makes sense - preset slow uses more reference frames, so it has to look way beyond what it usually does, and maybe SSIFSource can't handle that properly. Could be related to the same problem, that you can't search with the plugin.
Would be great if you could test it. I may also try to do another install with Windows 7 to see if that makes a difference.
r0lZ
11th April 2013, 10:51
The first pass is fine, and when it goes on to pass 2 it triggers throughout. When you think about it, it makes sense - preset slow uses more reference frames, so it has to look way beyond what it usually does, and maybe SSIFSource can't handle that properly. Could be related to the same problem, that you can't search with the plugin.Indeed, that might be the cause of the proble. Usually, I encode in CRF mode, medium or slow preset, and have never noticed that problem. I'll try a slow 2-pass encode...
I may also try to do another install with Windows 7 to see if that makes a difference.
Currently, what OS do you have? (I have W8 x64, and an old partition with W7 x64.)
Nico8583
11th April 2013, 11:11
I had the same problem of duplicated frames, it was because frames number was wrong...
24673583
11th April 2013, 11:13
BD3D2MK3D,I use BD compatible.
But encoded .264 is 1920*1080i/23.976 (not BDspec)
odyssey
11th April 2013, 11:13
I had the same problem of duplicated frames, it was because frames number was wrong...
I used the number of frames as reported by DirectShowMVCSource for SSIFSource2 and got the error. Is there another way to determine the correct number of frames?
r0lZ
11th April 2013, 11:26
Try xport.exe. (It is included in the toolset of BD3D2AVS, but not with BD3D2MK3D. If you need it, you can download it here (http://download.videohelp.com/r0lZ/tmp/xport.7z).)
The CLI syntax to check the number of frames only is:
xport.exe -phs "path\to\file.m2ts" 1 1 1
Note that you must use the corresponding M2TS file. It doesn't work with MPLS or SSIF. If there are several parts in the MPLS, you have to check the number of frames of all M2TS files, and add them together.
r0lZ
11th April 2013, 11:30
BD3D2MK3D,I use BD compatible.
But encoded .264 is 1920*1080i/23.976 (not BDspec)Can you check what's wrong in the command line? (You can find it in the log.)
I have added that "BD compatible" option at the request of a user, but I don't know exactly what options must be added. It's not simple. Currently, the option --fake-interlaced is included, as it seems mandatory, but I may be wrong.
24673583
11th April 2013, 13:13
Can you check what's wrong in the command line? (You can find it in the log.)
I have added that "BD compatible" option at the request of a user, but I don't know exactly what options must be added. It's not simple. Currently, the option --fake-interlaced is included, as it seems mandatory, but I may be wrong.
now,I have added the command line in the option "--fake -interlaced"
x264 command:
"D:\Soft\BD3D2MK3D\toolset\stereoplayer.exe\x264.exe" ^
--bitrate 25000 --pass 1 --stats "00003_m2ts.stats" --preset medium ^
--bluray-compat --profile high --level 4.1 --vbv-maxrate 40000 --vbv-bufsize 30000 --keyint 24 --slices 4 ^
--open-gop --colorprim bt709 --transfer bt709 --colormatrix bt709 --b-pyramid strict --fake-interlaced --aud ^
--output "00003_m2ts.264" "_ENCODE_3D_MOVIE.avs"
"D:\Soft\BD3D2MK3D\toolset\stereoplayer.exe\x264.exe" ^
--bitrate 25000 --pass 2 --stats "00003_m2ts.stats" --preset medium ^
--bluray-compat --profile high --level 4.1 --vbv-maxrate 40000 --vbv-bufsize 30000 --keyint 24 --slices 4 ^
--open-gop --colorprim bt709 --transfer bt709 --colormatrix bt709 --b-pyramid strict --fake-interlaced --aud ^
--output "00003_m2ts.264" "_ENCODE_3D_MOVIE.avs"
but The result of coding is no change (1920*1080i/23.976)
Sharc
11th April 2013, 18:25
now,I have added the command line in the option "--fake -interlaced"
but The result of coding is no change (1920*1080i/23.976)
Strange. 1080i/23.976 is indeed not BD compliant. The command line looks ok without --fake interlaced.
--fake-interlaced is only needed when you encode progressive although the blu-ray standard requires that the particular resolution/framerate should be interlaced. These are quite exceptional cases.
What are the resolution and framerate of your source?
From where do you get the info that it has been encoded as interlaced (1080i)?
frencher
11th April 2013, 21:33
I used the number of frames as reported by DirectShowMVCSource for SSIFSource2 and got the error. Is there another way to determine the correct number of frames?
Hi odyssey,
What name of your Bluray 3D and files used (.ssif)
frencher
11th April 2013, 21:53
"MVC Player Free v0.0.1.4" In my signature... :rolleyes:
Extract and run directly MVC Player Free.exe or play associated file with MVC Player Free.exe
# Major fix: For correct Left, Right, SBS & UO for preview and output (Press LOAD button before... fix in progress)
# Added: Left mouse clic directly to playlist select & deselct only one (m2ts+ssif)
# Added: Right mouse clic to playlist select & deselct all (m2ts+ssif)
# Some fixes
http://i45.tinypic.com/zikidh.png
24673583
12th April 2013, 09:36
Strange. 1080i/23.976 is indeed not BD compliant. The command line looks ok without --fake interlaced.
--fake-interlaced is only needed when you encode progressive although the blu-ray standard requires that the particular resolution/framerate should be interlaced. These are quite exceptional cases.
What are the resolution and framerate of your source?
From where do you get the info that it has been encoded as interlaced (1080i)?
from 3d blu ray disc(1080p/23.976)
drap to TSMuxGui,the .264 is 1080i.
frencher
13th April 2013, 09:58
from 3d blu ray disc(1080p/23.976)
drap to TSMuxGui,the .264 is 1080i.
VC-1 or h264 ?
24673583
15th April 2013, 13:31
VC-1 or h264 ?
i use BD3D2MK3D encoding h264
r0lZ
15th April 2013, 13:48
Strange. 1080i/23.976 is indeed not BD compliant. The command line looks ok without --fake interlaced.
--fake-interlaced is only needed when you encode progressive although the blu-ray standard requires that the particular resolution/framerate should be interlaced. These are quite exceptional cases.
I don't understand. If the BD-specs require interlaced, an interlaced input should be encoded as it, and a progressive input should be encoded with --fake-interlaced. In all cases, the output should be interlaced (real or fake). Right?
Also, I suppose that --fake-interlaced doesn't hurt if the input is already interlaced. That option should do nothing in that case. But I may be wrong.
Any pointer will be appreciated.
Sharc
15th April 2013, 20:51
If the BD-specs require interlaced, an interlaced input should be encoded as it, and a progressive input should be encoded with --fake-interlaced.
Yes.
--fake-interlaced just fools the playback device by pretending (=fake) that the progressive video is interlaced.
Also, I suppose that --fake-interlaced doesn't hurt if the input is already interlaced. That option should do nothing in that case. But I may be wrong.
When the input (source) is interlaced it should be encoded with --tff. Not sure if the superfluous --fake-interlace will hurt in this case (probably not).
Any pointer will be appreciated.
A comprehensive overview about the legal blu-ray formats is given in this sticky. (http://forum.doom9.org/showthread.php?p=1399419#post1399419)
r0lZ
15th April 2013, 22:25
OK, thanks. So, it seems that only the frame rates at 25 and 29,97 fps must be interlaced. All other frame rates (regardless of the image resolution) must be encoded in progressive mode. In that other frame rates, I should simply remove the --fake-interlaced option from the command line and everything should be OK.
now,I have added the command line in the option "--fake -interlaced" [...] but The result of coding is no change (1920*1080i/23.976)
That's right. It's because the --fake-interlaced option is added anyway when the BD compatible option is ticked. My fault! (If you add it manually, it is not added twice in the command, because BD3D2MK3D detects that it is already present.)
I'll fix that problem in the next version. In the meantime, you can edit the batch file with the x264 command to manually remove that option. Sorry, you'll have to encode again. If you do it, please confirm that your stream is BD compliant.
Sharc
15th April 2013, 23:28
OK, thanks. So, it seems that only the frame rates at 25 and 29,97 fps must be interlaced.
Correct. If such sources are interlaced they should be encoded using --tff; if you know they are progressive you may use --fake-interlaced instead.
All other frame rates (regardless of the image resolution) must be encoded in progressive mode.
Correct. Caution however when downsizing 25 or 29.97 fps 1080i interlaced sources to 720p: You would need to deinterlace (bob, doubling the framerate), downsize and encode as progressive.
r0lZ
16th April 2013, 06:28
Thanks for the confirmation.
Caution however when downsizing 25 or 29.97 fps 1080i interlaced sources to 720p: You would need to deinterlace (bob, doubling the framerate), downsize and encode as progressive.
Luckily, when encoding a 3D BD source, we can probably safely assume that the input video is always progressive (and usually at 23.976 fps).
24673583
16th April 2013, 09:02
OK, thanks. So, it seems that only the frame rates at 25 and 29,97 fps must be interlaced. All other frame rates (regardless of the image resolution) must be encoded in progressive mode. In that other frame rates, I should simply remove the --fake-interlaced option from the command line and everything should be OK.
That's right. It's because the --fake-interlaced option is added anyway when the BD compatible option is ticked. My fault! (If you add it manually, it is not added twice in the command, because BD3D2MK3D detects that it is already present.)
I'll fix that problem in the next version. In the meantime, you can edit the batch file with the x264 command to manually remove that option. Sorry, you'll have to encode again. If you do it, please confirm that your stream is BD compliant.
Thank you.
I believe that the next version, we will get a better experience
Thanks again!
Neisklar
17th April 2013, 15:46
Hi folks,
only a short post, having to much work for to few hours.
Here is an CLI Version of MVCCombine:
http://www.share-online.biz/download.php?id=5HN7MELMCJW
This version is waaayyyyy faster than the old one (did an combine in 20minutes, and the limiting factor was the external harddrive i used).
Stupid me had an 8 MB Buffer allocated and deallocated in an average movie around 100.000 times instead of simply reusing, which slowed all down like hell.
Have fun and sorry for being making me so sparse
frencher
19th April 2013, 06:00
Hi folks,
only a short post, having to much work for to few hours.
Here is an CLI Version of MVCCombine:
http://www.share-online.biz/download.php?id=5HN7MELMCJW
This version is waaayyyyy faster than the old one (did an combine in 20minutes, and the limiting factor was the external harddrive i used).
Stupid me had an 8 MB Buffer allocated and deallocated in an average movie around 100.000 times instead of simply reusing, which slowed all down like hell.
Have fun and sorry for being making me so sparse
Hi Neisklar,
It is a pleasure to learn this huge and beautiful work ;)
With i7 3930k, CPU @ 4% => Frame 44212 of 139814 written (31,61%) - 0:02:31 - remaining time 0:05:26
VERY BIG THANKS :goodpost:
r0lZ
20th April 2013, 13:29
Here is an CLI Version of MVCCombine:
http://www.share-online.biz/download.php?id=5HN7MELMCJW
Thanks! It works very well, and indeed it is fast! :-)
But I have a request. Could you add an option to output the progress messages one line at a time, instead of using BS characters to erase the previous line? Currently, it is very difficult to parse the output from a GUI. (For whatever reason, Tcl misses sometimes a character, and therefore it is not possible to simply read 86 characters at a time.)
I would also like to know if it issues warnings or error messages when something goes wrong, and if it does it to stdout or stderr. And is the return code non-zero in case of error?
Also, do you plan to implement named pipes? It's the only thing that is still necessary to automate the direct conversion from an unencrypted BD to a M2TS file directly. That would be very nice for BD3D2MK3D.
Thanks in advance.
frencher
20th April 2013, 23:21
Also, do you plan to implement named pipes?
I tried but it does not reach use pipes work either for me.
Is it possible to export in the same format as "MakeMKV" because it seems that some media player coming to MVC Format (.mkv & .iso) with hdmi 1.4 :)
This box is HERE (http://www.01net.com/fiche-produit/fiche-technique-12324/disques-durs-multimedias-xtreamer-sidewinder-3)
Same for "Power DVD" & "Stereoscopic Player"
Nice speed and good works Neisklar ;)
Neisklar
22nd April 2013, 14:16
But I have a request. Could you add an option to output the progress messages one line at a time
Yes, but that need some time, since i'm currently at trying to implement multithreading (needed for pipes) and didn't save the old code, since it was working.
I would also like to know if it issues warnings or error messages when something goes wrong, and if it does it to stdout or stderr. And is the return code non-zero in case of error?
No there is nothing i did implement. If the App crashed there maybe some returncode from the runtime, but not from the app.
Also, do you plan to implement named pipes?
Yes, it's in the working, but difficult. First i need to go multithreading, and seperate and more importantly buffer the reading of the two streams. I had something hacked together but it's not working, some researching it's an error in the framework, so i need to do some more coding myself and multithreading coding without the proper libs is hell.
Is it possible to export in the same format as "MakeMKV
Yeah it's possible, but are your sure it's needed?
The difference between MakeMKV and my combiner ist only the order of the NALUs from the two streams, MakeMKV simply outputs for one frame first ALL NALUs from the left eye, then all from the right eye. I instead for one frame group some NALUs together depending on the type. If i remember correctly thats also what i had read somewhere a long time ago. But doing different NALU-orders shouldn't a big problem.
So my next goal is to get each stream-reader as seperate thread, with read-ahead and buffering, then piping should hopefully not be such a hassle.
r0lZ
22nd April 2013, 14:52
Thanks. BTW, I've also tried to implement the pipes using Tcl. With an additional library, I can create the pipes, and I have been able to get simple DOS commands such as echo and type working from 2 different command prompt windows, using the pipe established by a Tcl script. But currently, I can't get eac3to and MVCCombine to work together. eac3to prints that it opens the second pipe (used for the MVC stream), but then it stops, and MVCCombine doesn't seem to receive its output. Not sure why. Perhaps it's because they have to communicate 2 files. Anyway, I guess that stuff will be much easier to implement if MVCCombine supports the pipes internally, at least for me! ;-)
I've also added a GUI to launch MVCCombine in BD3D2MK3D. It can process 2 files already saved on HDD, or the GUI can also demux them from the BD, then launch MVCCombine. There is also an option to convert the combined stream to M2TS with tsMuxeR. That works fine, but it's slow due to the numerous large temp files that must be written to HDD.
Also, currently, due to the way the progress messages are written, I can't display the eta and other information, but I've managed to get the percentage of the progress, and that's sufficient to update the progress bar. Note that tsMuxeR handles its progress messages very well. It uses BS characters like you when the output is a console window, but it prints individual lines (with CR/LF) when its output has been redirected to a file. Not sure how it detects that, but that's very handy. Anyway, a new MVCCombine option to specify that we want plain lines should be sufficient.
Neisklar
22nd April 2013, 15:00
Thanks. BTW, I've also tried to implement the pipes using Tcl. With an additional library, I can create the pipes, and I have been able to get simple DOS commands such as echo and type working from 2 different command prompt windows, using the pipe established by a Tcl script. But currently, I can't get eac3to and MVCCombine to work together. eac3to prints that it opens the second pipe (used for the MVC stream), but then it stops, and MVCCombine doesn't seem to receive its output. Not sure why. Perhaps it's because they have to communicate 2 files. Anyway, I guess that stuff will be much easier to implement if MVCCombine supports the pipes internally, at least for me! ;-)
Try to use 2 eac3to instances, one for each stream. Then it maybe work.
(Thats why the (multithreaded) buffering stuff is needed. With one instance eac3to writes both streams in parallel, it may be that the MVCCombine needs some data from stream 2, which eac3to hasn't written yet to the pipe. But in the same time eac3to has written so much data to pipe 1 that it's full. So it stops outputting stuff till pipe 1 has some space, but the combiner waits for data on pipe 2)
r0lZ
22nd April 2013, 15:14
Yes, it's what I suspected. I'll try with 2 instances of eac3to. Thanks for the tip!
Neisklar
22nd April 2013, 20:50
I uploaded a first multithreaded version:
http://www.share-online.biz/download.php?id=WHVG9OLMBD
Changes:
* reader and parser for each stream in seperate thread
* progress-output only every 0,5 seconds
* output should be more logging friendly, if that is not enough there is an '-ml' param
Please don't overwrite you old version, just i case this one produces garbage. I would like two know if this ones working correctly (eg comparing an md5 hasah of an combined.h264 of the previous version with a hash of the output of this version) Also i would like to know, if there are some speed benefits on multiprocessor CPUs.
I'm also not sure id there are any memory leaks or so, also the threading stuff may deadlock, so the exe needs to be killed. (Also there are some internal timeouts set to really long values)
Next step: Trying the pipe stuff;-)
frencher
22nd April 2013, 22:06
Thanks Neisklar.
Yeah it's possible, but are your sure it's needed?
The difference between MakeMKV and my combiner ist only the order of the NALUs from the two streams, MakeMKV simply outputs for one frame first ALL NALUs from the left eye, then all from the right eye. I instead for one frame group some NALUs together depending on the type. If i remember correctly thats also what i had read somewhere a long time ago. But doing different NALU-orders shouldn't a big problem.
I'm really interested because i shop afterwards the magic HD box mkv (AVC/MVC) (http://www.01net.com/fiche-produit/fiche-technique-12324/disques-durs-multimedias-xtreamer-sidewinder-3)
eac3to return
Video track 1 contains 139268 frames
Video track 2 contains 139268 frames
With corrupted left & right video track on i7 3930k and 2 HDD SATA 3 ;)
v0.1
F:\MVCCombine.exe -l "left.h264" -r "right.h264" -o "L:\Out.h264"
Frame 139269 written (100,00%) - 0:06:37 - 0:00:00
done, cleaning up
v0.2
F:\MVCCombine.exe -l "left.h264" -r "right.h264" -o "L:\Out.h264"
AnnexBReader-Thread started: left.h264
AnnexBReader-Thread started: right.h264
Frame 34397 written (24,82%) - 0:01:34 - 0:04:44
AnnexBReader-Thread ended: right.h264
Frame 34584 written (24,95%) - 0:01:34 - 0:04:44
Debug: Terminated and Pushed=Popped
Right Queue EOF: 3
Frame 138968 written (69,66%) - 0:03:48 - 0:01:39
will terminate: left eye.h264
AnnexBReader-Thread ended: left.h264
Debug: Terminated and Pushed=Popped
Left Queue EOF: 3
Frame 139272 written (69,71%) - 0:03:48 - 0:01:39
done, cleaning up
END
Runtime error 217 at 0042102A
r0lZ
22nd April 2013, 22:47
Thanks Neisklar. I did a quick test with a very short demo clip, and the output is exactly identical than with v0.1.
I can't compare the speed, but the process took approx 10 seconds with both programs.
I'll check the progress output and -ml tomorrow.
* progress-output only every 0,5 secondsGood idea! It's something I wanted to suggest. :-)
frencher
23rd April 2013, 01:04
eac3to return
Video track 1 contains 134853 frames
Video track 2 contains 134853 frames
With clean left & right video track on i7 3930k and 2 HDD SATA 3 ;)
v0.1 CPU ~4%
F:\MVCCombine.exe -l "left.h264" -r "right.h264" -o "L:\Out.h264"
Frame 134853 written (100,00%) - 0:03:57 - 0:00:00
done, cleaning up
v0.2 CPU ~6%
F:\MVCCombine.exe -l "left.h264" -r "right.h264" -o "L:\Out.h264"
AnnexBReader-Thread started: left.h264
AnnexBReader-Thread started: right.h264
Frame 134456 written (99,76%) - 0:04:11 - 0:00:01
will terminate: right.h264
AnnexBReader-Thread ended: right.h264
Frame 134730 written (99,96%) - 0:04:12 - 0:00:00
will terminate: left.h264
AnnexBReader-Thread ended: left.h264
Debug: Terminated and Pushed=Popped
Left Queue EOF: 3
Debug: Terminated and Pushed=Popped
Right Queue EOF: 3
Frame 134853 written (100,00%) - 0:04:12 - 0:00:00
done, cleaning up
END
r0lZ
23rd April 2013, 09:44
Yesterday, I did 2 tests only, and from my GUI. Both versions worked apparently at approx the same speed. But today I did several tests from CLI, and I must say that v0.2 is much slower. With v0.1, the clip is combined in 7 seconds, and it takes 14 or 15 seconds with v0.2.
Also, v0.2 has crashed one time (with exactly the same input and output files than with my other tests). The crash occurred at the END of the processing, when "END" is already printed to stdout. Here is the Windows error info:
Problem signature:
Problem Event Name: APPCRASH
Application Name: MVCCombine.exe
Application Version: 0.0.0.0
Application Timestamp: 5175923b
Fault Module Name: KERNELBASE.dll
Fault Module Version: 6.2.9200.16451
Fault Module Timestamp: 50988950
Exception Code: 0eedfade
Exception Offset: 00014b32
OS Version: 6.2.9200.2.0.0.256.48
Locale ID: 1033
Additional Information 1: 4094
Additional Information 2: 4094f881f329e48ad5dfccb7d7c90af5
Additional Information 3: a39e
Additional Information 4: a39e30719cfd568b24926134fa32031a
When I've closed the dialog, I've seen this in the command prompt window:
Runtime error 217 at 0042102A
I don't understand why it crashed only once.
Also, I notice that the file size is only 837 KB for v0.1 and 5104 KB for v0.2. Is it because v0.2 has the debug information? That might explain the slow speed.
frencher
23rd April 2013, 12:36
Also, I notice that the file size is only 837 KB for v0.1 and 5104 KB for v0.2. Is it because v0.2 has the debug information? That might explain the slow speed.
I think v0.2 uses a code snippet of v0.0 (GUI)
r0lZ
23rd April 2013, 13:10
I did a new test with a real movie (from my GUI), but it crashed two times with the same error code, at approx 60% of the process: Runtime error 217 at 0042102A
Also, I've noticed that it consumes much memory. Before the crash, it was eating 301MB. That seems a bit too much, but I'm not sure. Anyway, my PC was not out of memory when it crashed.
I'm doing currently the same test, but from the command line, to see if that makes a difference.
[EDIT]
Same problem from command line:
[...]
Frame 140401 written (61.11%) - 0:06:09 - 0:03:55
will terminate: D:\BD3D2MK3D_projects\BD3D-demo\test_AVC_TEMP.h264
AnnexBReader-Thread ended: D:\BD3D2MK3D_projects\BD3D-demo\test_AVC_TEMP.h264
Debug: Terminated and Pushed=Popped
Left Queue EOF: 3
Frame 140835 written (61.28%) - 0:06:09 - 0:03:53
done, cleaning up
END
[Windows APPCRASH dialog appears here]
Runtime error 217 at 0042102A
[EDIT2]
Confirmed with another BD. Exactly the same problem, at 65% of the progress.
Neisklar
23rd April 2013, 16:13
Thanks for all the test, multithreaded programming is at least for me difficult.
I don't understand why it crashed only once.
Thats typical with bugs in multithreaded code. Sometimes it happens, sometimes not, and finding the bug is really hard due to different timing issues.
Also, I notice that the file size is only 837 KB for v0.1 and 5104 KB for v0.2. Is it because v0.2 has the debug information? That might explain the slow speed.
I used much more stuff from the Framework delphi provides so thats the size, beside the debug mode. The debug mode shouldn't be so a big speed impact.
Its more the syncronization between the threads, waiting for each other and so on.
I have an halfway working pipe thing reading, which is even before alpha, that's even slower currently.
The crash occurred at the END of the processing, when "END" is already printed to stdout.
Something in the cleanup got wrong, i think because the reader threads were already terminated.
it was eating 301MB. That seems a bit too much, but I'm not sure.
Thats right, for (hopefully) speedoptimation i create a large number on bigger buffers already on startup (pure combined buffer size is 250 MB, add to that some object overhead)
The Piping-Alpha currently needs at least 1,5 GB (G!) for Avanger3D to not hang (6000 NALU objects with 256kB Buffer, which are most of the time only filled with 2-5%. The old GUI-Version was slow because it allocated and deallocated these objects all the time. I think, speed is more important than memory usage, i could at least expect 2Gigs to use)
Edit2:
if i use 2 eac3to processes for each stream in the Piping-Alpha, i come along with around 1000 Objects as buffer, it would even work with 500 i think. eac3to outputs not really the data in parallel when doing dualstreaming extracting, its more like, some KB left, some KB right, and so on.
AnnexBReader-Thread ended:
This line should only occur at the end. Due to multithreading and buffering not exactly after 100%, shortly before.
r0lZ, if you look at the successful run from frencher, you see it shortly before the end, thats where it should be, if not there is something wrong. An ended Thread (with a "will terminate" line shortly before) normally means that the end of the source file was reached, but then the percentage done should be much higher, since it is calculated from the bytes already read from both files, and the sum of the filesize of both files.
Edit: Just to get sure: The old single threaded V0.1 works correctly with the input files?
------------
Edit3:
Just for testing, or having fun
http://www.share-online.biz/download.php?id=RQWNSPLMWAS
Piping halfway working (needs default 1,5GB RAM) :)
MVCCombine.exe -p -o combined.h264
If it hangs halfway, add an -qs 4000 or -qs 5000 (needs even more RAM)
Start the combiner, then start eac3to in the following way:
eac3to.exe X: 1) 2: \\.\pipe\left.h264 3: \\.\pipe\right.h264
r0lZ
23rd April 2013, 18:48
Edit: Just to get sure: The old single threaded V0.1 works correctly with the input files?
I haven't tried with v0.1. I'll do it now...
Just for testing, or having fun
http://www.share-online.biz/download.php?id=RQWNSPLMWAS
Piping halfway working (needs default 1,5GB RAM) :)
If it hangs halfway, add an -qs 4000 or -qs 5000 (needs even more RAM)
Start the combiner, then start eac3to in the following way:
Thanks. If I understand correctly, the inputs pipe names are hardcoded to \\.\pipe\left.h264 and \\.\pipe\right.h264. Right?
Will you also add the possibility to output to a pipe? That's useful to produce the M2TS in one shot.
r0lZ
23rd April 2013, 19:30
I haven't tried with v0.1. I'll do it now...Done. It worked without problem.
r0lZ
23rd April 2013, 19:36
MVCCombine03a.exe -p -qs 5000 -o test.h264
AnnexBReader-Thread started: \\.\pipe\left.h264
PipeMode: Pipe connecting Loop started
Pipe (\\.\pipe\left.h264) created and waiting
EAccessViolation: Zugriffsverletzung bei Adresse 004AF57B in Modul 'MVCCombine03a.exe'. Lesen von Adresse 00000004
:(
[EDIT] It seems that that error happens only when -qs 5000 or -qs 4000 is specified. Without -qs parameter, the program seems to work. Currently combining. It uses currently 1505 MB RAM.
The progress message is something like this:
Frame 9322 written (100.00%) - 0:01:49 - 0:00:00
I suppose MVCCombine cannot compute the % and eta because it doesn't know the number of frames. Right?
If it's the case, could you add an option to specify it (just to update the progress message correctly; it should not stop when the number of frames is reached).
Neisklar
23rd April 2013, 19:42
I haven't tried with v0.1. I'll do it now...
Thanks. If I understand correctly, the inputs pipe names are hardcoded to \\.\pipe\left.h264 and \\.\pipe\right.h264. Right?
Will you also add the possibility to output to a pipe? That's useful to produce the M2TS in one shot.
Yes, it's just a quick try so hardcoding, i may add an option to overwrite it. And pipe output is on the todo, and luckyly thats really easy, no threading needed. But i will only work if the final executable will not try to seek, only opening and reading is supported.
There are in the moment some conceptual mistakes in the combiner and the pipe reading, i need to redesign all the threads and the task of each thread.
If we can get our hands on some m2ts muxer code, i could also directly implement it.
r0lZ
23rd April 2013, 20:59
I can confirm that v0.3alpha works, as long as -qs is not specified:
MVCCombine03a.exe -p -o test.h264
AnnexBReader-Thread started: \\.\pipe\left.h264
PipeMode: Pipe connecting Loop started
Pipe (\\.\pipe\left.h264) created and waiting
AnnexBReader-Thread started: \\.\pipe\right.h264
PipeMode: Pipe connecting Loop started
Pipe (\\.\pipe\right.h264) created and waiting
Pipe (\\.\pipe\right.h264) connected
Pipe (\\.\pipe\left.h264) connected
Frame 127696 written (100.00%) - 0:24:37 - 0:00:00
Pipe Read OK: 232 read: 235391
Pipe-Read returned with BROKEN_PIPE, this means EOF...
will terminate: \\.\pipe\right.h264
AnnexBReader-Thread ended: \\.\pipe\right.h264
Pipe Read OK: 232 read: 30730
Frame 127769 written (100.00%) - 0:24:37 - 0:00:00
Frame 127769 written (100.00%) - 0:24:37 - 0:00:00
Pipe-Read returned with BROKEN_PIPE, this means EOF...
will terminate: \\.\pipe\left.h264
AnnexBReader-Thread ended: \\.\pipe\left.h264
Debug: Terminated and Pushed=Popped
Left Queue EOF: 3
\\.\pipe\left.h264: FreePool pop/push: 1040198/1043197
\\.\pipe\left.h264: Queue pop/push: 1040197/1040197
Debug: Terminated and Pushed=Popped
Right Queue EOF: 3
\\.\pipe\right.h264: FreePool pop/push: 1046130/1049129
\\.\pipe\right.h264: Queue pop/push: 1046129/1046129
Frame 127801 written (100.00%) - 0:24:37 - 0:00:00
done, cleaning up
END
eac3to.exe G:\BDMV\PLAYLIST\00000.mpls 2: \\.\pipe\left.h264 3: \\.\pipe\right.h264
M2TS, 2 video tracks, 4 audio tracks, 4 subtitle tracks, 1:28:50, 24p /1.001
1: Chapters, 24 chapters
2: h264/AVC (left eye), 1080p24 /1.001 (16:9)
3: h264/AVC (right eye), 1080p24 /1.001 (16:9)
4: DTS Master Audio, English, 7.1 channels, 24 bits, 48kHz
(core: DTS, 5.1 channels, 24 bits, 1509kbps, 48kHz)
5: DTS, French, 5.1 channels, 1509kbps, 48kHz
6: AC3, Spanish, 5.1 channels, 640kbps, 48kHz
7: AC3, Modern Greek, 5.1 channels, 640kbps, 48kHz
8: Subtitle (PGS), English
9: Subtitle (PGS), Modern Greek
10: Subtitle (PGS), Romanian
11: Subtitle (PGS), Swedish
v02 Extracting video track number 2...
v03 Extracting video track number 3...
v03 Creating file "\\.\pipe\right.h264"...
v02 Creating file "\\.\pipe\left.h264"...
Video track 2 contains 127800 frames.
Video track 3 contains 127800 frames.
eac3to processing took 24 minutes, 19 seconds.
Done.
Yes, it's just a quick try so hardcoding, i may add an option to overwrite it.
That's necessary imo. With the hardcoded names, you cannot run several instances at the same time. (Not sure it's useful, but people will certainly do it!)
And pipe output is on the todo, and luckyly thats really easy, no threading needed. But i will only work if the final executable will not try to seek, only opening and reading is supported.
Not sure tsMuxeR needs to seek. I haven't tried yet.
If we can get our hands on some m2ts muxer code, i could also directly implement it.
Yes, that would be nice. I'm not sure, but IIRC, the source code of tsMuxeR has been available, but it has been removed. Perhaps it is still possible to obtain it somewhere.
I have another little suggestion. Could you count the frames starting at 0? Most video tools do that. Not really important, but more consistent.
r0lZ
23rd April 2013, 21:17
The source code of an old version of tsMuxeR could be available here (http://www.videohelp.com/tools/tsMuxeR). (It's the GUI, but apparently, it contains also the code of the main exe.) See comments #3 to #1.
Sharc
23rd April 2013, 21:46
Could perhaps TsRemux (http://forum.doom9.org/showthread.php?p=999234#post999234) by dmz be used?
Source Code is here (https://github.com/antiochus/tsremux).
frencher
24th April 2013, 03:04
With v0.3a
I have w7 x64 with 8Gb of RAM
eac3to.exe P:\BDMV\PLAYLIST\00100.mpls 2: \\.\pipe\left.h264 3: \\.\pipe\right.h264 | MVCCombine.exe -p -o test.h264
AnnexBReader-Thread started: \\.\pipe\left.h264
PipeMode: Pipe connecting Loop started
Pipe (\\.\pipe\left.h264) created and waiting
AnnexBReader-Thread started: \\.\pipe\right.h264
PipeMode: Pipe connecting Loop started
Pipe (\\.\pipe\right.h264) created and waiting
Pipe (\\.\pipe\right.h264) connected
Pipe (\\.\pipe\left.h264) connected
Frame 18345 written (100,00%) - 0:01:53 - 0:00:00
Left Queue EOF: 1
\\.\pipe\left.h264: FreePool pop/push: 57730/60724
\\.\pipe\left.h264: Queue pop/push: 57729/57729
Frame 18423 written (100,00%) - 0:02:54 - 0:00:00
Right Queue EOF: 1
\\.\pipe\right.h264: FreePool pop/push: 57924/60921
\\.\pipe\right.h264: Queue pop/push: 57923/57923
Frame 18486 written (100,00%) - 0:03:54 - 0:00:00
done, cleaning up
Writing the destination file failed.Aborted at file position 3256877056.Pipe-Rea
d returned with BROKEN_PIPE, this means EOF...
eac3to.exe P:\BDMV\PLAYLIST\00100.mpls 2: .\left.h264 3: .\right.h264
M2TS, 2 video tracks, 4 audio tracks, 7 subtitle tracks, 1:33:44, 24p /1.001
1: Chapters, 18 chapters
2: h264/AVC (left eye), 1080p24 /1.001 (16:9)
3: h264/AVC (right eye), 1080p24 /1.001 (16:9)
4: DTS Master Audio, English, 7.1 channels, 24 bits, 48kHz
(core: DTS, 5.1 channels, 24 bits, 1509kbps, 48kHz)
5: AC3, French, 5.1 channels, 448kbps, 48kHz, dialnorm: -27dB
6: AC3, Spanish, 5.1 channels, 448kbps, 48kHz, dialnorm: -27dB
7: AC3, Portuguese, 5.1 channels, 448kbps, 48kHz, dialnorm: -27dB
8: Subtitle (PGS), English
9: Subtitle (PGS), French
10: Subtitle (PGS), Spanish
11: Subtitle (PGS), Portuguese
12: Subtitle (PGS), French
13: Subtitle (PGS), Spanish
14: Subtitle (PGS), Portuguese
v02 Extracting video track number 2...
v03 Extracting video track number 3...
v03 Creating file ".\right.h264"...
v02 Creating file ".\left.h264"...
Video track 2 contains 134853 frames.
Video track 3 contains 134853 frames.
eac3to processing took 4 minutes, 53 seconds.
Done.
r0lZ
24th April 2013, 07:36
You should not pie the two processes in the same command. You should launch MVCCombine in a command prompt window, and then eac3to in another window. Works fine here (Win8 x64, 4GB RAM).
Sparktank
24th April 2013, 09:02
Sorry, but it's really hard to follow this thread since it's taking after an older, outdated topic.
Would it be possible for frencher to start his own thread with updates and updated links in the first post?
And possibly host Neisklar's combinemvc progress? ot get Neisklar to start a new thread as well for combinemvc progress/links?
Would be easier to catch the updates. ie, a static link to bookmark or otherwise use as a reference link for others to show and talk about.
Sorry, just get cross-eyed (no 3D pun intended) trying to go through to see what's been going on in here lately.
Liking the progress and looking forward to trying some things out.
r0lZ
24th April 2013, 09:29
I agree that this thread is confusing. It started as a guide, but now it holds the discussions about several tools. IMO, that's not really bad, as long as it is used mainly by programmers, as we are working together on the same project, atthough the GUIs are different.
IMO, we should indeed create new threads for the end-user tools like MVC Player Free and BD3D2MK3D. But it doesn't make sense to make a new thread just for MVCCombine, for example, as it is not really useful for an end-user. It should be integrated within a GUI, and it's what we discuss here.
I think I'll create a new thread for BD3D2MK3D when I'll release the next version. In the meantime, the discussion about MVCCombine and the avisynth 3D plugins will probably continue here.
Neisklar
24th April 2013, 13:05
In the meantime, the discussion about MVCCombine and the avisynth 3D plugins will probably continue here.
Yep;-)
So try this one:
http://www.share-online.biz/download.php?id=B7V8DRLMT4M
Please start it with with debug output (-v): MVCCombine.exe -p -v -o <outfilename>
The pipenames are hardcoded as in the last version.
The handling of normal files should be reverted to the behavior of V0.1.
Memory usage is only half a Gig
could you please have a look during testing at the 'P' and 'Q'-Values
Frame: 752 [L: 8 P: 500 - Q: 0] | [R: 8 P: 493 - Q: 6]
I'm especially interested if some machines get the P value somewhat down (if not i could decrease the memory usage)
Thanks
frencher
24th April 2013, 13:16
Same
http://i33.tinypic.com/2ag3lhx.png
Neisklar
24th April 2013, 13:23
Same
Thas the old Version, maybe i have uploaded the wrong one (without arguments it should state V0.4)
I will have a look and edit this post
(BTW: The EOF: 1 Error means normally the amount of buffers were to small)
Edit:
I'v uploaded the correct one (the exe is from today)
frencher
24th April 2013, 13:27
Thas the old Version, maybe i have uploaded the wrong one (without arguments it should state V0.4)
I will have a look and edit this post
(BTW: The EOF: 1 Error means normally the amount of buffers were to small)
Edit:
I'v uploaded the correct one (the exe is from today) ;)
Yes v0.3
MVCCombine.exe V0.3
-l <left> -r <right> -o <out>
-ml to get multiline progress
-p use pipes (Alpha)
-v Debug output
-qs <size> Queuesize (Try to set to 4000 or 5000 when process hangs)
frencher
24th April 2013, 13:51
v0.3
eac3to.exe P:\BDMV\PLAYLIST\00100.mpls 2: \\.\pipe\left.h264 3: \\.\pipe\right.h264 | MVCCombine.exe -qs 500 -p -o test.h264
http://i37.tinypic.com/alsuwp.png
Neisklar
24th April 2013, 14:14
frencher could you please redownload from
http://www.share-online.biz/download.php?id=B7V8DRLMT4M
I'm sure thats the V0.4 Version.
frencher
24th April 2013, 15:17
v0.4b ~1% of CPU i7 3930k and eac3to ~2%
L:\CombineMVC v0.4b>eac3to.exe P:\BDMV\PLAYLIST\00100.mpls 2: \\.\pipe\left.h264
3: \\.\pipe\right.h264 | MVCCombine.exe -p -o test.h264
\\.\pipe\left.h264: TPipeSucker Thread started
\\.\pipe\left.h264: Pipe created and waiting for connection
\\.\pipe\right.h264: TPipeSucker Thread started
\\.\pipe\right.h264: Pipe created and waiting for connection
\\.\pipe\right.h264: Pipe connected
\\.\pipe\left.h264: Pipe connected
Frame 134789 written (100,00%) - 0:22:23 - 0:00:00
\\.\pipe\left.h264: Read ok, need new loop, new readsum: 72978 dwRead: 72978
\\.\pipe\right.h264: Read ok, need new loop, new readsum: 434851 dwRead: 434851
\\.\pipe\left.h264: Read returned BROKEN_PIPE, this means EOF...
\\.\pipe\left.h264: FillBuffer errored with data, mostly its the last buffer
\\.\pipe\right.h264: Read returned BROKEN_PIPE, this means EOF...
\\.\pipe\right.h264: FillBuffer errored with data, mostly its the last buffer
\\.\pipe\left.h264: Read returned BROKEN_PIPE, this means EOF...
\\.\pipe\left.h264: FillBuffer errored with zero data, mostly its only EOF
AnnexB getChunk returned nil
Left Stream end
\\.\pipe\right.h264: Read returned BROKEN_PIPE, this means EOF...
\\.\pipe\right.h264: FillBuffer errored with zero data, mostly its only EOF
AnnexB getChunk returned nil
Right Stream end
Frame 134853 written (100,00%) - 0:22:23 - 0:00:00
done, cleaning up
\\.\pipe\left.h264: TPipeSucker Thread ended
\\.\pipe\right.h264: TPipeSucker Thread ended
END
Very Nice UpDate
I will test with a corrupt stream to see what happens;)
I will be happy to discover the support. MKV (AVC / MVC) in a future update
Neisklar
24th April 2013, 15:22
v0.4b ~1% of CPU i7 3930k and eac3to ~2%
MVCCombine.exe -p -o test.h264
Thanks the run looks good, the low CPU results from waiting on the data in the pipe threads.
Could you please run with -v as additional switch in the command of MVCCombine. During the run please have a look at the output, especially the two 'P' values. I would like to know if your machine gets them down significantly ;-)
Edit2: For anyone interested: Q is the amount of currently read but not processed 512KB Buffers from the Pipe. Means if that value mostly zero the pipe OR The process at the other end of the pipe is the slowing factor.
Thank you
Edit:
I will be happy to discover the support. MKV (AVC / MVC) in a future update
The outputted .h264 should already be muxable in mkvtoolnix. Let's wait till your xstreamer3 arrives, and test it:)
frencher
24th April 2013, 16:17
Thanks the run looks good, the low CPU results from waiting on the data in the pipe threads.
Could you please run with -v as additional switch in the command of MVCCombine. During the run please have a look at the output, especially the two 'P' values. I would like to know if your machine gets them down significantly ;-)
Edit2: For anyone interested: Q is the amount of currently read but not processed 512KB Buffers from the Pipe. Means if that value mostly zero the pipe OR The process at the other end of the pipe is the slowing factor.
Thank you
Edit:
The outputted .h264 should already be muxable in mkvtoolnix. Let's wait till your xstreamer3 arrives, and test it:)
This format of mkv (avc/mvc) and playable with stereo player (http://ul.to/ryijbyaw)
With actual MVCCombine not playable
http://i37.tinypic.com/2eoaeq9.png
v0.4b with -v switch ~20 minutes ~1% of CPU
L:\CombineMVC v0.4b>eac3to.exe P:\BDMV\PLAYLIST\00100.mpls 2: \\.\pipe\left.h264
3: \\.\pipe\right.h264 | MVCCombine.exe -v -p -o test.h264
\\.\pipe\left.h264: TPipeSucker Thread started
\\.\pipe\left.h264: Pipe created and waiting for connection
\\.\pipe\right.h264: TPipeSucker Thread started
\\.\pipe\right.h264: Pipe created and waiting for connection
\\.\pipe\right.h264: Pipe connected
\\.\pipe\left.h264: Pipe connected
Frame: 134797 [L: 3 P: 499 - Q: 1] | [R: 3 P: 500 - Q: 0]
\\.\pipe\left.h264: Read ok, need new loop, new readsum: 72978 dwRead: 72978
\\.\pipe\right.h264: Read ok, need new loop, new readsum: 434851 dwRead: 434851
\\.\pipe\left.h264: Read returned BROKEN_PIPE, this means EOF...
\\.\pipe\left.h264: FillBuffer errored with data, mostly its the last buffer
\\.\pipe\right.h264: Read returned BROKEN_PIPE, this means EOF...
\\.\pipe\right.h264: FillBuffer errored with data, mostly its the last buffer
Frame: 134852 [L: 3 P: 500 - Q: 0] | [R: 3 P: 500 - Q: 0]
\\.\pipe\left.h264: Read returned BROKEN_PIPE, this means EOF...
\\.\pipe\left.h264: FillBuffer errored with zero data, mostly its only EOF
AnnexB getChunk returned nil
Left Stream end
\\.\pipe\right.h264: Read returned BROKEN_PIPE, this means EOF...
\\.\pipe\right.h264: FillBuffer errored with zero data, mostly its only EOF
AnnexB getChunk returned nil
Right Stream end
Frame: 134853 [L: 2 P: 499 - Q: 0] | [R: 2 P: 499 - Q: 0]
done, cleaning up
\\.\pipe\left.h264: TPipeSucker Thread ended
\\.\pipe\right.h264: TPipeSucker Thread ended
END
Neisklar
24th April 2013, 16:26
v0.4b with -v switch ~20 minutes ~1% of CPU
Thank you.
Did you had an eye on the values of P during the run?
r0lZ
24th April 2013, 17:10
I did a test with v0.4beta and a long movie (181762 frames), but without the -qs option. Everything went fine, but slowly.
The full debug log is here (http://download.videohelp.com/r0lZ/tmp/MVCCombine.log.7z).
Do you need other tests?
[EDIT] I've just relaunched the same test, but this time with -qs 4000. It seems to work, and I don't notice differences in the log. I may stop it before it ends...
The command is:
MVCCombine04b.exe -v -p -ml -qs 4000 -o test.h264 | tee.exe MVCCombine.log
I suppose that it is slow (partially) because it outputs one line per frame, and that these numerous lines are printed in the DOS window, and piped via tee.exe to a log file. It will probably be more rapid without -v and the | tee. Right?
Neisklar
24th April 2013, 17:20
I did a test with v0.4beta and a long movie (181762 frames), but without the -qs option. Everything went fine, but slowly.
The full debug log is here (http://download.videohelp.com/r0lZ/tmp/MVCCombine.log.7z).
Do you need other tests?
Should be enough. Thank you.
I think 0.4 is much much more stable.
-qs is not needed in 0.4, as of that buffering is a completly different thing. (Almost all of the new Code from V0.2 and V0.3 was thrown out.)
Here is an V0.5:
http://www.share-online.biz/download.php?id=P7W9PRLMW2
@frencher: use as additional commandline param '-ano', and you should hopefully get the output from your sample.
Edit:
Looking at the log, eac3to or the pipe is the limiting thing. And i can decrease the buffer size, so the memory consumtion will be maybe only 100 Megs
Edit2: Yes without -v it will only output 2 lines per second, but the limiting factor is still the piping and eac3to. (Just do a run of eac3to writing these two files directly to disc, and compare the times)
r0lZ
24th April 2013, 17:41
OK, thanks. I'll test v0.5 tomorrow. I have a fiesta tonight...
Just to clarify. Currently, it is possible to abort a conversion with BD3D2MK3D. But I do it the hard way, by killing the running exe. Can I do the same thing with MVCCombine? I suppose the pipes will stay open, right? Or is it sufficient to kill eac3to, and MVCCombine will detect that the pipes are broken?
Edit2: Yes without -v it will only output 2 lines per second, but the limiting factor is still the piping and eac3to. (Just do a run of eac3to writing these two files directly to disc, and compare the times)
OK, I'll check it. But imo eac3to should be even slower, as it has to write to 2 different files at the same time. Hard discs do not like that.
Neisklar
24th April 2013, 17:55
OK, thanks. I'll test v0.5 tomorrow. I have a fiesta tonight...
Just to clarify. Currently, it is possible to abort a conversion with BD3D2MK3D. But I do it the hard way, by killing the running exe. Can I do the same thing with MVCCombine? I suppose the pipes will stay open, right? Or is it sufficient to kill eac3to, and MVCCombine will detect that the pipes are broken?
V0.5 only adds the -ano (AlternateNALUOrdering) and some bugfixes for none-pipe mode.
Yes, when eac3to is killed happens exactly the same as if eac3to arrived at the end and 'closed' the files/pipes. MVCCombine gets a BROKEN_PIPE (which usually only means EndOfPipe). Besides that in both versions an interupt handler is defined, so it will react on Ctrl+C or other stuff.
Edit: BTW: If i hadn't hardcoded the pipe names, you could even do it between two different machines;-)
frencher
24th April 2013, 22:32
thank you.
Did you had an eye on the values of p during the run?
p ~480
r0lZ
24th April 2013, 23:51
Edit: BTW: If i hadn't hardcoded the pipe names, you could even do it between two different machines;-)
One additional reason to not hardcode them. :-)
frencher
25th April 2013, 02:10
Here is an V0.5:
http://www.share-online.biz/download.php?id=P7W9PRLMW2
@frencher: use as additional commandline param '-ano', and you should hopefully get the output from your sample
The problem is that if demuxes my sample (http://ul.to/ryijbyaw) and that the remuxe it is not readable with stereo player.
Is this possible with the '-ano' to a mkv container output?
Example:
eac3to.exe P:\BDMV\PLAYLIST\00100.mpls 2: \\.\pipe\left.h264 3: \\.\pipe\right.h264 | MVCCombine.exe -ano -p -o test.mkv
I it hard to translate into English because sometimes what I mean is not what I write and am sorry
Neisklar
25th April 2013, 15:14
The problem is that if demuxes my sample (http://ul.to/ryijbyaw) and that the remuxe it is not readable with stereo player.
Is this possible with the '-ano' to a mkv container output?
Just so that i don't get it wrong:
The Sample you provided is created with MakeMKV and is playable?
But you can just give it a try.
Do a combine with -ano (and for comparison even without) and take the resulting .h264 and use mkvtoolnix to mux it into an mkv container.
frencher
25th April 2013, 15:49
Just so that i don't get it wrong:
The Sample you provided is created with MakeMKV and is playable?
But you can just give it a try.
Do a combine with -ano (and for comparison even without) and take the resulting .h264 and use mkvtoolnix to mux it into an mkv container.
Yes created with MakeMKV.
This is what I meant in my last message, i'm sorry i forgot to mention.
The result .h264 with mkvtoolnix into an mkv container doesn't works.
MakeMKV does not use the format matroska standard and it takes this format to make it readable "Stereo player"
Nico8583
25th April 2013, 16:54
Nobody has found a MVC encoder ? :D
arrgh
25th April 2013, 18:38
...yes, that seems to be the problem:
MakeMKV creates 3D-MKVs which SP plays ok.
But if you remux the mkv-videostream from this file (with other audio- or subtitle-streams) to a new mkv-file, then SP does not recognize/playback it anymore as a 3D.
But I think that should be a simple metadata-problem, or does mkvtoolnix repack the video.mkv Stream?
r0lZ
25th April 2013, 18:52
Neisklar, I did some speed tests. Unfortunately, MVCCombine using pipes is MUCH slower than eac3to alone.
For example, to demux the AVC and MVC streams of my short demo clip with eac3to alone, this command takes 7 or 8 seconds to complete:
eac3to.exe G:\BDMV\PLAYLIST\01000.mpls 2: left.h264 3: right.h264 -progressnumbers
But when MVCCombine is piped, it uses 27 seconds to complete:
eac3to.exe G:\BDMV\PLAYLIST\01000.mpls 2: \\.\pipe\left.h264 3: \\.\pipe\right.h264 -progressnumbers | MVCCombine.exe -p -ml -o test.h
(The command above uses | to launch the 2 commands approx at the same time, but I did several other tests with the two commands launched in different command prompt windows, with similar results.)
It seems that establishing and waiting for the named pipes uses 1 or 2 seconds, but even with that overhead subtracted, the duration of the process is still 3 to 4 times slower than with eac3to alone. I don't understand why. Any idea to improve that?
Note that the MVCCombine command to combine the 2 files from HDD takes only approx 6 seconds. So, using files on hard disc instead of the pipes for the whole process takes 13 or 14 seconds. More than 2 times more rapid than using the pipes, supposed to speed the process up.
frencher
25th April 2013, 23:45
Small pack with CMD of MakeMKV (http://ul.to/tphq3gko) (How works it...)
Neisklar
26th April 2013, 09:29
...yes, that seems to be the problem:
MakeMKV creates 3D-MKVs which SP plays ok.
But if you remux the mkv-videostream from this file (with other audio- or subtitle-streams) to a new mkv-file, then SP does not recognize/playback it anymore as a 3D.
But I think that should be a simple metadata-problem, or does mkvtoolnix repack the video.mkv Stream?
Ok now i understand the problem:
It's not the h.264 stream, its the way it's packed into a mkv container.
So when you (re)mux it with mkvtoolnix (mmg.exe)
So as a guess: Did you set/check the 3D Flag in the options of the h.264 Track?
r0lZ
26th April 2013, 12:46
Here is a new version of BD3D2MK3D. It is not an important update. I have added a tool to demux and combine the AVC & MVC video streams with MVCCombine v0.5beta. As explained above, it is very slow, but it works. (Because that part is still in beta phase and very experimental, I have decided to releast this version here. I'll start a new thread when I'll get a more stable version to offer.)
Note that the main method to convert a movie to SBS or T&B has not been modified. It still uses the method of the old releases. MVCCombine.exe is currently used only with Tool -> MVCCombine. It should be easy, however, to modify the AVS script to use the combined.h264 streams as input. Edit the AVS script before launching the encoding. The modifications to do are documented.
# v0.17 (April 26, 2013)
# - BD Compatible bug: --fake-interlaced is now added only when the framerate is 25 or 29.976.
# - Added a warning when the user opens BD files copied to hard disc instead of a real BD disc or mounted ISO.
# - Added File -> Mount disc image (Available under Windows 8 or greater only)
# - Added Tools -> MVCCombine to combine the AVC & MVC streams of the current MPLS or external AVC/MVC files to h264 or M2TS.
# - Added Help -> MVCCombine Version
# - Removed Tools -> CombineMVC, and CombineMVC.exe from the toolset directory.
# - Added level 4.2 in the list of h264 levels. (It is necessary to encode at 48fps).
As usual, you can download it here (http://download.videohelp.com/r0lZ/BD3D2AVS/BD3D2MK3D.7z).
vanden
26th April 2013, 13:26
...yes, that seems to be the problem:
MakeMKV creates 3D-MKVs which SP plays ok.
But if you remux the mkv-videostream from this file (with other audio- or subtitle-streams) to a new mkv-file, then SP does not recognize/playback it anymore as a 3D.
But I think that should be a simple metadata-problem, or does mkvtoolnix repack the video.mkv Stream?
This strange because I have create AVC/MVC combined stream with MakeMKV. Remux this stream with mkvmerge (and add audio track) : it's playable with Stereoscopic Player.
And with the first version of MVCCombine, it's possible to convert the row stream, to be playable with Stereoscopic Player :
1. create a combined AVC/MVC raw stream with CombineMVC.
2. Mux this stream with MKVtoolnix.
3. open this mkv file with MakeMKV.
4. Record the file.
arrgh
26th April 2013, 17:18
So as a guess: Did you set/check the 3D Flag in the options of the h.264 Track?
Thank you, this motivated me to try again to edit the headers with mkvmergeGUI to : "video stereomodus = 13"
now the remuxed file works in SP!
(I thought I have tried this already! Maybe I've done something wrong the first time?!)
4. Record the file
I think this step sets the flags right...that seems to be something similar to "remux"...
Edit : strange thing is, that if I open the "original" MakeMKV-file with mkvmergeGUI it does not show any settings under "stereomode" for the videostream (it is blank)...
once patched as stereomode "13", Icaros does not show the cover anymore for the "patched" remuxed file ...
and MPC-BE doesn't seem to be able to play-back it (in 2D)
but once you have played it for a few secs in SP, it creates a SP-library entry...after this one can delete the stereomodus entry from the mkv...SP still is able to play it in 3D but in addition Icaros is showing again the cover and MPC-BE plays it back in 2D...
so its is all about taging...
MakeMKV, SP and mkvtoolnix must come together to define a standard how to handle these things.... ;-)
frencher
27th April 2013, 00:00
Works with "MVCCombine v0.5b" without -ano option and ready to play with "stereo player" if remux with "MakeMKV"
Package of tests here (http://ul.to/8auf5228)
The objective would be to avoid MakeMKV which is an extra step and not free
http://i44.tinypic.com/10i6s6c.png
Nobody has found a MVC encoder ? :D
Idea to submit to developers as x264 (http://x264.nl)
Nico8583
27th April 2013, 11:09
Idea to submit to developers as x264 (http://x264.nl)
Yes, project was started 2 years ago but not finalized...
jdobbs
27th April 2013, 20:08
Not sure if this matters at this point, but I thought I'd just post a note for those who have had ssifSource2() add duplicated frames at the end of a stream. It also applies to DirectshowMVCSource() when it seems to freeze at 99% during encode. I guess for a playlist that is made of a single SSIF it's no big deal -- but it causes sync issues when you are encoding/combining multiple SSIF files.
It appears to be a buffering/EOF issue, and that's why it goes away when you combine the files using "copy /b". So I did a little testing, and it also seems to be corrected if you write some zeroed packets to the end of the file, encode, and then truncate the SSIF back to its original length. Not sure how many empty packets you are required to write, but 100 seems to do the trick. You also need to put the framecount into the DirectshowMVCSource() & ssifsource2() AVISYNTH entries, but that's pretty easy to determine by using the PlayItem IN and OUT times (to get the length) in the MPLS file and the frame rate. Of course this isn't a good strategy if you are reading directly from BD -- as you can't write to it without copying it first.
Like I said, nothing dramatic, but it might help somewhere along the line.
r0lZ
27th April 2013, 21:25
Thanks for the useful info, jdobbs. Perhaps I'll implement your trick in BD3D2MK3D, but MVCCombine should also fix that issue, and might be simpler to use (and it should work with a disc). Great discovery anyway. :-)
jdobbs
27th April 2013, 21:36
Thanks for the useful info, jdobbs. Perhaps I'll implement your trick in BD3D2MK3D, but MVCCombine should also fix that issue, and might be simpler to use (and it should work with a disc). Great discovery anyway. :-)I just ran into one that 100 packets didn't work... I'll increase it to 1000 and see what happens, that's what I was using for most of the testing.
It matters for BD-RB, because I'd have to make some major changes for 3D support of I need to combine before encoding. Anyway, just experimenting.
[Edit] That one worked with 1000 packets. I'll keep testing...
jdobbs
27th April 2013, 22:37
Not sure if this matters at this point, but I thought I'd just post a note for those who have had ssifSource2() add duplicated frames at the end of a stream. It also applies to DirectshowMVCSource() when it seems to freeze at 99% during encode. I guess for a playlist that is made of a single SSIF it's no big deal -- but it causes sync issues when you are encoding/combining multiple SSIF files.
It appears to be a buffering/EOF issue, and that's why it goes away when you combine the files using "copy /b". So I did a little testing, and it also seems to be corrected if you write some zeroed packets to the end of the file, encode, and then truncate the SSIF back to its original length. Not sure how many empty packets you are required to write, but 100 seems to do the trick. You also need to put the framecount into the DirectshowMVCSource() & ssifsource2() AVISYNTH entries, but that's pretty easy to determine by using the PlayItem IN and OUT times (to get the length) in the MPLS file and the frame rate. Of course this isn't a good strategy if you are reading directly from BD -- as you can't write to it without copying it first.
Like I said, nothing dramatic, but it might help somewhere along the line.Ignore this... as seems to be the case with most things using these DLLs, it only works "most of the time" -- I found a file that adds the duplicate frames no matter how much I append to it. I'll keep looking at it to see what I else I can find.
[Edit] It does appear to work 100% of the time, however, if instead of null packets, I add a few blank frames. So now I just append a file called FILLER.SSIF (that contains a few blank frames) to the file instead of zeroes.
frencher
28th April 2013, 00:28
Ok now i understand the problem:
It's not the h.264 stream, its the way it's packed into a mkv container.
So when you (re)mux it with mkvtoolnix (mmg.exe)
So as a guess: Did you set/check the 3D Flag in the options of the h.264 Track?
It is true that sometimes i find it hard to understand me.
But I believe that arrgh just refer us to the solution ;)
Neisklar
29th April 2013, 08:36
Nobody has found a MVC encoder ? :D
Have a look at the Intel Media SDK:
http://software.intel.com/en-us/vcsource/tools/media-sdk. There is a MVC Encoder DirectShow filter included, as well as sample code and compiled working sample encoders (needs YUV input)
Neisklar, I did some speed tests. Unfortunately, MVCCombine using pipes is MUCH slower than eac3to alone.
I will later quickl put together a little tool to test the plain pipe speed, without the combine, buffering und threadsychronization overhead.
Thank you, this motivated me to try again to edit the headers with mkvmergeGUI to : "video stereomodus = 13"
now the remuxed file works in SP!
Works with "MVCCombine v0.5b" without -ano option and ready to play with "stereo player" if remux with "MakeMKV"
Package of tests here (http://ul.to/8auf5228)
I think we need to binary compare / binary diff a MakeMKV remuxed file with a mkvtoolnix remuxed file, to see the differences.
Not sure if this matters at this point, but I thought I'd just post a note for those who have had ssifSource2() add duplicated frames at the end of a stream. It also applies to DirectshowMVCSource() when it seems to freeze at 99% during encode.
Thats a thing all filters based on the DirectShowSource Filter-Code from Avisynth inherites. AFAIK when a certain timout is reached during the DirectShow Filtet run then the last successfull frame is given back.
Neisklar
29th April 2013, 17:55
I did some minor modifications to the executable, removed one silly sleep command, and added an option (-nt) to completly disabled any sleeping and waiting calls in the pipethreads.
http://www.share-online.biz/download.php?id=3VL201MMANJ
Looking at my tests, this version should even be without the -nt option around as fast as an eac3to run alone, may need at the start some more CPU, but thats only for 1-5 seconds or so.
With -nt both pipe reading threads are running without any sleep or throttling, so they will eat up 2 CPU cores at maximum, even if they mostly won't do anything. But for this you get the fasted pipereading speed as possible. Now the limiting factor will hopefully be the harddisk.
If you do your own test, please run it with -v and have a look at the 'P' values. If we still can't get them significantly down, i can decrease the memory usage
r0lZ
29th April 2013, 21:35
Thanks. I'll test it as soon as possible, but currently I have a big problem in my house: the boiler is broken and I have to buy and install a new one rapidly, so I don't have much time for other things.
What is the "ideal" value of the P value?
Nico8583
29th April 2013, 22:00
Have a look at the Intel Media SDK:
http://software.intel.com/en-us/vcsource/tools/media-sdk. There is a MVC Encoder DirectShow filter included, as well as sample code and compiled working sample encoders (needs YUV input)
Have you tried this sample ? Intel's server seems to be out of service, I'll try later...
frencher
30th April 2013, 05:11
I did some minor modifications to the executable, removed one silly sleep command, and added an option (-nt) to completly disabled any sleeping and waiting calls in the pipethreads.
http://www.share-online.biz/download.php?id=3VL201MMANJ
Looking at my tests, this version should even be without the -nt option around as fast as an eac3to run alone, may need at the start some more CPU, but thats only for 1-5 seconds or so.
With -nt both pipe reading threads are running without any sleep or throttling, so they will eat up 2 CPU cores at maximum, even if they mostly won't do anything. But for this you get the fasted pipereading speed as possible. Now the limiting factor will hopefully be the harddisk.
If you do your own test, please run it with -v and have a look at the 'P' values. If we still can't get them significantly down, i can decrease the memory usage
Jeeeeeeeeezzzzzzzzzzz impressive speed :)
my CMD line is:
eac3to\eac3to.exe Z:\BDMV\PLAYLIST\00001.mpls 2: \\.\pipe\left.h264 3: \\.\pipe\right.h264 | MVCCombine.exe -nt -v -p -o Out-Combined-MVC.h264
Crash with -v option
MVCCombine.exe V0.6
EAccessViolation: Zugriffsverletzung bei Adresse 004B07C4 in Modul 'MVCCombine.exe'. Lesen von Adresse 00000044
Neisklar
30th April 2013, 08:35
What is the "ideal" value of the P value?
P is the amount of free buffers in the pool (500 pieces), high values means the pipe is slower than the processing, if P is getting down it means the pipe is faster than the processing, in which case the huge amount of buffers has a benefit. But if the pipe is almost always slower, than there is no need to 'waste' 500MB of RAM
Have you tried this sample ? Intel's server seems to be out of service, I'll try later...
Yes, i tried it a while ago. i used the already precompiled encoder and decoder samples. they worked good but need YUV. But since there also sample code, you could build your own one, or use a direct show graph.
Jeeeeeeeeezzzzzzzzzzz impressive speed :)
my CMD line is:
eac3to\eac3to.exe Z:\BDMV\PLAYLIST\00001.mpls 2: \\.\pipe\left.h264 3: \\.\pipe\right.h264 | MVCCombine.exe -nt -v -p -o Out-Combined-MVC.h264
Crash with -v option
MVCCombine.exe V0.6
EAccessViolation: Zugriffsverletzung bei Adresse 004B07C4 in Modul 'MVCCombine.exe'. Lesen von Adresse 00000044
I will look into the crash and try to fix it.
Edit: when did that crash happen?
Another (for me important) Off-Topic question:
Does anyone has access to the exetools forum? Please PM me.
r0lZ
30th April 2013, 10:31
Just did some rapid tests with my little demo BD.
The extraction alone with eac3to takes 7.5 seconds.
The combine alone (not using pipes) takes 6.3 ''.
The total with the disc only method takes therefore around 14''
With -p (no -nt), the eac3to|MVCCombine process took 10.1''
With -p and -nt, it took 10'' (but also 2 times around 11.5'', probably due to other things running on my PC.)
I haven't noticed a big difference in CPU usage.
With -p, -nt and -v, I got P = 494 and 490 (for L & R) at the beginning of the process.
L-P gradually decreased to 218, where I saw the BROKEN PIPE messages (after frame 1857). After that messages, it stays at 217 up to the last frame (4897)
Similarly, R-P decreased to 358 at BROKEN PIPE, and was then constant at 357.
I got similar values without the -nt parameter:
498 & 490 at the beginning, 310 & 404 at BROKEN PIPE and 309 & 405 after.
There is a slight difference. With -nt, all BROKEN PIPE messages were issued in one shot, after frame 1857. Without -nt, the first message appears after frame 2772, then the other messages were inserted from time to time up to frame 2800.
Of course, a test with such a short movie is not really reliable (as the HDD buffers help much more than with big files), but I don't have enough time to do long tests right now.
Anyway, very good job! The speed is now better than the method with temp files on disc (and, of course, it requires less disc space). :-)
Little suggestion: Could you add a prefix (for example "MVCC: ") to all lines output to stdout during the processing (except the progress and -v messages)? When MVCCombine is piped with eac3to, the final log is a mix of the output of both programs, and a prefix will help the humans to differentiate what program has printed what.
Nico8583
30th April 2013, 14:20
I have tried Intel SDK 2013, "sample_decode" works to convert H264 file created by MVCCombine to YUV420 and "sample_encode" works to convert YUV420 to MVC but space color is not good (Intel SDK 2013 uses NV12 with final file instead of YUV420). I think it needs to be recompiled with few modifications...
frencher
1st May 2013, 01:08
I will look into the crash and try to fix it.
Edit: when did that crash happen ?
Directly from demuxed left.h264 & right.h264 files With this cdmline
MVCCombine.exe -l "left.h264" -r "right.h264" -v -nt -o .\Out-Combined-MVC.h264
jdobbs
1st May 2013, 05:55
When you talk about the left and right h.264 streams, are they actually fully playable independent streams -- or is this just the two PIDs for the primary AVC video and the MVC extensions that have been demuxed from the original SSIF file(s)?
Should be AVC & MVC streams. MVCCombine is made to combine them, not to combine 2 AVC streams.
jdobbs
1st May 2013, 14:29
Should be AVC & MVC streams. MVCCombine is made to combine them, not to combine 2 AVC streams. That makes sense. I thought I might be missing something.
Nico8583
1st May 2013, 20:14
I have tried Intel SDK 2013, "sample_decode" works to convert H264 file created by MVCCombine to YUV420 and "sample_encode" works to convert YUV420 to MVC but space color is not good (Intel SDK 2013 uses NV12 with final file instead of YUV420). I think it needs to be recompiled with few modifications...
I have tried to compile a new version but it doesn't work with Visual C++ 2005 or Visual Studio 2012 Pro...
Neisklar
2nd May 2013, 11:46
Another (for me important) Off-Topic question:
Does anyone has access to the exetools forum? Please PM me.
Anyone?
Directly from demuxed left.h264 & right.h264 files With this cdmline
MVCCombine.exe -l "left.h264" -r "right.h264" -v -nt -o .\Out-Combined-MVC.h264
Sorry, i meant, when exactly did it happen? (e.g: Right at the start, after x frames, at the end, ... and was something printen in the console already)
When you talk about the left and right h.264 streams, are they actually fully playable independent streams -- or is this just the two PIDs for the primary AVC video and the MVC extensions that have been demuxed from the original SSIF file(s)?
Yes that are the two 3D streams (mostly eac3to) demuxed from the two(!) TS interleaved in the SSIF disc-blockwise.
The base AVC stream (aka the "left-eye") is a fully independent and playable .h264 stream. The MVC Part needs the base stream to be decoded.
I have tried to compile a new version but it doesn't work with Visual C++ 2005 or Visual Studio 2012 Pro...
Sorry but i can't help you there, C(++) is not my language
frencher
2nd May 2013, 20:14
Another (for me important) Off-Topic question:
Does anyone has access to the exetools forum? Please PM me.
Anyone?
Sorry not for me, i dont know http://forum.exetools.com
MVCCombine.exe -l "left.h264" -r "right.h264" -v -nt -o .\Out-Combined-MVC.h264
Sorry, i meant, when exactly did it happen? (e.g: Right at the start, after x frames, at the end, ... and was something printen in the console already)
From the beginning, does not start
I have tried to compile a new version but it doesn't work with Visual C++ 2005 or Visual Studio 2012 Pro...
I use MMB and AutoIt
Not sure if this matters at this point, but I thought I'd just post a note for those who have had ssifSource2() add duplicated frames at the end of a stream. It also applies to DirectshowMVCSource() when it seems to freeze at 99% during encode. I guess for a playlist that is made of a single SSIF it's no big deal -- but it causes sync issues when you are encoding/combining multiple SSIF files.
It appears to be a buffering/EOF issue, and that's why it goes away when you combine the files using "copy /b". So I did a little testing, and it also seems to be corrected if you write some zeroed packets to the end of the file, encode, and then truncate the SSIF back to its original length.
[...]
It appears that the duplicate frame problem is very annoying when the movie is encoded in 2-pass mode, as the number of frames returned by any method to count them before the actual encoding is unpredictable. That happens also when encoding from a MVCCombined.m2ts file.
With BD3D2MK3D, it is important to know the number of frames when the scripts files (and mainly _ENCODE.cmd) are generated, as without the --frames argument in the x264 command, x264 is unable to display its progress.
With several 2-pass tests made by MaistroX, the number of frames stored in _ENCODE.cmd is often wrong. Actually, it is usually too high by one frame or two. As a consequence, the first pass encodes less frames than what it is supposed to encode according to the --frames argument. During the first pass, it's not really a problem. But x264 doesn't like to have less frames in the stats file than what it expects during the second pass, and fails usually with an error message similar to this: "error: wrote only 3085668 of 3110400 bytes". When that happens, it is not possible to mux the resulting h264 stream with MkvMerge.
I wonder if it is sufficient to add a few black frames at the end of the AVS script, with something like this:
return(last + BlankClip(last, 100))
Then, when the number of frames of the AVS script are evaluated, it is simple to subtract that 100 frames to get the approximately correct number of frames to encode and use with the --frames x264 argument.
That method cannot be applied when the MPLS is made of several SSIF files (except on the last one), but it should be OK when encoding from a MVCCombined.m2ts file.
However, I wonder if the problem of the duplicated frames appears really ONLY at the end of the video. If there is, for example, a duplicated frame somewhere in the middle of the video during the first pass, but not during the second pass, the content of the x264 stats file will be wrong, and the solution cannot work correctly.
jdobbs, can you confirm that the buffering problem can happen only at the end of the file (at least when no seek is made during the encoding)?
Neisklar, are you sure that the number of frames returned by MVCCombine.exe is correct? I suppose so, but perhaps there are already dupes in the output file?
If it appears that the trick works correctly, I will probably modify BD3D2MK3D to always use MVCCombine and DirectShowMVCSource. However, with that method, it will not be possible to encode in anaglyph mode. It's a pity, so I don't want to do it if the solution of the 100 additional frames in the AVS script doesn't work perfectly.
Nico8583
3rd May 2013, 12:46
Cedvano informs me that a sample_multi_transcode exists in Intel SDK 2013.
It takes in input a MVCCombine file and can output a MVC file but it is combined (only 1 file). So is it possible to decombine a MVC file ?
frencher
3rd May 2013, 13:12
It appears that the duplicate frame problem is very annoying when the movie is encoded in 2-pass mode, as the number of frames returned by any method to count them before the actual encoding is unpredictable. That happens also when encoding from a MVCCombined.m2ts file.
With BD3D2MK3D, it is important to know the number of frames when the scripts files (and mainly _ENCODE.cmd) are generated, as without the --frames argument in the x264 command, x264 is unable to display its progress.
With several 2-pass tests made by MaistroX, the number of frames stored in _ENCODE.cmd is often wrong. Actually, it is usually too high by one frame or two. As a consequence, the first pass encodes less frames than what it is supposed to encode according to the --frames argument. During the first pass, it's not really a problem. But x264 doesn't like to have less frames in the stats file than what it expects during the second pass, and fails usually with an error message similar to this: "error: wrote only 3085668 of 3110400 bytes". When that happens, it is not possible to mux the resulting h264 stream with MkvMerge.
I wonder if it is sufficient to add a few black frames at the end of the AVS script, with something like this:
return(last + BlankClip(last, 100))
Then, when the number of frames of the AVS script are evaluated, it is simple to subtract that 100 frames to get the approximately correct number of frames to encode and use with the --frames x264 argument.
That method cannot be applied when the MPLS is made of several SSIF files (except on the last one), but it should be OK when encoding from a MVCCombined.m2ts file.
However, I wonder if the problem of the duplicated frames appears really ONLY at the end of the video. If there is, for example, a duplicated frame somewhere in the middle of the video during the first pass, but not during the second pass, the content of the x264 stats file will be wrong, and the solution cannot work correctly.
jdobbs, can you confirm that the buffering problem can happen only at the end of the file (at least when no seek is made during the encoding)?
Neisklar, are you sure that the number of frames returned by MVCCombine.exe is correct? I suppose so, but perhaps there are already dupes in the output file?
If it appears that the trick works correctly, I will probably modify BD3D2MK3D to always use MVCCombine and DirectShowMVCSource. However, with that method, it will not be possible to encode in anaglyph mode. It's a pity, so I don't want to do it if the solution of the 100 additional frames in the AVS script doesn't work perfectly.
I use the method "x264" 2 pass in all my tests and I've never needed to add duplicate frames because DirectShowMVCSources returns directly the exact image of a combined or ssif, mpls file number.
(From MVC Player Free)
http://i42.tinypic.com/35hdxlg.png
Neisklar
3rd May 2013, 13:13
Sorry not for me, i dont know http://forum.exetools.com
I meant sonewone with an account, so he can download me some little "trial-extending-tool" for a software;-)
Neisklar, are you sure that the number of frames returned by MVCCombine.exe is correct? I suppose so, but perhaps there are already dupes in the output file?
Nope not at all, i count frames by counting how many AUD NALUs (Access Unit Delimiter NALUs) i discover. As far as i know the frames in the bistream are seperated by them. If that is always the case, i can't tell you, but at least it worked for all BD3Ds do far:). There shouldn't be any dupes coming from eac3to or mvccombine. If there are dupes, then they are already on the BD3D.
However, with that method, it will not be possible to encode in anaglyph mode.
I have seen somewhere an anaglyph code for Avisynth. Have a look here:
http://www.pantarheon.org/AviSynth3DToolbox/
Cedvano informs me that a sample_multi_transcode exists in Intel SDK 2013.
It takes in input a MVCCombine file and can output a MVC file but it is combined (only 1 file). So is it possible to decombine a MVC file ?
I think that sample is for transcoding between different video codecs aka VC1 to H.264 or so.
Decombining a MVC stream should be possible, but i don't know what is that good for.
Nico8583
3rd May 2013, 13:26
I think that sample is for transcoding between different video codecs aka VC1 to H.264 or so.
Decombining a MVC stream should be possible, but i don't know what is that good for.
I've tried transcode MVC to MVC, when I compare original left stream and transcoded left stream, quality seems to be not very good...
Nope not at all, i count frames by counting how many AUD NALUs (Access Unit Delimiter NALUs) i discover. As far as i know the frames in the bistream are seperated by them. If that is always the case, i can't tell you, but at least it worked for all BD3Ds do far:). There shouldn't be any dupes coming from eac3to or mvccombine. If there are dupes, then they are already on the BD3D.
Yes, that makes sense. I suppose MVCCombine processes the input files directly, since it doesn't need to decode or render them. I just wanted to be sure that MVCCombine does not rely on some DirectShow filters to work, since it seems that DirectShow is the culprit.
BTW, can we hope a new version of MVCCombine with the possibility to output to a pipe (to pipe tsMuxeR)?
jdobbs
3rd May 2013, 16:21
Does anyone know who modified DirectshowSource into DirectshowMVCSource? I know it was made specifically to work with CoreAVCDecoder.dll (which is a Directshow filter according to the notes). I just wonder if it could be changed to reference the Intel SDK MVC filter (mvc_dec_filter.dll) that is freeware (or at least can be distributed freely). Together they would be a completely free solution.
I guess another option would be to install the Intel filter somehow (I personally don't know how you do that) and use DirectshowSource()?
frencher
4th May 2013, 01:41
"MVC Player Free v0.0.1.5" In my signature... :rolleyes:
Extract and run directly MVC Player Free.exe or play associated file with MVC Player Free.exe
# Major fix: Output x264 compatibility with auto switchable 3D TV (works with my SAMSUNG 6500)
# Added: Switchable x264 "Slow First Pass" in 2 pass mode for increase quality
# Some fixes
frencher
4th May 2013, 01:56
Does anyone know who modified DirectshowSource into DirectshowMVCSource? I know it was made specifically to work with CoreAVCDecoder.dll (which is a Directshow filter according to the notes). I just wonder if it could be changed to reference the Intel SDK MVC filter (mvc_dec_filter.dll) that is freeware (or at least can be distributed freely). Together they would be a completely free solution.
I guess another option would be to install the Intel filter somehow (I personally don't know how you do that) and use DirectshowSource()?
Neisklar for "MVCCombine" and "DirecShowMVCSource.dll" ;) and nice idea :)
Yes, that makes sense. I suppose MVCCombine processes the input files directly, since it doesn't need to decode or render them. I just wanted to be sure that MVCCombine does not rely on some DirectShow filters to work, since it seems that DirectShow is the culprit.
BTW, can we hope a new version of MVCCombine with the possibility to output to a pipe (to pipe tsMuxeR)?
Very nice idea :)
Nico8583
4th May 2013, 12:19
I have a little question. If I :
- Demux left.h264 and right.h264 with eac3to
- Combine left and right with MVCCombine
- Mux combine result with TsMuxer to M2TS
- Decode with DirectShowMVCSource (is it possible to decode M2TS ?)
Is this solution better to avoid DirectShowMVCSource error, duplicate frames and other "bug" ?
I don't think the duplicate frames bug is completely avoided, but if you encode with x264 and you specify the --frames argument (with the number of frames reported by MVCCombine or tsMuxeR), the output should be OK. Anyway, the MVCCombine method avoids the problem of duplicate frames in the middle of the movie, when the MPLS is made of several SSIF files. Some dupes at the end of the movie are not really important.
(is it possible to decode M2TS ?)
Yes, but you cannot use the "stf" parameter to specify the 3D mode, you have to decode the left and right streams independently, and combine them with StackVertical or StackHorizontal, to create TB or SBS, like this:
LoadPlugin("D:\BD3D2MK3D\toolset\stereoplayer.exe\DirectShowMVCSource.dll")
left = DirectShowMVCSource("combinedMVC.m2ts", decodeleft=true).AssumeFPS("ntsc_film")
right = DirectShowMVCSource("combinedMVC.m2ts", decodeleft=false).AssumeFPS("ntsc_film")
last = StackHorizontal(left, right)
BilinearResize(1920, 1080)
Note that that method works most of the time, but currently, there is an access violation bug with some combined m2ts files. I've PMed Neisklar about this problem.
Nico8583
4th May 2013, 12:39
Thanks for your response.
I would like to try to convert left and right stream to AVI uncompressed (with VirtualDub for example, I can open an AviSynth file and convert it to AVI uncompressed).
frencher
4th May 2013, 16:23
I don't think the duplicate frames bug is completely avoided, but if you encode with x264 and you specify the --frames argument (with the number of frames reported by MVCCombine or tsMuxeR), the output should be OK. Anyway, the MVCCombine method avoids the problem of duplicate frames in the middle of the movie, when the MPLS is made of several SSIF files. Some dupes at the end of the movie are not really important.
Yes, but you cannot use the "stf" parameter to specify the 3D mode, you have to decode the left and right streams independently, and combine them with StackVertical or StackHorizontal, to create TB or SBS, like this:
LoadPlugin("D:\BD3D2MK3D\toolset\stereoplayer.exe\DirectShowMVCSource.dll")
left = DirectShowMVCSource("combinedMVC.m2ts", decodeleft=true).AssumeFPS("ntsc_film")
right = DirectShowMVCSource("combinedMVC.m2ts", decodeleft=false).AssumeFPS("ntsc_film")
last = StackHorizontal(left, right)
BilinearResize(1920, 1080)
Note that that method works most of the time, but currently, there is an access violation bug with some combined m2ts files. I've PMed Neisklar about this problem.
Work with my 111 m2ts combined files look at your PM with "MVC Player Free" AVS
LoadPlugin ("F:\Temp Recode\CombineMVC\MVC Player\MVCtoAVI.exe\DirectShowMVCSource.dll")
# Start AVS for CombinedMVC
File = "N:\OK\AVC + MVC - Le Royaume de Ga'Hoole - la légende des gardiens - frames 139293, 10 chapters.mts"
Left = DirectShowMVCSource(File,decodeleft=TRUE)
Right = DirectShowMVCSource(File)
Video = StackHorizontal(Left,Right)
# End AVS for CombinedMVC
Video = Video.BilinearResize(1920,1080)
Video = Video.ConvertToYV12()
Return Video
"MVC Player Free" in progress... here pass 1 done, pass 2 in progress with correct fps :cool:
http://i40.tinypic.com/245as2c.png
Frencher, I said that the method works most of the time (presque toujours). But the bug happens also, apparently without reason.
[EDIT] I see that you use the MVCtoAVI filters. I use the stereoscopic player ones. That might be the cause of the problem. I don't know.
frencher
4th May 2013, 19:27
Frencher, I said that the method works most of the time (presque toujours). But the bug happens also, apparently without reason.
[EDIT] I see that you use the MVCtoAVI filters. I use the stereoscopic player ones. That might be the cause of the problem. I don't know.
What is the name of the movie in question that I test.
Takes the dll that I use ;)
frencher
5th May 2013, 01:39
An alternative to ldecod can use if specified Direct 3D v9, direct 3D v11 with lightning speed.
It just requires that the source is combined with MVCCombine.
This is now possible with a free version as specified by jdobbs and Nico8583 :)
Usage: sample_decode_x86.exe mpeg2|h264|vc1|mvc|jpeg -i InputBitstream -o Output YUVFile
Options:
[-hw] - use platform specific SDK implementation, if not specified software implementation is used
[-d3d] - work with d3d9 surfaces
[-d3d11] - work with d3d11 surfaces
[-r] - render decoded data in a separate window
[-wall w h n m f t] - same as -r, and positioned rendering window in a particular cell on specific monitor
w - number of columns of video windows on selected monitor
h - number of rows of video windows on selected monitor
n(0,.,w*h-1) - order of video window in table that will be rendered
m(0,1..) - monitor id
f - rendering framerate
t(0/1) - enable/disable window's title
[-low_latency] - configures decoder for low latency mode (supported only for H.264 and JPEG codec)
[-calc_latency] - calculates latency during decoding and prints log (supported only for H.264 and JPEG codec)
[-jpeg_rotate n] - rotate jpeg frame n degrees
n(90,180,270) - number of degrees
Features:
Press 1 to toggle fullscreen rendering on/off
F:\Temp Recode\Decode Intel SDK MVC>sample_decode_x64.exe mvc -i MVCCombined.264 -o output
Intel(R) Media SDK Decoding Sample Version 4.0.553.52283
Input video AVC
Output format YUV420
Resolution 1920x1088
Crop X,Y,W,H 0,0,0,0
Frame rate 23.98
Memory type system
MediaSDK impl sw
MediaSDK version 1.6
Decoding started
Frame number: 363
The output is:
output_0.yuv
output_1.yuv
Package of my tests: Decoder Intel SDK MVC (http://ul.to/ngu03j5o) The x86 version does not started on my pc, I have windows 7 x64
We talk here, here to look interesting for people who speak English (http://forum.doom9.org/showthread.php?p=1571747) (mvc_dec_filter.dll)
slavanap
5th May 2013, 15:15
Hello guys.
I finally got a little free time and wonder to figure out what happened here. As far as I know, it is possible to use Intel SDK with MVC Combine tool. I can program that out if I get to know how MVCCombine works.
Moreover I figure out the solution, how to count frames with CoreAVC precisely, if it still matters.
And about duplicated frames: it happens when decoding process takes too long time to decode one frame (60 seconds). It doesn't matter how long your tool will process that frame, just the frame request timeout from CoreAVC codec set to 60 seconds. If it happens once, then all next frames will be marked as duplicated.
Back to subject of blu-ray corrupted disks, the disk reading time may be more than 60 seconds, that's why duplicated frames appears in that case.
ADDED:
plan to fix issues with siffSource soon.
jdobbs
5th May 2013, 15:40
Hello guys.
I finally got a little free time and wonder to figure out what happened here. As far as I know, it is possible to use Intel SDK with MVC Combine tool. I can program that out if I get to know how MVCCombine works.
Moreover I figure out the solution, how to count frames with CoreAVC precisely, if it still matters.
And about duplicated frames: it happens when decoding process takes too long time to decode one frame (60 seconds). It doesn't matter how long your tool will process that frame, just the frame request timeout from CoreAVC codec set to 60 seconds. If it happens once, then all next frames will be marked as duplicated.
Back to subject of blu-ray corrupted disks, the disk reading time may be more than 60 seconds, that's why duplicated frames appears in that case.
ADDED:
plan to fix issues with siffSource soon.If you look at the associated playitem in the MPLS it will give you the IN time and OUT time in 1/45,000s of a second clock ticks (it's actually the PTS/2 to make it fit in 32 bits). If you take (OUT-IN) and the frame-rate it will give you the exact number of frames every time.
@slavanap: It might be a good idea to join the Intel SDK and MVCCombine to form an unified tool. Good idea. I suppose you can work with Neisklar on that project.
I don't think I need another method to count the frames, as if I use MVCCombine in the forthcoming versions, I will know it. But your method might be interesting anyway.
I don't think the dupe problem is caused by a timeout, as I encode usually from a mounted ISO, and I have never seen the decoding of a frame take more than 1 second or so. But thanks for the info.
frencher
5th May 2013, 18:17
@jdobbs
We must work together and each proposal is good to take and meditate progress in reading and re-encoding of 3D BD.
Your experience gives us the intel SDK MVC and thank you for this interresement.
It matters for BD-RB, because I'd have to make some major changes for 3D support of I need to combine before encoding.
Big fan of BD-RB. Have you figured out how to create "linked" ISO file for ssif, right and left m2ts without doubling the file size? (As you know, the VSO burning engine of DVDFab does that, but I haven't had any success using it standalone).
frencher
6th May 2013, 00:20
Big fan of BD-RB. Have you figured out how to create "linked" ISO file for ssif, right and left m2ts without doubling the file size? #As you know, the VSO burning engine of DVDFab does that, but I haven't had any success using it standalone#.
The project is under discussion with Nico8583
:goodpost: The update of ultimate demo package with CMD and sourcecode for convert MVC combined 3D Video x86 & x64 with SSE support etc... (http://ul.to/wlfydwje) :logfile:
MVC to MVC and MVC>YUV>MVC from Intel MEDIA SDK 2013
Nico8583
6th May 2013, 21:44
I would like to use MVCCombine but I'm lost in the differents versions and parameters. What is the actual and functionnal version ? Thanks :)
frencher
6th May 2013, 22:54
I would like to use MVCCombine but I'm lost in the differents versions and parameters. What is the actual and functionnal version ? Thanks :)
v0.6 with eac3to and pipe ;)
eac3to.exe P:\BDMV\PLAYLIST\00001.mpls 2: \\.\pipe\left.h264 3: \\.\pipe\right.h264 | MVCCombine.exe -nt -v -p -o Out-Combined-MVC.h264
Small question:
I solved several crash using a subdirectory in the pipe such as this example:
eac3to.exe P:\BDMV\PLAYLIST\00001.mpls 2: \\.\pipe\MVCCombine\left.h264 3: \\.\pipe\MVCCombine\right.h264 | MVCCombine.exe -nt -v -p -o \\.\pipe\MVCCombine\Out-Combined-MVC.h264
Other software packages use the file pipe which can cause conflicts
Neisklar
8th May 2013, 18:09
Does anyone know who modified DirectshowSource into DirectshowMVCSource? I know it was made specifically to work with CoreAVCDecoder.dll (which is a Directshow filter according to the notes). I just wonder if it could be changed to reference the Intel SDK MVC filter (mvc_dec_filter.dll) that is freeware (or at least can be distributed freely). Together they would be a completely free solution.
I guess another option would be to install the Intel filter somehow (I personally don't know how you do that) and use DirectshowSource()?
I did both.
The Avisynth Plugin is somehow hacked together, i'm really a bad c(++) coder, and doing complicated things in there, i would like to avoid. But the source is there, so i hope someone with more skills in c(++) can do it. Basically the DirectShowMVCSource builds a Directshow Graph loading the decoders 'by hand' and connecting them 'by hand' (since ther also is some obscurity protection systemin the Core Decoder). The original DirectShowSource just opens the file and let DirectShow itself try to figure out need filters and connects them.
DirectShowSource can BTW working with an Graph created in GraphEdit. So install the IntelSDK, the filters should be registered and build a graph. Just leave one end/pin "open". Open that with DirectShowSource and it should work.
Yes, but you cannot use the "stf" parameter to specify the 3D mode, you have to decode the left and right streams independently, and combine them with StackVertical or StackHorizontal
The stf.dll comes from Peter Wimmer who did the StereoPlayer. He also changed the compiler and interfaces of that filter in a later version, so we are stuck at a particular version. I'm still not sure if this is a bug in the stf.dll or in the coreavcdecoder which caused that it's not working when decoding a combined file. Maybe we could get Peter to release the source, or at least release a dokumentation to use it externally.
One more possibility is that someone writes an DirectShow-Filter itself which can to that stacking. (Or include it in the DSMVCS Filter) For that i'm lacking the skills.
Big fan of BD-RB. Have you figured out how to create "linked" ISO file for ssif, right and left m2ts without doubling the file size? (As you know, the VSO burning engine of DVDFab does that, but I haven't had any success using it standalone).
You definatly need an burning programm that supports that stuff. It is also later important how that interleaving is exactly done.
eac3to.exe P:\BDMV\PLAYLIST\00001.mpls 2: \\.\pipe\MVCCombine\left.h264 3: \\.\pipe\MVCCombine\right.h264 | MVCCombine.exe -nt -v -p -o \\.\pipe\MVCCombine\Out-Combined-MVC.h264
Other software packages use the file pipe which can cause conflicts
And that worked??? Since for now the pipe names are hardcoded in the combiner;-)
But seeing and working on one great (free) tool(chain) is somewhat i proposed also a while ago (if i remember correctly even utilizing the Intel SDK).
For that we need imho:
* BluRay Demuxer capable of MPLS files. I for myself can't write that piece of code from sratch using the BD Spec, thats a heavy task. Matthias isn't going to release the source of eac3to for various reasons i understand. Maybe we could convince him to at lease give the demuxer code out (he's afaik also coding in delphi) or include the combiner code.
* Decoder
* All the glue stuff like colorspace convertors, muxers and so on.
jdobbs
8th May 2013, 19:18
I can do a freeware CLI demuxer that is capable of supporting MPLS and pulling from M2TS or SSIF easy enough. I already have code that does all that in BD-RB, I'd just have to reuse it. I assume you want to pull the combined AVC core and MVC extensions together, or put them into separate files?
Is the source code for DirectshowMVCSource available? I haven't see it anywhere.
Neisklar
8th May 2013, 20:04
I can do a freeware CLI demuxer that is capable of supporting MPLS and pulling from M2TS or SSIF easy enough. I already have code that does all that in BD-RB, I'd just have to reuse it. I assume you want to pull the combined AVC core and MVC extensions together, or put them into separate files?
Yes, i would like to have one nice tool which extracts one combined bitstream. The mvccombine.exe was mainly coded to support seamless branching movies, as eac3to only extracts separate streams. Having (even C) code i could look or just borrow is a big plus, so i could code in delphi;-)
BTW there isn't any magic in the combine process, i just interleave the NALUs from both streams.
I read all NALUs until i encouter the next NALU_TYPE_VDRD(24) or NALU_TYPE_AUD(9), (the AUD one normally on the main view VDRD on the dependent view). Those are the begin-marker of the next frame. Then i interleave the NALUs the following way:
AUD (throw the VDRD away),
SPS and SUB_SPS from left, SPS and SUB_SPS from right (normally left only SPS, right SUB_SPS)
left PPS, right PPS,
left SEI, right SEI,
all the other left NALUs, then all right NALUs
If i have seen it correctly MakeMKV when doing 3D stuff just first puts all left NALUs of one frame, then all right NALUs of that frame. (Of course taking care of AUF and VDRD)
Is the source code for DirectshowMVCSource available? I haven't see it anywhere.
The source should be in the published packages, and please excuse the bad coding
http://www.share-online.biz/download.php?id=I3CQBCDMI5
Nico8583
8th May 2013, 21:18
One of importants points is to get a muxer like TsMuxer with 3D support. I don't know if it's easily possible or not but it will be necessary. With a MVC transcoder (MVC to MVC) it will be perfect :-) )
Thanks to all coders of differents tools !!
I'm not sure I understand the interest of a new CLI tool to "just" demux the AVC and MVC streams and combine them. Currently, eac3to + mvccombine can do that, and it is also possible to demux the necessary audio and subtitle streams (and the chapters) during the same operation. IMO, the only thing that is still missing is the possibility to mux the combined stream directly to M2TS, but that can probably be done easily with a new possibility to pipe the output of MVCCombine to tsMuxer.
I agree that a new tool to read the MPLS and output directly to M2TS will be more rapid and elegant, but without the possibility to demux the other streams as well, the process will require a second pass with eac3to, and that will ruin its advantage. IMO, to have a real gain, the whole process should be combined with the AVC and MVC decoding and integrated in an Avisynth plugin, so that it will be possible to read the MPLS directly from the AVS script and encode to SBS or T&B directly. That's much more difficult, I suppose.
frencher
8th May 2013, 23:10
And that worked ??? Since for now the pipe names are hardcoded in the combiner ;-)
Yes somes crash without specific path ;)
If other coder use \\.\pipe\left.h264 or \\.\pipe\right.h264
My old dosen't work without pipe subfolder ex: \\.\pipe\WFS\3D_L.yuv & \\.\pipe\WFS\3D_R.yuv
LoadPlugin("ffms2.dll")
LoadPlugin("RawSource.dll")
FFIndex("left.mkv", cachefile="left.index", indexmask=0, demuxer="lavf")
left = FFVideoSource("left.mkv", cachefile="left.index", seekmode=0).AssumeFPS(24000,1001).ConvertToYV12()
#left = RawSource("\\.\pipe\WFS\3D_L.yuv", 1920, 1080, "I420").assumefps(24000,1001)
right = RawSource("\\.\pipe\WFS\3D_R.yuv", 1920, 1080, "I420").assumefps(24000,1001)
Video = stackhorizontal(left, right)
#Video = Trim(Video,0,196204)
Video = BicubicResize(Video,1920,1080)
return Video
If i have seen it correctly MakeMKV when doing 3D stuff just first puts all left NALUs of one frame, then all right NALUs of that frame. (Of course taking care of AUF and VDRD)
If MVCCombine in the next realease export to mkv or/and m2ts yeah !!!! :D
excuse the bad coding
http://www.share-online.biz/download.php?id=I3CQBCDMI5
I do not think what you say.
Without you... "MVC PLayer Free" and "BD3D2MK3D" doesn't exist !!!
I can do a freeware CLI demuxer that is capable of supporting MPLS and pulling from M2TS or SSIF easy enough. I already have code that does all that in BD-RB, I'd just have to reuse it. I assume you want to pull the combined AVC core and MVC extensions together, or put them into separate files?.
"MVC PLayer Free" and "BD3D2MK3D" Already work for/with MVCCombiner, but why not another version
Neisklar
12th May 2013, 20:10
Update of MVCCombine:
http://www.share-online.biz/download.php?id=BDSX8PMM2B8
NOTE: The parameters have slightly changed:
-l <left> -r <right> -o <out>
-pi use INPUT pipes
When using pipes you could specify the pipename with -l and/or -r
which results in pipes named \\.\pipe\<name>
If no <name>s given it defaults to left.h264 and right.h264
-po use OUTPUT pipe
Same rules for naming as input pipes. Defaults to combined.h264
-v Debug output
-ml to get multiline progress
-ano Alternate NALU ordering
-nt No thread throttle (WILL eat CPU!!!)
We have input and output pipes. The pipe-using processes must use at the win-api level CreateFile for opening and not the old deprecated OpenFile call.
Pipes can be named and have a good and resonable default name. All Output Messages should be prefixed with MVCC:
So using the defaults and piping all through
MVCCombine -pi -po
Using \\.\pipe\left.h264 as MainView, \\.\pipe\right.h264 as MVC Stream, \\.\pipe\combined.h264 as Output pipe.
with -l, -r, -o you can in pipe mode also specify the part after \\.\pipe\
Important: Due to the nature of pipes seeking is not possible. So if the outpipe-reading programm tries to seek it may crash or have unexpected results.
The end of an pipe/a closed pipe is something a little different then a normal File-EOF, so there may also some weird results.
Have fun and happy crashing;-)
EDIT:
Do we have some free(1) and NON GPL(2) source for simple ts or m2ts muxing?
If yes i will recode it in delphi and add it. After that i will try to convince Matthias to include it in eac3to. (Thats why (1) and (2))
frencher
12th May 2013, 21:06
Very nice update and thank you, i test tomorrow ;)
If yes i will recode it in delphi and add it. After that i will try to convince Matthias to include it in eac3to. (Thats why (1) and (2))
Very good idea ;)
jdobbs
12th May 2013, 23:49
Do we have some free(1) and NON GPL(2) source for simple ts or m2ts muxing?
If yes i will recode it in delphi and add it. After that i will try to convince Matthias to include it in eac3to. (Thats why (1) and (2)) You could get some information from looking at the code for TsRemux. I'm not sure if it is GPL or not.
[Edit] Just looked, it is GPL.
MVCCombine -pi -po
Aargh! It seems that tsMuxer doesn't like \\.\pipe\combined.h264 as input. It replies: The system cannot find the file specified.
I'll try with TsRemux, but I don't know it well, and I'm not sure it will be possible to call it from CLI.
frencher
13th May 2013, 10:43
MVCCombine -pi -po
Aargh! It seems that tsMuxer doesn't like \\.\pipe\combined.h264 as input. It replies: The system cannot find the file specified.
I'll try with TsRemux, but I don't know it well, and I'm not sure it will be possible to call it from CLI.
Same...
The problem is meta file of tsMuxeR, don't accept pipe :(
PS: -pi -po = pipo lol :D
MaistroX
13th May 2013, 15:17
I cross my fingers for this to find itself a solution! :)
Regards MaistroX
Nico8583
14th May 2013, 21:51
I have a question. When I use this command :
eac3to.exe F:\ 2: \\.\pipe\left.h264 3: \\.\pipe\right.h264 | MVCCombine.exe -nt -v -p -o Out-Combined-MVC.h264
Is it possible to extract another stream in this command ? For example :
eac3to.exe F:\ 2: \\.\pipe\left.h264 3: \\.\pipe\right.h264 | MVCCombine.exe -nt -v -p -o Out-Combined-MVC.h264 4:Audio.ac3 5:Subtitle.sup ... ?
Thanks !
Yes, but your syntax is not correct. All arguments for the eac3to command should be specified before the | character, and all args for the MVCCombine command after :
eac3to.exe F:\ 2: \\.\pipe\left.h264 3: \\.\pipe\right.h264 4: Audio.ac3 5: Subtitle.sup ... | MVCCombine.exe -nt -v -p -o Out-Combined-MVC.h264
Note also that joining the two commands with | is not an ideal method. When you do that, you send the messages of eac3to to MVCCombine, that has nothing to do with them, and you can't read them. You should preferably create two totally independent processes (in 2 command prompt windows), and type each command in its own window. Note that you must start the MVCCombine command first :
Command prompt 1:
MVCCombine.exe -nt -v -p -o Out-Combined-MVC.h264
Command prompt 2:
eac3to.exe F:\ 2: \\.\pipe\left.h264 3: \\.\pipe\right.h264 4: Audio.ac3 5: Subtitle.sup ...
You can now watch the progress of each command in its window.
Basically, it's what the next version of BD3D2MK3D will do.
Nico8583
14th May 2013, 23:20
Thanks for infos, I will try this :-)
frencher
15th May 2013, 07:25
I have a question. When I use this command :
eac3to.exe F:\ 2: \\.\pipe\left.h264 3: \\.\pipe\right.h264 | MVCCombine.exe -nt -v -p -o Out-Combined-MVC.h264
Is it possible to extract another stream in this command ? For example :
eac3to.exe F:\ 2: \\.\pipe\left.h264 3: \\.\pipe\right.h264 | MVCCombine.exe -nt -v -p -o Out-Combined-MVC.h264 4:Audio.ac3 5:Subtitle.sup ... ?
Thanks !
In progress ;)
http://i43.tinypic.com/a4msfr.png
Cedvano
15th May 2013, 16:46
The project is under discussion with Nico8583
:goodpost: The ultimate demo package with CMD and sourcecode for convert MVC combined 3D Video (http://ul.to/79si0tz2) :logfile:
MVC to MVC and MVC>YUV>MVC from Intel MEDIA SDK 2013
But YUV take up much space. 500Gb for 1 movie and for the left eye only. :scared:
It would be best MVC to MVC like BD.
and combined MVC doesn't work with BD specifications.
frencher
15th May 2013, 20:20
But YUV take up much space. 500Gb for 1 movie and for the left eye only. :scared:
It would be best MVC to MVC like BD.
and combined MVC doesn't work with BD specifications.
Please, post your cmd line
vanden
22nd May 2013, 14:54
Stereoscopic Player Version History
Version 2.0.6 (May 5, 2013)
Added antialiasing to the image border in Oculus Rift mode.
Added Playback|Jump Backwards|Last Position command.
Added support for single-PID MVC MPEG transport streams.
Added -ir command line parameter to set the input orientation.
Added the following OLE Automation commands:
GetWindowBorderVisible
SetWindowBorderVisible
GetMenuVisible
SetMenuVisible
GetToolbarVisible
SetToolbarVisible
GetSwapLeftRight
SetSwapLeftRight
StepForwards
StepBackwards
Replay
GetEffectControlSerialOutputEnabled
SetEffectControlSerialOutputEnabled
GetEffectControlUDPOutputEnabled
SetEffectControlUDPOutputEnabled
GetEffectControlDMXOutputEnabled
SetEffectControlDMXOutputEnabled
GetEffectControlCommandExecutionEnabled
SetEffectControlCommandExecutionEnabled
Added DMX device sharing between multiple processes.
Changed: Updated MPEG splitter.
Changed: Updated AVC/MVC decoder.
Fixed Orientation dropdown list in the Video Properties dialog.
Fixed crash when cancelling renaming of library items.
it works with raw stream of combinemvc (without the -ano option) mux in m2ts with tsMuxeR.
but does not work with raw stream of combinemvc mux to mkv with mkvmerge ...
and do not work with MakeMKV files (remux in m2ts with tsMuxeR).
Neisklar
23rd May 2013, 20:53
Stereoscopic Player Version History
Version 2.0.6 (May 5, 2013)
Changed: Updated MPEG splitter.
Changed: Updated AVC/MVC decoder.
New Splitter and most of all new MVC Decoder!!!
Anyone had a try?
I'm still busy doing educational stuff, so had'nt the time for that.
Maybe the new Decoder even works with the old STF.dll in single stream MVC-mode.
Sadly the new stf.dll is not usable (without some documentation by Peter) since the interface changed.
vanden
24th May 2013, 11:06
Maybe the new Decoder even works with the old STF.dll in single stream MVC-mode.
Unfortunately no ...
Thalyn
25th May 2013, 15:42
New Splitter and most of all new MVC Decoder!!!
Anyone had a try?
Given it a run using the same ol' DirectShowMVCSource.dll... seems to have worked perfectly for Monsters Vs Aliens (no black lines towards the bottom of the frame), but The Amazing Spider-Man had some points in the middle of the movie (around frame 71,290) where the right eye stalled (for lack of a better term), putting the right eye behind for the rest of the movie.
If you really want your brain to hate you, try watching a 3D movie with the eyes slightly out of sync.
Running it again with the old DLLs to see if it's an incompatibility or bad source.
Update: Recode using the original DLLs worked just fine. Not quite sure what to make of that other than the source not being at fault.
jdobbs
25th May 2013, 18:34
Given it a run using the same ol' DirectShowMVCSource.dll... seems to have worked perfectly for Monsters Vs Aliens (no black lines towards the bottom of the frame), but The Amazing Spider-Man had some points in the middle of the movie (around frame 71,290) where the right eye stalled (for lack of a better term), putting the right eye behind for the rest of the movie.
If you really want your brain to hate you, try watching a 3D movie with the eyes slightly out of sync.
Running it again with the old DLLs to see if it's an incompatibility or bad source.
Update: Recode using the original DLLs worked just fine. Not quite sure what to make of that other than the source not being at fault.I've seen that happen with the old DLLs. Interestingly, all I had to do was run the job again and it was fine.
Hum, maybe It's what I got too. I have encoded a 3D BD in SBS and watched it. Everything was OK, but I have decided to re-encode it anyway because I wanted a higher bit-rate. The second time, I got many problems in a part of the movie (approx 5 minutes), certainly not due to x264. In both cases, I've used the "old" DLLs. Nothing has changed in the decoding process, and I don't understand why the same DLLs can give different results when decoding exactly the same source, with the same parameters. A random bug?
I'm currently encoding the same BD for the third time, but this time I use a CombinedMVC.m2ts stream as input.
[EDIT] Third encoding finished. No problem (at least in the 5 minutes that were bad in my previous try. I haven't watched the whole movie yet.) So, either the MVCCombine method is more reliable, or there is a random bug in a DLL, that happens only from time to time.
slavanap
25th May 2013, 23:58
Here is a pre-version of ssifSource3. I tried to add precise frame seeking (may not work in all cases yet) and several ssif-files support. New method for framecount detect will be added soon. Works with the latest CoreAVC decoder (3.0.0.2), but previous version of mpegsplitter (1.5.2.3102).
Parameters of ssifSource3 is similar as ssifSource2.
ssifSource2(ssif_file, frame_count, left_view, right_view, horizontal_stack)
ssifSource3(ssif_files_list, left_view, right_view, horizontal_stack)
Example:
ssifSource3("first.ssif;1000;second.ssif;2000;third.ssif;3000", left_view = true, right_view = true)
where first.ssif has 1000 frames, second.ssif - 2000 frames and so on. (use 0 value as framecount to force framecount autodetection).
The result video will have 6000 frames.
Ssif-files is loaded as they needed (and unloaded if not) so 2GB memory should be enough (use avisynth setmemorymax command for sure).
The result video sequence is the sum of referenced video files.
ssifSource2 method is also supported.
Link: http://sendfile.su/816447
Thanks!
BTW, how do you determine what streams (AVC or MVC) contains the left and right views? I have always supposed that the AVC stream contains always the left view, but it's not the case. At least 3 3DBDs have the left and right view "inverted". Unfortunately, eac3to assumes also always the first (AVC) stream as being the left view, as you can see here (http://forum.doom9.org/showthread.php?p=1629986#post1629986). If ssifsource3 assumes also AVC=left & MVC=right, can you add an option to invert the two views?
If someone knows how to determine for sure the order of the left/right views, please share your method.
@Neisklar: I've found a strange bug with Suppe3D (v0.5), when converting subtitles from the Ice Age 3 3DBD to 3D.
These commands do not work:
CD /d "D:\My Additional Documents\Desktop2\BD3D2MK3D_projects\IceAge3\00001_m2ts"
"D:\Tools\BD3D2MK3D\toolset\Suppe3D.exe" -b "D:\Tools\BD3D2MK3D\toolset\BDSup2Sub++.exe" -d 10 -r bilinear -sbs -if "16 Subtitle (PGS), French.sup" -of "16 Subtitle (PGS), French 3D.sub"
creating temp dir: D:\My Additional Documents\Desktop2\BD3D2MK3D_projects\IceAge3\00001_m2ts\.suppe3d\
###########################
Extracting subtitles to PNG
###########################
calling: "D:\Tools\BD3D2MK3D\toolset\BDSup2Sub++.exe" -o "D:\My Additional Documents\Desktop2\BD3D2MK3D_projects\IceAge3\00001_m2ts\.suppe3d\temp.xml" "16 Subtitle (PGS), French.sup"
done ("D:\Tools\BD3D2MK3D\toolset\BDSup2Sub++.exe" -o "D:\My Additional Documents\Desktop2\BD3D2MK3D_projects\IceAge3\00001_m2ts\.suppe3d\temp.xml" "16 Subtitle (PGS), French.sup")
Done extracting subs as PNG
##########################################
Starting creating Stereo images full sized
##########################################
EFOpenError: Datei D:\My Additional Documents\Desktop2\BD3D2MK3D_projects\IceAge3\00001_m2ts\.suppe3d\temp_0006_2.png kann nicht geöffnet werden. The system cannot find the file specified
Indeed, temp_0006_2.png doesn't exist in the .suppe3d temp dir.
Strangely, these commands work perfectly (of course, applied to the same SUP file in the same directory):
CD /d "D:\My Additional Documents\Desktop2\BD3D2MK3D_projects\IceAge3\00001_m2ts"
"D:\Tools\BD3D2MK3D\toolset\Suppe3D.exe" -b "D:\Tools\BD3D2MK3D\toolset\BDSup2Sub++.exe" -d 10 -r bilinear -sbs -if "D:\My Additional Documents\Desktop2\BD3D2MK3D_projects\IceAge3\00001_m2ts\16 Subtitle (PGS), French.idx" -of "16 Subtitle (PGS), French 3D.sub"
I haven't included the output messages, but they are absolutely normal.
Note that the ONLY thing that has changed is the full path in the input file name. Strange, isn't it?
Note that BD3D2MK3D uses always the filename without the path (after having set the current directory correctly of course), and I have never seen that bug. However, in this case, there are many messages related to fades in the original subtitle palette, and I suppose it's why temp_0006_1.png (and normally temp_0006_2.png) are generated in addition to temp_0006_1.png.
I can upload the SUP file if you need it.
[EDIT] Seems it's a BDSup2Sub bug. With that subtitle file, it creates often strange black PNG images, not included when the SUP is converted to SUB, but present when it is converted to PNG/XML. And for many subtitles, it creates only 2 different images, but it references more images (up to 5) in the XML file. Of course, Suppe3D cannot process the missing images.
I've found a workaround for BD3D2MK3D: Since the SUP is converted to 2D SUB anyway (and before the 3D conversion), I use the 2D SUB file as input. That works perfectly.
jdobbs
26th May 2013, 13:39
Thanks!
BTW, how do you determine what streams (AVC or MVC) contains the left and right views? I have always supposed that the AVC stream contains always the left view, but it's not the case. At least 3 3DBDs have the left and right view "inverted". Unfortunately, eac3to assumes also always the first (AVC) stream as being the left view, as you can see here (http://forum.doom9.org/showthread.php?p=1629986#post1629986). If ssifsource3 assumes also AVC=left & MVC=right, can you add an option to invert the two views?
If someone knows how to determine for sure the order of the left/right views, please share your method.In the AppInfoPlayList() table of the MPLS file -- look for MVC_Base_view_R_flag. It is a 1 bit flag -- if it is set to 0 then the MVC base view is for the left eye. If it is set to 1 then the base view video stream is for the right eye.
Note: It is bit 4 of the byte located at offset 56 (0x38) of the MPLS file (with offset 0 being the first byte of the file).
OFFSET 0x38: 000X 0000
[Edit] Corrected the offset -- I forgot to account for the UO_Mask table.
Thalyn
26th May 2013, 15:44
First encode with ssifSource3 went through without a hitch after I figured out what I was doing wrong with the parameters, Slavanap. Good speed and good results, so I'll put it to task and try a couple more when I'm done typing here.
Source material was The Adventures of Tintin, in case you're keeping a compatibility list.
jdobbs
26th May 2013, 16:09
Here is a pre-version of ssifSource3. I tried to add precise frame seeking (may not work in all cases yet) and several ssif-files support. New method for framecount detect will be added soon. Works with the latest CoreAVC decoder (3.0.0.2), but previous version of mpegsplitter (1.5.2.3102).
Parameters of ssifSource3 is similar as ssifSource2.
ssifSource2(ssif_file, frame_count, left_view, right_view, horizontal_stack)
ssifSource3(ssif_files_list, left_view, right_view, horizontal_stack)
Example:
ssifSource3("first.ssif;1000;second.ssif;2000;third.ssif;3000", left_view = true, right_view = true)
where first.ssif has 1000 frames, second.ssif - 2000 frames and so on. (use 0 value as framecount to force framecount autodetection).
The result video will have 6000 frames.
Ssif-files is loaded as they needed (and unloaded if not) so 2GB memory should be enough (use avisynth setmemorymax command for sure).
The result video sequence is the sum of referenced video files.
ssifSource2 method is also supported.
Link: http://sendfile.su/816447Wow. Thanks. This should save some time in combining the segments. Is the DLL supposed to be named "ssifsource2.dll" when I download? I just want to make sure I'm getting the right one.
Just for clarity: Does this plugin always assume the base MVC is the left-eye view, or can it tell dynamically?
In the AppInfoPlayList() table of the MPLS file -- look for MVC_Base_view_R_flag. It is a 1 bit flag -- if it is set to 0 then the MVC base view is for the left eye. If it is set to 1 then the base view video stream is for the right eye.
Note: It is bit 4 of the byte located at offset 56 (0x38) of the MPLS file (with offset 0 being the first byte of the file).
OFFSET 0x38: 000X 0000
Thanks. It's exactly what I need.
Where can I see a complete description of that table?
Just for clarity: Does this plugin always assume the base MVC is the left-eye view, or can it tell dynamically?
Since ssifSource2 doesn't read the MPLS file, I suppose it assumes always the AVC=left and MVC=right order. That means that the command line option to invert the order is really necessary. Also, for consistency, the "left_view" and "right_view" parameters should be renamed "avc_view" and "mvc_view" (or simply avc and mvc), but that's less important.
jdobbs
27th May 2013, 00:46
Thanks. It's exactly what I need.
Where can I see a complete description of that table?
Since ssifSource2 doesn't read the MPLS file, I suppose it assumes always the AVC=left and MVC=right order. That means that the command line option to invert the order is really necessary. Also, for consistency, the "left_view" and "right_view" parameters should be renamed "avc_view" and "mvc_view" (or simply avc and mvc), but that's less important.In the BD standard they are called "base view" and "dependent view" -- but I get your meaning and as long as we're consistent it really doesn't matter. :)
Oh, well, the "base/dependent view" terminology is OK for me! It's what DVDFab displays, and I must admit that for a newbie, that terminology is simpler to understand than AVC/MVC. Anyway, the user of a GUI should not have to bother with these views. He wants, say, side-by-side left first, and it's the responsibility of the GUI to combine the views in the correct order.
Thalyn
27th May 2013, 04:15
Wow. Thanks. This should save some time in combining the segments. Is the DLL supposed to be named "ssifsource2.dll" when I download? I just want to make sure I'm getting the right one.
I thought that at first, too, but it definitely has the ssifSource3 command in it. It also has the ssifSource2 command, just to be confusing, but I've no idea if that uses the old or new code so I'm just sticking with the 3 for now.
Underworld: Awakening worked just fine with it. Speed was a little less impressive than Tintin at around 2/3 the 2D speed (vs ~92%), but I guess some title-to-title variation is to be expected. Universal Soldier is next (guess what letter I'm up to in my transcodes?:rolleyes:)
Update: Interesting observation with UniSol. I've been getting my durations using the in-built DirectShowSource and FrameCount commands, but UniSol claimed it had billions of frames when I did that. This could be part of why the auto-detection doesn't work correctly sometimes.
Update 2: UniSol stalled out at frame 100992/163826 - no error, but it stopped processing. Going to extract the streams from the ssif just in case there was something else in the container it didn't like, and report back.
Update 3: EAC3to reported a "sync byte missing" at a time which would be around the same frame the earlier attempt failed at, with the left and right streams actually reporting the same error at different times. I suspect this is the cause, which means it's more the source than the plugin at fault. Will be interesting to see if re-packaging it actually works at all.
jdobbs
27th May 2013, 13:51
Here is a pre-version of ssifSource3. I tried to add precise frame seeking (may not work in all cases yet) and several ssif-files support. New method for framecount detect will be added soon. Works with the latest CoreAVC decoder (3.0.0.2), but previous version of mpegsplitter (1.5.2.3102).
Parameters of ssifSource3 is similar as ssifSource2.
ssifSource2(ssif_file, frame_count, left_view, right_view, horizontal_stack)
ssifSource3(ssif_files_list, left_view, right_view, horizontal_stack)
Example:
ssifSource3("first.ssif;1000;second.ssif;2000;third.ssif;3000", left_view = true, right_view = true)
where first.ssif has 1000 frames, second.ssif - 2000 frames and so on. (use 0 value as framecount to force framecount autodetection).
The result video will have 6000 frames.
Ssif-files is loaded as they needed (and unloaded if not) so 2GB memory should be enough (use avisynth setmemorymax command for sure).
The result video sequence is the sum of referenced video files.
ssifSource2 method is also supported.
Link: http://sendfile.su/816447Is this release "throttled" somehow to the frame rate of the video? In my testing is seems that no matter what X264 settings I use -- the encode speed is locked at no more than 1x the frame rate.
I also notice that my cpu usage only hangs at aroung 40-50%, indicating that X264 is waiting for frames.
slavanap
27th May 2013, 14:19
Another pre-version: http://sendfile.su/817250
ssifSource2(ssif_file, frame_count, avc_view, mvc_view, horizontal_stack, swap_views)
ssifSource3(ssif_files_list, avc_view, mvc_view, horizontal_stack, swap_views)
swap_views values :: -1 for autodetect (on blu-ray disc, thanks for jdobbs solution), 0 - not swap (avc = left, mvc = right), 1 - for overwise.
Thank you for testing!
Wow. Thanks. This should save some time in combining the segments. Is the DLL supposed to be named "ssifsource2.dll" when I download? I just want to make sure I'm getting the right one.
Just for clarity: Does this plugin always assume the base MVC is the left-eye view, or can it tell dynamically?
I rename ssifSouce2 to ssifSource3 when I finish the work on it. It now just a pre-version (alpha). Please, tell me about any bugs you found.
Update 2: UniSol stalled out at frame 100992/163826 - no error, but it stopped processing. Going to extract the streams from the ssif just in case there was something else in the container it didn't like, and report back.
Update 3: EAC3to reported a "sync byte missing" at a time which would be around the same frame the earlier attempt failed at, with the left and right streams actually reporting the same error at different times. I suspect this is the cause, which means it's more the source than the plugin at fault. Will be interesting to see if re-packaging it actually works at all.
Sorry for taking your time. I probably have to get back the timeout parameter for frame decoding that I have deleted. I haven't thought about buggy content.
Is this release "throttled" somehow to the frame rate of the video? In my testing is seems that no matter what X264 settings I use -- the encode speed is locked at no more than 1x the frame rate.
I also notice that my cpu usage only hangs at aroung 40-50%, indicating that X264 is waiting for frames.
It seems, that it is mine fault, sorry for that. I started to use DirectShow timings to make proper seeking through the video. So I think it uses default framerate when playing now. I'll fix ASAP.
Thank you for the feedback. I don't know how much time I would have to spend to find out all of that info.
Nico8583
27th May 2013, 14:44
Is it possible with ssifSource3 to create 1 avs for left eye and 1 avs for right eye ? Or output must be a stack (horizontal or vertical) ?
Thanks !
@slavanap: Thanks for the swap_views parameter (and the avc/mvc terminology)!
@Neikslar: Is it possible to add a swap_views parameter in DirectShowMVCSource? It is not really needed when encoding from a CombinedAVC-MVC.m2ts file (since the combination of the two views to SBS or TB is made by the AVS script anyway), but it is necessary when using the stf parameter.)
@nico8583: I guess this is what you want:
AVS 1:
ssifSource2(ssif_file, frame_count, avc_view=true, mvc_view=false)
AVS 2:
ssifSource2(ssif_file, frame_count, avc_view=false, mvc_view=true)
Nico8583
27th May 2013, 16:12
@nico8583: I guess this is what you want:
AVS 1:
ssifSource2(ssif_file, frame_count, avc_view=true, mvc_view=false)
AVS 2:
ssifSource2(ssif_file, frame_count, avc_view=false, mvc_view=true)
Perhaps :) I would like to create 1 AVS to see 1920x1080 left eye and 1 AVS to see 1920x1080 right eye but without stack. I'll try your tip ;)
slavanap
27th May 2013, 23:16
Wow. Thanks. This should save some time in combining the segments. Is the DLL supposed to be named "ssifsource2.dll" when I download? I just want to make sure I'm getting the right one.
Just for clarity: Does this plugin always assume the base MVC is the left-eye view, or can it tell dynamically?
Yes, correct, you are using the right dll. Actually it does not matter what name dll has, because one dll can export different AviSynth fuctions.
I've added auto views swap detection, which is based on mpls files in blu-ray disc. swap_views parameter is used to set should views be swapped.
If it equals 0 - base view (AVC) is assumed left view, dependent view (MVC) is assumed right view;
if it equals 1 - base view is assumed right view, dependent - left;
if it equals (-1) then autodetection algorithm runs. it searches ssif filename in mpls files located in "..\\..\\PLAYLIST\\" directory related to directory with ssif file. (See the ssifSource log messages for more info. Log messages is available, for example, when you encoding with x264.)
Underworld: Awakening worked just fine with it. Speed was a little less impressive than Tintin at around 2/3 the 2D speed (vs ~92%), but I guess some title-to-title variation is to be expected. Universal Soldier is next (guess what letter I'm up to in my transcodes?:rolleyes:)
Speed issue might be fixed for you in dll in the next post.
Update: Interesting observation with UniSol. I've been getting my durations using the in-built DirectShowSource and FrameCount commands, but UniSol claimed it had billions of frames when I did that. This could be part of why the auto-detection doesn't work correctly sometimes.
Can you try the new ssifSource lib with framecount autodetection on that source? It may fail, of course.
Update 2: UniSol stalled out at frame 100992/163826 - no error, but it stopped processing. Going to extract the streams from the ssif just in case there was something else in the container it didn't like, and report back.
Update 3: EAC3to reported a "sync byte missing" at a time which would be around the same frame the earlier attempt failed at, with the left and right streams actually reporting the same error at different times. I suspect this is the cause, which means it's more the source than the plugin at fault. Will be interesting to see if re-packaging it actually works at all.
I think I have to test it by my own, to get to know what happens with CoreAVC during processing this film. Where can I get the source you use?
slavanap
27th May 2013, 23:47
Well, the beta (i hope so) version of ssifSource lib:
http://sendfile.su/817501
Changes:
* now all ssifSource solutions is combined in this lib.
ssifSource, ssifSource2 and ssifSource3 functions are available.
* fixed the issue with decoding speed throttle.
* framecount autodetect algorithm improved.
* left_view & right_view parameters renamed to avc_view & mvc_view.
* added swap_views parameter.
About the fuctions:
The old one:
ssifSource(ssif_file, width, height, frame_count, left_track, right_track, left_264, right_264, show_params)
Parameters description are available in previous ssifSource package. This fuction uses ldecod_mod.exe & eac3to.exe (the modified one for proper pipes support).
ssifSource2(ssif_file, frame_count, avc_view, mvc_view, horizontal_stack, swap_views)
ssifSource3(filelist, avc_view, mvc_view, horizontal_stack, swap_views)
Actually ssifSource3 uses ssifSource2 to display each of the files in the filelist.
filelist - string parameter, the list of files that will be displayed sequentially. filelist format is filename1;framecount1;filename2;framecount2 and so on.
filenameX - is filename (related or fully qualified) of the ssif file. framecountX is the framecount in that file. if you specify 0 as framecount, then ssifSource2 will try to autodetect framecount of this file.
avc_view, mvc_view - boolean. Defines that base and/or dependent views should be displayed.
horizontal_stack - boolean. It makes sense only when avc_view and mvc_view are true. If horizontal_stack is true, views stacks horizontally, overwise - vertically.
swap_views - integer. It makes sense only when avc_view and mvc_view are true. Defines in which order views are displayed. If swap_views = -1 then autodetection algorithm based on mpls files tries to detect whether or not them should be swapped. If swap_views = 0 then views are not swapped, if = 1 then they are swapped.
Explanation for horizontal_stack = true:
swap_views = 0 -> base (avc) view is on the left, dependent (mvc) view is on the right
swap_views = 1 -> dependent view is on the left, base view is on the right.
Note: coreavc version 3.0.0.2 & mpegsplitter version 1.5.2.3102 is required for ssifSource2 & ssifSource3
(also works with older ones).
Please, do not rely on accurance of framecount autodetect and frame seeking. (In my testing I get the worst accurance is 4 seconds of video). I really don't know how the decoder works, I just use the data it returns in the most effective way. So what I gonna do next is adding a create-text-based-index feature in ssifSource2&3 to dump directshow timings for each frame. (actually, decoder does not support frame seeking, and my solution is based on processing of directshow timings).
I hope, that description of the new features would be enough.
If you'll find any bugs, please let me know.
ADDED:
Default values for ssifSource2&3 parameters are:
frame_count = 0 // forces autodetect
avc_view = false
mvc_view = true
horizontal_stack = false
swap_views = -1 // forces autodetect
If you did not specify any of these parameters, the default value is used.
jdobbs
28th May 2013, 02:51
@slavanap
I'm running the newer version on a job with a huge number of segments right now... it's working great, with an impressive speed improvement over the last release. Sweet. I'll let you know how it works out.
Thalyn
28th May 2013, 07:14
Can you try the new ssifSource lib with framecount autodetection on that source? It may fail, of course.
*snip*
I think I have to test it by my own, to get to know what happens with CoreAVC during processing this film. Where can I get the source you use?
The source was apparently the where my problems were. Source being an original Universal Solder: Day of Reckoning 3D BluRay.
Seems if you use the SSIF directly (including copying it to a HDD) than it gives all of the problems I had - the stall, the EAC3To errors and the bizarre framecount. Working from the two M2TS files instead gave me a good source and subsequently clean results. So I'd personally chalk that one up to just something weird with how the disc was mastered.
I'll give the new plugin a try as soon as my current transcode finishes. I got a few I need to re-do as I originally used H264StereoSource (had to trim frames), so they should give the auto-detect and seamless branching a good work-out.
About the fuctions:
The old one:
Parameters description are available in previous ssifSource package. This fuction uses ldecod_mod.exe & eac3to.exe (the modified one for proper pipes support).
Can you upload the two exes or give the link to download the previous ssifsource package? I'm not sure I have the correct versions of the exes.
PurpleMan
28th May 2013, 11:07
I was just wondering, is there currently any advantage in using ssifSource over DirectShowMVCSource (based on coremvc)?
(Other than the fact it costs money)
Nico8583
28th May 2013, 11:12
ssifSource2 uses CoreAVC dll but CoreAVC is free ?
jdobbs
28th May 2013, 14:53
ssifSource2 uses CoreAVC dll but CoreAVC is free ?No. But you can get it fairly cheaply by buying "Stereoscopic Player" at www.3dtv.at (I did). It costs about 39 euros. You used to be able to get it with "MVC to AVI" for 19 euros -- but that price has risen to 29 euros now.
frencher
28th May 2013, 22:10
Update my package ultimate Intel MVC Decoder x86 & x64 & SSE support + src (http://forum.doom9.org/showthread.php?p=1627007#post1627007)
Nico8583
29th May 2013, 08:19
What does your package do or permit ? :)
It does MVC decoding, encoding and transcoding. I'm currently testing it. It is open source. IMO, it could be the best solution for us, as it has several advantages over the current method: open source, official updates by Intel, no need for a "magic path", no copyright problems, can probably be converted to an avisynth plugin relatively easily.
Currently, it can only decode a CombinedMVC.264 file to 2 uncompressed YUV streams, and therefore it requires MUCH disc space (for example, it requires about 800 GB to convert Ice Age 3 to YUV!) But with some changes in the code, it should be possible to output the 2 streams to pipes, and implement an avisynth plugin working like the old ldecod. Or, with a bit more work, it can certainly be implemented as a totally independent avisynth plugin. I suppose that it can also be modified to accept the 2 AVC and MVC streams produced by eac3to without any need to combine them first.
However, it seems that it has a bug with Ice Age 3. I will confirm that when I'll finish to encode it. The bug produces artefacts in the left and right borders of the image, especially in scenes with fast moving objects or fast camera movements. But it must be noted that the ssifsource2 and DirectShowMVCSource methods have exactly the same bug! (And the ssifsource1/ldecod method doesn't work at all with that BD.) I guess Peter uses the Intel SDK for his CoreAVCDecoder.
Anyway, thanks to Frencher for his great finding. (He did also the batch files in the package, useful to understand how the various commands work.)
Nico8583
29th May 2013, 10:08
So package is not modified ? I believed Frencher had made some changes in the source code :)
I've tried to decode / encode with Intel MVC but there are 2 problems :
- MVC Decoder seems to be OK (but need much disc space)
- MVC Encoder only support a space color that not corresponding with Blu ray space color -> Colors not corresponding
- MVC Transcoder gives a bad quality (details, colors) with "quality" parameter
I'm waiting for your test result ;)
I don't think we should use it to encode. The MVC decoder only is really useful for us.
Nico8583
29th May 2013, 10:22
MVC Encoder/Transcoder should be used to create true BD 3D (and not SBS/TB) :)
Here is an example of the bug in CoreAVCDecoder (MVC stream only, of course) and probably also in the Intel SDK MVC decoder. (Still to be confirmed.)
http://img443.imageshack.us/img443/9253/bugbw.png (http://imageshack.us/photo/my-images/443/bugbw.png/)
Look at the right side of the picture. There is also a white rectangle at the left side, but usually, the artefacts are more important in the right side.
This BD has been decoded with DirectShowMVCSource, but I did also a test with ssifsource2 and a decoding from a CombinedM2TS file, just to be sure, and they have the same problem.
When decoded and encoded with DVDFab, there is no problem. (The image quality is terrible, but it's DVDFab!)
Please wait for the Intel SDK test. I need to use my computer for other things right now, and I'll launch the encoding tonight...
Nico8583
29th May 2013, 10:43
DVDFab is not the best software for video but is not the poorest, source code could be a good thing but it is not available...
I know. I hate DVDFab's h264 encoder, but the other things it does can be useful.
I installed and used it only to test if its MVC decoding engine has the same bug than CoreAVCDecoder (and also to test if a badly authored Ice Age 3 3DBD could be the culprit). Since DVDFab can correctly decode the MVC stream, I can only deduce that there is a bug in CoreAVCDecoder. However, there must be something strange or new in the Ice Age 3 BD, as all encodings of other 3DBDs I did were successful.
Oh, well, the decoding of Ice Age 3 with the Intel SDK is even worse:
http://img849.imageshack.us/img849/7060/bugsdk.png (http://imageshack.us/photo/my-images/849/bugsdk.png/)
However, I did another quick test with the NetBlender demo 3DBD (that has no problem with the CoreAVCDecoder), and it worked perfectly. So, that confirms that there is something strange (or a new variant of the MVC encoding?) in Ice Age 3, but apparently, the SDK decoder is as good as the CoreAVCDecoder for the vast majority of the 3DBDs currently available.
If you are interested in trying it, here is what you should do.
I had to download and install the RawSource Avisynth plugin (http://avisynth.org/warpenterprises/files/rawsource_25_dll_20060728.zip).
1. Combine the AVC and MVC streams to H264 with MVCCombine. (Do not mux to M2TS.)
2. Convert the Combined.h264 file to 2 YUV files with the sample_decode_x64.exe from the SDK. (You need much disc space!):
sample_decode_x64.exe mvc -i Combined.h264 -o TEST
3. Use this script (or similar) to encode in SBS:
LoadPlugin("rawsource.dll")
left =RawSource("TEST_0.yuv", 1920, 1080, "I420")
right=RawSource("TEST_1.yuv", 1920, 1080, "I420")
StackHorizontal(left, right)
BilinearResize(1920, 1080)
No problem at all with the NetBlender demo ISO, but as you can see above, that doesn't work well with the Ice Age 3 BD. (In addition, Ice Age 3 has the left and right view inverted, but that's not a problem.)
Anyway, that confirms that the Intel SDK could be a good solution for us. With some coding, it should be possible to convert it to an avisynth plugin that will work with most BDs, without the need to produce large intermediate files, and (probably) without seek problems. It should even be possible to encode directly from the BD without having to write any file on disc, with the help of pipes.
We can also hope that the "Ice Age 3 bug" will be fixed by Intel. If it's not the case, we have the source code, and we can try to find and fix the bug. (Unfortunately, I can't help on that point. I'm not a C++ coder, and I know nothing in decoder programming.)
I wonder what makes Ice Age 3 so difficult to decode. Someone has an idea?
jj666
29th May 2013, 16:04
I wonder what makes Ice Age 3 so difficult to decode. Someone has an idea?
I have the Ice Age 3 disk that was bundled with the Panasonic players - this is also not processable in Scenarist (I forget which error but a missing flag in the H264 stream or similar). Is this also the version you were trying r0lz? Or a store bought Ice Age 3, which I assume would be a different encode.
Cheers,
-jj-
Thalyn
29th May 2013, 16:05
Slavanap: Given your newest build a bit of a run, but I'll be damned if I can get the auto-detection to work properly. I'm not sure whether it's just not working right with branched movies but I've had all sorts of results from around 100 frames less than there should be to almost 200 more. Not to mention it takes a lot longer to suss it out than DirectShowSource (not the MVC variant) does - many minutes against a second at most, even with only a single source file. This has subsequently limited my testing also of branched sources.
On the plus side, it's working fabulously with single-file sources whether they're CombineMVC output or raw SSIF files; provided I copy them off the BluRay first. I tried going straight from the disc once... let's just say that I could have copied it to the harddrive and run the transcode three times over with a couple hours to spare in the time it would have taken to go direct from the disc just once.
I do like the sounds of that Intel decoder, though - and the encoder as well, if I'm honest. It would be nice not having to jump through hoops and having an MVC encoder would also mean being able to store my 3D movies in more backwards-compatible format. Frame Sequential might get the same or better compression but if you play it back through something that's not FS-aware than you're not going to have a good time, where MVC is transparent if it's unrecognised.
Definitely some promise there.
A thought on Ice Age, though: Monsters, Inc gave me some weird errors if I worked from the SSIF files (sync issues, missing frames, etc). However, if I worked from the M2TS files, even though they're theoretically the same stuff, it was fine. I had to use MakeMKV to find out what files made up the MVC encode since I don't know how to read playlists yet. Perhaps something you could look into for Ice Age 3?
jdobbs
29th May 2013, 16:14
@slavanap
I'm running the newer version on a job with a huge number of segments right now... it's working great, with an impressive speed improvement over the last release. Sweet. I'll let you know how it works out.I've now done four titles with this version, including one that froze on the previous release. All have completed successfully and I've seen no issues. I haven't tried the automatic framecounts at all, since I get that information easily from the MPLS. In fact, this release has worked so well that I'm considering using it (replacing DirectshowMVCSource) in the next BD Rebuilder release. I need to do more testing, though.
Thanks.
Nico8583
29th May 2013, 16:30
I would like to make a little survey on 3D users : have you compared a true BD3D and the same movie in half SBS or half TB format ? If yes, what is the size of your screen/projector and have you found any difference ? Thanks !
jdobbs
29th May 2013, 16:41
I have a 60" Samsung ES7150 3D display. I can definitely see the difference between half SBS and the original full HD 3D disc... but frankly you have to look for it, and if you weren't looking for it you probably wouldn't notice.
PurpleMan
29th May 2013, 16:59
I have a 60" Samsung ES7150 3D display. I can definitely see the difference between half SBS and the original full HD 3D disc... but frankly you have to look for it, and if you weren't looking for it you probably wouldn't notice.
I agree. I'm with a 65" Panasonic ST50 and you *really* have to look for it. Keep in mind that most people can't tell the difference between 720p and 1080p, and that even half the effective resolution of 1080p (such as what you get with SBS-3D) is still more pixels than a 720p equivalent.
1280x720 = 921,600 pixels of image data.
960x1080 (half SBS) = 1,036,800 pixels of image data.
frencher
29th May 2013, 21:48
"Ice age 3" is 3DBD of Panasonic, the Intel MVC decoder have same problem of Stere oscopic player and MVCtoAVI ;)
Ice age 3 demo original (http://ul.to/zdq2bgud)
Ice age 3 demo recoded with Intel MVC Decoder (http://ul.to/5bsx3g3r) (Start_sample_multi_transcode_x64.cmd)
I have the Ice Age 3 disk that was bundled with the Panasonic players - this is also not processable in Scenarist (I forget which error but a missing flag in the H264 stream or similar). Is this also the version you were trying r0lz? Or a store bought Ice Age 3, which I assume would be a different encode.
Cheers,
-jj-
I have the same version too. I would appreciate if you can try it with Scenarist again and post here the error message. If we know why it doesn't work well with the MVC decoders, perhaps we'll find a workaround. Thanks in advance.
Rumbah
29th May 2013, 22:51
I have a Philips 47'' tv and for me there isn't any difference between full hd 3d and half TB as it uses polarization and halves the vertical resolution anyway for 3d ;)
But I don't notice the resolution loss except for stills where you can see the stair steps.
frencher
29th May 2013, 23:07
I bring full attention to the use of the SDK Intel MVC and all programmers interested in working for avisynth dll
http://static.pcinpact.com/images/bd/news/mini-97270-intel-media-sdk-3-0.png
jdobbs
30th May 2013, 00:33
I've now done four titles with this version, including one that froze on the previous release. All have completed successfully and I've seen no issues. I haven't tried the automatic framecounts at all, since I get that information easily from the MPLS. In fact, this release has worked so well that I'm considering using it (replacing DirectshowMVCSource) in the next BD Rebuilder release. I need to do more testing, though.
Thanks.Unfortunately it appears that most of the multi-part output that I've done with ssifsource3() appears to be losing or adding frames and the left/right pictures are falling out of sync. Is anyone else experiencing this? It appears it may be happening at the points where the multiple segments are joined -- but I'm not sure yet.
Thalyn
30th May 2013, 06:24
That sounds fairly similar to my to my experiences when I managed to get it to work, Jdobbs. I suspected the issues I was encountering were along the joins, and I suspect it's something related to why the framerates were showing incorrectly with the auto-detect. Of course, the two could be entirely unrelated as well - I honestly don't know enough about decoding to even make an educated guess.
jdobbs
30th May 2013, 13:39
That sounds fairly similar to my to my experiences when I managed to get it to work, Jdobbs. I suspected the issues I was encountering were along the joins, and I suspect it's something related to why the framerates were showing incorrectly with the auto-detect. Of course, the two could be entirely unrelated as well - I honestly don't know enough about decoding to even make an educated guess. I'm not using autodetect, so I'm positive the framecounts are correct. I'm not sure why it is going out-of-sync.
I wonder if its possible that the cut points don't necessarily fall on a frame boundary (e.g. the main view of a frame may be in one SSIF and the dependent view in the following)? I noticed that sync was also an issue with DirectshowMVCSource() before I started combining the multiple SSIF files prior to encoding.
@slavanap
Is there a way to simply read the multiple files sequentially as if they were one unit as opposed to specifying a framecount for each file independently?
slavanap
30th May 2013, 23:33
Can you upload the two exes or give the link to download the previous ssifsource package? I'm not sure I have the correct versions of the exes.
Here it is. The first ssifSource package:
http://sendfile.su/548123
I know. I hate DVDFab's h264 encoder, but the other things it does can be useful.
I installed and used it only to test if its MVC decoding engine has the same bug than CoreAVCDecoder (and also to test if a badly authored Ice Age 3 3DBD could be the culprit). Since DVDFab can correctly decode the MVC stream, I can only deduce that there is a bug in CoreAVCDecoder. However, there must be something strange or new in the Ice Age 3 BD, as all encodings of other 3DBDs I did were successful.
And if you play that with PowerDVD? Or PM me the link to the source, I'll test it.
Slavanap: Given your newest build a bit of a run, but I'll be damned if I can get the auto-detection to work properly. I'm not sure whether it's just not working right with branched movies but I've had all sorts of results from around 100 frames less than there should be to almost 200 more. Not to mention it takes a lot longer to suss it out than DirectShowSource (not the MVC variant) does - many minutes against a second at most, even with only a single source file. This has subsequently limited my testing also of branched sources.
Thaky you for testing. It looks like there is no way to make CoveAVC return correct timings then. I'll make a solution when ssifSource extracts framecount from referenced .m2ts file with DSS2 in new version of ssifSource.
I've now done four titles with this version, including one that froze on the previous release. All have completed successfully and I've seen no issues. I haven't tried the automatic framecounts at all, since I get that information easily from the MPLS. In fact, this release has worked so well that I'm considering using it (replacing DirectshowMVCSource) in the next BD Rebuilder release. I need to do more testing, though.
Thanks.
Thank you for testing!
I'm not using autodetect, so I'm positive the framecounts are correct. I'm not sure why it is going out-of-sync.
I wonder if its possible that the cut points don't necessarily fall on a frame boundary (e.g. the main view of a frame may be in one SSIF and the dependent view in the following)? I noticed that sync was also an issue with DirectshowMVCSource() before I started combining the multiple SSIF files prior to encoding.
@slavanap
Is there a way to simply read the multiple files sequentially as if they were one unit as opposed to specifying a framecount for each file independently?
I actually did it in ssifSource3. If the frames requested sequentially in foreign software, then it requested sequentially in ssifSource2 and ssif files loading/unloading procedure happens only at borders. Could your encoder request frames not sequentially?
Anyway I'll double check it asap. And, because of precise frame detection do not work, there is some code to delete.
As for Intel Decoder solution, I have thoughts about it, just need time to figure out how that decoder works.
jdobbs
31st May 2013, 00:43
I actually did it in ssifSource3. If the frames requested sequentially in foreign software, then it requested sequentially in ssifSource2 and ssif files loading/unloading procedure happens only at borders. Could your encoder request frames not sequentially?
Anyway I'll double check it asap. And, because of precise frame detection do not work, there is some code to delete.Hmm.. I've been using two ssifSource3() statements in an AVISYNTH script to pull in left/right individually. I may try simply pulling them in together horizontally stacked and see if that corrects the sync issues.
slavanap
31st May 2013, 01:51
Hmm.. I've been using two ssifSource3() statements in an AVISYNTH script to pull in left/right individually. I may try simply pulling them in together horizontally stacked and see if that corrects the sync issues.
If this does not solve the issue, then please give me an example to debug it.
http://sendfile.su/819355
I've deleted the seeking solution based on frame timings. Now directshow does all the seeking work.
jdobbs
31st May 2013, 02:30
If this does not solve the issue, then please give me an example to debug it.
http://sendfile.su/819355
I've deleted the seeking solution based on frame timings. Now directshow does all the seeking work.The source I've been using the most in testing is "Toy Story 3D", but I had the same issue with almost every multipart disc.
I'll do the testing tomorrow and let you know how it works out.
Here it is. The first ssifSource package:
http://sendfile.su/548123Thanks!
And if you play that with PowerDVD? Or PM me the link to the source, I'll test it.I don't have (and don't want) PowerDVD.
Anyway, I'm pretty sure now that that specific Ice Age 3 3DBD has a bug in the MVC stream (and perhaps also in some subtitle streams, as you can see here (http://forum.doom9.org/showthread.php?p=1630830#post1630830)).
See your PMs.
As for Intel Decoder solution, I have thoughts about it, just need time to figure out how that decoder works.Very good news! Thanks.
minhjirachi
31st May 2013, 11:14
I have a problem when mount convert the right.h264 to .avi. I open the right.avi, the screen is green from the beginning to the end.
If I mux the right.h264 to .mkv file. The mkv says: "Command line used:
"C:\Program Files (x86)\MKVToolNix\mkvmerge.exe" --output-charset UTF-8 --identify-for-mmg "D:\Temp\right.h264"
Output:
Error: File D:\Temp\right.h264 has unknown type. Please have a look at the supported file types ('mkvmerge --list-types') and contact the author Moritz Bunkus <moritz@bunkus.org> if your file type is supported but not recognized properly."
So how to fix this problem?
Thank you,
Welcome to Doom9, minhjirachi.
How did you get or encode that right.h264 file? Did you simply demux it? Usually, the right eye view is the MVC stream (dependent view), and it cannot be rendered without the AVC stream (base view). So, you have to either use the left.h264 file, or encode the right.h264 file directly from the 3DBD. It is not sufficient to demux it.
You can encode the MVC stream with DB3D2MK3D. Select the "Monoscopic 2D: Right only" option in the last tab. But IMO, you should encode the left view. It's much more simple, and rapid. And you can mux it directly to MKV (with the audio, subtitles and chapter points) without re-encoding if you double-click the _MUX_2D.cmd file at the end of the DB3D2MK3D process. You can't do that with the right view.
This version contains mainly several workarounds for bugs in third party exes. It fixes also the problem of the inverted left/right views with some BDs.
# v0.18 (March 5, 2013)
# - When encoding with x264 64-bit, 100 frames are now added in the AVS script but not encoded, to avoid x264 crashes in 2-pass mode.
# - When encoding with x264 64-bit, -frames N is now added in the avs2yuv command, to avoid the "wrote only" x264 error message.
# - Removed the contSPS ("Continually insert SPS/PPS") option when muxing the combined.h264 stream to M2TS with tsMuxeR, becauses it causes crashes with some DBs.
# v0.19 (May 30, 2013)
# - Workaround for the inverted left/right views eac3to bug with some 3D titles.
# - Workaround for a BDSup2Sub++ bug when converting SUP with fades to 3D SUBs.
# - The left and right streams are nor correctly handled, thanks to jdobbs.
This version doesn't use the new ssifsource3 command yet. But I have updated the ssifsource2.dll file to the latest ssifsource3 beta. It should work (in ssifsource2 mode), but I haven't tested it.
I'm waiting for a stable version of ssifsource3 to use it in my code. It should fix the problem of the DirectShow timeout with MPLS made of several SSIF files. This version of BD3D2MK3D (v0.19) is therefore probably the last one that will use ssifsource2. Grab it if you want to keep the ssifsource2 support.
Download: BD3D2MK3D.7z (http://download.videohelp.com/r0lZ/BD3D2AVS/BD3D2MK3D.7z)
minhjirachi
31st May 2013, 13:07
Welcome to Doom9, minhjirachi.
How did you get or encode that right.h264 file? Did you simply demux it? Usually, the right eye view is the MVC stream (dependent view), and it cannot be rendered without the AVC stream (base view). So, you have to either use the left.h264 file, or encode the right.h264 file directly from the 3DBD. It is not sufficient to demux it.
You can encode the MVC stream with DB3D2MK3D. Select the "Monoscopic 2D: Right only" option in the last tab. But IMO, you should encode the left view. It's much more simple, and rapid. And you can mux it directly to MKV (with the audio, subtitles and chapter points) without re-encoding if you double-click the _MUX_2D.cmd file at the end of the DB3D2MK3D process. You can't do that with the right view.
Thank you very much. I want to take the .avi file of the dependent view.
I have the left.avi and I use the bioMVC.dll to get the right.avi. But the screen of the right.avi is green and I don't know how to fix it. I will try your software. I don't know it works or not. Reply to you later.
minhjirachi
31st May 2013, 15:11
Welcome to Doom9, minhjirachi.
How did you get or encode that right.h264 file? Did you simply demux it? Usually, the right eye view is the MVC stream (dependent view), and it cannot be rendered without the AVC stream (base view). So, you have to either use the left.h264 file, or encode the right.h264 file directly from the 3DBD. It is not sufficient to demux it.
You can encode the MVC stream with DB3D2MK3D. Select the "Monoscopic 2D: Right only" option in the last tab. But IMO, you should encode the left view. It's much more simple, and rapid. And you can mux it directly to MKV (with the audio, subtitles and chapter points) without re-encoding if you double-click the _MUX_2D.cmd file at the end of the DB3D2MK3D process. You can't do that with the right view.
It's work. Your tool really greate. When it using the x264, it takes a lot of CPU resource and I have turn on the air-conditioner for it. Now I can get the dependent file.
Thank you so much!
Wolfy59
31st May 2013, 16:09
Hi all. Is it possible to have a little programme that only return which view was the main view and which view is the dependent view just by scanning the 3d bd.
Thanks for all
frencher
31st May 2013, 17:09
As for Intel Decoder solution, I have thoughts about it, just need time to figure out how that decoder works.
It is true that the work would be much easier and am delighted for your interest in the Intel MVC decoding :rolleyes:
Very good news slavanap ;)
minhjirachi
31st May 2013, 18:54
This version contains mainly several workarounds for bugs in third party exes. It fixes also the problem of the inverted left/right views with some BDs.
This version doesn't use the new ssifsource3 command yet. But I have updated the ssifsource2.dll file to the latest ssifsource3 beta. It should work (in ssifsource2 mode), but I haven't tested it.
I'm waiting for a stable version of ssifsource3 to use it in my code. It should fix the problem of the DirectShow timeout with MPLS made of several SSIF files. This version of BD3D2MK3D (v0.19) is therefore probably the last one that will use ssifsource2. Grab it if you want to keep the ssifsource2 support.
Download: BD3D2MK3D.7z (http://download.videohelp.com/r0lZ/BD3D2AVS/BD3D2MK3D.7z)
I don't know why I use your tool. The file .264 is too small (2GB). I don't know because its type or something. I use the clownbd, the file .h264 is very big. It about 8GB. Is it normal? Or is it change the bitrate of the movie?
minhjirachi
1st June 2013, 02:21
You're welcome. :-)
Can you tell me why it have a different size? Because I want to take the .264 file and mux it to .mkv with the original file size.
Hi all. Is it possible to have a little programme that only return which view was the main view and which view is the dependent view just by scanning the 3d bd.
Thanks for all
BD3D2MK3D v0.19 does it. When you load the BD, it removes the "(left eye)" and "(right eye)" strings from the eac3to output (as they are wrong), but as soon as you click "Get Streams Info" or you go to tab 2, you'll see them again, and they are correct.
Note also that you can find in which M2TS file(s) the AVC and MVC streams are stored with the menu "Tools -> Find dependent-view (MVC) file(s)".
Can you tell me why it have a different size? Because I want to take the .264 file and mux it to .mkv with the original file size.
Oops, sorry, I haven't seen your last replies.
I've explained that the 2nd video stream (usually the right view) is a MVC stream. A 3D BD is made of 2 views. One of the two views (usually the left view) is encoded in h264 "normally". It's the "base view", encoded in AVC (Advanced Video Codec). It's a "standalone" video stream. You can simply extract it from the BD and put it in a MKV container without having to re-encode it, and most players will be able to play it.
In the other hand, the other stream (usually the right view) is the "dependent view", encoded in MVC (Multi-view Video Codec). It contains only the differences between the left and right views. Since it doesn't contain the complete information but just the changes in the right image in comparison to the left image, it can be much more compressed than the AVC view. But that means also that it is totally impossible to play it without the AVC stream. Therefore, it doesn't make sense to store the MVC view only in a MKV (or AVI) container, as no player will be able to play it. If you want to make a video with the MVC stream only, you MUST re-encode it. It's what BD3D2MK3D does when you select "Monoscopic 2D: Dependent view only" as the Stereoscopy mode. The final file size depends of the x264 encoding parameters.
So, either you really want to put the unmodified MVC stream in an AVI container, and it's totally useless as it's not playable, or you must re-encode it from the right AND left views, and the file size will certainly be different than the original MVC stream.
minhjirachi
1st June 2013, 11:02
Oops, sorry, I haven't seen your last replies.
I've explained that the 2nd video stream (usually the right view) is a MVC stream. A 3D BD is made of 2 views. One of the two views (usually the left view) is encoded in h264 "normally". It's the "base view", encoded in AVC (Advanced Video Codec). It's a "standalone" video stream. You can simply extract it from the BD and put it in a MKV container without having to re-encode it, and most players will be able to play it.
In the other hand, the other stream (usually the right view) is the "dependent view", encoded in MVC (Multi-view Video Codec). It contains only the differences between the left and right views. Since it doesn't contain the complete information but just the changes in the right image in comparison to the left image, it can be much more compressed than the AVC view. But that means also that it is totally impossible to play it without the AVC stream. Therefore, it doesn't make sense to store the MVC view only in a MKV (or AVI) container, as no player will be able to play it. If you want to make a video with the MVC stream only, you MUST re-encode it. It's what BD3D2MK3D does when you select "Monoscopic 2D: Dependent view only" as the Stereoscopy mode. The final file size depends of the x264 encoding parameters.
So, either you really want to put the unmodified MVC stream in an AVI container, and it's totally useless as it's not playable, or you must re-encode it from the right AND left views, and the file size will certainly be different than the original MVC stream.
Thank you so much!
Wolfy59
1st June 2013, 12:35
BD3D2MK3D v0.19 does it. When you load the BD, it removes the "(left eye)" and "(right eye)" strings from the eac3to output (as they are wrong), but as soon as you click "Get Streams Info" or you go to tab 2, you'll see them again, and they are correct.
Note also that you can find in which M2TS file(s) the AVC and MVC streams are stored with the menu "Tools -> Find dependent-view (MVC) file(s)".
Thanks i will try with the next bd3d i will Buy
jdobbs
1st June 2013, 16:26
Unfortunately it appears that most of the multi-part output that I've done with ssifsource3() appears to be losing or adding frames and the left/right pictures are falling out of sync. Is anyone else experiencing this? It appears it may be happening at the points where the multiple segments are joined -- but I'm not sure yet.@slavanap
I kept having issues with right/left sync with ssifsource3 and multipart sources. So I decided to fall back to DirectshowMVCSource() -- only to find that it was also now out of sync (after many successful runs). So I started looking at other changes to the process, which included the updated CoreAVCDecoder.dll.
On my last job I switched back to v2.1.0.1 of the coreavcdecoder.dll (from v3.0.0.2) -- and now the output (from ssifsource3) is in-sync.
It's pretty hard to say definitively that the issue was in the newer DLL after running only one job -- but it certainly is a coincidence that after several out-of-sync jobs the first one I ran with the older DLL is suddenly back in sync.
More to come with further testing.
I post my original message to let you know (and because I've typed it), but I've found the problem. See at the end of this post.
I did an small encode with ssifsource3() (with the "old" CoreAVCDec), but unfortunately, it failed completely. The movie is made of only one SSIF part. Its duration is about 0:03:24. I have given the number of frames in the command line: 4898.
The first second of the video contains the beginning of the original video, but there are many duplicates, sometimes in the left (AVC) view, sometimes in the right view. The 4th image of the right view is already wrong. But the 5th image seems correct. Then, the 2 views are almost always out of sync, with duplicates in either the left or right view every 2 or 3 images.
Then, during the next second of video, I can see some frames apparently picked randomly from the remaining part of the original video. It seems that the encoder did seeks to pick one image approximately every 200 images. After that second, a black frame (probably the last frame of the original video) is repeated up to the end of the video.
There is something I don't understand at all. When I preview the AVS script with AvsPMod, the playback is perfectly correct! (Of course, AvsPMod is in the "magic path".) But when I encode it, the result is terrible. I wonder why!
Here is the script I've used:
LoadPlugin("D:\Tools\BD3D2MK3D\toolset\stereoplayer.exe\SsifSource2.dll")
SsifSource3("Z:\BDMV\STREAM\SSIF\00000.ssif;4898", avc_view = true, mvc_view = true, horizontal_stack = true, swap_views = 0)
AssumeFPS("ntsc_film")
BilinearResize(1920, 1080)
I have also tried to replace the number of frames with 0. Same problem. And again, it works fine in AvsPMod!
I have tried also ssifsource2(), and it seems to work correctly, even when doing seeks in AvsPMod. That's great. :-)
[EDIT] OK, the problem is caused by the fact that I was encoding with avs2yuv and x264_x64. Unfortunately, ssifsource3() is (currently) totally incompatible with avs2yuv. Pity, but it's not so bad. The test I did with x264 32-bit worked perfectly. I'm still wondering why ssifsource2() works in 64-bit mode, but not ssifsource3(). Both can do seeks now, and I have supposed that the problem was due to the new seek support, but apparently, it's not the case.
frencher
2nd June 2013, 00:17
I have made smal tool for extract chapters from mpls to tsMuxer & mkvmergeGUI compiled in x86 & x64 for extrem speed
Chapters Extractor by Web Free Software (http://ul.to/okjux9rb)
"Chapters Extractor x86.exe" -i "F:\BDMV\PLAYLIST\00800.mpls" -o ".\Out"
or
"Chapters Extractor x64.exe" -i "F:\BDMV\PLAYLIST\00800.mpls" -o ".\Out"
Out_MKVmerge.txt
CHAPTER01=00:00:00.000
CHAPTER01NAME=
CHAPTER02=00:07:22.817
CHAPTER02NAME=
CHAPTER03=00:14:31.996
CHAPTER03NAME=
CHAPTER04=00:22:22.967
CHAPTER04NAME=
CHAPTER05=00:31:52.619
CHAPTER05NAME=
CHAPTER06=00:40:13.661
CHAPTER06NAME=
CHAPTER07=00:45:14.295
CHAPTER07NAME=
CHAPTER08=00:52:43.494
CHAPTER08NAME=
CHAPTER09=01:00:40.846
CHAPTER09NAME=
CHAPTER10=01:06:41.122
CHAPTER10NAME=
Out_tsMuxeR.txt
00:00:00.000
00:07:22.817
00:14:31.996
00:22:22.967
00:31:52.619
00:40:13.661
00:45:14.295
00:52:43.494
01:00:40.846
01:06:41.122
jdobbs
2nd June 2013, 03:58
@slavanap
I kept having issues with right/left sync with ssifsource3 and multipart sources. So I decided to fall back to DirectshowMVCSource() -- only to find that it was also now out of sync (after many successful runs). So I started looking at other changes to the process, which included the updated CoreAVCDecoder.dll.
On my last job I switched back to v2.1.0.1 of the coreavcdecoder.dll (from v3.0.0.2) -- and now the output (from ssifsource3) is in-sync.
It's pretty hard to say definitively that the issue was in the newer DLL after running only one job -- but it certainly is a coincidence that after several out-of-sync jobs the first one I ran with the older DLL is suddenly back in sync.
More to come with further testing.Well scratch this. I've just run another job (on the same source) that is out of sync. So coincidence it is.
This is frustrating.
minhjirachi
2nd June 2013, 04:01
Anyone know how to demux the menu of the 3D Bluray Disc? Has any software can do this job?
Wolfy59
2nd June 2013, 07:39
Hi all, I used BD3D2MK3D to have two Mkv with the base view and the dep view (thanks to r0lz For his work).
Now when I click to get stream info, it seems to be the right eye that is the base view.
I want to know if now that i have the two streams may i change the order to encoding (right eye become the left eye and the left eye become the right eye) ?
Just to have a BD3D with left eye for base
Thanks and sorry for my poor english
Well scratch this. I've just run another job (on the same source) that is out of sync. So coincidence it is.
This is frustrating.
I can confirm that sync problem with ssifsource3() and any version of CoreAVCDec.
Hi all, I used BD3D2MK3D to have two Mkv with the base view and the dep view (thanks to r0lz For his work).
Now when I click to get stream info, it seems to be the right eye that is the base view.
I want to know if now that i have the two streams may i change the order to encoding (right eye become the left eye and the left eye become the right eye) ?
Just to have a BD3D with left eye for base
Thanks and sorry for my poor english
You can use the Intel SDK to re-encode the two h264 streams (in any order) to AVC/MVC combined stream. But you'll lose quality. And I don't know how to rebuild the M2TS, SSIF and MPLS streams, and the BD structure, from the new combined stream.
IMO, you should keep the original BD as it is. As we know (thanks to jdobbs), the Right/Left views order is perfectly legit.
Wolfy59
2nd June 2013, 08:49
As we know (thanks to jdobbs), the Right/Left views order is perfectly legit.
Ok But must i have to change the view order to my 3D tv Manually or it s automatic ?
And May it be possible to add a batch processing to your BD3D2MK3D.
With it, it will be possible to create a batch with the 2 separate view before i m going to sleep :-).
Thanks
If you play the original 3DBD with a good BD player, the order should be switched automatically. It's the responsibility of the BD player to send the images in the correct order to the TV (or to give the correct information with the streams, I don't know exactly).
If you play a 3D SBS or T&B file created by BD3D2MK3D, the TV should be able to select the left/right views automatically too, as the correct information is in the MKV header, but unfortunately, many TVs ignore that information. Anyway, the latest version of BD3D2MK3D (v0.19) restores the right order automatically, so if you have selected, for example, "SBS, left first", the left view will be first, even if the left/right views order is inverted in the original BD.
I don't know what you are doing with the 2 separate views. If you compose them to recreate a new 3DBD, you should compose them in the right order, or set the left/right order flag correctly in your 3DBD authoring software.
I don't have plans to implement batch processing with BD3D2MK3D, but it's easy to do manually. Just create the two projects. (Be sure to rename the output directory after having generated the project for the first view, as otherwise it will be overwritten by the second project.) Then, create a batch file to launch the 2 "_ENCODE.cmd" commands. You MUST CD to the directory containing the project before! For example, this batch should work:
CD /d "D:\BD3D2MK3D_projects\MyBD\00000_m2ts_AVC"
cmd /c _ENCODE.cmd
CD /d "D:\BD3D2MK3D_projects\MyBD\00000_m2ts"
cmd /c _ENCODE.cmd
In the first project, you must delete or rename the _POSTPROCESS.cmd file, as otherwise, the batch will stop after the first encoding (or shut the PC down if you have selected that option in the GUI).
I haven't tested that method, but it should work. If it doesn't work, try to replace the two "_ENCODE.cmd" commands with "cmd /c _ENCODE.cmd". [EDIT] You MUST do it.
Wolfy59
2nd June 2013, 09:39
If you play the original 3DBD with a good BD player, the order should be switched automatically. It's the responsibility of the BD player to send the images in the correct order to the TV (or to give the correct information with the streams, I don't know exactly).
If you play a 3D SBS or T&B file created by BD3D2MK3D, the TV should be able to select the left/right views automatically too, as the correct information is in the MKV header, but unfortunately, many TVs ignore that information. Anyway, the latest version of BD3D2MK3D (v0.19) restores the right order automatically, so if you have selected, for example, "SBS, left first", the left view will be first, even if the left/right views order is inverted in the original BD.
I don't know what you are doing with the 2 separate views. If you compose them to recreate a new 3DBD, you should compose them in the right order, or set the left/right order flag correctly in your 3DBD authoring software.
I don't have plans to implement batch processing with BD3D2MK3D, but it's easy to do manually. Just create the two projects. (Be sure to rename the output directory after having generated the project for the first view, as otherwise it will be overwritten by the second project.) Then, create a batch file to launch the 2 "_ENCODE.cmd" commands. You MUST CD to the directory containing the project before! For example, this batch should work:
CD /d "D:\BD3D2MK3D_projects\MyBD\00000_m2ts_AVC"
_ENCODE.cmd
CD /d "D:\BD3D2MK3D_projects\MyBD\00000_m2ts"
_ENCODE.cmd
In the first project, you must delete or rename the _POSTPROCESS.cmd file, as otherwise, the batch will stop after the first encoding (or shut the PC down if you have selected that option in the GUI).
I haven't tested that method, but it should work. If it doesn't work, try to replace the two "_ENCODE.cmd" commands with "cmd /c _ENCODE.cmd".
Thanks for your answers and your help:D
You're welcome.
I've just tested the method (with just "_ENCODE.cmd"), and it doesn't work. You HAVE to use "cmd /c _ENCODE.cmd" in your batch file. (I have modified the code in my previous post accordingly.)
Be sure to mount your ISO(s) before launching the command, of course! Also, if you want to encode 2 projects from different BDs, you must mount the two ISOs. In that case, the drive letter of the second mounted ISO can be different than the original drive letter (when you have created the project) and you may have to change it in the AVS script.
Also, I forgot to say that if you don't need the MKV file, you can also delete or rename the _MUX_3D.cmd file(s), or you can untick the "Mux to MKV" option in the BD3D2MK3D GUI. When that file is not present, the _ENVODE.cmd batch stops when the encoding to h264 is finished.
Also, you don't need to demux the audio and subtitle streams in both projects. You can do it just in one project, and untick all streams in the other project. The generation of the second project will be much more rapid.
Sharc
2nd June 2013, 11:01
BD3D2MK3D:
I made a combined.m2ts from a BD MVC source (ssif).
- 2D and 3D Playback with Stereoscopic Player 2.0.6 fail (black picture with CPU at 50%)
- 2D (base view) playback with MPC-HC works, and playback is smooth
Now using the temporary _combined_TEMP.h264:
- 2D playback with Stereoscopic Player works with stroboscopic effect (jitter rather than smooth playback)
- 3D playback with Stereoscopic Player works with some jitter, but 3D effect (depth) is poor compared to watching the original with the same settings of the Stereoscopic Player.
I just thought to report this back.
BD3D2MK3D:
BD3D2MK3D is only a GUI for MVCCombine.exe, and doesn't do anything special.
I don't know why Stereoscopic Player fails, but I use the Combined.m2ts file only for converting it to SBS when there are too many SSIF files in the MPLS, and DirectShowMVCSource or ssifsource2 fail. For that conversion, the combined m2ts has always worked fine.
Sharc
2nd June 2013, 18:57
BD3D2MK3D is only a GUI for MVCCombine.exe, and doesn't do anything special.
I don't know why Stereoscopic Player fails, but I use the Combined.m2ts file only for converting it to SBS when there are too many SSIF files in the MPLS, and DirectShowMVCSource or ssifsource2 fail. For that conversion, the combined m2ts has always worked fine.
Understood, no problem; thanks again for BD3D2MK3D :)
Wolfy59
3rd June 2013, 07:58
You're welcome.
I've just tested the method (with just "_ENCODE.cmd"), and it doesn't work. You HAVE to use "cmd /c _ENCODE.cmd" in your batch file. (I have modified the code in my previous post accordingly.)
Be sure to mount your ISO(s) before launching the command, of course! Also, if you want to encode 2 projects from different BDs, you must mount the two ISOs. In that case, the drive letter of the second mounted ISO can be different than the original drive letter (when you have created the project) and you may have to change it in the AVS script.
Also, I forgot to say that if you don't need the MKV file, you can also delete or rename the _MUX_3D.cmd file(s), or you can untick the "Mux to MKV" option in the BD3D2MK3D GUI. When that file is not present, the _ENVODE.cmd batch stops when the encoding to h264 is finished.
Also, you don't need to demux the audio and subtitle streams in both projects. You can do it just in one project, and untick all streams in the other project. The generation of the second project will be much more rapid.
Hi r0lz, i did the 2 raw streams with BD3D2MK3D with cq 0 quality, no need batch :-). In 1h the two streams were in my Hdd (2h10 movie).
I tested mvccombine too and what a speed now just 8mn to have my h264 stream.
Thanks to all the people that make that possible
Wow, that's fast!
BTW, I wonder if you really need to re-encode the AVC stream. You can just grab it from the BD. (Use _MUX_2D.cmd to mux it to MKV, or tick the Demux the AVC stream option in tab 2, or use eac3to manually). However, I don't know if it is necessary to encode the 2 views in a similar way. That depends probably of what you are doing with them.
Wolfy59
3rd June 2013, 15:16
Wow, that's fast!
BTW, I wonder if you really need to re-encode the AVC stream. You can just grab it from the BD. (Use _MUX_2D.cmd to mux it to MKV, or tick the Demux the AVC stream option in tab 2, or use eac3to manually). However, I don't know if it is necessary to encode the 2 views in a similar way. That depends probably of what you are doing with them.
Using 2 raw streams to rebuild a 3D BD25
So, you will re-encode them anyway, and it is much more rapid to demux and re-encode the original AVC stream directly. (And you'll need less disc space.)
Wolfy59
4th June 2013, 06:58
So, you will re-encode them anyway, and it is much more rapid to demux and re-encode the original AVC stream directly. (And you'll need less disc space.)
Yes I can, but I don't know if there is a lost in quality in the final project. I saw somewhere that the dependent view must have half base view bitrate. And in this project the dependent bitrate is lower than the half base bitrate.
How can i calculate that ?
Base View 31 Go
Dep View 10 Go
I'm not sure I understand your question. To rebuild a 3DBD, you must re-encode both streams at the same time with a MVC encoder. You cannot encode the base view (for example with x264) and then the dep view and lower the bit rate for the dep view. I don't know many MVC encoders (in fact, I've just tested once the Intel encoder of the SDK), and with that encoder, you cannot specify the bitrate of the 2 streams independently. The "bitrate gain" in the dep view in comparison to the left view is determined by the encoder itself and the amount of difference in the two views. It might be true that the dep view bitrate is usually about half the bitrate of the base view, but IMO, it's only a coincidence.
BTW, the Intel SDK has exactly what you need to re-create the AVC/MVC streams for your BD25. Extract the original streams to a combined.h264 file with eac3to and MVCCombine (or with the GUI integrated in BD3D2MK3D), then re-encode that combined.h264 file to another combined h264 file with the sample_multi_transcode exe from the SDK. I'm not sure it's a good encoder, but it works, and you don't need to encode the original streams to two huge lossless streams first.
sample_multi_transcode_x64.exe -i::mvc OrigMVCCombined.h264 -o::mvc TargetMVCCombined.h264 -w 1920 -h 1080 -f 23.976 -b 12000 -u 1
As you can see, you can only specify a global bitrate for the 2 streams.
Wolfy59
4th June 2013, 08:36
I'm not sure I understand your question. To rebuild a 3DBD, you must re-encode both streams at the same time with a MVC encoder. You cannot encode the base view (for example with x264) and then the dep view and lower the bit rate for the dep view. I don't know many MVC encoders (in fact, I've just tested once the Intel encoder of the SDK), and with that encoder, you cannot specify the bitrate of the 2 streams independently. The "bitrate gain" in the dep view in comparison to the left view is determined by the encoder itself and the amount of difference in the two views. It might be true that the dep view bitrate is usually about half the bitrate of the base view, but IMO, it's only a coincidence.
BTW, the Intel SDK has exactly what you need to re-create the AVC/MVC streams for your BD25. Extract the original streams to a combined.h264 file with eac3to and MVCCombine (or with the GUI integrated in BD3D2MK3D), then re-encode that combined.h264 file to another combined h264 file with the sample_multi_transcode exe from the SDK. I'm not sure it's a good encoder, but it works, and you don't need to encode the original streams to two huge lossless streams first.
As you can see, you can only specify a global bitrate for the 2 streams.
I use totalcode pro to encode the mvc and the d.mvc view and i can fix an average bitrate for each view but I don't know if using a half bitrate for the dep view is necessary or if I can use lower bitrate.
All movies I did seems good but Increase the avc bitrate by using a lower mvc bitrate is a good solution to have better 3D BD25.
Thanks for your help and you work
Sharc
4th June 2013, 21:50
Intel SDK Multi_Transcode exits with:
Return on error: error code -16, .\src\pipeline_transcode.ccp 719
Any idea what could be wrong?
I got that error too with a combined file, and when I try to render the file with the -r option. I don't know why.
slavanap
5th June 2013, 09:54
Next version of ssifSource lib: http://sendfile.su/821817
* precise seeking removed, now default directshow seeking function does all the work (not frame precise),
* default swap_views value set to 0 (AVC=left, MVC=right),
* mkv files that contains 2 views (mkv files is made by MakeMKV software and perfertly plays in Stereoscopic player) support added. Requires MatroskaSplitter.dll from Stereoscopic player.
@jdobbs, r0lZ
If the sync problem appears in that lib, too, please let me know.
The one difference in process when you extract base view in one AVS-file and dependent view in the other AVS-file is that ssifSource lib doesn't request dependent view from CoreAVC when it isn't necessary (for only base view extraction; to make extraction process faster). So maybe the problem is in that. To force 2 view extraction anytime you can just select 2 views to be extracted and then crop the one you need.
[EDIT] OK, the problem is caused by the fact that I was encoding with avs2yuv and x264_x64. Unfortunately, ssifsource3() is (currently) totally incompatible with avs2yuv. Pity, but it's not so bad. The test I did with x264 32-bit worked perfectly. I'm still wondering why ssifsource2() works in 64-bit mode, but not ssifsource3(). Both can do seeks now, and I have supposed that the problem was due to the new seek support, but apparently, it's not the case.
What do you mean? You mean I need to compile ssifSource2 for x64 architecture? I can do that actually.
Or you mean, that ssifSource2 function works and ssifSource3 function does not work in the same dll? That's really strange to me. ssifSouce3 actually uses ssifSource2, that's why there are both of them in the same library.
What do you mean? You mean I need to compile ssifSource2 for x64 architecture? I can do that actually.No. It might be a good thing to have an x64 version later, for the guys who use Avisynth 64-bit, but it's not really necessary.
Currently, it is possible to encode an AVS script (running with Avisynth 32-bit) with x264_x64.exe if you read the AVS script with avs2yuv.exe and you pipe its output to x264_x64.exe, like this:
"avs2yuv.exe" "script.avs" -o - | "x264_x64.exe" [options] -demuxer y4m --stdin y4m -
Since avs2yuv.exe is a 32-bit app, it can launch the 32-bit avisynth.dll. It decodes the script as uncompressed YUV to stdout, and its output is piped to x264 64-bit. That way, the decoding process (avisynth + avs2yuv) is slow but reliable, and the encoding process takes advantage of the 64-bit architecture of most recent PCs.
Or you mean, that ssifSource2 function works and ssifSource3 function does not work in the same dll? That's really strange to me. ssifSouce3 actually uses ssifSource2, that's why there are both of them in the same library.No, both methods work when the whole process is made in 32-bit. When the avisynth 32-bit dll is called directly by x264.exe (32-bit), there is no problem (except the missing or additional frames, but it's another problem).
But the output is completely wrong when using the avs2yuv + x264_x64 method described above. I don't know why, and I will try again with other BDs, just to confirm, when I'll have some free time. Anyway, your new beta doesn't do the seeks the same way than before, and I suppose the problem will be fixed. I'll let you know...
jdobbs
5th June 2013, 13:27
If the sync problem appears in that lib, too, please let me know.
The one difference in process when you extract base view in one AVS-file and dependent view in the other AVS-file is that ssifSource lib doesn't request dependent view from CoreAVC when it isn't necessary (for only base view extraction; to make extraction process faster). So maybe the problem is in that. To force 2 view extraction anytime you can just select 2 views to be extracted and then crop the one you need. I tried the two view extraction with cropping -- same issue. Actually I'm not sure whether the issue is sssifsource3 or the newest CoreAVCDecoder release. I started having issues with DirectshowMVCSource as well, and it went away when I reverted the decoder to v2.1.0.1 and reripped the source. Unfortunately, though, the ssifsource3 issue seems to have remained.
I'll try again with your new release.
frencher
5th June 2013, 17:46
Next version of ssifSource lib: http://sendfile.su/821817
* precise seeking removed, now default directshow seeking function does all the work (not frame precise),
* default swap_views value set to 0 (AVC=left, MVC=right),
* mkv files that contains 2 views (mkv files is made by MakeMKV software and perfertly plays in Stereoscopic player) support added. Requires MatroskaSplitter.dll from Stereoscopic player.
@jdobbs, r0lZ
If the sync problem appears in that lib, too, please let me know.
The one difference in process when you extract base view in one AVS-file and dependent view in the other AVS-file is that ssifSource lib doesn't request dependent view from CoreAVC when it isn't necessary (for only base view extraction; to make extraction process faster). So maybe the problem is in that. To force 2 view extraction anytime you can just select 2 views to be extracted and then crop the one you need.
What do you mean? You mean I need to compile ssifSource2 for x64 architecture? I can do that actually.
Or you mean, that ssifSource2 function works and ssifSource3 function does not work in the same dll? That's really strange to me. ssifSouce3 actually uses ssifSource2, that's why there are both of them in the same library.
Hello slavanap,
Very very good news, for I am interested in against a x64
I will test soon ;)
PS: It's possible to add audio support with uNicAudio.dll + Source Code.rar (http://ul.to/6k1bhp8m) for playback ?
Thank you
frencher
6th June 2013, 00:23
"MVC Player Free v0.0.1.6" In my signature... :rolleyes:
Old version "MVC Player Free v0.0.1.5" (http://ul.to/7n6gdbvh)
Extract and run directly MVC Player Free.exe or play associated file with MVC Player Free.exe
# Major fix: Long path with "MVC Player Free.exe" now working
# Added: Experimental support of mkv and seek is now fixed with 3D (ssif, m2ts and mkv only) thanks you slavanap for ssifSource2.dll ;)
# Some fixes
Temporary: Don't use eac3to infos
@Slavanap:
But the output is completely wrong when using the avs2yuv + x264_x64 method described above.
Well, I have tried again with the previous beta, and this time, I have had exactly the same result with ssifsource3() than with ssifsource2(). There are still additional or missing frames from time to time, but encoding with x264 32-bit or with avs2yuv and x264_x64 work the same way. I don't understand why, as nothing has changed since my last tests. I remember I've previewed the movie and I did several seeks with AvsPMod before launching the encoding, but that should have no impact. Anyay, consider this problem as solved. If I can reproduce it, I'll let you know.
I did also some tests with the latest beta. Unfortunately, the sync problem persists, but again I don't understand it.
When I preview the AVS script with AvsPMod, all frames are in sync, so everything seems perfect.
But when I encode the movie with avs2yuv and x264_x64, there are 2 additional frames in the MVC stream at the very beginning of the video. (It seems that no dupes are added later, but I'm not sure).
Then I did another test with x264 32-bit, and I've seen a lot of "Duplicate frame added" warnings. I've decided to start again but this time I've added "> x264.log" to the command to capture the error messages. Strangely, there were no warning any more, in the command prompt window or in the log. There are NO additional frames at the beginning any more. :-)
Here is the content of the log:
ssifSource3: adding file Z:\BDMV\STREAM\SSIF\00000.ssif with 0 frames to sequences list. Have to load flag is TRUE
ssifSource2: framecount autodetect mode on. looking for 'Z:\BDMV\STREAM\SSIF\..\00000.M2TS' file...
ssifSource2: DSS2 function does not exists. Please add DSS2 plugin (avss.dll) to Avisynth plugins to make this feature work.
ssifSource2: framecount directshow value is 4898
Is the DSS2 function really necessary? It seems that ssifsource3() works as expected without it. Note also that I have installed the Haali MatroskaSplitter, and it contains the avss.dll file, but it is located in "C:\Program Files (x86)\Haali\MatroskaSplitter". Is it sufficient to move or copy it to the avisynth plugins directory?
Then, I've tried again to encode with x264 32-bit without the redirection to the log file. It tooks a very long time to start the encoding, and again I see the error messages. Here are a few of them:
"D:\NoInstall\BD3D2MK3D\toolset\stereoplayer.exe\x264.exe" --crf 23 --preset medium --profile high --level 4.1 ^
--keyint 96 --output "00000_m2ts.264" "_ENCODE_3D_MOVIE.avs"
ssifSource3: adding file Z:\BDMV\STREAM\SSIF\00000.ssif with 0 frames to sequences list. Have to load flag is TRUE
ssifSource2: framecount autodetect mode on. looking for 'Z:\BDMV\STREAM\SSIF\..\00000.M2TS' file...
ssifSource2: DSS2 function does not exists. Please add DSS2 plugin (avss.dll) to Avisynth plugins to make this feature work.
ssifSource2: framecount directshow value is 4898
avs [info]: 1920x1080p 0:0 @ 24000/1001 fps (cfr)
x264 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.1 Cache64
x264 [info]: profile High, level 4.1
ssifSource2: Decoding frame timeout reached!!! Frame # 3 duplicate added (debug: g03937998 m03937830 s03937998)
ssifSource2: End of graph. Frame # 4 duplicate added (debug: g03937830 m03937830 s03937998)
ssifSource2: End of graph. Frame # 5 duplicate added (debug: g03937998 m03937830 s03937998)
ssifSource2: End of graph. Frame # 6 duplicate added (debug: g03937830 m03937830 s03937998)
ssifSource2: End of graph. Frame # 10 duplicate added (debug: g03937830 m03937830 s03937998)
ssifSource2: End of graph. Frame # 11 duplicate added (debug: g03937998 m03937830 s03937998)
ssifSource2: End of graph. Frame # 12 duplicate added (debug: g03937830 m03937830 s03937998)
ssifSource2: End of graph. Frame # 15 duplicate added (debug: g03937830 m03937830 s03937998)
ssifSource2: End of graph. Frame # 15 duplicate added (debug: g03937998 m03937830 s03937998)
ssifSource2: End of graph. Frame # 16 duplicate added (debug: g03937998 m03937830 s03937998)
ssifSource2: End of graph. Frame # 17 duplicate added (debug: g03937998 m03937830 s03937998)
ssifSource2: End of graph. Frame # 19 duplicate added (debug: g03937830 m03937830 s03937998)
ssifSource2: End of graph. Frame # 20 duplicate added (debug: g03937830 m03937830 s03937998)
ssifSource2: End of graph. Frame # 21 duplicate added (debug: g03937830 m03937830 s03937998)
ssifSource2: End of graph. Frame # 21 duplicate added (debug: g03937998 m03937830 s03937998)
ssifSource2: End of graph. Frame # 22 duplicate added (debug: g03937998 m03937830 s03937998)
ssifSource2: End of graph. Frame # 23 duplicate added (debug: g03937830 m03937830 s03937998)
ssifSource2: End of graph. Frame # 25 duplicate added (debug: g03937998 m03937830 s03937998)
ssifSource2: End of graph. Frame # 27 duplicate added (debug: g03937998 m03937830 s03937998)
ssifSource2: End of graph. Frame # 28 duplicate added (debug: g03937998 m03937830 s03937998)
ssifSource2: End of graph. Frame # 30 duplicate added (debug: g03937830 m03937830 s03937998)
ssifSource2: End of graph. Frame # 30 duplicate added (debug: g03937998 m03937830 s03937998)
ssifSource2: End of graph. Frame # 32 duplicate added (debug: g03937830 m03937830 s03937998)
ssifSource2: End of graph. Frame # 32 duplicate added (debug: g03937998 m03937830 s03937998)
ssifSource2: End of graph. Frame # 36 duplicate added (debug: g03937998 m03937830 s03937998)
ssifSource2: End of graph. Frame # 43 duplicate added (debug: g03937830 m03937830 s03937998)
ssifSource2: End of graph. Frame # 43 duplicate added (debug: g03937998 m03937830 s03937998)
ssifSource2: End of graph. Frame # 45 duplicate added (debug: g03937830 m03937830 s03937998)
[0.0%] 2/4898 frames, 0.03 fps, 310.54 kb/s, eta 47:39:35
ssifSource2: End of graph. Frame # 53 duplicate added (debug: g03937830 m03937830 s03937998)
ssifSource2: End of graph. Frame # 53 duplicate added (debug: g03937998 m03937830 s03937998)
[...]
I had to stop the command to be able to copy/paste the messages here, so I've started the command again (without any modification), and this time, there are again no error messages, but there is a missing frame at the beginning of the MVC view. How is it possible that exactly the same command launched in exactly the same conditions can give different results? I'm puzzled.
I did all tests with the number of frames set to 0 in the AVS script. If you want tests with the correct number of frames, please let me know.
I will check again later, with the avss.dll correctly installed...
I did a lot of new ssifsource3() tests, with and without the avss.dll, and with and without the number of frames in the ssifsource3() command. All tests have been made with a single SSIF file.
Apparently, right after a reboot, ssifsource3() works perfectly. There is no left/right sync problem, no timeout and no "duplicate added" error messages. But if you launch the same encoding again, the timeout and "duplicate added" error happen. Same thing if you reboot, launch AvsPMod (even without previewing the video), quit it, and then encode the script. If you reboot again, the script can be encoded successfully again. Obviously, there is something wrong when avisynth is initialised for the second time. I don't know if it is possible to "reset" avisynth before starting the script, but I've tried to edit my Win8 registry to automatically unload the DLLs that are not used any more (http://www.freetutorialssubmit.com/speed-up-windows-7-by-forcing-it-to-unload-unused-dlls-and-delete-cached-ones/1786). Unfortunately, that doesn't solve the problem.
Note that the presence or absence of avss.dll in the avisynth's plugins folder doesn't change anything (except that the warnings about DSS2 is not shown when the dll is present.
I have also tested an encode of several times the same SSIF file, with this command: SsifSource3("Z:\BDMV\STREAM\SSIF\00000.ssif;48;Z:\BDMV\STREAM\SSIF\00000.ssif;48;Z:\BDMV\STREAM\SSIF\00000.ssif;1000", avc_view = true, mvc_view = true, horizontal_stack = true, swap_views = 0). Unfortunately, that doesn't work either, even after a reboot. I have tried to encode it 4 times, and each time, at least one of the 3 parts produced the "duplicate added" errors. Even the first part can produce the error after a reboot.
It should be noted that AvsPMod has absolutely no problems with the script with a single SSIF. So, IMO, it uses a method to initialize the script correctly. But it hangs also with scritps with several SSIF files in the same command.
Slavanap, I hope you have now enough info to find and fix that irritating bug. Unfortunately, I can't help on this point. To reproduce it, encode a few frames of any 3D movie, and then launch the same encoding command again. Most of the times (but not always), it will fail (and you'll see the progress % of x264 only after the timeout of 1 minute).
I did most tests with x264 32-bit, but I've tried also several times the method using avs2yuv and x264_x64. The bugs described above are happening also with that encoding method, but I have also discovered another problem. The current beta of ssifsource2.dll prints its messages to stdout. That's fine when using the 32-bit encoding method, but not when using the 64-bit one. When the message is issued, avs2yuv echoes it probably to stdout normally, but since the YUV decoded video is also sent to stdout, the messages are mixed with the video stream, and x264_x64 receives strange frames with garbage that it cannot encode properly. That means that it is never possible to encode correctly a script using ssifsource3 in 64-bit mode. There is almost always a totally bugged frame near the beginning of the video, followed by a left/right sync problem of at least 3 or 4 frames. (The rest of the encoding seems normal, but of course the sync problem persists.)
I suppose that this bug can easily be fixed by printing all messages to stderr instead of stdout. Slavanap, can you fix it?
Thanks.
frencher
6th June 2013, 17:00
Watch the sync problem directly with my MVC Player Free in real time because i have same problem to one minute with ssif, m2ts (3D), mkv (3D) and same problem of r0lZ with avss.dll
Thank for works
slavanap
6th June 2013, 23:53
@r0lZ
Thank you very much for that info!!
I'll try to repeat that faulting tests by my own, and fix a bug, if find any.
frencher
7th June 2013, 00:25
"MVC Player Free v0.0.1.7" In my signature... :rolleyes:
Extract and run directly MVC Player Free.exe or play associated file with MVC Player Free.exe
# Added: Selectable DirectShowMVCSource and Experimental support of mkv and seek is now fixed with 3D (ssif, m2ts and mkv only) thanks you slavanap for ssifSource2.dll ;)
# Some fixes
Temporary: Don't use eac3to infos
http://i42.tinypic.com/f4mk8x.png
Tenker
7th June 2013, 09:03
Hello,
thanks for your great software.
I'm trying the 3d movie
"Ghost Rider 2 - Spirit of Vengeance 3D"
convert the software BD3D2MK3D.
Unfortunately, I get the error shown ...
http://www10.pic-upload.de/07.06.13/i2bsv6f3927s.jpg
http://www10.pic-upload.de/07.06.13/uc2jp4vn312h.jpg
http://www10.pic-upload.de/07.06.13/nyfcxt16pljm.jpg
http://www10.pic-upload.de/07.06.13/cwuxntc53c58.jpg
BD3D2MK3D.log (http://netload.in/dateiA5dsPTd0I8/BD3D2MK3D.log.htm)
What should I change / do?
Greats
Tenker
Unfortunately, I don't have that BD, so I can't check exactly what's wrong.
"This track is not clean" is an error message from eac3to. That means that it encountered strange things when demuxing the subtitle stream. That doesn't mean necessarily that the subtitle stream is not correct. Usually, that means only that one particular subtitle has not been converted because it has bad time codes. Eac3to shows often that "track not clean" message when the MPLS file is made of several M2TS/SSIF files, and a particular subtitle is located partially on the end of one part and on the beginning of the next part. If this movie is a "multi-part MPLS", that's probably why you got that messages. (Look in tab 1 to see if there are several parts in the video stream).
That problem can also be caused by a bad BD copy to HDD.
Also, I see that there are 2 German subtitles tracks and 2 English tracks. The file size of the second one is much smaller, and I guess it contains only the forced subtitles. So, you can untick the "forced only" options in tab 2, as it is probably useless to extract them. (You will already suppress the "No forced captions found" warning.)
The "can't fix the language code" message is issued by BD3D2MK3D. It's not really important if you mux to MKV with the files in the BD3D2MK3D project's directory. If you prefer to mux manually, you may have to change the language code yourself.
Anyway, verify the subtitles with BDSup2Sub++ (You can launch it from the Tools menu, or manually in the toolset directory.) If the subtitles look correct, don't worry too much. In the worst case, one or two subtitles may be missing.
IMO, you should remove the "forced captions only" subtitle streams before muxing, as they are probably useless and perhaps bugged. To do that, you must edit the _MUX_3D_OPTIONS.txt file to remove them from the mux command. It's easy. Or restart the whole procedure (but it's much more time consuming).
frencher
9th June 2013, 23:20
"MVC Player Free v0.0.1.8" In my signature... :rolleyes:
Extract and run directly MVC Player Free.exe or play associated file with MVC Player Free.exe
# Added: "eac3to infos" and "eac3to demux" removed for MVC Player Free Demuxer v0.0.0.0 (alpha)
# Fixed: Support of seek with ssifSource2.dll... thanks you slavanap ;)
# Some fixes
@Neisklar
It seems that "MVCCombine.exe" have a problem with the pipe when eac3to processing over 4 tracks (/Tools/MVC Player Free Demuxer/MVCCombine.exe)
@all tester
Have you same problem of me ?
http://i43.tinypic.com/2qn4m0y.png
r0lZ
10th June 2013, 04:47
It seems that "MVCCombine.exe" have a problem with the pipe when eac3to processing over 4 tracks (/Tools/MVC Player Free Demuxer/MVCCombine.exe)
@all tester
Have you same problem of me ?
What do you mean? You can't demux the 2 video streams to the MVCCombine pipes and more than 2 other tracks to files at the same time?
It works for me. I've just tested with "How to Train Your Dragon". I have demuxed the chapters file, 6 AC3 audio tracks, one subtitle track and created the MVCCombined.h264 file in one shot, without problem.
frencher
10th June 2013, 05:29
What do you mean? You can't demux the 2 video streams to the MVCCombine pipes and more than 2 other tracks to files at the same time?
It works for me. I've just tested with "How to Train Your Dragon". I have demuxed the chapters file, 6 AC3 audio tracks, one subtitle track and created the MVCCombined.h264 file in one shot, without problem.
I think I found it, I feel like my command line for MVC Player Free Demuxer contains too many characters will faloir an alternative.
I understand why tsMuxer uses a meta file to work.
# Update: ac3 ectract fix MVC Player Free Demuxer v0.0.0.1 (alpha)
frencher
10th June 2013, 22:54
After further testing it turns out that it is not the length of the command line that is in question but a connection between eac3to and MVCCombine with pipe :(
What do you think ? :confused:
cmd log
"F:\MVC Player\MVCtoAVI.exe\Tools\eac3to\eac3to.exe" "P:\BDMV\STREAM\SSIF\00005.ssif" 01: "\\.\pipe\MPF\left.h264" 02: "\\.\pipe\MPF\right.h264" -log="F:\Demux\00002.mpls - log.txt" | "MVCCombine.exe" -ml -v -pi -l "MPF\left.h264" -r "MPF\right.h264" -o "F:\Demux\02 & 03 - AVC-MVC-Combined.h264"
MVCCombine.exe V0.7
MVCC: \\.\pipe\MPF\left.h264: TPipeSucker Thread started
MVCC: \\.\pipe\MPF\left.h264: Pipe created and waiting for connection
MVCC: \\.\pipe\MPF\right.h264: TPipeSucker Thread started
MVCC: \\.\pipe\MPF\right.h264: Pipe created and waiting for connection
MVCC: \\.\pipe\MPF\left.h264: Error getting Buffer from Queue, Reader-Thread loc
ked?
MVCC: AnnexB getChunk returned nil
MVCC: get_annex_b_NALU can't read start code
MVCC: Left Stream end
MVCC: \\.\pipe\MPF\right.h264: Error getting Buffer from Queue, Reader-Thread lo
cked?
MVCC: AnnexB getChunk returned nil
MVCC: get_annex_b_NALU can't read start code
MVCC: Right Stream end
MVCC: Frame: 1 [L: 0 P: 250 - Q: 0] | [R: 0 P: 250 - Q: 0]
MVCC:
MVCC: done, cleaning up
MVCC: \\.\pipe\MPF\left.h264: TPipeSucker Thread ended
MVCC: \\.\pipe\MPF\right.h264: TPipeSucker Thread ended
MVCC: END
The destination file "\\.\pipe\MPF\right.h264" could not be created.Writing the
destination file failed.
eac3to log
eac3to v3.27
command line: "F:\MVC Player\MVCtoAVI.exe\Tools\eac3to\eac3to.exe" "P:\BDMV\STREAM\SSIF\00005.ssif" 01: "\\.\pipe\MPF\left.h264" 02: "\\.\pipe\MPF\right.h264" -log="F:\Demux\00002.mpls - log.txt"
------------------------------------------------------------------------------
M2TS, 2 video tracks, 7 audio tracks, 17 subtitle tracks, 1:26:15, 24p /1.001
1: h264/AVC (left eye), 1080p24 /1.001 (16:9)
2: h264/AVC (right eye), 1080p24 /1.001 (16:9)
3: DTS Master Audio, 5.1 channels, 16 bits, 48kHz
(core: DTS, 5.1 channels, 16 bits, 1509kbps, 48kHz)
4: AC3, 5.1 channels, 640kbps, 48kHz
5: AC3, 5.1 channels, 448kbps, 48kHz
6: AC3, 5.1 channels, 640kbps, 48kHz
7: AC3, 5.1 channels, 448kbps, 48kHz
8: AC3, 5.1 channels, 448kbps, 48kHz
9: AC3, 5.1 channels, 448kbps, 48kHz
10: Subtitle (PGS)
11: Subtitle (PGS)
12: Subtitle (PGS)
13: Subtitle (PGS)
14: Subtitle (PGS)
15: Subtitle (PGS)
16: Subtitle (PGS)
17: Subtitle (PGS)
18: Subtitle (PGS)
19: Subtitle (PGS)
20: Subtitle (PGS)
21: Subtitle (PGS)
22: Subtitle (PGS)
23: Subtitle (PGS)
24: Subtitle (PGS)
25: Subtitle (PGS)
26: Subtitle (PGS)
[v02] Extracting video track number 2...
[v01] Extracting video track number 1...
[v02] Creating file "\\.\pipe\MPF\right.h264"...
[v02] The destination file "\\.\pipe\MPF\right.h264" could not be created. <ERROR>
[v02] Writing the destination file failed. <ERROR>
Aborted at file position 2097152. <ERROR>
frencher
11th June 2013, 06:29
# Update: Some errors fixed, in progress MVC Player Free Demuxer v0.0.0.2 (alpha)
r0lZ
11th June 2013, 11:11
After further testing it turns out that it is not the length of the command line that is in question but a connection between eac3to and MVCCombine with pipe :(
What do you think ? :confused:
Maybe an old process (that may have crashed) is still using the pipe(s) and therefore the new task cannot open or create it successfully.
Have you tried to reboot and start again from scratch?
frencher
11th June 2013, 23:29
"MVC Player Free v0.0.2.0" In my signature... :rolleyes:
Extract and run directly MVC Player Free.exe or play associated file with MVC Player Free.exe
# Major Fix: MVC Player Free Demuxer v0.0.0.3 (beta) Now demux all .bdmv .mpls .ts .m2ts .mts .ssif .mkv etc... (some 3DBD don't works with MVCCOmbine v0.7 (http://forum.doom9.org/showthread.php?p=1632481#post1632481))
# Some fixes
jj666
12th June 2013, 18:40
I have the same version too. I would appreciate if you can try it with Scenarist again and post here the error message. If we know why it doesn't work well with the MVC decoders, perhaps we'll find a workaround. Thanks in advance.
Hi,
I bought also the US disk (b/c 02454375201181) to check if the same error occurred with Scenarist - it did.
Error : ERROR: Invalid vui_mvc_low_delay_hrd_flag value = .
Strangely remuxing to 3D .ISO with DVDFAB works fine (in both cases).
Cheers,
-jj-
r0lZ
12th June 2013, 18:48
Thanks. I have no idea of the meaning of that vui_mvc_low_delay_hrd_flag, but I'm glad to know that the BD is wrong. We don't have to panic if our tools do not work well with a badly authored BD. BTW, PowerDVD doesn't accept it either. Why DVDFab can encode it without problem will probably remain a mystery.
Sparktank
13th June 2013, 04:20
r0lZ, the binaries in your programs for BD3D2MK3D/BD3D2AVS, can they updated manually?
MKVtoolnix is 5.8.0 in the package.
Among other programs.
Also, I imagine I would have to set up the eac3to to copy the exact same as the one I'm using on my machine?
Copy over all the ArcSoft decoders and register everything in that manually?
r0lZ
13th June 2013, 05:22
As long as the new version of a program has still the same command line parameters, it can safely be updated. That should be the case of mkvmerge.exe.
For eac3to, I don't think it is necessary to register the decoders. As far as I know, eac3to does not use any external decoder when it demuxes the streams from a BD. It requires the codecs only when it converts the audio format, and it's something that BD3D2MK3D doesn't do automatically. However, it might need the libAften.dll if you tick the option to convert DTS and WAV to AC3. Honestly, I don't know if it is necessary to register it, or if it will load the DLL anyway when it needs it.
frencher
13th June 2013, 05:49
"MVC Player Free v0.0.2.1" In my signature... :rolleyes:
Extract and run directly MVC Player Free.exe or play associated file with MVC Player Free.exe
# Major Fix: MVC Player Free Demuxer v0.0.0.4 (beta) Now demux all track(s) with pipe (.bdmv .mpls .ts .m2ts .mts .ssif .mkv etc...)
# Some fixes
Thanks for fix r0lZ ;)
frencher
16th June 2013, 00:44
"MVC Player Free v0.0.2.2" In my signature... :rolleyes:
Extract and run directly MVC Player Free.exe or play associated file with MVC Player Free.exe
# Major Fix: "Load" button and "Auto play" from menu are now fixed with slow HDD acces (+100 ms)
# Major Fix: MVC Player Free Demuxer v0.0.0.5 (beta) Fix some wrong track title number
# Some fixes
Neisklar
17th June 2013, 13:37
@Neikslar: Is it possible to add a swap_views parameter in DirectShowMVCSource? It is not really needed when encoding from a CombinedAVC-MVC.m2ts file (since the combination of the two views to SBS or TB is made by the AVS script anyway), but it is necessary when using the stf parameter.)
Why not just use stf for that.
It somehow like this, but maybe also the opposite, have forgotten:(
const int METHOD_SIDEBYSIDE1 = 13; //left first
const int METHOD_SIDEBYSIDE2 = 14; //right first
const int METHOD_OVERUNDER1 = 15; //left top
const int METHOD_OVERUNDER2 = 16; //right top
I guess Peter uses the Intel SDK for his CoreAVCDecoder.
Peter licensed the MVC Codec from http://www.corecodec.com/
One important thing i want to point out:
In my opinion it is absolutly necessary (at least) for multi-ssif titles to extract the stream from the MPLS, never (binary) concatenate the ssif files directly.
The MPLS defines entry- and exit-points in that files, means there could be garbadge in it.
r0lZ
17th June 2013, 14:14
The methods are inverted in your post. For example, METHOD_SIDEBYSIDE1 is right first, not left. And in fact, it's not "right first" but "MVC first". But that's not the problem.
Why not just use stf for that.
I agree that it's possible, but not very convenient. It would be nice to have always METHOD_SIDEBYSIDE2 doing left first, regardless of the order in the BD. That would make the GUI much more easy to understand. And for that, we need a swap_views parameter. But I can do it in my code. In fact, I have already implemented it, and renamed METHOD_SIDEBYSIDE1 to METHOD_SIDEBYSIDE_M (for MVC first), METHOD_SIDEBYSIDE2 to METHOD_SIDEBYSIDE_A (for AVC first) and so on. It's just a bit complex, especially with the anaglyph modes. Anyway, don't worry. It's OK.
frencher
22nd June 2013, 15:02
"MVC Player Free v0.0.2.3" In my signature... :rolleyes:
Extract and run directly MVC Player Free.exe or play associated file with MVC Player Free.exe
# Added : AVC/MVC Interlaced to De-Interlace with framerate x2 now playable correctly (yadif.dll) (Ready with 3D camcorders Sony HDR TD10 )
# Major Fix: MVC Player Free Demuxer v0.0.0.6 (beta) Fix some forgotten extensions (.srt) and (.sup from DVD)
# Some fixes
http://www.pome.me/wp-content/uploads/2011/06/Sony_HDR-TD10_Front.jpg
frencher
1st July 2013, 23:04
Hi all ;) ,
I have MVC .mp4 from jvc gs-td1 camcorder
How decode and recode it ? MP4Splitter.dll ?
Screen shoot of stereopscopc player with: => jvc gs-td1 .MP4 3D MVC SAMPLE (http://ul.to/oizgegk9)
http://i40.tinypic.com/epehx5.png
Nico8583
2nd July 2013, 22:08
Hi :)
I would like to know how can I determine if first eye is left or right ?
Thanks !
You didn't say if you need the info to write your own program, or a GUI to show you the left and right assignments of specific blu-rays.
The info for programmers has been given by jdobbs here (http://forum.doom9.org/showthread.php?p=1630291#post1630291).
If you need a GUI, you can use BD3D2MK3D. When you load the BD, the left/right assignment is removed from the eac3to output (because it is wrong), but as soon as you click "Get streams info" (or when you go to tab 2), it shows you the correct assignment.
Nico8583
2nd July 2013, 23:12
At a first time it's ony to know what is base view but I would like to write a little program :) so thanks for info !
Nico8583
3rd July 2013, 07:25
Other question : what is the impact if base view is right eye but I use left eye (in other words if I choose incorrect assignment) ?
It's terrible! A real torture for the eyes and the brain! But with most players, you can swap the left and right views. Anyway, it is much better to assign the left view to the AVC stream, to the left side in SBS and to the top in T&B. It seems that they are almost always the standard assignments. For SBS and T&B, it's also what my Samsung TV expects by default.
Nico8583
3rd July 2013, 09:18
Last question to know if I understand correctly :
http://img17.imageshack.us/img17/2081/h364.jpg
Is 50 the value corresponding to offset 0x38 ? Is 50 correspond to 0011 0010 so base view is right eye ?
Yes to the first question.
Your binary digits are wrong. They correspond to hex 32. Apparently, you have considered that 50 is a decimal value (hex 32), but it is in hex.
Hex 50 corresponds to decimal 80 or binary 0101 0000 (5 for the 4 most significant bits: bits 4 and 6 set and bits 5 and 7 clear; 0 for the 4 less significant bits: bits 0 to 3 clear).
But yes, since bit 4 is set, the MVC_Base_view_R_flag is enabled, and the base view is right.
Nico8583
3rd July 2013, 11:13
Thanks :) and where can you find MVC_Base_view_R_flag in BDedit (or other) ?
I don't know. I don't use BDedit (or other)!
Nico8583
3rd July 2013, 11:22
You use only hexadecimal editor ?
No, I don't modify my BDs. I prefer to rip them to MKV.
frencher
3rd July 2013, 17:33
0x38 = 40 AVC / MVC
0x38 = 50 MVC / AVC
?
0x38 = 56, not 40 or 50. Anyway, only bit 4 is relevant. Is it so difficult to test if a bit is set?
(value | 0x10 == 0) ? base = "left" : base = "right"
frencher
3rd July 2013, 18:20
With 3D BD "Le Voyage Extraordinaire de Samy"
0x38 = 50 MVC / AVC
http://i44.tinypic.com/mcg7xu.png
Oops, I understand now that when you wrote "0x38 = 40", you mean "value at offset 0x38 is 0x40" (and 0x50).
Anyway, what I wrote above is still valid. You cannot assume that all flags in byte at 0x38 are always set the same way except bit 4, and that you will always find either 0x40 or 0x50. For example, if the value is 0x95, that means also that base = right, because bit 4 is set. (I don't know the meaning of the other flags, but if they exist, it's for something and their values can therefore change.)
frencher
3rd July 2013, 18:42
OK ;)
0x38 = 50 MVC / AVC
0x38 <> 50 AVC / MVC
?
My program for detect 3D AVC/MVC MVC/AVC
http://i42.tinypic.com/2z4wspt.png
Nico8583
3rd July 2013, 21:17
Does anyone use Delphi to help me to find this value ? :)
frencher
3rd July 2013, 22:08
Does anyone use Delphi to help me to find this value ? :)
Removed, bad code....
Nico8583
3rd July 2013, 22:16
50 is not the only possible value for right eye imo ;)
10 to 19 set bit 4 to 1 also, 30 to 39 also, etc...
frencher
3rd July 2013, 22:18
Have you mpls for test ?
Send me PM en français çà sera plus simple
Nico8583
3rd July 2013, 22:20
Tomorrow I'll get some MPLS ;)
Nico8583
3rd July 2013, 23:18
I have (again) a question :D
If left eye is the base, the bigger file will be left but if right eye is the base, the bigger file will be right (it is the bug you are talking with eac3to, left is allways first) ?
So if I use MVCCombine and I'm wrong with -l and -r, what is the consequence (it will be terrible for my brain) ?
frencher
3rd July 2013, 23:51
I have (again) a question :D
If left eye is the base, the bigger file will be left but if right eye is the base, the bigger file will be right (it is the bug you are talking with eac3to, left is allways first) ?
So if I use MVCCombine and I'm wrong with -l and -r, what is the consequence (it will be terrible for my brain) ?
That's why we're working on GUI :cool:
frencher
4th July 2013, 17:39
Now !!! Ready for detect AVC/MVC or MVC/AVC order.
Small Tools => First view of SSIF.rar (http://ul.to/h3o8qcyf)
CMD Line:
"First view of SSIF.exe" -i ".\00011.mpls" -o ".\First view of SSIF.txt"
"First view of SSIF.txt"
#Left__View = MVC
#Right_View = AVC
#Return = 01010000
CMD Line:
"First view of SSIF.exe" -i ".\00010.mpls" -o ".\First view of SSIF.txt"
"First view of SSIF.txt"
#Left__View = AVC
#Right_View = MVC
#Return = 01000000
A problem, let me know ;)
Nico8583
4th July 2013, 22:19
Good work :)
I need a little information : I don't talk about left and right indications gived by eac3to, I have understand that first is allways left (even if it's wrong) but I would like to know if AVC allways be the first and MVC the second ?
Thanks !
frencher
4th July 2013, 22:44
Good work :)
I need a little information : I don't talk about left and right indications gived by eac3to, I have understand that first is allways left (even if it's wrong) but I would like to know if AVC allways be the first and MVC the second ?
Thanks !
Yes
Left = AVC
Right = MVC
;)
Wolfy59
5th July 2013, 08:22
Now !!! Ready for detect AVC/MVC or MVC/AVC order.
Small Tools => First view of SSIF.rar (http://ul.to/h3o8qcyf)
A problem, let me know ;)
Thanks for the log.
It works like a charm
frencher
5th July 2013, 23:47
Ready for detect AVC/MVC or MVC/AVC order.
Small Tools => First view of SSIF.rar (http://ul.to/b3reswxz)
Works Now with Drag & Drop "xxxxx.mpls" directly to "First view of SSIF.exe" and show Message Box!!!
http://i41.tinypic.com/2wqqqgk.png
http://i44.tinypic.com/21ki9dx.png
CMD Line:
"First view of SSIF.exe" -i ".\00011.mpls" -o ".\First view of SSIF.txt"
"First view of SSIF.txt"
#Left__View = MVC
#Right_View = AVC
#Return = 01010000
CMD Line:
"First view of SSIF.exe" -i ".\00010.mpls" -o ".\First view of SSIF.txt"
"First view of SSIF.txt"
#Left__View = AVC
#Right_View = MVC
#Return = 01000000
A problem, let me know ;)
Wolfy59
6th July 2013, 16:29
Ready for detect AVC/MVC or MVC/AVC order.
Small Tools => First view of SSIF.rar (http://ul.to/b3reswxz)
Works Now with Drag & Drop "xxxxx.mpls" directly to "First view of SSIF.exe" and show Message Box!!!
http://i41.tinypic.com/2wqqqgk.png
http://i44.tinypic.com/21ki9dx.png
A problem, let me know ;)
Work like a charm too :-)
ludeboy12
7th July 2013, 04:43
Hey guys hoping someone could help me out. I've had no problems using BD3D2MK3D until today. Pretty sure I haven't changed anything here but I'm getting an error now all of sudden when trying to encode.
An ideas as to how to fix this??
Thalyn
7th July 2013, 15:21
Looks like it extracted with the wrong extension: "264" instead of "h264". Not sure how exactly to fix that in the automated process but you should be able to go in and manually change the extension so you can merge the files together on your own.
Cedvano
11th July 2013, 13:37
@frencher : Did you ever try to convert your trailer (MVC) in M2TS by tsMuxeR?
When I try to read this in TMT6 it does not work.
I'm looking for a way to introduce MVC in a 3D Blu-ray.
r0lZ
11th July 2013, 14:50
The .264 extension and mkvmerge are not the problem. The problem is certainly due to multiple SSIF files in the MPLS. Unfortunately, currently, there is no real solution, except doing the job partially manually.
You should try to use MVCCombine (from the Tools menu of the BD3D2MK3D GUI) to combine the content of the MPLS file. Save the combined file in the project folder. Then, edit the AVS script to replace the original method with the MVCCombine method. (The lines of code to use are already in the script. You should uncomment them and edit the file name of the combined file, and delete or comment out all lines above that part.) That should work.
BTW, the "unknown file type" error message from mkvmerge is not relevant. It fails with that message when x264 cannot render the file, and the h264 file is empty or not standard compliant. And x264 fails because the AVS script fails. And the script fails because the method used to decode the MVC stream (either ssifsource2 or DirectShowMVCSource) has failed too. And currently, they fail usually only when there are too many parts in the SSIF file of the original blu-ray.
Note also that the new ssifsource3 method (supposed to fix that multi-MPLS problem) is not yet implemented in BD3D2MK3D, because ssifsource3 has too many problems with lost or additional frames, causing left/right sync problems. I'll implement that method when it will be safer. Currently, only the MVCCombine method works well, but it is too long and difficult to implement in the current version of BD3D2MK3D, and I prefer to wait for a quicker and easier method. Sorry.
frencher
12th July 2013, 06:18
@frencher : Did you ever try to convert your trailer (MVC) in M2TS by tsMuxeR?
When I try to read this in TMT6 it does not work.
I'm looking for a way to introduce MVC in a 3D Blu-ray.
mts = m2ts (from tsMuxer)
I doubt that it works, it will go through an authoring program and paying :confused:
Cedvano
13th July 2013, 15:30
mts = m2ts (from tsMuxer)
I doubt that it works, it will go through an authoring program and paying :confused:
Ok, thanks, I work actually to make a program for that.
Nico8583
13th July 2013, 15:52
I have a problem with MVCCombine or TsMuxer.
I have demux 3D movie with eac3to. I've found that Right is base view so from eac3to, left becomes right and right becomes left.
So I launch MVCCombine -l (right.h264) -r (left.h264) -o CombinedMVC.h264
I remux CombinedMVC.h264 to M2TS with TsMuxer and I try to play with AVS scripts and DirectShowMVCSource but it doesn't work :(
Edit : If I use MVCCombine -l (left.h264) -r (right.h264) -o CombinedMVC.h264 all seems to be OK, so with MVCCombine -l must be AVC and -r must be MVC ?
http://img809.imageshack.us/img809/8049/3ohb.jpg
r0lZ
13th July 2013, 16:30
with MVCCombine -l must be AVC and -r must be MVC ?Yes.
It's when you encode to SBS or T&B that the order of the views matters.
Nico8583
13th July 2013, 17:10
Yes.
It's when you encode to SBS or T&B that the order of the views matters.
Okkkk thanks :)
I believe it was also for MVCCombine left/right informations.
So :
- eac3to (left is allways AVC) -> MVCCombine (left is allways AVC) -> Encoding left or right (depending 0x38 value)
- eac3to (right is allways MVC) -> MVCCombine (right is allways MVC) -> Encoding left or right (depending 0x38 value)
It's allright ?
Thanks !
r0lZ
13th July 2013, 22:41
Yes, that looks correct.
In fact, eac3to ignores the MVC_Base_view_R_flag, and therefore its left/right information is not relevant. We need to examine the MVC_Base_view_R_flag to know how the streams are assigned.
For MVCCombine, it doesn't make sense to distinguish the left and right channels. It is made to combine an AVC and a MVC stream, in that order, together. (IMO, the -l and -r arguments are misleading. They should be -avc and -mvc.)
So, in your chain of operations, you should verify what stream contains the left stream by analysing the MVC_Base_view_R_flag, but you need that information only when you encode the video, to SBS, T&B or to AVC/MVC again. In all cases, the usual encoding is left channel first.
Nico8583
13th July 2013, 23:54
Thanks for this complete response ;)
I recently start using this program and I noticed when you extract base view only using ssifsource.dll it is set to decode mvc view and if you extract dependent view it is also set to decode mvc view. My understanding is it should decode avc view for base view.
Version of program 0.19
r0lZ
26th July 2013, 07:18
Right. Bug fixed. Thanks for the report.
Right. Bug fixed. Thanks for the report.
No problem, glad I could help.
On a side note do you think auto crop black border would be good idea.
r0lZ
26th July 2013, 15:49
No, for two reasons.
First, BD3D2MK3D has no way to analyse the video stream. It is a simple GUI, that doesn't process the video itself. It uses only external viewers to preview the video, and avisynth to process it. Adding a way to load and analyse the video in the GUI just to determine how it must be cropped is not really easy.
Secondly, I hate the cropped 3D videos, because most TVs require a real 16:9 aspect ratio to display the movie correctly in 3D. Cropped movies appear stretched vertically, and it's terrible! On a PC with a software player (and maybe on some rare TVs), there is no problem, but since the black borders are easily compressed, leaving them doesn't consume much disc space, and ensure a much better hardware compatibility. IMO, they should never be cropped.
No, for two reasons.
First, BD3D2MK3D has no way to analyse the video stream. It is a simple GUI, that doesn't process the video itself. It uses only external viewers to preview the video, and avisynth to process it. Adding a way to load and analyse the video in the GUI just to determine how it must be cropped is not really easy.
Hmm, In case if you ever decide to add it, I want to add that autocrop.dll plugin work very well with avisynth and know where to crop and where not to crop. I tried with 5 movies so far and it worked each time. Jdobbs also use it in his program as well.
Secondly, I hate the cropped 3D videos, because most TVs require a real 16:9 aspect ratio to display the movie correctly in 3D. Cropped movies appear stretched vertically, and it's terrible! On a PC with a software player (and maybe on some rare TVs), there is no problem, but since the black borders are easily compressed, leaving them doesn't consume much disc space, and ensure a much better hardware compatibility. IMO, they should never be cropped.
I use spline64resize (1920, 1080) to overcome the issue. However every one will choose what works for them. I thought I share what I knew about plugin and how it works with program.
r0lZ
26th July 2013, 17:13
Hum, adding an automatic crop in the avs script is of course possible, but that cause other problems. I will have to know exactly what has been cropped to figure out the aspect ratio to pass to x264 and MkvMerge, for example. And I guess that hard-coding subtitles on the video will not work any more, since currently it assumes the full 16:9 resolution.
Also, note that converting to top/bottom will have to be done in several avisynth commands, as it is not possible to crop the black borders of the already stacked video stream. I will have to separate it in two views, crop them, and re-compose them.
Anyway, I don't want to encourage people to crop their 3D videos, for the second reason explained above. You will certainly regret to have cropped your movies when you will have to play them on a Samsung or LG TV. Of course, you can modify the avs script yourself before encoding it if you wish.
Thank you, r0lz for your point of of view. Since I don't make side by side or over-under and use x264. I can probably get away with this and crop video.
On a side note I also appreciate you effort to make program available to public, any everyone else who works behind the scenes.
r0lZ
26th July 2013, 18:48
Thanks! :-)
Thalyn
27th July 2013, 11:48
Anyway, I don't want to encourage people to crop their 3D videos, for the second reason explained above. You will certainly regret to have cropped your movies when you will have to play them on a Samsung or LG TV.
An observation on this part: it's not universal, even across the same brand. When viewed as an MP4 or MKV from a USB drive my younger brother's LG screen, for example, gives unwatchable playback from cropped OU3D material, but my elder brother's LG screen (which is one of their "smart" ones) works perfectly. The main difference is that the TV which doesn't work also doesn't detect it as 3D source material, so requires the use of the "3D Mode" facilities - facilities which assume the introduced letterboxing is part of the output you want, offsetting the left eye down too far and the right eye up too far.
If you use SBS instead of OU, cropping the letterboxing has no negative effect either way.
I still crop mine as OU, though. Partly because I'm still watching via a PC, but mostly because my intent is for display independence - having to use a zoom feature if I should ever get a 22:9 screen would be annoying, just like 4:3 with letterboxing is already.
r0lZ
27th July 2013, 14:07
I have a Samsung, and I don't know exactly how the LGs react. But on my Samsung, the movie is resized to occupy the full screen anyway as soon as the 3D mode is enabled, regardless of the input source. Of course, if you use an external player that can add the black borders in SBS mode and send a fully compliant 16:9 frame to the TV, there is no problem. I don't think my Lacie Lacinema HD can do that (with SBS movies only since it doesn't handle the 3D mode), but I'm not sure. Anyway, I hate to use an external player in 3D mode, as the on-screen display of the player is unreadable on the TV.
Note also that if one day you buy a 22:9 TV, it will certainly have some kind of autocrop option, or a button to manually hide the black borders. I can't imagine a 22:9 TV forcing you to watch a Cinemascope movie in 16:9, surrounded by horizontal and vertical black borders simply because the original movie comes from a DVD or BD in 16:9 format!
Anyway, you are free to crop the 3D movies if you wish. I just think that it's not a good idea, and since it is somewhat complex to implement the autocrop option in BD3D2MK3D, I will not do it.
Rany
30th July 2013, 01:07
MVC Player Free v0.0.2.3 You can export to avi with mpls?
mvc to avi does not work with mpls for multiple SSIF
frencher
30th July 2013, 05:57
MVC Player Free v0.0.2.3 You can export to avi with mpls?
mvc to avi does not work with mpls for multiple SSIF
In a future release it will be possible :rolleyes:
Rany
30th July 2013, 06:38
In a future release it will be possible :rolleyes:
thanks for answering :goodpost:
mini-moose
6th August 2013, 10:18
Hi
I haven't been toying with the app in a while and thought I'd have a look at the recent developments.
I have a few questions, sorry if those were already discussed in length before, I just don't have time to read back everything.
1) I'm happy to see there is now a 3d vobsubs option, is the default depth usually works ? or it needs experimenting with every movie?
2) I see "additional options" for x264 settings launches with --keyint 96. Is there a reason for that ?
3) Is there a merge solution for 3d movies split into 2 discs (Titanic for example), or those would need to be encoded in 2 mkvs?
4) would it be possible to add crop & resize generating options?
I know it can mess up Aspect Ratios on some hardware players and that it doesn't save a whole lot of space, but would still be nice to have it as an option. r0lZ instructed me at the time how do add it manually but it was a bit challenging for me to figure out on my own.
5) Is there a way to re-generate the encode cmd/avs without going through the demux/subs process again?
6) On 2-pass option (if anyone would ever wanna use that), I noticed an .264 files gets created on first pass. This seems somewhat unneeded, unless some might wants to preview the video before starting 2nd pass. But it's a raw stream anyway, so it would need to be remuxed for that.
thanks!
r0lZ
6th August 2013, 12:00
1) I'm happy to see there is now a 3d vobsubs option, is the default depth usually works ? or it needs experimenting with every movie?Unfortunately, the depth depends of the movie. I have selected the default value after several tries with different movies, because it works relatively fine with all of them, but it may be completely wrong with other movies. Currently, there is no way to verify if a value works well with a certain movie without encoding it. (Hint: you can encode only the beginning of the movie with the --frames additional x264 argument, and use the ultrafast preset. It's often sufficient to verify if the depth value is suitable.)
2) I see "additional options" for x264 settings launches with --keyint 96. Is there a reason for that ?I have noticed that many players have trouble with the seek operations when the default keyint value is used. 96 is a good compromise between compression and seek efficiency. That setting is not mandatory and can be removed if you wish, but IMO it is better to keep it.
BTW, the last versions also forces a keyframe at each chapter point. That should facilitate the jump from chapter to chapter greatly. (This feature is automatic and doesn't depend of the --keyint arg.)
3) Is there a merge solution for 3d movies split into 2 discs (Titanic for example), or those would need to be encoded in 2 mkvs?Not in 3DBD2MK3D. You have to create the 2 MKVs. But you can merge them together easily later with MkvMerge GUI. (Install mkvtoolnix (http://www.bunkus.org/videotools/mkvtoolnix/) if you don't have it already.)
4) would it be possible to add crop & resize generating options?
I know it can mess up Aspect Ratios on some hardware players and that it doesn't save a whole lot of space, but would still be nice to have it as an option. r0lZ instructed me at the time how do add it manually but it was a bit challenging for me to figure out on my own.No, for the reasons I have already explained several times, I will not add that possibilities. It is already possible to resize to 720p, and IMO it's sufficient to reduce the disc size without losing the video quality and the compatibility with hardware TVs.
5) Is there a way to re-generate the encode cmd/avs without going through the demux/subs process again?Currently, no. It's something I should add. However, if you want to change some rendering settings only, you can edit the _ENCODE batch file yourself, and relaunch it. It's easy. Modifying the AVS script is also possible, although that requires some knowledge.
6) On 2-pass option (if anyone would ever wanna use that), I noticed an .264 files gets created on first pass. This seems somewhat unneeded, unless some might wants to preview the video before starting 2nd pass. But it's a raw stream anyway, so it would need to be remuxed for that.Correct, it's totally useless, and it was not created with the previous versions. But I have been forced to leave it, as otherwise x264 crashes always. It seems that it needs to write the video stream, for any reason. I have not verified if a newer version has fixed that problem. If it appears that it works fine, I may revert to the old behaviour.
Can you test x264?
mini-moose
6th August 2013, 13:18
r0lZ, thanks for taking the time to answer my questions.
(Hint: you can encode only the beginning of the movie with the --frames additional x264 argument, and use the ultrafast preset. It's often sufficient to verify if the depth value is suitable.)
That would require muxing the clip with subs at least and to mkv/mp4. Not a big deal really. Since using vobsubs doesn't harcode the subs, one can also redo the subs and remux the video again by pretty much running the same mux cmd with new vobsubs. The only difficulty with that maybe is you need to repeat the preparation stage to redo the subs. I don't know how to create the 3d subs process myself, I was surprised it's possible cause I don't remember bdsup2sub++ thread mentioning 3d support yet.
I have noticed that many players have trouble with the seek operations when the default keyint value is used. 96 is a good compromise.
thanks for explaining.
You have to create the 2 MKVs. But you can merge them together easily later with MkvMerge GUI.
Yeah, I suppose append option on mkvtoolnix should work fine for that.
No, for the reasons I have already explained everal times, I will not add that possibilities.
ok
Currently, no. It's something I should add. However, if you want to change some rendering settings only, you can edit the _ENCODE batch file yourself
It's not too hard changing the encode parms manually. If you don't like something and want to change it, chances are you already know what you're doing. If you jump between encode methods (crf to 2-pass to abr etc), it might be easier for some to let the program generate it, also redoing the vobsubs from already demuxed sups as I mentioned before.
But I have been forced to leave it, as otherwise x264 crashes always.
Can you test x264?
I'm happy to try recent versions. Does the first pass crash right away when output is set to NUL? or it can happen at a certain later stage?
mini-moose
6th August 2013, 13:37
Can you test x264?
I did 7% of first pass with r2345 (komisar clean build and videolan) and with provided 2273 using --output "NUL" "_ENCODE_3D_MOVIE.avs"
I'm not experiencing crashes with any of them. Unless the crash comes at a random later stage.
I'm not sure I understand the "move cinemascopic image up in 16:9 frame" function - can you explain it if it's not too much effort ?
On a different note, I'm happy to see the encode process is a lot faster than it used to be when I tried it last. Unless my memory fails me :)
r0lZ
6th August 2013, 14:27
That would require muxing the clip with subs at least and to mkv/mp4. Not a big deal really. Since using vobsubs doesn't harcode the subs, one can also redo the subs and remux the video again by pretty much running the same mux cmd with new vobsubs. The only difficulty with that maybe is you need to repeat the preparation stage to redo the subs. I don't know how to create the 3d subs process myself, I was surprised it's possible cause I don't remember bdsup2sub++ thread mentioning 3d support yet.
There is an option in the Tools menu to convert the 2D subs file (that should be present in the project dir) to 3D. You can simply overwrite the original 3D file if you wish, and restart the mux.
If you want to convert the 3D subs from CLI, have a look at the BD3D2MK3D log to see what command is used.
Yeah, I suppose append option on mkvtoolnix should work fine for that.Exactly.
It's not too hard changing the encode parms manually. If you don't like something and want to change it, chances are you already know what you're doing. If you jump between encode methods (crf to 2-pass to abr etc), it might be easier for some to let the program generate it, ...Right, but for me, it's a big work. The problem is that the user may have changed options that requires to demux again, or to convert the subs to 3D again, and therefore, re-creating the AVS script and/or batch files is not always sufficient. Also, BD3D2MK3D requires to analyse the output of some tools to create the script and the mux options file. If it skips the demux part, that info will be missing. Not sure I can find a solution. Will try, but I promise nothing.
I'm happy to try recent versions. Does the first pass crash right away when output is set to NUL? or it can happen at a certain later stage?
Honestly, I don't remember. Perhaps it was only when the first pass was finishing. You should try with a short clip.
r0lZ
6th August 2013, 14:41
I did 7% of first pass with r2345 (komisar clean build and videolan) and with provided 2273 using --output "NUL" "_ENCODE_3D_MOVIE.avs"
I'm not experiencing crashes with any of them. Unless the crash comes at a random later stage.
As I wrote above, I don't remember, but it is probable that the crash happens only at the end of pass 1.
I'm not sure I understand the "move cinemascopic image up in 16:9 frame" function - can you explain it if it's not too much effort ?
One of the big problems with the 3D subs is the risk that they will be placed "inside" the objects that are popping out of the screen. That give a very unpleasant effect, and renders the subtitle difficult to read. In the other hand, if you select a 3D depth too high, you have to focus your eyes alternatively on the subs and on the image all the time, and it's also unpleasant. Movies shot in Cinemascope have horizontal black borders. My idea is that it is usually less unpleasant to have the subtitles in the bottom black border instead of over the real image, because there is no risk of collision, even with a low subtitle depth value. The subs may appear below some objects, but never inside them. The move Cinemascope image up in 16:9 frame option allows you to enlarge the bottom black border (and shrink the top one accordingly) to make more room for the subtitles, and ensure that they will never be outside the border.
On a different note, I'm happy to see the encode process is a lot faster than it used to be when I tried it last. Unless my memory fails me :)May be caused by other settings, or the selection of another MVC decoder. The encode process itselfs depends only of the parameters passed to x264. The MVC decoding is still somewhat experimental, and its speed may vary from version to version.
mini-moose
6th August 2013, 15:05
As I wrote above, I don't remember, but it is probable that the crash happens only at the end of pass 1.
I added trim(10000,15000) to the avs.
r2345 seems to complete first pass and starts 2nd. r2273 that comes with the package, takes a long time to start and spits thousands of such lines:
ssifSource2: End of graph. Frame # 10216 duplicate added (debug: g03108868 m03108700 s03108868)
[3.2%] 160/5073 frames, 2.27 fps, 8821.51 kb/s, eta 0:36:07
ssifSource2: End of graph. Frame # 10228 duplicate added (debug: g03108868 m03108700 s03108868)
but then I ran it again and it didn't seem to have issues starting or finishing....
r0lZ
6th August 2013, 15:51
The "duplicate added" messages stinks!
BTW, are you encoding with the 64-bit option enabled? Maybe that has also some importance.
mini-moose
6th August 2013, 21:28
BTW, are you encoding with the 64-bit option enabled? Maybe that has also some importance.
I used x86
May be caused by other settings, or the selection of another MVC decoder. The encode process itselfs depends only of the parameters passed to x264. The MVC decoding is still somewhat experimental, and its speed may vary from version to version.
I think the last version I used was ssif1 with bd3d 0.12. I see it's now ssifSource2 and there's a coreavcdecoder.dl there too. Wasn't there some issue with coreavc? When I looked at recent post earlier, I saw you posted a screenshot with odd glitches.
Sharc
6th August 2013, 22:49
....I have noticed that many players have trouble with the seek operations when the default keyint value is used. 96 is a good compromise between compression and seek efficiency. That setting is not mandatory and can be removed if you wish, but IMO it is better to keep it.
....
Sidenote: if you want strict blu-ray compatibility the GOPs should be no longer than 1 second, means it is good practice to stick to --keyint 24. I don't however now how picky players are ....
Nico8583
15th August 2013, 13:22
I have a little question : on Windows 7, is it necessary to install FFDShow to work with DirectShowMVCSource and AviSynth or is it a "stand-alone" decoder ?
frencher
24th August 2013, 01:54
MVC Player Free v0.0.2.3 You can export to avi with mpls?
mvc to avi does not work with mpls for multiple SSIF
"MVC Player Free v0.0.2.4" In my signature... :rolleyes:
Extract and run directly MVC Player Free.exe or play associated file with MVC Player Free.exe
# Added : Now can export to .mkv .264 .mp4 .avi .flv
# Experimental : GoPro ProTune Mode => Levels(16, 1, 235, 0, 255, coring=FALSE).Tweak(sat=0.90).Sharpen(0.75).Blur(0.33)
# Update : x264 core:133 r2334 a3ac64b
# Minor Fix : MVC Player Free Demuxer v0.0.0.7 (beta) Fix some forgotten extensions...
# Some fixes
http://i46.tinypic.com/2d2nf6.png
frencher
24th August 2013, 02:14
I have a little question : on Windows 7, is it necessary to install FFDShow to work with DirectShowMVCSource and AviSynth or is it a "stand-alone" decoder ?
FFDShow and Avisynth is necessary for "MVC Player Free" (http://forum.doom9.org/showthread.php?p=1602605#post1602605)
Nico8583
9th September 2013, 07:55
Hi,
I have a problem when I try to extract video streams from "MONSTERS INC 3D" with eac3to.
I have this message one time for each video stream : [v02] The video bitstream framerate field doesn't seem to match the timestamps. <WARNING>
And several warnings like that : [v02] Video has a gap of 14 frames at playtime 0:00:00. <WARNING>
On playlist info, it is indicated "48p /1.001" but streams are 24p/1001.
I have also tried with the new TsMuxer and no problems.
Anyone can help me ?
Thanks !
tebasuna51
9th September 2013, 08:50
@Nico8583
Double post is not allowed in this forum: http://forum.doom9.org/showthread.php?p=1643173#post1643173
If tsMuxeR work without problems, what help need you?
Nico8583
9th September 2013, 09:26
Sorry !
Because I have made a GUI for eac3to and I would like to use only one soft (and I like to know why it doesn't work)
pyk123
9th September 2013, 10:05
Hi
first understand me plz for my bad english
thx for made BD3D2MK3D
and i am using it very usefully
when i encoding i always use this option
"MONOSCOPIC_M = 2 # Monoscopic 2D: Dependent view only"
and i make Left mkv file with non encoded h264 source file from original bluray title (just do muxing in case of left source)
and i see it with "stereoscopic player" method of
open left and right file style
but i have this problem
some movie does not match sync left and right file
some times left file is more faster than right file
or some times left file played more fastly
why this things happen?
r0lZ
9th September 2013, 11:20
Hum, I don't know. Can you open the 2 files in a good player, or in MKVInfo, and see if they have exactly the same frame rate and the same number of frames?
Also, try to remux the two files with MkvMerge GUI, and force the frame rate to 24000/1001. Does it fix the problem?
If you cannot fix the problem with the remux, can you confirm that the MPLS is made of several SSIF files? If it's the case, that can mean that the sync is correct, but one of the two files has missing or additional frames at the joint between the different parts.
Thalyn
10th September 2013, 06:29
Hi,
I have a problem when I try to extract video streams from "MONSTERS INC 3D" with eac3to.
I have this message one time for each video stream : [v02] The video bitstream framerate field doesn't seem to match the timestamps. <WARNING>
And several warnings like that : [v02] Video has a gap of 14 frames at playtime 0:00:00. <WARNING>
On playlist info, it is indicated "48p /1.001" but streams are 24p/1001.
I have also tried with the new TsMuxer and no problems.
Anyone can help me ?
Thanks !
I remember having the same problem with this movie, and I managed to get it working, but I don't remember exactly what my solution to it was.
I know it was before MKV support was added to (or at least verified for) SSIFSource, so I know I didn't use MakeMKV to get around it. I also know I tinkered a lot with combining both the SSIF and M2TS files within the AVISynth script I was using, but I don't remember that being successful.
What's standing out in my memory is manually joining all the parts in an EAC3To command line to extract the H.264 parts - but I had to extract the M2TS files themselves, not the SSIF files (there's about 16 parts for each view - use MakeMKV to identify them if you can't read the playlist files like me). Afterwards MVCCombine was used to merge them together, muxed with TSMuxer and finally using SSIFSource to actually work with it.
It's probably easier to just extract it using MakeMKV first, though, and odds are it'll work fine.
Nico8583
10th September 2013, 07:11
Thanks for your response.
So for you the solution was to extract xxxxx.m2ts+yyyyy.m2ts+zzzzz.m2ts.... instead of xxxxx.mpls ? I've to try that and I'll try to extract them with MakeMKV also.
Thanks !
jj666
10th September 2013, 09:33
Making some testing here with the same BD above (Monsters INC).
Is anyone aware of a way to extract the individual streams from a MAKEMKV created 3D MKV file? Neither MKVEXTRACT or EAC3TO recognise both streams in the end MKV.
Cheers,
-jj-
Nico8583
10th September 2013, 18:45
I have made a new test.
I have extracted h264 streams from playlist and I got several warnings about gap etc..
I have extracted h264 from joining all parts for left, no error, for right, no error.
I have made a MD5 checksum for the 4 streams : left are identical, right are identical...
jj666
10th September 2013, 19:04
Interesting... I will re-rip the disk and see what happens (I was working from a .ISO remux I made with DVDFab).
Would you mind posting the EAC3TO command line you used?
Cheers,
-jj-
Nico8583
10th September 2013, 20:37
Interesting... I will re-rip the disk and see what happens (I was working from a .ISO remux I made with DVDFab).
Would you mind posting the EAC3TO command line you used?
Cheers,
-jj-
With the playlist : eac3to E:\BDMV\PLAYLIST\00802.MPLS 2:Left.h264 3:Right.h264
With multiple files : eac3to E:\BDMV\STREAM\00800.M2TS+E:\BDMV\STREAM\00910.M2TS+E:\.... 2:Left.h264 and same line with right files (I have found all files with MakeMKV)
Edit : More details
With the playlist :
eac3to v3.27
command line: eac3to E:\ 1) 2:H:\BD\PLLeft.h264 3:H:\BD\PLRight.h264
------------------------------------------------------------------------------
M2TS, 2 video tracks, 6 audio tracks, 4 subtitle tracks, 1:32:38, 48p /1.001
1: Chapters, 32 chapters
2: h264/AVC (left eye), 1080p24 /1.001 (16:9)
3: h264/AVC (right eye), 1080p24 /1.001 (16:9)
4: TrueHD/AC3, English, 7.1 channels, 48kHz
(embedded: AC3 EX, 5.1 channels, 640kbps, 48kHz)
5: AC3 Surround, English, 2.0 channels, 320kbps, 48kHz
6: AC3 Surround, English, 2.0 channels, 320kbps, 48kHz
7: AC3 EX, Dutch, 5.1 channels, 640kbps, 48kHz
8: AC3 EX, French, 5.1 channels, 640kbps, 48kHz
9: AC3 EX, Dutch, 5.1 channels, 640kbps, 48kHz
10: Subtitle (PGS), English
11: Subtitle (PGS), English
12: Subtitle (PGS), French
13: Subtitle (PGS), Dutch
[v02] The video bitstream framerate field doesn't seem to match the timestamps. <WARNING>
[v03] The video bitstream framerate field doesn't seem to match the timestamps. <WARNING>
[v03] Extracting video track number 3...
[v02] Extracting video track number 2...
[v03] Creating file "H:\BD\PLRight.h264"...
[v02] Creating file "H:\BD\PLLeft.h264"...
[v02] Video has a gap of 14 frames at playtime 0:00:00. <WARNING>
...
[v02] Video has a gap of 15 frames at playtime 0:46:17. <WARNING>
[v03] Video has a gap of 14 frames at playtime 0:00:00. <WARNING>
...
[v03] Video has a gap of 15 frames at playtime 0:46:17. <WARNING>
Video track 2 contains 133278 frames.
Video track 3 contains 133278 frames.
eac3to processing took 30 minutes, 33 seconds.
Done.
With multiple files :
eac3to v3.27
command line: eac3to E:\BDMV\STREAM\00800.M2TS+E:\BDMV\STREAM\00910.M2TS+E:\BDMV\STREAM\00880.M2TS+E:\BDMV\STREAM\00912.M2TS+E:\BDMV\STREAM\00882.M2TS+E:\BDMV\STREAM\00914.M2TS+E:\BDMV\STREAM\00884.M2TS+E:\BDMV\STREAM\00916.M2TS+E:\BDMV\STREAM\00886.M2TS+E:\BDMV\STREAM\00918.M2TS+E:\BDMV\STREAM\00888.M2TS+E:\BDMV\STREAM\00920.M2TS+E:\BDMV\STREAM\00890.M2TS+E:\BDMV\STREAM\00922.M2TS+E:\BDMV\STREAM\00892.M2TS+E:\BDMV\STREAM\00908.M2TS+E:\BDMV\STREAM\00524.M2TS+E:\BDMV\STREAM\01020.M2TS 2:D:\BD\NewLeft.h264
------------------------------------------------------------------------------
M2TS, 1 video track, 6 audio tracks, 4 subtitle tracks, 1:32:38, 43.485p
1: Chapters, 32 chapters
2: h264/AVC, 1080p24 /1.001 (16:9)
3: TrueHD/AC3, English, 7.1 channels, 48kHz
(embedded: AC3 EX, 5.1 channels, 640kbps, 48kHz)
4: AC3 Surround, English, 2.0 channels, 320kbps, 48kHz
5: AC3 Surround, English, 2.0 channels, 320kbps, 48kHz
6: AC3 EX, Dutch, 5.1 channels, 640kbps, 48kHz
7: AC3 EX, French, 5.1 channels, 640kbps, 48kHz
8: AC3 EX, Dutch, 5.1 channels, 640kbps, 48kHz
9: Subtitle (PGS), English
10: Subtitle (PGS), English
11: Subtitle (PGS), French
12: Subtitle (PGS), Dutch
[v02] Extracting video track number 2...
[v02] Creating file "D:\BD\NewLeft.h264"...
Video track 2 contains 133278 frames.
eac3to processing took 10 minutes, 32 seconds.
Done.
eac3to v3.27
command line: eac3to E:\BDMV\STREAM\00893.M2TS+E:\BDMV\STREAM\00911.M2TS+E:\BDMV\STREAM\00895.M2TS+E:\BDMV\STREAM\00913.M2TS+E:\BDMV\STREAM\00897.M2TS+E:\BDMV\STREAM\00915.M2TS+E:\BDMV\STREAM\00899.M2TS+E:\BDMV\STREAM\00917.M2TS+E:\BDMV\STREAM\00901.M2TS+E:\BDMV\STREAM\00919.M2TS+E:\BDMV\STREAM\00903.M2TS+E:\BDMV\STREAM\00921.M2TS+E:\BDMV\STREAM\00905.M2TS+E:\BDMV\STREAM\00923.M2TS+E:\BDMV\STREAM\00907.M2TS+E:\BDMV\STREAM\00909.M2TS+E:\BDMV\STREAM\00936.M2TS+E:\BDMV\STREAM\01021.M2TS 1:D:\BD\NewRight.h264
------------------------------------------------------------------------------
M2TS, 1 video track, 1:32:38, 33.492p
1: h264/AVC (right eye), 1080p24 /1.001 (16:9)
[v01] Extracting video track number 1...
[v01] Creating file "D:\BD\NewRight.h264"...
Video track 1 contains 133278 frames.
eac3to processing took 6 minutes, 8 seconds.
Done.
jj666
11th September 2013, 09:06
Thanks a lot!
I re-ripped the disk with AnyDVD, and extracted again with EAC3TO (with the playlist - so still a lot of spam). However, this time the frame numbers were identical, and I was able to remux using Scenarist fine.
Cheers,
-jj-
Nico8583
11th September 2013, 18:27
Thanks for you report.
You re-ripped from original disk ?
You've got the same errors than me (video has a gap...) ?
frencher
11th September 2013, 18:30
Thanks for you report.
You re-ripped from original disk ?
You've got the same errors than me (video has a gap...) ?
I will test when I have time ;)
jj666
11th September 2013, 18:50
Thanks for you report.
You re-ripped from original disk ?
You've got the same errors than me (video has a gap...) ?
Yessir, so a fault either with EAC3TO, or original disk authoring.
Cheers,
-jj-
Nico8583
11th September 2013, 19:19
Yessir, so a fault either with EAC3TO, or original disk authoring.
Cheers,
-jj-
Or both :)
Nico8583
11th September 2013, 19:19
I will test when I have time ;)
Thanks ;)
Nico8583
12th September 2013, 18:10
I've authored MONSTERS_INC also with all warning and all seems to be OK. I'll watch that as soon as possible :)
Eseninzhiv
15th September 2013, 20:55
frencher, a great player
I liked the function export to .yuv
can be made to have two output file .yuv (Left and Right)?
now only get one
http://t.imgbox.com/adguwUIb.jpg (http://imgbox.com/adguwUIb)
frencher
15th September 2013, 23:11
frencher, a great player
I liked the function export to .yuv
can be made to have two output file .yuv (Left and Right)?
now only get one
http://t.imgbox.com/adguwUIb.jpg (http://imgbox.com/adguwUIb)
Yes it's normal, if you want Left.yuv and Right.yuv use in 2 step:
STEP 1: View > 3D Mode > AVC View and export to Left.yuv
STEP 2: View > 3D Mode > MVC View and export to Right.yuv
If you have better avisynth script for both (Left.yuv & Right.yuv) in one step, i would be happy to include it ;)
Eseninzhiv
16th September 2013, 09:32
frencher,
is it possible to add a play file .SSIF?
frencher
16th September 2013, 20:42
frencher,
is it possible to add a play file .SSIF?
Run "MVC Player Free" and press F1 ;)
Eseninzhiv
16th September 2013, 21:21
I mean it makes Stereoscopic Player
he read the individual files .SSIF without .m2ts
MVC Player Free, if the file .SSIF in the directory BD3D, player read
if the .SSIF copy to another folder, the error is presented :scared:
http://t.imgbox.com/acv3ydML.jpg (http://imgbox.com/acv3ydML)
frencher
16th September 2013, 23:13
I mean it makes Stereoscopic Player
he read the individual files .SSIF without .m2ts
MVC Player Free, if the file .SSIF in the directory BD3D, player read
if the .SSIF copy to another folder, the error is presented :scared:
http://t.imgbox.com/acv3ydML.jpg (http://imgbox.com/acv3ydML)
Have you Avisynth 2.5.8 and latest Directshow installed ?
SSIF file works from original 3DBD structure.
Look my Tutorial in my signature
Eseninzhiv
19th September 2013, 21:12
Have you Avisynth 2.5.8 and latest Directshow installed ?
yes
MVC Player Free, if the file .SSIF in the directory BD3D, player read
Wolfy59
22nd September 2013, 18:24
Hi i have a problem with the 2nde pass Encoding. when i try to encode with DirectShowMVCSource.dll.
I have a message that says "cavistreamsynth: system execption :access violation at....."
I tried to fix with a setmemorymax at my avs s begining.
But no Sucess.
If i do 2 Uncompressed avi and load them in totalcode there s no problem
frencher
1st October 2013, 20:47
Nice News
tsMuxer for 3D Bluray (http://forum.doom9.org/showthread.php?t=168539)
http://i39.tinypic.com/qyfuw4.png
http://i44.tinypic.com/343nfxg.png
HWK
1st October 2013, 21:08
Nice News
Indeed it is, however author is planning to support creation of iso, so program will be able to write iso file. This will make possible to create ssif file without increasing size on disk.
frencher
1st October 2013, 21:19
Indeed it is, however author is planning to support creation of iso, so program will be able to write iso file. This will make possible to create ssif file without increasing size on disk.
It would be really great to be there already but it's a lot and encourage the author for his work ;)
HWK
1st October 2013, 21:22
It would be really great to be there already but it's a lot and encourage the author for his work ;)
hmm, know we need to focus on getting job done on mvc encoder. We already have a way to extract multiple view from ssif file and at the same getting near to stage of rebuild disc.
frencher
1st October 2013, 21:45
hmm, know we need to focus on getting job done on mvc encoder. We already have a way to extract multiple view from ssif file and at the same getting near to stage of rebuild disc.
It will be really great to do another BD25 from BD50
HWK
1st October 2013, 21:54
It will be really great to do another BD25 from BD50
I did and it was great experience, however mvc encoder is quite slow, regardless which one you use. You need turnkey encoding system to see real benefits. On my computer which is intel core i7 3930K (six physical core) at 4.0GHZ it only get up to 10 fps on average when gpu is decoding the frames and source and destination is on physical different drive.
Encoder used for test= Mainconcept MVC encoder & Sony DoStudio & Elecard MVC encoder (though it was cinema craft encoder)
Layout is like this and no drive is used by os either.
Source 1= Separate Drive 7200RPM
Source 2= Separate Drive 7200RPM
Destination= Separate Drive 7200RPM
In benchmark gpu can decode up to 64fps and decode two stream together come to 32 fps.
frencher
1st October 2013, 22:17
I also have an i7 3930K original frequency with watercooling corsair, an ideal compmromis to the encoding.
I thought as an addition to the support pipe tsMuxeR output ex: "\\.\pipe\out.m2ts"
HWK
1st October 2013, 22:27
I use mainconcept encoder and no need worry about pipes and other problem. In addition it create 100% blu-ray compatible stream.
I also tried intel media sdk but it does not produce stream compatible by any means. Even tsmuxer refuse to open files created by intel media sdk. At this stage I am just talking raw elementary stream which encoder produce on hard drive and no use of pipes.
physic
1st October 2013, 22:31
removed. I muxed up topic
frencher
1st October 2013, 22:43
OK.
I have 2 files from tsMuxeR (1.12.3a) "MVC+AVC.m2ts" and "AVC+MVC.m2ts", this 2 files have problem with Samsung Smart TV 6500 serie (http://www.samsung.com/us/video/tvs/UN40ES6500FXZA) (codec video not supported)
"AVC_2D.m2ts" play without problem
HWK
1st October 2013, 22:51
OK.
I have 2 files from tsMuxeR (1.12.3a) "MVC+AVC.m2ts" and "AVC+MVC.m2ts", this 2 files have problem with Samsung Smart TV 6500 serie (http://www.samsung.com/us/video/tvs/UN40ES6500FXZA) (codec video not supported)
"AVC_2D.m2ts" play without problem
That is because mvc file need reference to I frames from avc file in order to decode. Also tsmuxer only extract stream and cannot decode like ssifsource or directshowmvcsource does.
AVC file= I,P,B frames
MVC file= P,B frames
Source: MVC encoder documentation
HWK
1st October 2013, 23:00
On a side note I use ssifsource or directshowmvcsource to decode frames first. Then I use virtual dub to create avi file and feed that in to encoder.
frencher
1st October 2013, 23:26
No problem with my TV with 3Dcombined m2ts file (play normaly in 2D)
Nico8583
5th October 2013, 17:47
Hi :)
Do you have any problem with 20th FOX titles ?
TotalCode Pro find an error with Avatar or Titanic but no problem with others titles.
It tells me resolution is not correct (704 x 570 or similar instead of 1080p).
HWK
6th October 2013, 00:47
Hi :)
Do you have any problem with 20th FOX titles ?
TotalCode Pro find an error with Avatar or Titanic but no problem with others titles.
It tells me resolution is not correct (704 x 570 or similar instead of 1080p).
More detail on your procedure would be helpful.
Nico8583
6th October 2013, 09:10
More detail on your procedure would be helpful.
I have made about 30 movies with this method and never had a problem :
- I extract all tracks I want with eac3to and pipe left/right eyes output to MVCCombine
- I mux MVCCombine file to M2TS old with TsMuxer (last "old" version)
- I create 2 AVS files with DirectShowMVCSource.dll plugin, one for left eye, one for right file
- I open these files in TotalCode Pro and can encode without problem for all movies but not fort Avatar or Titanic :/
r0lZ
6th October 2013, 09:40
What's the resolution reported by the AVS scripts?
Wolfy59
6th October 2013, 11:09
I all
I have a Problème with the croods 3d.
I Have pixels or artefact in virtual dub.
like this.
http://img407.imageshack.us/img407/4083/5e4m.jpg
I Wonder if someone has successfully encode it.
Thanks for your work
my right avs works fine for all other movie
loadPlugin("DirectShowMVCSource.dll")
video=DirectShowMVCSource("G:\BDMV\STREAM\SSIF\01037.ssif")
AssumeFPS(video,"ntsc_film")
return video
r0lZ
6th October 2013, 11:30
Frencher and myself, we have had a similar problem with a particular version of Ice Age: Dawn of the Dinosaurs. (That was the version given for free with the Panasonic BD Player bundle.) We have concluded at that time that that problem was due to a bug in the encoding of the BD. Unfortunately, it is impossible to decode that BD properly with the currently available avisynth plugins.
It seems that only DVDFab can decode that BDs properly, so I have used it to encode the movie in SBS with the maximum bitrate (to obtain an acceptable quality), then I have re-encoded the file produced by DVDFab with x264, to reduce its size. It's not at all a good solution, as even at its maximum bitrate, DVDFab doesn't do a perfect encoding, but as far as I know, it's the only solution that works. Of course, you can also try to find another version of the BD that doesn't have the bug.
Can you confirm that the artifacts appear only on the left and right edges of the image, and that they appear mainly in scenes with important camera movements? If it's the case, I'm almost sure that your BD has the same bug than that bad Ice Age BD.
[EDIT]
See this post (http://forum.doom9.org/showthread.php?p=1630675#post1630675) for an example.
Wolfy59
6th October 2013, 11:40
Thanks for Your answer r0lZ.
I can confirm that appears only on the left edge not on the right and i can confirm that they appear mainly in scenes with important camera movements like a pursuit run.
I try with two differents bd and same result.
r0lZ
6th October 2013, 11:44
You need a different encoding and pressing, like a BD sold in another country.
(BTW, have you seen my edit of my previous post? I've posted a link to an example from Ice Age 3.)
Wolfy59
6th October 2013, 12:04
You need a different encoding and pressing, like a BD sold in another country.
(BTW, have you seen my edit of my previous post? I've posted a link to an example from Ice Age 3.)
I took a région A and B same result
I ll try to do another authoring by demuxing with bd demuxer pro trial and try again in virtual dub.
It s better to take the demuxing ssif or the demuxing m2ts to reauthor with better chance ?
r0lZ
6th October 2013, 12:14
That means probably that they have the same video track. Or, perhaps, that some companies are now using that encoding bug as a "feature" to somewhat protect their BDs!
Have you tried to decode with ssifsource2? (IMO, it will not work better, but I'm not sure.)
Wolfy59
6th October 2013, 12:18
That means probably that they have the same video track. Or, perhaps, that some companies are now using that encoding bug as a "feature" to somewhat protect their BDs!
Have you tried to decode with ssifsource2? (IMO, it will not work better, but I'm not sure.)
not try with ssifsource2. can you give me an exemple for avs with this one that can decode left and right independantly
r0lZ
6th October 2013, 12:43
The basic syntax is:
ssifSource2(filename, numframes, left_view, right_view, horizontal_stack)
Where left_view, right_view and horizontal_stack are boolean (true or false) values.
So, you should use, for example:
ssifSource2("00001.ssif", 20000, left_view = true, right_view = false)
and
ssifSource2("00001.ssif", 20000, left_view = false, right_view = true)
Wolfy59
6th October 2013, 12:49
loadPlugin("C:\Users\Wolverine\Downloads\BD3D2MK3D\BD3D2MK3D\toolset\stereoplayer.exe\ssifsource2.dll")
video=ssifSource2("G:\BDMV\STREAM\SSIF\01037.ssif", 141865, left_view = false, right_view = true)
return video
Like this for the right eye ?
http://img820.imageshack.us/img820/3484/h0fw.jpg
r0lZ
6th October 2013, 13:10
Oops. I forgot that "left" and "right" have been renamed to "avc" and "mvc". Just tried this script and it works:
LoadPlugin("D:\Tools\BD3D2MK3D\toolset\stereoplayer.exe\ssifSource2.dll")
ssifsource2("G:\BDMV\STREAM\SSIF\00000.ssif", 20000, avc_view=true, mvc_view=false)
Wolfy59
6th October 2013, 13:14
Oops. I forgot that "left" and "right" have been renamed to "avc" and "mvc". Just tried this script and it works:
LoadPlugin("D:\Tools\BD3D2MK3D\toolset\stereoplayer.exe\ssifSource2.dll")
ssifsource2("G:\BDMV\STREAM\SSIF\00000.ssif", 20000, avc_view=true, mvc_view=false)
loadPlugin("C:\Users\Wolverine\Downloads\BD3D2MK3D\BD3D2MK3D\toolset\stereoplayer.exe\ssifsource2.dll")
video=ssifSource2("G:\BDMV\STREAM\SSIF\01037.ssif", 141865, avc_view=false, mvc_view=true)
return video
can't creat the graph :-(
frencher
6th October 2013, 15:48
Test with my tool (MVC Player Free, in my signature).
1° - Drag and drop index.bdmv
2° - Tools>MVC Player Free Demuxer
3° - 3D Box AVC+MVC (MVCCombine)
3° - Remux video track (audio and subtitles if you want) with tsMuxer to .ts or .m2ts (out.m2ts)
4° - Re-Drag and drop out.m2ts and export with Tools>x264>Start AVC Encoding
Your result with croods ?
Wolfy59
6th October 2013, 17:55
Test with my tool (MVC Player Free, in my signature).
1° - Drag and drop index.bdmv
2° - Tools>MVC Player Free Demuxer
3° - 3D Box AVC+MVC (MVCCombine)
3° - Remux video track (audio and subtitles if you want) with tsMuxer to .ts or .m2ts (out.m2ts)
4° - Re-Drag and drop out.m2ts and export with Tools>x264>Start AVC Encoding
Your result with croods ?
same result thanks frencher
Nico8583
6th October 2013, 20:50
Error message is :
The files could not be added as pair because the following item conflict :
- the image resolution (612 x 56 and 624 x 56)
I believe Titanic resolution was different...
HWK
6th October 2013, 21:04
I have made about 30 movies with this method and never had a problem :
- I extract all tracks I want with eac3to and pipe left/right eyes output to MVCCombine
- I mux MVCCombine file to M2TS old with TsMuxer (last "old" version)
- I create 2 AVS files with DirectShowMVCSource.dll plugin, one for left eye, one for right file
- I open these files in TotalCode Pro and can encode without problem for all movies but not fort Avatar or Titanic :/
I would say try new tsmuxer and see if it works, since you can skip first two steps.
1. Open mpls for movie and choose m2ts output in tsmuxer. At this stage you can uncheck assets you don't want in final output.
2. Perform last two steps which you normally do.
Nico8583
6th October 2013, 22:18
Thanks HKW, with your method it seems to work but I'll try more tomorrow :)
Cedvano
9th October 2013, 20:10
- I open these files in TotalCode Pro and can encode without problem for all movies but not fort Avatar or Titanic :/
You encode in AVC or MVC ?
HWK
9th October 2013, 22:26
You encode in AVC or MVC ?
Total code Professional support avc in addition mvc files and my guess would be mvc.
Nico8583
10th October 2013, 07:13
I encode in MVC and the result is very good
Cedvano
10th October 2013, 15:10
I encode in MVC and the result is very good
I saw that encode only in 720p. You lost quality.
Nico8583
10th October 2013, 19:43
Wrong :)
It encodes in 1080p, not in 720p ;)
HWK
10th October 2013, 21:46
I saw that encode only in 720p. You lost quality.
Wrong :)
It encodes in 1080p, not in 720p ;)
In addition for MVC there is no 720P available with 23.98 fps.
Here are acceptable standard and all of them progressive.
1920*1080 23.98 fps
1280*720 59.94 fps
1280*720 50 fps
Sharc
10th October 2013, 22:27
In addition for MVC there is no 720P available with 23.98 fps.
Is this different from AVC then? I thought the legal formats are the same for AVC and MVC, i.e. all blu-ray compliant formats are allowed.
HWK
11th October 2013, 03:05
Is this different from AVC then? I thought the legal formats are the same for AVC and MVC, i.e. all blu-ray compliant formats are allowed.
no, there are not. However here is the list of all possible resolution allowed by blu-ray standard and this doesn't include codec restriction.
Blu-ray 2D
Primary Stream
1920*1080 59.94i, 50-I (16:9)
1920*1080 24p, 23.976-p (16:9)
1440*1080 59.94i, 50-I (16:9)
1440*1080 24p, 23.976-p (16:9)
1280*720 59.94p, 50-p (16:9)
1280*720 24p, 23.976-p (16:9)
Secondary video SD
720x480x24-p, 23.976-p (4:3/16:9)
720x576x25-p (4:3/16:9)
Blu-ray 3D
Primary Stream
1920*1080 24p, 23.976-p (16:9)
1280*720 59.94p, 50-p (16:9)
Secondary video SD
Not Allowed
r0lZ
11th October 2013, 07:53
1440*1080 is 4:3, no?
And 720*480 and 720*576 are the NTSC and PAL resolutions, and therefore I suppose they are interlaced, not progressive.
Right?
Sharc
11th October 2013, 12:39
For Blu-ray 2D I usually refer to this table (http://forum.doom9.org/showthread.php?p=1399419#post1399419).
"PAL" and "NTSC" terms as such do no longer exist in Blu-ray specs, but these formats have their roots in DVD. 720x576/480 Primary Video Stream is therefore interlaced. If encoded progressive the stream should be flagged as interlaced (--fake-interlaced in x264).
720x576/480 Secondary Video Stream can be progressive or interlaced. Framerates acc. the table (http://forum.doom9.org/showthread.php?p=1399419#post1399419).
In practical case I think blu-ray standalones are quite tolerant with respect to 720x576/480 p or i formats.
The specification for the fps for interlaced material is sometimes confusing as fps may refer to the frames per second (29.97) or fields per second (59.94).
1440x1080 has a Display Aspect Ratio (DAR) of 16:9 and a SAR (Sample Aspect Ratio, or Pixel Aspect Ratio) of 4:3.
According to the post of HWK the 3D blu-ray formats are a small subset of the 2D which I was not aware of.
r0lZ
11th October 2013, 12:56
Thanks for the precisions.
There is apparently no way to encode a 4:3 movie in HD without having to add vertical black borders. That's strange, as 1440x1080 with a SAR of 1:1 is exactly the 4:3 DAR. IMO, allowing that format would have been useful. The guys who do the specs are so strange!
Anyway, the table of HWK above is almost exact, except this:
Secondary video SD
720x480x23.976-i (4:3/16:9)
720x576x25-i (4:3/16:9)
Sharc
11th October 2013, 13:35
Yes, I concluded the same. Borders (pillows) must be added for native 4:3 footage in the HD world.
I had a similar discussion in another thread where the authoring system threw an error for 1440x1080 4:3 (--sar 1:1)without pillows. Amazingly this seems not to be compliant. However I have not seen the original blu-ray specs, so it's all a bit best guessing ....
There is however an interesting application for 1440x1080:
Native 1920x1080 16:9 material can be resized to 1440x1080 (anamorphic, yeah!) and encoded with --sar 4:3. It's fully blu-ray compliant and plays back correctly. You normally won't see a quality loss, but encoding is faster and file size for same visual quality smaller compared to a full-size encode.
HWK
11th October 2013, 15:42
no, there are not. However here is the list of all possible resolution allowed by blu-ray standard and this doesn't include codec restriction.
Blu-ray 2D
Primary Stream
1920*1080 59.94i, 50-I (16:9)
1920*1080 24p, 23.976-p (16:9)
1440*1080 59.94i, 50-I (16:9)
1440*1080 24p, 23.976-p (16:9)
1280*720 59.94p, 50-p (16:9)
1280*720 24p, 23.976-p (16:9)
Secondary video SD
720x480x24-p, 23.976-p (4:3/16:9)
720x576x25-p (4:3/16:9)
Blu-ray 3D
Primary Stream
1920*1080 24p, 23.976-p (16:9)
1280*720 59.94p, 50-p (16:9)
Secondary video SD
Not Allowed
1440*1080 is 4:3, no?
And 720*480 and 720*576 are the NTSC and PAL resolutions, and therefore I suppose they are interlaced, not progressive.
Right?
Thanks for the precisions.
There is apparently no way to encode a 4:3 movie in HD without having to add vertical black borders. That's strange, as 1440x1080 with a SAR of 1:1 is exactly the 4:3 DAR. IMO, allowing that format would have been useful. The guys who do the specs are so strange!
Anyway, the table of HWK above is almost exact, except this:
Secondary video SD
720x480x23.976-i (4:3/16:9)
720x576x25-i (4:3/16:9)
You are right interlace is allowed. It was late at night and not thinking straight.
Cedvano
11th October 2013, 16:23
If someone know something about X264licensing (http://x264licensing.com/) ?
There are 3D MVC in premium option.
Nico8583
11th October 2013, 23:25
I have made about 30 movies with this method and never had a problem :
- I extract all tracks I want with eac3to and pipe left/right eyes output to MVCCombine
- I mux MVCCombine file to M2TS old with TsMuxer (last "old" version)
- I create 2 AVS files with DirectShowMVCSource.dll plugin, one for left eye, one for right file
- I open these files in TotalCode Pro and can encode without problem for all movies but not fort Avatar or Titanic :/
Same issue with Ice Age 3 :( and if I use TsMuxer to create M2TS, encode don't work or crash :/
HWK
12th October 2013, 00:23
Same issue with Ice Age 3 :( and if I use TsMuxer to create M2TS, encode don't work or crash :/
So you are not able to save base and dependent view with help of DirectShowMVCSource? I did with few and it worked. I can try avatar and transformers if it helps to test it.
Also you do know totalcode pro need separate files for both views and embedding into one is not a option.
Nico8583
12th October 2013, 07:18
I have made several films with the method TotalCode Pro and both views embedded into one (extract with eac3to, combine with MVCCombine and mux with TsMuxer) and no problem but with 20th fox titles it doesn't work. For example, Transformers 3 3D is OK because it's a Paramount Films but Avatar, Titanic and Ice Age 3 no.
I have tried to invert NALUs with MVCCombine but the same result.
HWK
12th October 2013, 18:01
I have made several films with the method TotalCode Pro and both views embedded into one (extract with eac3to, combine with MVCCombine and mux with TsMuxer) and no problem but with 20th fox titles it doesn't work. For example, Transformers 3 3D is OK because it's a Paramount Films but Avatar, Titanic and Ice Age 3 no.
I have tried to invert NALUs with MVCCombine but the same result.
Hmm, that is interesting. Does totalcode pro give you option to specify separate base and dependent view and then feed those views to encoder. I was thinking try separating views for each eye and then encode them and see if it works.
Nico8583
13th October 2013, 10:45
I have tried to separate base and dependent view and the error is the same but resolution in error message is different :
- When I use MVCCombine and launch TotalCode, error message is "image resolution (644 x 56 and 660 x 56)"
- When I use separate files and launch TotalCode, error message is "image resolution (612 x 56 and 624 x 56)"
Sharc
13th October 2013, 11:27
If someone know something about X264licensing (http://x264licensing.com/) ?
There are 3D MVC in premium option.
Looks like the licensing is linked to CoreCodec? CoreCodec seem to offer a Decoder only rather than an MVC Encoder. Moreover there seem to be some doubts with CoreCodec here (http://forum.doom9.org/showthread.php?p=1647600#post1647600). :confused:
Cedvano
19th October 2013, 07:04
I have a MVC encoder in DLL. If someone can make something with this.
Libmvc.dll (https://docs.google.com/file/d/0BxjaFf3cdexVTlhtNVB3X3VSTHM/edit)
Thalyn
1st November 2013, 03:52
Now this could have interesting implications for us 3D folk:
http://blogs.cisco.com/collaboration/open-source-h-264-removes-barriers-webrtc/
If Cisco has an MVC license, would that be included in their H.264 codec? And, equally importantly, could that then be something usable for our purposes - either decoding or encoding?
Cedvano
1st November 2013, 08:36
Now this could have interesting implications for us 3D folk:
http://blogs.cisco.com/collaboration/open-source-h-264-removes-barriers-webrtc/
If Cisco has an MVC license, would that be included in their H.264 codec? And, equally importantly, could that then be something usable for our purposes - either decoding or encoding?
Cisco don't speak about MVC, but they use the JVT MVC Encoding (like Nokia).
r0lZ
10th November 2013, 13:35
@Neisklar:
I've tried to encode Monsters University with BD3D2MK3D, but I have had several problems. The MPLS is made of 148 different SSIF parts! That means that eac3to on my PC has to work hard during 3.5 minutes just to retrieve the streams numbers! Of course, it is not possible to encode that movie directly with DirectShowMVCSource or ssifsource2, due to the well known tineout problem. Therefore I have tried to use MVCCombine to produce a single combined video file, easier to encode. But here again I have had a timeout problem. I have used the MVCCombine GUI integrated in BD3D2MK3D to demux and combine the streams in one shot, using the named pipes. The problem is that MVCCombine gives up and closes the pipes much before eac3to begins to demux the streams, due to the huge delay eac3to needs to determine the stream numbers.
Finally, I have had to demux the streams with eac3to alone, and then combine them from HDD with MVCCombine. Of course, I have also had to mux them to M2TS. Total: about 2 hours of constant intense disc activity, just to have a video stream that can be encoded without problem.
Neisklar, can you modify MVCCombine to increase its timeout when waiting for data in the pipes? IMO, it should be at least 5 minutes or so. Another possibility would be to add a command line option to pass the timeout, and leave it by default at its current value. (The second possibility is better IMO, as it permits to increase the timeout intelligently, according to the number of parts in the MPLS.)
Also, have you tried to add the possibility to mux to M2TS directly in MVCCombine? That would speed up the process much, but I don't know if it's easy to do.
I have the intention to modify BD3D2MK3D to encode using the MVCCombine method automatically when there are too many parts in the current MPLS, but of course, I need working pipes, regardless of the number of parts.
Thanks in advance!
frencher
11th November 2013, 00:36
@Neisklar:
I've tried to encode Monsters University with BD3D2MK3D, but I have had several problems. The MPLS is made of 148 different SSIF parts! That means that eac3to on my PC has to work hard during 3.5 minutes just to retrieve the streams numbers! Of course, it is not possible to encode that movie directly with DirectShowMVCSource or ssifsource2, due to the well known tineout problem. Therefore I have tried to use MVCCombine to produce a single combined video file, easier to encode. But here again I have had a timeout problem. I have used the MVCCombine GUI integrated in BD3D2MK3D to demux and combine the streams in one shot, using the named pipes. The problem is that MVCCombine gives up and closes the pipes much before eac3to begins to demux the streams, due to the huge delay eac3to needs to determine the stream numbers.
Finally, I have had to demux the streams with eac3to alone, and then combine them from HDD with MVCCombine. Of course, I have also had to mux them to M2TS. Total: about 2 hours of constant intense disc activity, just to have a video stream that can be encoded without problem.
Neisklar, can you modify MVCCombine to increase its timeout when waiting for data in the pipes? IMO, it should be at least 5 minutes or so. Another possibility would be to add a command line option to pass the timeout, and leave it by default at its current value. (The second possibility is better IMO, as it permits to increase the timeout intelligently, according to the number of parts in the MPLS.)
Also, have you tried to add the possibility to mux to M2TS directly in MVCCombine? That would speed up the process much, but I don't know if it's easy to do.
I have the intention to modify BD3D2MK3D to encode using the MVCCombine method automatically when there are too many parts in the current MPLS, but of course, I need working pipes, regardless of the number of parts.
Thanks in advance!
Try tsMuxer 3D (http://forum.doom9.org/showthread.php?t=168539) ;)
r0lZ
11th November 2013, 10:37
Well, it's a muxer. But is it able to create a CombinedMVC.M2TS file in one shot, exactly like eac3to + MVCCombine + the original tsMuxeR ?
Ideally, I need something that can create the M2TS file with the AVC and MVC streams directly from the blu-ray, without writing intermediate files on HDD. Is it possible with tsMuxeR Update for BD ? Have you tried it ?
Cedvano
11th November 2013, 11:04
Yes, create the BD folder (without audio) on your HDD and work with this. That's work fine.
r0lZ
11th November 2013, 11:24
Hum, currently, I just did a simple test and I've created a single M2TS file with the 2 video streams combined plus a single audio stream. I'm currently encoding it to SBS. It seems to work, but I still have to test with a "difficult" BD with seamless branching and a lot of SSIF files in the MPLS. Anyway, I don't need to create a BD folder on HDD.
A good point with that version of tsMuxeR is that it can generate the M2TS file with everything needed later (except perhaps the chapter points). That means that I can use it to extract the video, audio and subtitles in one shot, then encode without problem, and mux the SBS or TB version from the encoded x264 video and the audio and subtitles from the M2TS. There is no need to use eac3to, and everything can be extracted in one single pass. (I'm still not sure it is possible to create 3D subs directly from the M2TS, or if tsMuxeR can create them directly, but I'll read the thread later...)
However, currently, I don't understand how the stream numbers necessary to identify the streams to extract are computed. I don't know yet how to retrieve the list of streams from the MPLS. I have a lot of things to learn, but it seems that that muxer can solve a lot of our problems. I didn't know it. Good finding, Frencher. :-)
slavanap
11th November 2013, 15:20
The update to ssifSource: now MP4Splitter.dll support added (JVC MVC video): http://sendfile.su/894673
It requires MPEGSplitter.dll MatroskaSplitter.dll MP4Splitter.dll to work with ssif, mkv, mp4; and CoreAVCDecoder.dll, of course.
P.S. Excuse me for short announce (no time to write a full reply).
slavanap
11th November 2013, 16:23
@Slavanap:
Well, I have tried again with the previous beta, and this time, I have had exactly the same result with ssifsource3() than with ssifsource2(). There are still additional or missing frames from time to time, but encoding with x264 32-bit or with avs2yuv and x264_x64 work the same way. I don't understand why, as nothing has changed since my last tests. I remember I've previewed the movie and I did several seeks with AvsPMod before launching the encoding, but that should have no impact. Anyay, consider this problem as solved. If I can reproduce it, I'll let you know.
I did also some tests with the latest beta. Unfortunately, the sync problem persists, but again I don't understand it.
When I preview the AVS script with AvsPMod, all frames are in sync, so everything seems perfect.
But when I encode the movie with avs2yuv and x264_x64, there are 2 additional frames in the MVC stream at the very beginning of the video. (It seems that no dupes are added later, but I'm not sure).
Then I did another test with x264 32-bit, and I've seen a lot of "Duplicate frame added" warnings. I've decided to start again but this time I've added "> x264.log" to the command to capture the error messages. Strangely, there were no warning any more, in the command prompt window or in the log. There are NO additional frames at the beginning any more. :-)
Here is the content of the log:
ssifSource3: adding file Z:\BDMV\STREAM\SSIF\00000.ssif with 0 frames to sequences list. Have to load flag is TRUE
ssifSource2: framecount autodetect mode on. looking for 'Z:\BDMV\STREAM\SSIF\..\00000.M2TS' file...
ssifSource2: DSS2 function does not exists. Please add DSS2 plugin (avss.dll) to Avisynth plugins to make this feature work.
ssifSource2: framecount directshow value is 4898
Is the DSS2 function really necessary? It seems that ssifsource3() works as expected without it. Note also that I have installed the Haali MatroskaSplitter, and it contains the avss.dll file, but it is located in "C:\Program Files (x86)\Haali\MatroskaSplitter". Is it sufficient to move or copy it to the avisynth plugins directory?
Then, I've tried again to encode with x264 32-bit without the redirection to the log file. It tooks a very long time to start the encoding, and again I see the error messages. Here are a few of them:
"D:\NoInstall\BD3D2MK3D\toolset\stereoplayer.exe\x264.exe" --crf 23 --preset medium --profile high --level 4.1 ^
--keyint 96 --output "00000_m2ts.264" "_ENCODE_3D_MOVIE.avs"
ssifSource3: adding file Z:\BDMV\STREAM\SSIF\00000.ssif with 0 frames to sequences list. Have to load flag is TRUE
ssifSource2: framecount autodetect mode on. looking for 'Z:\BDMV\STREAM\SSIF\..\00000.M2TS' file...
ssifSource2: DSS2 function does not exists. Please add DSS2 plugin (avss.dll) to Avisynth plugins to make this feature work.
ssifSource2: framecount directshow value is 4898
avs [info]: 1920x1080p 0:0 @ 24000/1001 fps (cfr)
x264 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.1 Cache64
x264 [info]: profile High, level 4.1
ssifSource2: Decoding frame timeout reached!!! Frame # 3 duplicate added (debug: g03937998 m03937830 s03937998)
ssifSource2: End of graph. Frame # 4 duplicate added (debug: g03937830 m03937830 s03937998)
I had to stop the command to be able to copy/paste the messages here, so I've started the command again (without any modification), and this time, there are again no error messages, but there is a missing frame at the beginning of the MVC view. How is it possible that exactly the same command launched in exactly the same conditions can give different results? I'm puzzled.
I did all tests with the number of frames set to 0 in the AVS script. If you want tests with the correct number of frames, please let me know.
I will check again later, with the avss.dll correctly installed...
One command can give you different results because of timeout for decoding one frame. Without this timeout the plugin can hang forever. I've experienced few times that the CoreAVC decoder hangs at the last frame in the sequence, so I've added this timeout. This timeout is 60 seconds for one frame. And I can increase it if necessary.
P.S. And reading from the disc can take different time every time you launch it. The second one will be faster because of cache.
slavanap
11th November 2013, 18:04
I did a lot of new ssifsource3() tests, with and without the avss.dll, and with and without the number of frames in the ssifsource3() command. All tests have been made with a single SSIF file.
Apparently, right after a reboot, ssifsource3() works perfectly. There is no left/right sync problem, no timeout and no "duplicate added" error messages. But if you launch the same encoding again, the timeout and "duplicate added" error happen. Same thing if you reboot, launch AvsPMod (even without previewing the video), quit it, and then encode the script. If you reboot again, the script can be encoded successfully again. Obviously, there is something wrong when avisynth is initialised for the second time. I don't know if it is possible to "reset" avisynth before starting the script, but I've tried to edit my Win8 registry to automatically unload the DLLs that are not used any more (http://www.freetutorialssubmit.com/speed-up-windows-7-by-forcing-it-to-unload-unused-dlls-and-delete-cached-ones/1786). Unfortunately, that doesn't solve the problem.
Note that the presence or absence of avss.dll in the avisynth's plugins folder doesn't change anything (except that the warnings about DSS2 is not shown when the dll is present.
I have also tested an encode of several times the same SSIF file, with this command: SsifSource3("Z:\BDMV\STREAM\SSIF\00000.ssif;48;Z:\BDMV\STREAM\SSIF\00000.ssif;48;Z:\BDMV\STREAM\SSIF\00000.ssif;1000", avc_view = true, mvc_view = true, horizontal_stack = true, swap_views = 0). Unfortunately, that doesn't work either, even after a reboot. I have tried to encode it 4 times, and each time, at least one of the 3 parts produced the "duplicate added" errors. Even the first part can produce the error after a reboot.
It should be noted that AvsPMod has absolutely no problems with the script with a single SSIF. So, IMO, it uses a method to initialize the script correctly. But it hangs also with scritps with several SSIF files in the same command.
Slavanap, I hope you have now enough info to find and fix that irritating bug. Unfortunately, I can't help on this point. To reproduce it, encode a few frames of any 3D movie, and then launch the same encoding command again. Most of the times (but not always), it will fail (and you'll see the progress % of x264 only after the timeout of 1 minute).
I did most tests with x264 32-bit, but I've tried also several times the method using avs2yuv and x264_x64. The bugs described above are happening also with that encoding method, but I have also discovered another problem. The current beta of ssifsource2.dll prints its messages to stdout. That's fine when using the 32-bit encoding method, but not when using the 64-bit one. When the message is issued, avs2yuv echoes it probably to stdout normally, but since the YUV decoded video is also sent to stdout, the messages are mixed with the video stream, and x264_x64 receives strange frames with garbage that it cannot encode properly. That means that it is never possible to encode correctly a script using ssifsource3 in 64-bit mode. There is almost always a totally bugged frame near the beginning of the video, followed by a left/right sync problem of at least 3 or 4 frames. (The rest of the encoding seems normal, but of course the sync problem persists.)
I suppose that this bug can easily be fixed by printing all messages to stderr instead of stdout. Slavanap, can you fix it?
Thanks.
I've tried to fix this issue. Can't test for full-length movies, though.
http://sendfile.su/894770
Moreover, desynchronization might be caused by avisynth caching strategy, because seeking in full length movie doesn't work always perfectly, so if you use crop, then one frame from ssifSource might be requested twice. In this last version ssifSource provide caching for the last requested frame, in the previous -- it doesn't.
So, that might be the reason. Be careful, if your plugin requests frames not sequentially, because it will cause the graph to seek and you'll get the warning message in the console.
Also, all messages now prints to stderr, as requested.
Prototypes of implemented functions (not changed):
env->AddFunction("ssifSource", "[ssif_file]s[width]i[height]i[frame_count]i[left_track]i[right_track]i[left_264]s[right_264]s[show_params]i", Create_SSIFSource, 0);
env->AddFunction("ssifSource2", "[ssif_file]s[frame_count]i[avc_view]b[mvc_view]b[horizontal_stack]b[swap_views]i", SSIFSource2::Create, 0);
env->AddFunction("ssifSource3", "[filelist]s[avc_view]b[mvc_view]b[horizontal_stack]b[swap_views]i", SSIFSourceExt::Create, 0);
ADD: also, timeout for decoding a frame increased from 60 to 120 seconds.
r0lZ
11th November 2013, 18:28
Thanks. I'm not sure the timeout of 120 seconds will be sufficient in all situations. As I wrote in a previous post, it must be at least of 3.5 minutes when decoding the first frame with some Pixar movies. But I don't know if the decoding starts immediately or if most of the lost time happens during the initialisation of the AVS script.
Anyway, I'll test your mod later. Currently, I study the possibility to use the BD3D mod of tsMuxeR to generate the combined MVC file. If it works fine, I will probably rewrite completely BD3D2MK3D to use the DirectShowMVCSource method with the combined file as input. That can solve most problems IMO, and of course, in that case, I will not need ssifsource2 any more. Sorry. ;-)
Sharc
11th November 2013, 18:50
@r0lZ:
Perhaps the discussion in this thread is of interest to you as well for new BD3D2MK3D.
http://forum.doom9.org/showthread.php?p=1650646#post1650646
r0lZ
11th November 2013, 19:09
Thanks, that MVC encoder is certainly interesting. A good MVC encoder is certainly useful for peoples who want to re-encode a 3D BD to reduce its size, to do compilations or encode BDs from private video sources. But BD3D2MK3D doesn't encode to MVC. It encodes SBS or T&B to regular AVC only. I'll stick to x264 for the encoding process.
The Intel framework provides also a MVC decoder, and that might be much more interesting for me, but ssifsource2 or DirectShowMVCSource do that job well. The problem I have to solve is the way the video streams are extracted from the original BD. I don't think the Intel SDK offers a better solution. Thanks anyway!
r0lZ
14th November 2013, 11:18
@MaistroX: Please clear some space in your PM area. I can't send you the reply to your last PM because you have exceeded your stored PMs quota.
MaistroX
14th November 2013, 11:37
Done! ;)
@MaistroX: Please clear some space in your PM area. I can't send you the reply to your last PM because you have exceeded your stored PMs quota.
r0lZ
20th November 2013, 09:05
# v0.20 (June 1, 2013)
# - Implemented support for SsifSource3 and removed support for SsifSource2.
# - Fixed Tools -> Find Dependent-View bug with multi-angle MPLS files.
# v0.21 (July 26, 2013)
# - Bug: When decoding with ssifsource, the "Monoscopic 2D: Base view only" mode decoded the MVC stream.
# v0.22 (November 20, 2013)
# - Fixed the undefined SAR of the x264-encoded video stream (noticeable on some BD players). (Thanks damorsoft!)
# - Updated x264 exe files to the latest version (v 0.140.2377), with support for Level 5 and 5.1.
# - Added x264's levels 5 and 5.1 in the list of levels, and a warning when a level > 4.1 or level "auto" is selected.
# - Updated tsMuxeR to the latest version with compatibility with 3D blu-ray.
# - Since the new tsMuxeR can create combined AVC/MVC M2TS files, MVCCombine.exe is no longer needed and has been removed.
# - The MVCCombine tool uses now only tsMuxeR, is much faster, and has been renamed \"Combine AVC & MVC to M2TS\".
# - The option to combine the AVC & MVC streams to M2TS has bee integrated in the main process, and is offered to the user when there are at least 10 SSIF parts in the MPLS.
# - Added the x264 option --frame-packing. Most TVs should now switch automatically to the right 3D mode when the movie is played.
# - E-AC3 7.1 audio streams are now converted to standard AC3 5.1 when the Keep Only the Core of HD Audio Tracks option is enabled.
# - Replaced "Scan full BD" in tab 1 with "Show More 3D Playlists" and "Show All 3D Playlists". Show More tries to filter intillegently the playlists to show. Show All works like previously.
# - Improved detection of the movie title (for tab 3)
The main differences: Some bugs fixed, uses now ssifsource3 instead of ssifsource2, and there is an option to combine the two video streams as combinedMVC.m2ts with the new version of tsMuxeR. This should definitely solve the timeout problems when encoding a MPLS with many SSIF parts. That option is available only when there are more than 3 SSIF parts in the MPLS. Please let me know if you have still soime problems with "difficult BDs".
As usual, download the latest version here: BD3D2MK3D.7z (http://download.videohelp.com/r0lZ/BD3D2AVS/BD3D2MK3D.7z)
Sharc
20th November 2013, 19:49
r0lZ
Thank you! The improvements look promising.
Sharc
21st November 2013, 09:41
The main differences: Some bugs fixed, uses now ssifsource3 instead of ssifsource2, .....
The stereoplayer.exe still has ssifSource2.dll. Is this intentional?
r0lZ
21st November 2013, 11:39
Yes. ssifsource3 is actually a new filter in the ssifsource2.dll plugin. The ssifsource (1) and ssifsource2 filters are still available in the same package.
r0lZ
21st November 2013, 12:18
@slavanap
Sorry, but it appears that ssifsource3 has still the lost and duplicate frames bug. I just did a small test, and it missed almost all frames (about 90% were missed).
Also, I'm not sure I have the latest version. The link from this post (http://forum.doom9.org/showthread.php?p=1652733#post1652733) is dead. I think I have that version, but I'm not sure, because there is no way to check the version of the DLL. Anyway, the two versions I have tested recently do not work, due to the duplicate bug.
@BD3D2MK3D users:
Currently, I recommend to not select the Settings -> Use SSIFSource3 for SBS/T&B option, as it causes many problems. You should use DirectShowMVCSource when encoding a MPLS made of a single or a small number of SSIF files, and DirectShowMVCSource with the option to generate the combinedMVC.m2ts file on disc when there are more than a few SSIF files in the MPLS. (The program will automatically offer to create the combined file when there are more than 3 SSIF parts.) As far as I know, both method work well, although it seems that there is still a problem to solve when encoding in 2 pass. I'm investigating that issue right now...
Sharc
21st November 2013, 12:19
I was just wondering why I don't find a ssifsource3.dll in the updated package.
Edit:
Oh our posts just crossed .... never mind.
Nico8583
23rd November 2013, 15:04
Have you found any issue for Ice Age 3 or Croods ?
r0lZ
23rd November 2013, 16:05
The special Panasonic bundle of Ice Age 3 is well known to have MVC decoding problem. That issue has been discussed earlier in this thread. Other versions of Ice Age 3 should be OK. I'm not aware of problems with The Croods.
Nico8583
23rd November 2013, 16:16
Yes I have seen old posts about Ice Age 3 Panasonic edition but I would like to know if a new solution has been found :) (with ssifsource3 for example).
Wolfy59 reports a problem with Croods few days ago.
r0lZ
23rd November 2013, 17:01
Oh, yes, I see here (http://forum.doom9.org/showthread.php?p=1646880#post1646880) the problem with Croods. I didn't remember it. It is probably exactly the same problem than with Ice Age 3.
I know that Ice Age 3 Panasonic can be decoded successfully with DVDFab. Unfortunately, the MVC decoder we are using here has not changed, and it should still have the problem. Anyway, that problem is caused by a rare bug in the MVC encoding, and I suppose we don't need to worry too much about it.
Nico8583
23rd November 2013, 18:46
Yes but what a pity! Have you contacted DirectShowMVCSource's author or do you know where could I contact him ?
Edit : Have you try to play with Stereoscopic Player 2.1.1 ? Because if I'm not wrong, DirectShowMVCSource is based on Stereoscopic Player DLL so perhaps it's possible to make a new version with new DLL ?
Edit 2 : I have installed Stereoscopic Player 2.1.1 and I've compared versions of CoreAVCDecoder. With frencher player, CoreAVCDecoder.dll is 3.0.0.1 (28/12/2012) but with Stereoscopic Player 2.1.1, CoreAVCDecoder.dll is 3.0.0.2 (04/11/2013). Perhaps a solution ? I can't test now...
r0lZ
23rd November 2013, 20:30
The author of DirectShowMVCSource is Neisklar, and he is (or was) active in this thread. His first post is here (http://forum.doom9.org/showthread.php?p=1594707#post1594707).
I don't know if the new CoreAVCDecoder.dll can work with DirectShowMVCSource. I doubt it will solve the problem. But feel free to try.
Another solution is the Sony MVC toolkit. Perhaps a good programmer could use it to build a good MVC decoder exe, suitable to decode directly any MPLS. Unfortunately, I can't do that myself.
Nico8583
23rd November 2013, 20:46
Thanks !
I'll try later, but if someone made test before please tell us ;)
Edit : I have made a quick test but it seems to not solve the artefact issue :-(
Neisklar have you search anything about this issue ? Could it be a buffer problem ?
samfednik
24th November 2013, 14:16
Edit : I have made a quick test but it seems to not solve the artefact issue :-(
Neisklar have you search anything about this issue ? Could it be a buffer problem ?
This is problem CoreAVCDecoder.dll
Looking here:
http://www.youtube.com/watch?v=mwG_ugYWgn0
or save this video to disc for analyse:
http://ru.savefrom.net/#url=http://youtu.be/mwG_ugYWgn0
Nico8583
24th November 2013, 15:05
Thanks for this link, so Stereoscopic Player can't play these movies correctly ? It is worse for a commercial software...
Nico8583
25th November 2013, 11:09
Have you tried CoreAVC 3.0.1 instead of 3.0.0.1 or 3.0.0.2 ?
r0lZ
25th November 2013, 11:31
I've found CoreAVC 3.0.0.2 with the latest stereo player. It is not v3.0.1. Where did you get that version?
Anyway, I will test the version I have here when my current encoding will be finished...
r0lZ
25th November 2013, 13:26
Just tested it, but it doesn't work at all. The DirectX graph can't be created, probably because the author has changed the protection, and the DLL is not compatible with DirectShowMVCSource any more. So, we have to live with the old version and its bugs, or we should try to use the Intel SKD to build a totally new avisynth filter. As far as I know, the Intel MVC decoder has no bug, and it is free. We just need someone able to build a DirectX filter. Unfortunately, I can't. Someone is interested?
There is already something that could be usable, but it's not an avisynth filter, and it requires using pipes. Not a good solution at all, but better than nothing. See here (http://forum.doom9.org/showthread.php?t=169651)...
Nico8583
25th November 2013, 14:53
I've found 3.0.1 on CoreAVC website.
I can't also create this filter but I'm very interested if someone can do that !
Edit : I've replaced DLL 3.0.0.1 with 3.0.0.2 on frencher player and it works but don't solve decoding problem.
slavanap
25th November 2013, 20:12
Actually Intel SDK has a directshow filter, but it connects only to these (de)muxers in samfednik video http://www.youtube.com/watch?v=mwG_ugYWgn0
Actually they do the job, that CombineMVC also does.
And moreover, this solution doesn't fully support video seeking.
Maybe it's possible to glue CombineMVC and Intel decoder, so it might work as Avisynth plugin through pipes. Looking forward to it.
And you, guys, are so fast. I've just finished wrapper to CoreAVC that allows to add it into GraphStudio graph builder.
http://sendfile.su/901324
But, I think, it doesn't need anymore.
Next days I gonna test frame temporal sych of ssifSource3 at "The Three Musketeers" movie, that is known to contains of about 15 ssif-parts.
r0lZ
25th November 2013, 23:21
Maybe it's possible to glue CombineMVC and Intel decoder, so it might work as Avisynth plugin through pipes. Looking forward to it.:-)
And you, guys, are so fast. I've just finished wrapper to CoreAVC that allows to add it into GraphStudio graph builder.
http://sendfile.su/901324
But, I think, it doesn't need anymore.Thanks!
Next days I gonna test frame temporal sych of ssifSource3 at "The Three Musketeers" movie, that is known to contains of about 15 ssif-parts.15 parts is not much. Most recent Disney or Pixar movies have 100 parts or more.
Nico8583
26th November 2013, 13:35
I have a little question : is there a difference between MVCCombine and TsMuxer 3D for M2TS AVC/MVC combined file ? A difference in the stream treatment, bugs or another thing...
Thanks !
r0lZ
26th November 2013, 14:06
I don't know exactly. But I know that the combined.m2ts produced by the new tsMuxeR can be encoded successfully with DirectShowMVCSource, just like the m2ts produced by eac3to + MVCCombine + old tsmuxer. It's why I have decided to use it with the latest release of BD3D2MK3D. Since it does everything in one single pass, it is much more rapid than the original method.
However, I have has a left/right desync problem with the new tsMuxeR method, when I tried it with a specific movie. I don't remember what movie it was right now, but it was a MPLS with a single SSIF file. I haven't tried that BD with the old method, so I can't confirm if it's a bug in the new tsMuxeR. Usually, it seems to work well.
pommesmatte
28th November 2013, 00:20
Actually I have a left/right desync Problem with Monsters University and the new tsMuxer 3D approach.
With the old MVCCombine I always suffered from an extreme memory leak during and after the combining.
I'm trying the old method on Monsters University right now as well as the new method simply a second time.
frencher
28th November 2013, 00:44
Actually I have a left/right desync Problem with Monsters University and the new tsMuxer 3D approach.
With the old MVCCombine I always suffered from an extreme memory leak during and after the combining.
I'm trying the old method on Monsters University right now as well as the new method simply a second time.
Try my player with DirectShowMVCSource (for decoder), works fine here ;)
DirectShowMVCSource.dll have no problem for export (with x264)
frencher
28th November 2013, 01:52
"MVC Player Free v0.0.2.5" In my signature... :rolleyes:
Extract and run directly MVC Player Free.exe or play associated file with MVC Player Free.exe
# Update : CoreAVCDecoder.dll v3.0.0.2
# Update : tsMuxeR Gui 3D v2.3.2(b)
# Added : Anagraf mode (Red,Cyan)
# Added : MVC/AVC (info only) from mpls and BD root
# Minor Fix : MVC Player Free Demuxer v0.0.0.8 (beta) Fix some forgotten extensions...
# Some fixes
http://i43.tinypic.com/15n6d5i.png
r0lZ
28th November 2013, 10:29
Actually I have a left/right desync Problem with Monsters University and the new tsMuxer 3D approach.
With the old MVCCombine I always suffered from an extreme memory leak during and after the combining.
I'm trying the old method on Monsters University right now as well as the new method simply a second time.
Strange. I did Monsters University with the tsMuxeR-combined file, and it worked perfectly. Please let us know if it fails the second time too...
mini-moose
28th November 2013, 15:57
@slavanap
@BD3D2MK3D users:
Currently, I recommend to not select the Settings -> Use SSIFSource3 for SBS/T&B option, as it causes many problems.
I did an encode for a friend with default settings and got a million warnings during encode. The result was like x10 speed (already deleted and didn't note down the warnings). Is that cause of the ssifsource3? It's enabled by default on the package.
Is BD3D2MK3D the recommended tool to use? I noticed BD3D2AVS is also available on the videohelp download directory,
but it's a year old.
I didn't follow dev closely the last months so I'm not entirely sure what the different between the two is.
thanks
edit: running it again with ssifsource3 unchecked in settings and no errors appearing so far.
r0lZ
28th November 2013, 20:11
Yes, it's exactly the description of the symptoms I got during some tests. That problem doesn't happen always, but when it happens, as you have seen, the resulting video is extremely strange.
BD3D2AVS was the first version of my project. It uses a totally different method to decode the MVC stream, based on ldecod.exe and the first version of ssifsource. As far as I know, it works well, but ldecod is extremely slow, and may require, for example, up to 24 hours just to decode a short movie (without the time needed to re-encode it). For that reason, and the fact that ldecod is not developed any more, I have abandoned that method, and the new BD3D2MK3D use either the DirectShowMVCSource or ssifsource3 avisynth plugins (both based on CoreAVCDecoder) to decode the MVC stream. They are much more rapid, but the CoreAVCDecoder has that nasty decoding bug (first detected with the Ice Age 3 Panasonic bundle), and the latest versions of the ssifsource3 decoder has the frames misses/duplicated bug that you have just experienced and makes it unusable. Hopefully, I'll be able to modify BD3D2MK3D a third time to use something based on the Intel SDK, thanks to Nico8583. But currently, you have to use BD3D2MK3D in DirectShowMVCSource mode and assume the risk of decoding problems, or BD3D2AVS and be extremely patient. Note also that BD3D2AVS has not been modified recently, and therefore it has not the latest improvements and bug fixes.
My last post about BD3D2AVS is here (http://forum.doom9.org/showthread.php?p=1596669#post1596669), and the post following it directly is the first one about BD3D2MK3D.
mini-moose
29th November 2013, 09:12
new BD3D2MK3D use either the DirectShowMVCSource or ssifsource3 avisynth plugins (both based on CoreAVCDecoder) to decode the MVC stream. They are much more rapid, but the CoreAVCDecoder has that nasty decoding bug (first detected with the Ice Age 3 Panasonic bundle)
Thanks a lot for your detailed response, r0lZ.
The new method is a lot faster as you said but that decoding bug is certainly a concern. I assume it's unpredictable too. coreavc had it's share of decoding issues with 2d decoding too (at least on earlier versions).
Those are currently the only 2 methods known to deal with 3d encodes? I know there are all sorts of one-click tools that make those too (dvdfab for example) which I assume are not very high quality.
Sharc
29th November 2013, 09:33
Thanks a lot for your detailed response, r0lZ.
The new method is a lot faster as you said but that decoding bug is certainly a concern. I assume it's unpredictable too. coreavc had it's share of decoding issues with 2d decoding too (at least on earlier versions).
Those are currently the only 2 methods known to deal with 3d encodes? I know there are all sorts of one-click tools that make those too (dvdfab for example) which I assume are not very high quality.
There are other tools, but most depend on ssifsource, directshowMVCsource and CoreCodec and hence suffer from the same issues.
As R0lZ wrote, a solution based on Intel SDK looks perhaps promising, although the Encoder has not (yet) the same quality as x264 IMO. Perhaps you may want to try yourself with FRIM (http://forum.doom9.org/showpost.php?p=1650646&postcount=1).
http://forum.doom9.org/showthread.php?t=169651&page=18
r0lZ
29th November 2013, 11:01
Yes, there are one-click commercial programs available, but they have their own limitations or bugs. The well known DVDFab, for example, has a very poor h264 encoder, and therefore you have to give a very high bitrate to obtain an acceptable quality. I have compared an encode made with x264 and one with DVDFab, and for approximately the same quality, the file produced by DVDFab was 3 times bigger than the one made by x264. Also, it has no CQ or CRF mode, and you have to specify the bitrate. As a consequence, it is much more difficult to obtain always the same quality, regardless of the content of the movie and its difficulty to be compressed. Anyway, it's a commercial product.
Currently, the Intel SDK (the base of FRIM) is my biggest hope. As an encoder, it is not at all as powerful as x264, but we need only the decoder, that should work well. We should be able to send its decoded frames to Avisynth via pipes or another method. When that will be possible, we will be able to use any encoder that can encode AVS files, including, of course, x264. Nico8583 is probably the right person to adapt it to our needs. I hope he will find a solution soon.
Sharc
29th November 2013, 11:50
Currently, the Intel SDK (the base of FRIM) is my biggest hope. As an encoder, it is not at all as powerful as x264, but we need only the decoder, that should work well. We should be able to send its decoded frames to Avisynth via pipes or another method. When that will be possible, we will be able to use any encoder that can encode AVS files, including, of course, x264. Nico8583 is probably the right person to adapt it to our needs. I hope he will find a solution soon.
I see, you plan to continue with the SBS or O/U format rather than changing to interleaved MVC. In this case the excellent x264 can stay as encoder of course. I imagine that the half resolution by SBS or O/U can possibly deliver higher quality at same or lower bitrates than the current IntelSDK MVC encoder at full resolution.
r0lZ
29th November 2013, 12:06
Yes, BD3D2MK3D is initially made to encode in SBS or T/B format, not interleaved MVC, currently supported only by a couple of software players. My tool is made with the compatibility with the 3D TVs in mind.
The big advantage of the AVC+MVC format is that we'll be able to grab the video streams from the BD directly, without re-encoding, and therefore keep the same quality (but at the price of a huge file size). IMO, the persons that are interested by that format want the best quality, and do not care much about the compatibility problem. Doing that kind of grab is the job of tsMuxeR, or other tools without encoders, like MakeMKV. (If in the future, if it appears that that format is well supported by the new TVs, and that there is a demand to re-encode for a smaller file size, I may develop another tool for that usage, but it's certainly not the case right now.)
frencher
29th November 2013, 15:57
Currently, the Intel SDK (the base of FRIM) is my biggest hope. As an encoder, it is not at all as powerful as x264, but we need only the decoder, that should work well. We should be able to send its decoded frames to Avisynth via pipes or another method. When that will be possible, we will be able to use any encoder that can encode AVS files, including, of course, x264. Nico8583 is probably the right person to adapt it to our needs. I hope he will find a solution soon.
"MVC Player Free v0.0.2.6" In my signature... :rolleyes:
Extract and run directly MVC Player Free.exe or play associated file with MVC Player Free.exe
# Added : Recode (for tests) to AVC/MVC @ 62000 Kbps 3840(1920x2)x1080 (View/Resizing/Do not resize)
# Some fixes
http://i41.tinypic.com/2nj8tia.png
frencher
29th November 2013, 17:21
Yes, there are one-click commercial programs available, but they have their own limitations or bugs. The well known DVDFab, for example, has a very poor h264 encoder, and therefore you have to give a very high bitrate to obtain an acceptable quality. I have compared an encode made with x264 and one with DVDFab, and for approximately the same quality, the file produced by DVDFab was 3 times bigger than the one made by x264. Also, it has no CQ or CRF mode, and you have to specify the bitrate. As a consequence, it is much more difficult to obtain always the same quality, regardless of the content of the movie and its difficulty to be compressed. Anyway, it's a commercial product.
Currently, the Intel SDK (the base of FRIM) is my biggest hope. As an encoder, it is not at all as powerful as x264, but we need only the decoder, that should work well. We should be able to send its decoded frames to Avisynth via pipes or another method. When that will be possible, we will be able to use any encoder that can encode AVS files, including, of course, x264. Nico8583 is probably the right person to adapt it to our needs. I hope he will find a solution soon.
Hi, r0lZ and all,
High quality with DVDFab 8 same with DVDFab 9
Set this options for increase the default settings
http://i43.tinypic.com/344avec.png
http://i39.tinypic.com/zxo2nm.png
Nico8583
29th November 2013, 20:19
Have you tried to decode Ice Age 3 or Croods with BioMVC.dll ?
Edit : I have tried on another movie and decoding is very very slow, is it normal if anyone have already tried this decoder ?
Nico8583
30th November 2013, 16:27
I have made a little test with BioMVC and it works with Ice Age 3 without artefact. I can use it with TotalCode Pro like DirectShowMVCSource but it seems to be slower. I'm following my tests and I'll tell you...
r0lZ
30th November 2013, 17:11
Good news. Please keep us informed.
Nico8583
30th November 2013, 19:14
Does anyone could tell me how can I use DirectShowSource or DirectShowMVCSource with one steam (left eye) into a M2TS ?
Is it possible to use with M2TS ?
r0lZ
30th November 2013, 19:39
I don't understand the question. Why would you use DirectShowMVCSource to decode the AVC sctrem (left view)?
If you really wish to use DirectShowMVCSource to decode the AVC or MVC stream only, you can use the MONOSCOPIC_A (= 1) or MONOSCOPIC_M (= 2) stf arguments, respectively for the AVC and MVC streams, like this:
DirectShowMVCSource("G:\BDMV\STREAM\SSIF\00001.ssif", seek=false, seekzero=true, stf=MONOSCOPIC_A)
Anyway, you can use DirectShowSource with any file, including the MPLS or SSIF, if you have the right codec. I use the LavFilters codecs (https://code.google.com/p/lavfilters/). Of course, DirectShowSource can decode only the AVC stream.
Nico8583
30th November 2013, 20:24
Thanks, but I have tried to decode AVC stream with DirectShowSource and it doesn't work. Video duration is only 10 seconds.
Could you give me an Avisynth example for a M2TS stream ? And what files are needed with this script ?
Sharc
30th November 2013, 20:29
Does anyone could tell me how can I use DirectShowSource or DirectShowMVCSource with one steam (left eye) into a M2TS ?
Is it possible to use with M2TS ?
I am not sure if I got your question right, but I guess you could for example use this script as Input for x264 and finally mux the resulting *.264 with tsMuxeR to *.m2ts:
LoadPlugin("c:\Program Files Video\MVCtoAVI.exe\DirectShowMVCSource.dll")
#VIEW2=DirectShowMVCSource("F:\BDMV\STREAM\SSIF\00000.SSIF")
VIEW1=DirectShowMVCSource("F:\BDMV\STREAM\SSIF\00000.SSIF",decodeleft=true)
#StackHorizontal(VIEW1,VIEW2)
ConvertToYV12().AssumeFPS(24000,1001)
This script worked for me for SBS productions. I just commented out the base view because you only want to retain the dependent (left) view.
Sharc
30th November 2013, 20:35
Thanks, but I have tried to decode AVC stream with DirectShowSource and it doesn't work. Video duration is only 10 seconds.
Could you give me an Avisynth example for a M2TS stream ? And what files are needed with this script ?
What is your source? A *.ssif or a regular 2D .m2ts?
Sharc
30th November 2013, 20:36
Thanks, but I have tried to decode AVC stream with DirectShowSource and it doesn't work. Video duration is only 10 seconds.
Could you give me an Avisynth example for a M2TS stream ? And what files are needed with this script ?
What is your source? A *.ssif or a regular 2D *.m2ts?
Nico8583
30th November 2013, 20:40
Thanks, it is the type of script I use but I would like to use DirectShowSource instead of DirectShowMVCSource and my script doesn't work.
LoadPlugin("DirectShowSource.dll")
Video = DirectshowSource("Pathtofile.m2ts", fps=23.976, framecount=framesnumber, audio=false)
Video = Video.AssumeFPS(24000,1001)
Return Video
Nico8583
30th November 2013, 20:41
What is your source? A *.ssif or a regular 2D *.m2ts?
My source is an AVC stream (from BD3D) remuxed with TsMuxer to M2TS
Sharc
30th November 2013, 20:44
What is the error message you get? (What do you mean by "doesn't work"?)
Does your script play in mpc-hc, for example?
r0lZ
30th November 2013, 20:54
I use simply this, and it works:
DirectShowSource("G:\BDMV\PLAYLIST\00854.mpls")
Note that it did not work before I installed the LavFilters codecs, or something similar. I got a red error message. You can test it with MPC HC. If it can show the MPLS, you can open it with DirectShowSource. Otherwise, you have to install the codecs.
Nico8583
30th November 2013, 21:06
All is working if I made a M2TS with AVC and MVC streams and DirectShowMVCSource, but if M2TS contains only AVC stream video duration is only 10 seconds...
I have not tested MPC-HC for the moment.
Sharc
30th November 2013, 21:11
What if you skip 'framescount=framenumber'?
r0lZ
30th November 2013, 21:12
Are you opening a m2ts, a ssif or a mpls? I have tested with a 3D mpls, but it should work fine with the m2ts too. I'm not sure for the ssif.
You can test with any DirectShow based player. WMP should be OK, but I hate it.
Nico8583
30th November 2013, 21:13
What if you skip 'framescount=framenumber'?
Same problem if I remove framescount
Nico8583
30th November 2013, 21:16
I'm opening a M2TS file.
Error message is "Unable to load DirectShowSource.dll" but dll is present :/
r0lZ
30th November 2013, 21:24
It should be present in the Avisynth plugins folder (normally "C:\Program Files (x86)\AviSynth 2.5\plugins") or you must load it explicitly with LoadPlugin(). Normally, that filter is installed automatically by the official Avisynth 2.5 32bit installer.
Also, of course, if you have Avisynth 64bit, be sure to use the 32bit DLL with Avisynth 32bit, or the 64bit with the 64bit.
Nico8583
30th November 2013, 21:24
If I use DirectShowSource("G:\BDMV\PLAYLIST\00800.mpls") like you said, I have an error message "DirectShowSource: Could not open as video or audio. Video returned "Couldn't open file". Audio returned "Couldn't open file""
FFDShow starts when I launch WMP and AVS script
Edit : DirectShowSource.dll is present in plugin directory
r0lZ
30th November 2013, 21:40
Hum, very strange. Have you installed the LavFilters codecs?
r0lZ
30th November 2013, 21:43
Oh, also, I suppose you cannot open the mpls directly from a protected BD. Usually, I do my tests with a mounted ISO, but an original BD with AnyDVD running in the background should work too.
Nico8583
30th November 2013, 21:46
Hum, very strange. Have you installed the LavFilters codecs?
No I have not installed this codecs, and I use also an ISO decrypted with AnyDVD HD.
It's very strange because if I made a M2TS with AVC + MVC and I use DirectShowMVCSource, it's work very well but if M2TS contains only AVC it doesn't work...
r0lZ
30th November 2013, 21:55
It's not a M2TS from the BD (in the STREAMS directory)? If you load a M2TS created with another tool (tsMuxeR for example), it can have some bugs. Can you open a good M2TS from the BD?
Nico8583
30th November 2013, 22:02
It's not a M2TS from the BD (in the STREAMS directory)? If you load a M2TS created with another tool (tsMuxeR for example), it can have some bugs. Can you open a good M2TS from the BD?
Same issue with a good M2TS from BD and DirectShowSource.
I'll use DirectShowMVCSource and AVC+MVC m2ts :(
Sharc
30th November 2013, 23:23
@Nico8583:
Check your ffdshow codecs settings, e.g. H.264/AVC (=libavcodec), Avisynth (=enabled), and Raw video (=all supported).
Secondly, include the full path of the directshowsource.dll in your script, unless you have put the .dll into the Avisynth plugins folder.
mini-moose
1st December 2013, 11:18
or he can check with GraphEdit if his pc has anything set to decode h264/avc. a lot of times even if ffdshow is enabled you still need to tell windows to use it with something like win7 codec tweaker.
r0lZ
1st December 2013, 11:27
The Haali Media Splitter (http://haali.su/mkv/) may be necessary too, I don't know exactly.
Nico8583
1st December 2013, 21:09
Thanks for all your responses, my AVS doesn't play with WMP but it works with TotalCode Pro and I can encode the movie. Strange problem...
r0lZ
1st December 2013, 21:27
I don't know TotalCode Pro, but perhaps it has its own codecs and is not based on DirectShow.
Sharc
1st December 2013, 21:34
@Nico8583
Does your .avs play in MPC-HC and in VirtualDub?
(Don't worry too much about wmp).
Nico8583
17th December 2013, 00:23
The Haali Media Splitter (http://haali.su/mkv/) may be necessary too, I don't know exactly.
It was the solution for me, with Haali Media Splitter it's working !
Thanks to all for your help ;)
Thalyn
17th December 2013, 03:18
I think we're going to need a new solution soon. I've come across my first disc which flat-out refuses to transcode properly with the existing tools: The Croods 3D (region B).
No matter what I try, I cannot get the MCV frame to decode properly regardless of what version of ssifSource, DirectShowMVCSource or CoreAVCDecoder I use. There's always periodic errors towards the left of the frame though they're inconsistent with exact timing and appearance. Now, to be fair, I can't put this down entirely to the decoders - it's possible it just isn't extracting from the disc properly (MakeMKV v1.8.7) but I have no way to check that without a decoder of some sort (and I don't have the space at present to do a YUV decode with FRIM).
I have, however, tried extracting it with two different drives and confirmed that the original BluRay stream plays correctly through PowerDVD. The original is fine and both drives produced the same results.
Fortunately the error shows up very quickly (during the first 10 seconds) and will also show when using VirtualDub to check my script. Unfortunately I don't know how to use that information to my advantage as I haven't really done any programming since the downfall of Borland's Turbo Pascal.
HWK
17th December 2013, 03:28
I think we're going to need a new solution soon. I've come across my first disc which flat-out refuses to transcode properly with the existing tools: The Croods 3D (region B).
No matter what I try, I cannot get the MCV frame to decode properly regardless of what version of ssifSource, DirectShowMVCSource or CoreAVCDecoder I use. There's always periodic errors towards the left of the frame though they're inconsistent with exact timing and appearance. Now, to be fair, I can't put this down entirely to the decoders - it's possible it just isn't extracting from the disc properly (MakeMKV v1.8.7) but I have no way to check that without a decoder of some sort (and I don't have the space at present to do a YUV decode with FRIM).
I have, however, tried extracting it with two different drives and confirmed that the original BluRay stream plays correctly through PowerDVD. The original is fine and both drives produced the same results.
Fortunately the error shows up very quickly (during the first 10 seconds) and will also show when using VirtualDub to check my script. Unfortunately I don't know how to use that information to my advantage as I haven't really done any programming since the downfall of Borland's Turbo Pascal.
I will conduct test and will let you know, test also include YUV extraction.
It might take few days for results to appear.
Thalyn
17th December 2013, 07:17
Much appreciated, HWK. Hopefully you can find something I couldn't.
r0lZ
17th December 2013, 10:08
There's always periodic errors towards the left of the frame though they're inconsistent with exact timing and appearance.
It's exactly the description of the CoreAVCDecoder bug, already discussed here (http://forum.doom9.org/showthread.php?p=1646880#post1646880). Unfortunately, as far as I know, all versions of the decoder have that bug. According to Nico8583 (http://forum.doom9.org/showthread.php?p=1656012#post1656012), the BioMVC decoder works fine and doesn't hav that bug. Now, I hope we will be able to integrate it in our process. I have already made some tests, but without success so far. Nico8583, have you tried?
Thalyn
17th December 2013, 13:24
Well bugger me. I read that post when it was new, but completely forgot about it.
Grabbed BioMVC to have a play around with it. It seems to be based on H264StereoSource, which would explain why it's slower. I wonder if it also suffers from the same issue with the last 80 or so frames...?
*ed: Well, the last 80 frames are of only minor consequence when the few that do render are green and it crashes. Hindsight I shouldn't have expected any differently as H264StereoSource hasn't worked for most of my DreamWorks titles.
Nico8583
17th December 2013, 18:50
It's exactly the description of the CoreAVCDecoder bug, already discussed here (http://forum.doom9.org/showthread.php?p=1646880#post1646880). Unfortunately, as far as I know, all versions of the decoder have that bug. According to Nico8583 (http://forum.doom9.org/showthread.php?p=1656012#post1656012), the BioMVC decoder works fine and doesn't hav that bug. Now, I hope we will be able to integrate it in our process. I have already made some tests, but without success so far. Nico8583, have you tried?
I'm trying to encode with BioMVC and TotalCode Pro, encoding starts but after a random time it crash. I don't know why, I've upgrade my RAM to 8Go without success, I've made changes with my cooling without success too. Perhaps a config problem with BioMVC.set ? I don't understand all settings in this file...
r0lZ
17th December 2013, 19:06
Hum, damn! It seems that all decoders are somewhat buggy. I guess the Intel decoder is our last resort. Is it possible to compile it as an avisynth plugin?
Nico8583
17th December 2013, 19:53
Hum, damn! It seems that all decoders are somewhat buggy. I guess the Intel decoder is our last resort. Is it possible to compile it as an avisynth plugin?
I've talked with Frencher, Intel decoder made artefacts on Ice Age 3 or similar like DirectShowMVCSource :(
What is your problem with BioMVC ?
frencher
17th December 2013, 21:08
Hum, damn! It seems that all decoders are somewhat buggy. I guess the Intel decoder is our last resort. Is it possible to compile it as an avisynth plugin?
The advantage of Intel MVC codec is that the source code is available and open so for me it is more than feasible only faudrai it that someone may be interested motivated and fix some small bog
r0lZ
18th December 2013, 07:45
What is your problem with BioMVC ?
This:
..., encoding starts but after a random time it crash.
Also, currently, I don't know how to use it from an avisynth script.
Nico8583
18th December 2013, 12:51
I've launched a new encode with 2 pass, currently is at 40% of the first pass and no problem, perhaps problem comes at second pass :confused:
Edit : 50% of the first pass and allways OK...
Edit 2 : 60% and allways OK...
Edit 1 : First pass is finished and immediately when second pass starts the app crash... so I've relaunched with one pass and encoding works, I don't know why :confused:
Nico8583
18th December 2013, 22:23
I've tested with NetBlender 3D Demo and same problem, after the first pass and when second pass starts, app crash but if I do a one pass encoding, no problem...
r0lZ
18th December 2013, 22:53
I remember I have had a similar problem with 2-pass encoding. IIRC, it was due to the number of frames to encode. Try to specift --frames N in the command line, and see if it crashes.
Nico8583
18th December 2013, 23:14
Thanks for the information but I can't specify frames number in TotalCode Pro :-/
HWK
19th December 2013, 01:43
I think we're going to need a new solution soon. I've come across my first disc which flat-out refuses to transcode properly with the existing tools: The Croods 3D (region B).
No matter what I try, I cannot get the MCV frame to decode properly regardless of what version of ssifSource, DirectShowMVCSource or CoreAVCDecoder I use. There's always periodic errors towards the left of the frame though they're inconsistent with exact timing and appearance. Now, to be fair, I can't put this down entirely to the decoders - it's possible it just isn't extracting from the disc properly (MakeMKV v1.8.7) but I have no way to check that without a decoder of some sort (and I don't have the space at present to do a YUV decode with FRIM).
I have, however, tried extracting it with two different drives and confirmed that the original BluRay stream plays correctly through PowerDVD. The original is fine and both drives produced the same results.
Fortunately the error shows up very quickly (during the first 10 seconds) and will also show when using VirtualDub to check my script. Unfortunately I don't know how to use that information to my advantage as I haven't really done any programming since the downfall of Borland's Turbo Pascal.
I will conduct test and will let you know, test also include YUV extraction.
It might take few days for results to appear.
I ran test and confirm your findings about ability to decode dependent view causes problems, similar to if you had video and you sliced it into small blocks.
Good news is FRIMDECODE doesn't have this issue when decoding, but YUV file are quite large.
Thalyn
19th December 2013, 06:29
Well, that's good news about FRIM. Now we just need a better way to use it without an intermediate YUV file.
I've tried using pipes but I don't quite understand how they work. I'm telling FRIMDecode to output the right frame to \\.\pipe\right.yuv and then getting my AVISynth script to read the right frame back from the same, but that gives an error with FRIM and AVISynth declares that the file doesn't exist. I have a feeling that might be more my fault on borking the command line than the programs' fault, though.
Perhaps, though, this is something FRIM's author can look into for us. If he can convert the decoder into an AVISynth plugin it'll solve the issue. Will put the question to him - no harm in asking, after all.
Nico8583
19th December 2013, 09:36
I have left encoding terminates and app crash at the end, so I don't know what to do :(
r0lZ
19th December 2013, 10:36
I've tried using pipes but I don't quite understand how they work.Unfortunately, under Windows, the named pipes must be created with a call to a system function before they can be used. So, the receiving exe must create the pipe and open it for reading. Then, the emitting program can theoretically write to the pipe. Of course, it should not need to seek, or otherwise try to verify if the file exists or can be overwritten, or it will probably fail. As you can see, there are many limitations.
I have here a little tool "NamedPipe.exe", that can open a named pipe, and redirect the data written to that pipe to stdout. It's sufficient to send the output of a progran that needs to write to a real file to the standard input of another program, but it's not sufficient for us. We need to redirect two streams at the same time. Anyway, if you are interested, I have found NamedPipe.exe in a thread here at the D9 forums, but I can't find that thread now. But if you search for NamedPipe.exe, you will find several threads on the subject, including threads on how to redirect a MVC stream.
Perhaps, though, this is something FRIM's author can look into for us. If he can convert the decoder into an AVISynth plugin it'll solve the issue. Will put the question to him - no harm in asking, after all.Excellent idea. An avisynth plugin would be great, or, if it's too much work, it should be easier to modify the decoder to accept to write to named pipes. If it's possible, we'll end up with something similar to the first method used here, with ldecod and named pipes. It's not perfect, but that works.
Anyway, please tell us when you will have posted a request in the FRIM thread. I'll post also, to second your request...
[EDIT] Found the thread with the NamedPipe.exe post. It is here (http://forum.doom9.org/showthread.php?p=1226337#post1226337).
r0lZ
19th December 2013, 20:12
I have left encoding terminates and app crash at the end, so I don't know what to do :(There is a problem with the number of frames similar to what I have encountered already, posted today in the Simple X264 Launcher (http://forum.doom9.org/showthread.php?p=1658443#post1658443). As you can see, the 2nd pass crashes due to a bad number of frames. It's why BD3D2MK3D adds some blank frames at the end of the movie, but doesn't calculate them. Unfortunately, I don't know how to fix it for TotalRecode. I can only suggest to encode in one-pass mode. (IMO, the best quality is archived in CRF mode. 2-pass encoding gives less good results, and is useless, unless you really need to control the final file size precisely.)
Nico8583
19th December 2013, 21:19
There is a problem with the number of frames similar to what I have encountered already, posted today in the Simple X264 Launcher (http://forum.doom9.org/showthread.php?p=1658443#post1658443). As you can see, the 2nd pass crashes due to a bad number of frames. It's why BD3D2MK3D adds some blank frames at the end of the movie, but doesn't calculate them. Unfortunately, I don't know how to fix it for TotalRecode. I can only suggest to encode in one-pass mode. (IMO, the best quality is archived in CRF mode. 2-pass encoding gives less good results, and is useless, unless you really need to control the final file size precisely.)
Thanks for the info but I have tried in 1-pass mode without success :(
But for me 2-pass is the best choice because I made a BD25 output.
HWK
19th December 2013, 21:31
Nico8583, Are you using totalcode professional to create BD25 disc.
I have done couple of them and didn't run into crash. However I am using Totalcode Studio instead, but I am thinking it should still work if I post how I extract video streams.
Nico8583
19th December 2013, 22:36
Nico8583, Are you using totalcode professional to create BD25 disc.
I have done couple of them and didn't run into crash. However I am using Totalcode Studio instead, but I am thinking it should still work if I post how I extract video streams.
Yes I'm using Professional version 3.6.3. Could you explain me what do you use, what script do you use and how do you do ?
With DirectShowMVCSource it works for me, but not with BioMVC. Thanks !
Nico8583
19th December 2013, 22:38
Does anyone have tried MVCSource.dll from BDtoAVCHD soft ? AVS script generates by soft looks like this :
LoadPlugin("C:\Program Files (x86)\BDtoAVCHD\MVCsource\MVCsource.dll")
Interleaved = MVCsource("C:\TEMP\TEXAS CHAINSAW 3D 3DSBS.job_0.avc.h264", "C:\TEMP\TEXAS CHAINSAW 3D 3DSBS.job_0.mvc.h264", 132769, 2)
Right = SelectOdd(Interleaved)
Left = SelectEven(interleaved)
return StackHorizontal(HorizontalReduceBy2(Left), HorizontalReduceBy2(Right))
And if anyone knows how to return left or right only I'm interested :-)
Sharc
19th December 2013, 23:29
Does anyone have tried MVCSource.dll from BDtoAVCHD soft ? AVS script generates by soft looks like this :
Interesting... it works here.
Also works as decoder/source filter for FRIMEncode.
Can it decode .ssif directly?
r0lZ
20th December 2013, 00:25
Interesting... it works here.
Do you mean that it works without the decoding errors near the borders of the other decoders? Have you tested with The Croods or a similar BD known to have that problem?
Can it decode .ssif directly?
Interesting question. It is more rapid to encode directly from the BD ISO. But if the BD must be demuxed, it's not really important. We have to demux the audio and subs anyway.
Sharc
20th December 2013, 00:48
And if anyone knows how to return left or right only I'm interested :-)
It looks like the last parameter controls the view:
0 = base
1 = dependent
2 = interleaved
Example for base view only:
Interleaved = MVCsource("c:\.....\base.264", "c:\.......\dependent.mvc",1000, 0)
return interleaved
Sharc
20th December 2013, 00:51
Do you mean that it works without the decoding errors near the borders of the other decoders? Have you tested with The Croods or a similar BD known to have that problem?
No, I did not test any of these problematic files. I don't have The Croods.
[Edit:]
I tried another problematic file. Unfortunately the glitches near the borders do still exist :(
HWK
20th December 2013, 01:04
Yes I'm using Professional version 3.6.3. Could you explain me what do you use, what script do you use and how do you do ?
With DirectShowMVCSource it works for me, but not with BioMVC. Thanks !
Can your program accept avi file, What I do is generate base and dependent avi files and use them together to encode. This method always work for me and 2 pass shouldn't be problem with this.
I also use lossless compression to minimize space needed to store movie, yet retain every benefit.
Thalyn
20th December 2013, 08:01
Excellent idea. An avisynth plugin would be great, or, if it's too much work, it should be easier to modify the decoder to accept to write to named pipes. If it's possible, we'll end up with something similar to the first method used here, with ldecod and named pipes. It's not perfect, but that works.
Anyway, please tell us when you will have posted a request in the FRIM thread. I'll post also, to second your request...
Well, I posted the request the yesterday. Turns out, though, I'm hardly the first to have that idea - Nico8583 already queried about it a week before I did, with Frencher and JDobbs already expressing interest in response. Perhaps that's good news, though, since that's an extra week Videofan3D has had to mull over the idea?
I feel like I'm living a few weeks in the past after having double-posted about the same thing twice now.
Will take a look into that NamedPipe program, though. If it works it's a decent stop-gap solution.
Sharc
20th December 2013, 08:10
I feel like I'm living a few weeks in the past after having double-posted about the same thing twice now.
....
No worry, it often adds to the motivation if a request or wish comes from several sources.
Parhaps you have seen the MVCsource.dll discussion few posts before this one. MVCSource.dll is a plugin for avisynth. There is always hope........
Nico8583
20th December 2013, 09:20
Can your program accept avi file, What I do is generate base and dependent avi files and use them together to encode. This method always work for me and 2 pass shouldn't be problem with this.
I also use lossless compression to minimize space needed to store movie, yet retain every benefit.
TotalCode Pro accepts Avisynth scripts, so I use 1 avs for left and 1 avs for right.
What do you do to generate base and dependent avi files ? With this method, do you need a lot of free space ?
Nico8583
20th December 2013, 09:21
No, I did not test any of these problematic files. I don't have The Croods.
[Edit:]
I tried another problematic file. Unfortunately the glitches near the borders do still exist :(
Thanks for your response about left and right view.
What file have you tried ?
I'll try to test Croods and Ice Age 3 today.
Sharc
20th December 2013, 09:40
Thanks for your response about left and right view.
What file have you tried ?
I'll try to test Croods and Ice Age 3 today.
It's a Trailer to "Panama".
r0lZ
20th December 2013, 10:34
[Edit:]
I tried another problematic file. Unfortunately the glitches near the borders do still exist :(
Damn! That means that that decoder is useless for us, since it is not better than the current solutions.
So, currently, afaik, only FRIM or the Intel decoder can decode properly the MVC streams. But currently, they can only write to huge files, and, to be useable, they should be converted to an avisynth filter, or at least support named pipes. Is it correct, or does other solutions exist?
Will take a look into that NamedPipe program, though. If it works it's a decent stop-gap solution.NamedPipe.exe is probably not sufficient. Its purpose is to convert the output of a program and inject it as stdin in another program. That means that the second program must accept to take its input from stdin, and that it requires only a single input. It's probably not the case for what we want to do.
Theoretically, it is possible to write a simple exe to open one or several named pipes, and exit immediately. Then, two different programs running as independent processes can use the opened pipes to communicate. But the two programs must accept to read or write to an already existing file handle. It's relatively rare. I did a test, and it works, for example, with two Command Prompt and redirections from/to named pipes, but I haven't been able to force tsMuxeR to accept to write its demuxed AVC and MVC streams to the pipes. In conclusion, if it is easy to write the program to open the pipes, it's not sufficient, as we need also to use pipe-aware programs.
Sharc
20th December 2013, 11:10
Damn! That means that that decoder is useless for us, since it is not better than the current solutions.
Nico8583 wants to do more tests for better proof.
Are we really sure about the root cause of the glitches?
(decoder, avisynth plugin, or player using its own decoder, or even alltogether)?
I think we can exclude tsMuxeR.
The fact that FRIMDecode avoids the glitches indeed points towards the plugin / decoder causing the problem.
Nico8583
20th December 2013, 11:36
Yes, I would like to confirm that glitches are presents on all movies.
And plugin / decoder causes the problem :) because BioMVC doesn't produce glitches.
Sharc
20th December 2013, 12:55
Yes, I would like to confirm that glitches are presents on all movies.
And plugin / decoder causes the problem :) because BioMVC doesn't produce glitches.
By "all movies" do you mean the known problematic ones (IceAge 3, The Croods), or did you test more?
Nico8583
20th December 2013, 13:32
By "all movies" do you mean the known problematic ones (IceAge 3, The Croods), or did you test more?
First I'll try Ice Age 3 and Croods ;)
r0lZ
20th December 2013, 14:54
I can add to the list of "problematic BDs" How to train your dragon, Paranorman, Toy Story 2 and The Pirates! in an Adventure with Scientists! (aka The Pirates! Band of Misfits! in USA). All of them exhibits the problem, in the left and right borders, or in the bottom border of the MVC view. Some movies have the problem very often, and some very rarely. Many BDs do not have the problem at all. I guess that the decoder cannot process correctly the MVC streams encoded with a specific parameter. I have tried to play the Avisynth script directly with many different players and with AvsPmod, and the problem occurs always at the same places, so I'm confident we can exclude a player bug. It must be a decoder bug or limitation.
Nico8583
20th December 2013, 17:50
I have made a first test on Ice Age 3 and MVCSource.dll and I've don't seen any artefact at the right of right view.
r0lz could you test also ? Or frencher ?
Edit : I'm trying to encode NetBlender BD 3D Demo with TotalCode Pro and 2-pass encoding and it seems to work with MVCSource.dll. Encode finished with success !
Edit 2 : If anyone test, could you tell if you see a difference between DirectShowMVCSource and MVCSource colors ? For me, DirectShowMVCSource colors looks more washed than MVCSource.
frencher
20th December 2013, 23:08
Does anyone have tried MVCSource.dll from BDtoAVCHD soft ? AVS script generates by soft looks like this :
And if anyone knows how to return left or right only I'm interested :-)
Hi i have tested from BDtoAVCHD and your code
result:
avs [error]: MVCsource: Can't init decoder session
(C:\TEMP\WW 3 (2001) 3DSBS.job_0.avs, line 3)
x264 [error]: could not open input file `C:\TEMP\WW 3 (2001) 3DSBS.job_0.avs'
HWK
20th December 2013, 23:11
TotalCode Pro accepts Avisynth scripts, so I use 1 avs for left and 1 avs for right.
What do you do to generate base and dependent avi files ? With this method, do you need a lot of free space ?
I use virtual dub and extract one side footage at a time and compress with lossless codec. You must close before opening another avs script or else it will not work properly.
Avatar which has run 2:41:41 was 198 GB, instead of 1188 GB if it was uncompressed.
Nico8583
20th December 2013, 23:13
Hi i have tested from BDtoAVCHD and your code
result:
avs [error]: MVCsource: Can't init decoder session
(C:\TEMP\WW 3 (2001) 3DSBS.job_0.avs, line 3)
x264 [error]: could not open input file `C:\TEMP\WW 3 (2001) 3DSBS.job_0.avs'
Can you copy your script ? And what files do you use ?
Nico8583
20th December 2013, 23:14
I use virtual dub and extract one side footage at a time and compress with lossless codec.
Avatar which has run 2:41:41 was 198 GB, instead of 1188 GB if it was uncompressed.
So you compress with lossless codec then you encode into AVC/MVC with TotalCode ? What codec do you use ? Could you explain a little more your procedure plz ? :)
HWK
20th December 2013, 23:16
So you compress with lossless codec then you encode into AVC/MVC with TotalCode ? What codec do you use ? Could you explain a little more your procedure plz ? :)
Would guide work for you? Also do you use BD-RB, if so I need to know?
Nico8583
20th December 2013, 23:25
Yes I use BD-RB for 2D movie, and for the guide I don't understand :confused:
HWK
20th December 2013, 23:27
Yes I use BD-RB for 2D movie, and for the guide I don't understand :confused:
I have written guide before which if user follow it will be able to complete blu-ray encoding.
It talks about extraction, calculate overhead and rebuild etc. I can post that one or modify to better suit your requirement.
frencher
20th December 2013, 23:30
Can you copy your script ? And what files do you use ?
LoadPlugin("C:\Program Files (x86)\BDtoAVCHD\MVCsource\MVCsource.dll")
Interleaved = MVCsource("C:\TEMP\ICE.job_0.avc.h264", "C:\TEMP\ICE.job_0.mvc.h264", 135266, -2) - is for Order MVC/AVC ?
Right = SelectOdd(Interleaved)
Left = SelectEven(interleaved)
return StackHorizontal(HorizontalReduceBy2(Left), HorizontalReduceBy2(Right))
"C:\Program Files (x86)\BDtoAVCHD\x264\x264.exe" --preset "superfast" --tune "film" --bluray-compat --level "4.1" --vbv-bufsize 24000 --vbv-maxrate 24000 --bitrate 10717 --stats "C:\TEMP\ICE.job_0.stats" --keyint 24 --open-gop --slices 4 --frame-packing 3 --qpfile "C:\TEMP\ICE.job_0.qpfile" --colorprim "bt709" --transfer "bt709" --colormatrix "bt709" --sar 1:1 --pass 1 -o NUL "C:\TEMP\ICE.job_0.avs"
avs [error]: MVCsource: Can't init decoder session
(C:\TEMP\ICE.job_0.avs, line 3)
x264 [error]: could not open input file `C:\TEMP\ICE.job_0.avs'
Nico8583
20th December 2013, 23:34
I have written guide before which if user follow it will be able to complete blu-ray encoding.
It talks about extraction, calculate overhead and rebuild etc. I can post that one or modify to better suit your requirement.
It would be perfect if you could add MVC and virtual dub procedure ;-) thanks a lot !
HWK
20th December 2013, 23:38
It would be perfect if you could add MVC and virtual dub procedure ;-) thanks a lot !
Check your PM :D
r0lZ
20th December 2013, 23:43
I have made a first test on Ice Age 3 and MVCSource.dll and I've don't seen any artefact at the right of right view.
r0lz could you test also ? Or frencher ?I think that only the Ice Age 3 Panasonic Bundle exhibits the problem. Afaik, the other versions can be successfully encoded. That was the conclusion, posted in this thread a long time ago (http://forum.doom9.org/showthread.php?p=1630715#post1630715).
Nico8583
20th December 2013, 23:51
My Ice Age 3 version makes artefacts with DirectShowMVCSource but not with MVCSource
Nico8583
20th December 2013, 23:58
Check your PM :D
Thanks again :-)
r0lZ
21st December 2013, 00:00
My Ice Age 3 version makes artefacts with DirectShowMVCSource but not with MVCSourceWell, good news. I will test MVCSource soon...
Thalyn
21st December 2013, 09:25
Getting the same problem as Frencher while trying to use MVCSource. Both VirtualDub and MeGUI are throwing the same "Can't init decoder session" feedback. Source is just the raw streams that TSMuxer spat out after demuxing a MakeMKV rip of The Croods.
Could this possibly be another "magic path" deal, or is it something simple we've both overlooked?
Sharc
21st December 2013, 09:31
r0lZ, I hope you are right with the optimism.
Now I got glitches near the borders after muxing. These glitches were not present in the combinedMVC output of FRIMEncode.... Arrrgh .... Maybe it's only with my system?
(I posted in the tsMuxeR thread)
Nico8583
21st December 2013, 11:09
I have no problem with MVCSource, there is no magic path for me, I can launch script from everywhere.
My use of MVCSource :
- Extract stream from BD playlist with eac3to
- Copy 2 files from MVCSource directory where I want
- Create a script like this :
LoadPlugin("MVCsource.dll")
Interleaved = MVCsource("Left.h264", "Right.h264", 132769, 2)
Right = SelectOdd(Interleaved)
Left = SelectEven(interleaved)
return StackHorizontal(HorizontalReduceBy2(Left), HorizontalReduceBy2(Right))
Like Sharc indicates, left or right view can be used like this :
LoadPlugin("MVCsource.dll")
Left = MVCsource("Left.h264", "Right.h264", 132769, 0)
return Left
Same thing with Right but 0 must be replaced by 1
Edit : I use Avisynth 2.5.8 32bits, FFDShow 32bits with "All supported" option checked in RAW stream
r0lZ
21st December 2013, 11:29
I am currently testing MVCSource, and I can launch it too without problem.
I have extracted the AVC and MVC streams with tsMuxeR.
I have not installed BDtoAVCHD, but I have simply copied MVCsource.dll and libmfxsw32.dll in the same folder. (I guess they can be copied to the avisynth plugins folder, but I haven't tried.)
Maybe MVCSource requires other DLLs or codecs installed in the system? I had a look at the files in the BDtoAVCHD package, but the other files should not be needed.
Currently, I haven't noticed any glitches, but I have only encoded a few minutes of some short movies. The bad point is that it is much slower than the other methods (but much more rapid that the original method based on ldecod!)
I will try with the Ice Age 3 Panasonic bundle now...
mini-moose
21st December 2013, 11:35
Well, good news. I will test MVCSource soon...
Does MVCSource uses coreavc too ?
Nico8583
21st December 2013, 11:48
Does MVCSource uses coreavc too ?
No it doesn't use CoreAVC.
I don't have installed BDtoAVCHD too, just copied the 2 files and for me it is as fast as DirectShowMVCSource, and faster than BioMVC.
r0lZ
21st December 2013, 12:07
Hum, strange. When I encode with DirectShowMVCSource or ssifSource with the medium x264 preset, the speed is around 12 fps. With the tests I am currently doing with MVCSource, ultrafast preset, the speed is between 8 and 9 fps. I guess that encoding a whole movie with the veryslow preset (that I use usually when I'm not testing) will take ages!
Perhaps MVCSource is well optimized for your CPU but not for mine?
r0lZ
21st December 2013, 12:30
Just finished a test of a part of Ice Age 3, up to the scene well known to cause a lot of problems (with Diego hunting the gazelle, around 0:06:00), and I have not noticed any problem. So, it seems thet MVCSource could be the solution for us. It has some drawbacks, but the important thing is that it doesn't have the bad MVC decoding problem.
IMO, its main limitations are:
- Impossible to take a BD MPLS or SSIF file as input: requires to demux the two video streams.
- no possibility to encode in anaglyph or other modes
- the number of frames must be known (not a big problem)
- impossible to seek
- perhaps incompatible with some systems or requires some additional files not present on all systems (to be verified)
[EDIT: Not a problem with the system, but the commands of the script have to be processed in a precise order.]
- slow (to be verified) [EDIT: No, it is not slower than ssifSource and DirectShowSource]
Anyway, I will try to use it with a new version of BD3D2MK3D. However, don't expect it soon. I will probably have to rewrite it completely. I will also replace eac3to with tsMuxeR, and add the possibility to convert the subtitles to 3D with the depth extracted from the 3d-planes of the MVC stream. Currently, tsMuxeR is not completely compatible with that, but Roman has promised to add the necessary stuff. I'll wait that new tsMuxeR version before beginning to write the new BD3D2MK3D. Anyway, when it will be ready, it should be simpler to use than the current version, because I will not have to take care of the "multiple SSIF file in the MPLS" problem.
Of course, let me know if you find other problems with MVCSource, or if you discover a 3D BD that cannot be successfully encoded.
mini-moose
21st December 2013, 12:38
No it doesn't use CoreAVC.
I don't have installed BDtoAVCHD too, just copied the 2 files and for me it is as fast as DirectShowMVCSource, and faster than BioMVC.
I'm far from being an expert but maybe coreavc causes those decoding issues? I remember early versions of it caused such issues with regular 2d blurays. Maybe I'm stating the obvious, apologies if so :)
Nico8583
21st December 2013, 12:42
Hum, strange. When I encode with DirectShowMVCSource or ssifSource with the medium x264 preset, the speed is around 12 fps. With the tests I am currently doing with MVCSource, ultrafast preset, the speed is between 8 and 9 fps. I guess that encoding a whole movie with the veryslow preset (that I use usually when I'm not testing) will take ages!
Perhaps MVCSource is well optimized for your CPU but not for mine?
For me, with DirectShowMVCSource, the speed is between 8 and 10 fps, with MVCSource between 8 and 10 also and with BioMVC is around 6 or 7 fps. I have an AMD Phenom II X6 1090T and 8Go DDDR3.
Nico8583
21st December 2013, 12:44
I'm far from being an expert but maybe coreavc causes those decoding issues? I remember early versions of it caused such issues with regular 2d blurays. Maybe I'm stating the obvious, apologies if so :)
CoreAVC may be the problem but we can't replace CoreAVC by another decoder in DirectShowMVCSource :-(
Nico8583
21st December 2013, 12:51
r0lz, I'm OK with most of your limitations list :)
Another good thing, BDtoAVCHD is a freeware so perhaps we could contact the author to tell him if we can use his decoder without legal problem ? Or contact him to know if he could add some fonctions of your limitations list (like M2TS, MPLS and/or SSIF support or anaglyph and others modes support) ?
Nico8583
21st December 2013, 12:59
I've seen it in features list of BDtoAVCHD :
Do not use external codecs like avisynth or ffdshow or Haali splitter in the process of video conversion.
So it must includes an internal decoder ? :confused:
Edit : How the soft can create and use avs script without avisynth ?
r0lZ
21st December 2013, 13:05
I forgot to write that the script necessary to encode with MVCSource posted here (http://forum.doom9.org/showthread.php?p=1658513#post1658513) by Nico8583 assumes base view = right. If you use it, you will probably end up with the left and right views inverted, as most BDs have the left view as the base view.
Also, I wonder why the resize is made before the StackHorizontal command. That means that the script has to do 2 resize operations. If it is made after the Stack command, only a single resize is necessary. I suppose the script could run a little bit faster with a single resize.
I don't know if HorizontalReduceBy2 is more rapid than the BilinearResize that BD3D2MK3D uses by default, but according to the avisynth doc, it doesn't handle the colour exactly in the same way. Maybe that could explain some differences in the rendering with the BD3D2MK3D method and the default script for MVCSource.
Anyway, currently, I do my tests with this script, a slightly modified version of the script posted by Nico, and assuming base view = left:
LoadPlugin("path to\MVCsource\MVCsource.dll")
Interleaved = MVCsource("avc.264", "mvc.264", 132769, 2)
Left = SelectOdd(Interleaved)
Right = SelectEven(interleaved)
StackHorizontal(Left, Right)
HorizontalReduceBy2()
Thalyn
21st December 2013, 13:19
Also, I wonder why the resize is made before the StackHorizontal command. That means that the script has to do 2 resize operations. If it is made after the Stack command, only a single resize is necessary. I suppose the script could run a little bit faster with a single resize.
I've found it's better to resize before merging. Reason being that the default resize facilities in AVISynth encourage a bit of "bleed" from one frame into the other where they meet. When the meeting edges of the frame differ significantly (as is almost always the case for Over/Under if you trim the letterboxing like I do) than it gets quite distracting.
Still for the life of me can't get MVCSource to work. Tried installing BDtoAVCHD just in case, running it from the aforementioned's paths, putting the entire contents of its installation into a single folder, adding the folder to the system path, reverting to AVISynth 2.5.8 (normally using 2.6 alpha 5)... even running VirtualDub as admin just in case. Same error every single time!
r0lZ
21st December 2013, 13:24
r0lz, I'm OK with most of your limitations list :)
Another good thing, BDtoAVCHD is a freeware so perhaps we could contact the author to tell him if we can use his decoder without legal problem ? Or contact him to know if he could add some fonctions of your limitations list (like M2TS, MPLS and/or SSIF support or anaglyph and others modes support) ?
Oh, well, yes, we can perhaps contact the author, but currently, I don't think the limitations are really problematic.
The SSIF support is not really needed imo. Of course, a good MPLS support would be great, but it must work with MPLS referencing a lot of SSIF files. We have seen that it's a big problem due to the avisynth timout limitations. The current necessity to demux the AVC and MVC streams is a limitation, but at least, we are sure that the encoder will not hang on complex playlists like the current DirectShowMVCSource and ssifSource methods.
Encoding in anaglyph would be great, but it's not the job of the decoder. Anyway, it should be possible to do it with regular avisynth commands. Or perhaps there is already an avisynth filter to encode in anaglyph. Anyway, personally, I'm not really interested in anaglyph. IMO, that 3D method will disappear soon, as most recent TVs support the SBS and T&B modes, and the need for a 3D method suitable for non-3D TVs will be less important in the future. The other 3D modes (like checkerboard or row interleaved) are not popular, and I think we don't need to support them. (The AVC+MVC combined mode could become a great new 3D standard, but currently no TV can show it, and anyway, that mode doesn't require to re-encode the movie.)
I agree that it would be better to have the legal permission to use the decoder. Since it has no protections at all, I suppose the author doesn't care if it is used by free programs.
So it must includes an internal decoder ? :confused:The decoder is MVCSource, no? Do you mean a decoder for 2D (AVC-only) streams?
Edit : How the soft can create and use avs script without avisynth ?Good question!
r0lZ
21st December 2013, 13:35
I've found it's better to resize before merging. Reason being that the default resize facilities in AVISynth encourage a bit of "bleed" from one frame into the other where they meet. When the meeting edges of the frame differ significantly (as is almost always the case for Over/Under) than it gets quite distracting.Yes, that's a good reason. However, with the bilinearResize I use usually for my encodings, that problem doesn't happen, or at least it is not really visible. (I encode in SBS though, so it is probably less visible anyway.)
I will do some speed tests with the two methods, and if the speed gain is not obvious, I will probably implement the double-resize method.
Still for the life of me can't get MVCSource to work. Tried installing BDtoAVCHD just in case, running it from the aforementioned's paths, putting the entire contents of its installation into a single folder, adding the folder to the system path, reverting to AVISynth 2.5.8 (normally using 2.6 alpha 5)... even running VirtualDub as admin just in case. Same error every single time!
Damn! We have to find what's wrong, as we need to be sure that the decoder will work everywhere.
Have you searched the BDtoAVCHD thread to see if someone has already reported a similar problem?
I may try the decoder in a Win7 I have installed in a VirtualBox, just to try it without any additional codecs or filters, but currently, my VistualBox doesn't work well any more, and that will take much time.
Sharc
21st December 2013, 13:43
Since today MVCSource.dll fails here as well with the same error message as Thalyn. Yesterday it worked. Don't ask me why ... :confused:
I am on Windows 7 / 64bit
Thalyn
21st December 2013, 13:53
Well, that rules out one theory I had. Was suspecting it might be OS-based, since 8.1 has some weird problems. If you're getting it under 7 than it's probably not that.
Can't find anything on the BDtoAVCHD thread, either, though I've only been going through with a quick search. If anyone's having the same problem they're using different terminology and not actually mentioning the error by name.
Out of sheer curiosity I've got BDtoAVCHD running a transcode of another movie. Abysmal quality settings but I'm not really concerned by that - I want to see if it works in its "native" environment.
r0lZ
21st December 2013, 13:54
Shark, have you tried to encode the same movie/script, or does it fail with another movie?
I'm on Win8 x64 (but I have another partition with win7 x64, that I can still use to do some tests).
Sharc
21st December 2013, 14:09
Now it's back to work again (!), like:
- It works nicely with Script + FRIMEncode (which is important for us)
- It fails with the same script put into AvsPmod (don't know why...)
r0lZ
21st December 2013, 14:12
Hum, I don't use FRIM, and on my system, I can see the decoded frames in AvsPmod. Really strange.
Nico8583
21st December 2013, 14:18
Oh, well, yes, we can perhaps contact the author, but currently, I don't think the limitations are really problematic.
The SSIF support is not really needed imo. Of course, a good MPLS support would be great, but it must work with MPLS referencing a lot of SSIF files. We have seen that it's a big problem due to the avisynth timout limitations. The current necessity to demux the AVC and MVC streams is a limitation, but at least, we are sure that the encoder will not hang on complex playlists like the current DirectShowMVCSource and ssifSource methods.
Encoding in anaglyph would be great, but it's not the job of the decoder. Anyway, it should be possible to do it with regular avisynth commands. Or perhaps there is already an avisynth filter to encode in anaglyph. Anyway, personally, I'm not really interested in anaglyph. IMO, that 3D method will disappear soon, as most recent TVs support the SBS and T&B modes, and the need for a 3D method suitable for non-3D TVs will be less important in the future. The other 3D modes (like checkerboard or row interleaved) are not popular, and I think we don't need to support them. (The AVC+MVC combined mode could become a great new 3D standard, but currently no TV can show it, and anyway, that mode doesn't require to re-encode the movie.)
I agree that it would be better to have the legal permission to use the decoder. Since it has no protections at all, I suppose the author doesn't care if it is used by free programs.
The decoder is MVCSource, no? Do you mean a decoder for 2D (AVC-only) streams?
Good question!
I don't think the limitations are really problematic too, I allways demux my streams and I don't use anaglyph.
When I say decoder, I would like to talk decoder like CoreAVC or FFDShow, perhaps it's not the good term ;)
Sharc
21st December 2013, 14:21
r0IZ:
Yes, really strange. It also fails when I open the script in MPC-HC, same as AvsPmod.
(It works however as script for FRIM)
My Script:
LoadPlugin("c:\Program Files Video\MVCSource\MVCsource.dll")
Interleaved = MVCsource("c:\........\00049.track_4113.264", "c:\..........\00050.track_4114.mvc",1000,2)
Right = SelectOdd(Interleaved)
Left = SelectEven(interleaved)
return StackHorizontal(Left,Right)
Thalyn
21st December 2013, 14:24
"Native" test is another failure. Tried it with Xue Di Zi (better known as "The Guillotines") just to use a different movie and it gave the same error with its internally created script as I've been getting with mine. Literally fails the instant it hits the line requesting the plugin be used.
Nico8583
21st December 2013, 14:30
r0IZ:
Yes, really strange. It also fails when I open the script in MPC-HC, same as AvsPmod.
(It works however as script for FRIM)
My Script:
LoadPlugin("c:\Program Files Video\MVCSource\MVCsource.dll")
Interleaved = MVCsource("c:\........\00049.track_4113.264", "c:\..........\00050.track_4114.mvc",1000,2)
Right = SelectOdd(Interleaved)
Left = SelectEven(interleaved)
return StackHorizontal(Left,Right)
Could you try to rename .264 and .mvc to .h264 ?
r0lZ
21st December 2013, 14:59
Could you try to rename .264 and .mvc to .h264 ?That should not be the reason. The .264 and .mvc extensions are the default extensions given by tsMuxeR, and I've used them without problem for my tests.
r0lZ
21st December 2013, 15:18
I have finished some speed tests. I have encoded 10000 frames with different methods (and x264's ultrafast preset), and recorded the time taken for the whole process. Here are the results:
MVCSource with HorizontalReduceBy2 used one time: 0:19:42.5
MVCSource with HorizontalReduceBy2 used two times: 0:19:44.0
MVCSource with BilinearResize used one time: 0:19:59.2
ssifSource3 with HorizontalReduceBy2 used one time: 0:19:43.0
The tests are not very accurate, because I was busy doing other things on my PC at the same time, but they seem to confirm that I was wrong. MVCSource is not slower than ssifSource3. Good! :-)
Also, it seems that using HorizontalReduceBy2 one time to resize the double-picture or two times to resize a single picture is approximately equivalent. Good again! :-)
BilinearResize seems slower than HorizontalReduceBy2. It may offer a better quality, I don't know, but I think I'll use only HorizontalReduceBy2 in the next version of BD3D2MK3D, instead of the current avisynth or x264 resize filters. (The current method has the advantage that the user has the choice of the filter and the program to use for the resize, but since the BilinearResize avisynth filter is probably the fastest one with a good quality, using the even faster HorizontalReduceBy2 instead seems to be a good option, unless someone prefer to keep the current resize methods.)
@Sharc: Your script looks correct (except that the left and right views are probably inverted, but that's not something that can make the dll crash.) I don't understand.
Nico8583
21st December 2013, 15:47
I've send a message to BDtoAVCHD's author to invit him here ;)
Edit : author is already on this forum, he's "pistacho". Official topic is here : http://forum.doom9.org/showthread.php?t=154957&page=22
r0lZ
21st December 2013, 16:34
Thanks for the info.
I have now the problem with MVCSource refusing to work! I have discovered some very strange things.
The decoder worked well with the default script posted ny Nico elsewhere. But, as I have explained earlier, the left and right views are inverted with the vast majority of the 3D movies, so I did finally a test with the Left and Right views in the correct order... and bang! The script crashed! I have tried to reboot, because I suspected a problem with my Win8, but without success.
As soon as I restore the original order and syntax of the commands in the script, it worked fine again! The thing really strange is that the command that calls the MVCSource decoder has not changed!
This script works (but the left and right views are inverted):
LoadPlugin("MVCsource.dll")
Interleaved = MVCsource("00852.track_4113.264", "00852.track_4114.mvc", 135267, 2)
Right = SelectOdd(Interleaved)
Left = SelectEven(interleaved)
return(StackHorizontal(HorizontalReduceBy2(Left), HorizontalReduceBy2(Right)))
But this one crashes!
LoadPlugin("MVCsource.dll")
Interleaved = MVCsource("00852.track_4113.264", "00852.track_4114.mvc", 135267, 2)
Left = SelectOdd(Interleaved)
Right = SelectEven(interleaved)
return(StackHorizontal(HorizontalReduceBy2(Left), HorizontalReduceBy2(Right)))
Note that I've only swapped the Left and Right assignments.
Of course, the variable names "Left" and "Right" are not responsible of the difference. It seems it's the order of the StackHorizontal command that matters. This script crashes also:
LoadPlugin("MVCsource.dll")
Interleaved = MVCsource("00852.track_4113.264", "00852.track_4114.mvc", 135267, 2)
Right = SelectOdd(Interleaved)
Left = SelectEven(interleaved)
return(StackHorizontal(HorizontalReduceBy2(Right), HorizontalReduceBy2(Left)))
I've found an important thing. It is possible to invert the left and right streams simply bu specifying -2 in the MVCSource command. This script works and the views are in the correct order:
LoadPlugin("MVCsource.dll")
Interleaved = MVCsource("00852.track_4113.264", "00852.track_4114.mvc", 135267, -2)
Right = SelectOdd(Interleaved)
Left = SelectEven(interleaved)
return(StackHorizontal(HorizontalReduceBy2(Left), HorizontalReduceBy2(Right)))
This script ie exactly equivalent but more intuitive. It works:
LoadPlugin("MVCsource.dll")
Interleaved = MVCsource("00852.track_4113.264", "00852.track_4114.mvc", 135267, -2)
Left = SelectEven(interleaved)
Right = SelectOdd(Interleaved)
return(StackHorizontal(HorizontalReduceBy2(Left), HorizontalReduceBy2(Right)))
It is also possible to decode the two streams in separate commands, like this:
LoadPlugin("MVCsource.dll")
Left = MVCsource("00852.track_4113.264", "00852.track_4114.mvc", 135267, 1)
Right = MVCsource("00852.track_4113.264", "00852.track_4114.mvc", 135267, 0)
return(StackHorizontal(HorizontalReduceBy2(Left), HorizontalReduceBy2(Right)))
Of course, it's a less good solution, because the 2 streams must be decoded twice. But with that syntax, I have not been able to make the script crash.
(It seems that the argument 0 must be used to decode the MVC stream, and 1 for the AVC stream, but I can't confirm that for sure right now.)
Conclusion: The MVCSource command, when used with the parameter 2 or -2, builds an interleaved stream. It seems that the even frames MUST always be the left viw, and the odd frames the right view, but the order of the frames can be inverted by using -2 instead of 2. -2 should be used with most BDs if you want to encode in SBS or T&B with the left view first (the standard that has clearly emerged).
Can you do some tests and confirm that my findings are correct, and that you can decode any BD as long as you use the correct syntax and order of operations? Thanks in advance!
Nico8583
21st December 2013, 16:52
Thanks for your report.
I'm going to try how can I determine if 0 is MVC and 1 is AVC or invert. Do you think (I don't thing personnaly) -0 and -1 exists or is only for 2 ?
r0lZ
21st December 2013, 17:45
I haven't tried, but again, -0 or -1 doesn't make sense. There is a number for MVC only, one for AVC only and two (2 and -2) for AVC+MVC, as in that case, it is important to know what streams to place in the odd and in the even frames.
I think the possibilities are the following:
0: returns MVC only
1: returns AVC only
2: returns AVC and MVC, with MVC in even frames
-2: returns AVC and MVC, with MVC in odd frames
I still have to verify. Don't trust me blindly!
Usually, AVC = left and MVC = right, but in relatively rare cases, it's the opposite. Use tsMuxeR or the GUI of BD3D2MK3D to see to what eye corresponds the base (AVC) view.
Nico8583
21st December 2013, 18:47
So I have made tests and for me it would be :
0 : returns AVC
1 : returns MVC
I've tried with NetBlender 3D Demo disc so Base view is left, I have made several encodes with different scripts and I've compared frame by frame results.
Script 1 :
LoadPlugin("MVCsource.dll")
Left = MVCsource("D:\Rips3D\BD3D-Demo\Left.h264", "D:\Rips3D\BD3D-Demo\Right.h264", 4898, 0)
Return Left
Script 2 :
LoadPlugin("MVCsource.dll")
Right = MVCsource("D:\Rips3D\BD3D-Demo\Left.h264", "D:\Rips3D\BD3D-Demo\Right.h264", 4898, 1)
Return Right
I've encoded with TotalCode Pro :
Test 1 : Left source is script 1, Right source is script 2 -> I've compared original left view and encoded left view : identical
Test 2 : Left source is script 2, Right source is script 1 -> I've compared original left view and encoded left view : encoded left view is not identical, there is an offset between logos -> Right view
Does it seems to be logical ?
Edit : I have also tried to invert Left.264 and Right.h264 in MVCSource(...., xxxx, x) and scripts don't work. But -0 and -1 don't crash, I have made tests and there is no changes between -0 and 0 or -1 and 1.
Edit 2 : I've searched what is "libmfxsw32.dll" and I've found it's a part of Intel Media SDK so this decoder may be based on that ;)
Sharc
21st December 2013, 19:41
Has anyone tried viewID 3 and 4?
I wonder how you would interpret the result.
Nico8583
21st December 2013, 19:46
No I have not tried this ID. Have you tried ? Does it work ?
Sharc
21st December 2013, 19:51
No I have not tried this ID. Have you tried ? Does it work ?
Yes, it works. But I am not sure how to Interpret the result.
Looks like base and dependent pictures are displayed in sequence (?)
Nico8583
21st December 2013, 19:58
I'll try later. And what about over 4 ? 5, 6, 7... ?
r0lZ
21st December 2013, 20:21
Does it seems to be logical ?Yes. As I wrote, I was not sure of my tests. I have to do some more, similar to what you did. But you are probably right.
Edit 2 : I've searched what is "libmfxsw32.dll" and I've found it's a part of Intel Media SDK so this decoder may be based on that ;)Good. That means that it is probably totally free. :-)
Has anyone tried viewID 3 and 4?
I wonder how you would interpret the result.No. I'll have a look tomorrow. Currently, I am doing a "serious" encode, not a quick test. I'll see tomorrow if Ice Age 3 has no glitches at all...
pistacho
21st December 2013, 21:04
Hi!
I am the author of "MVCsource.dll" and I feel good that will be useful, but please, as general rule not re-distribute with other software packages. As much freeware software is free to use but not implicitly free to redistribute.
@r0lZ:
As exception can be bundled with BD3D2MK3D but please include a link to BDtoAVCHD home page in help menu in order to users can update MVCsource to last version or use directly BDtoAVCHD "as-is". Yes! BDtoAVCHD (despite its name) it is also capable of create MKV 3D and does so with the correct left-right views order also. :D
Some time ago I developed this solution precisely because none of the existing fully convinced me.
MVCsource avoids:
- Glitches and "magic paths" of coreavc
- Directshow conflicts, registry misconfigurations of DirectShowSource
- Pipes (I hate them)
- Intermediate steps as MVCcombine.exe
- Bad decoded image (green frames) of H264StereoSource
- Synchronization problems of ssifSource
- sloooow of BioMVC and other ldecod based solutions
- . . .
As I have read in this thread almost know her better than me how to use MVCsource. But I confirm:
0 : base view (AVC)
1 : dependent view (MVC)
2 : interleaved base-dependent (base first)
-2 : interleaved dependent-base (dependent first)
Notes:
Use -2 parameter when base is right (AVC=right) instead of the most common AVC=left
Do not try to change the views order in the script (StackHorizontal line or left/right tags assignation). Not work because Avisynth requests frames in wrong order and the plug-in only supports linear decoding.
Native script generated by BDtoAVCHD is already speed optimized so do not try to find best resize algorithm or include trash as ConvertToYV12 or AsumeFPS
Is best use last Avisynth 2.6 Alpha 5 but is also compatible with 2.5.8
Nico8583
21st December 2013, 21:30
Thanks a lot pistacho for all informations and permission to use it (but not redistribute it ;) )
Nico8583
21st December 2013, 21:50
pistacho, I have 2 questions please :
- If I have all understand, to use your decoder, only Avisynth is needed ? No need to FFDShow, Haali or other soft ?
- Why Avisynth 2.6 alpha 5 is better than Avisynth 2.5.8 ?
Thanks !
r0lZ
21st December 2013, 22:45
Yes, thanks you very much pistacho. Obviously, your decoder is the best one! And I'm glad I can use it with BD3D2MK3D. Of course, I'll add credits to you and a menu with a link to your tool.
Honestly, I didn't know that BDtoAVCHD is also a SBS/T&B MKV builder. I'm not sure any more that BD3D2MK3D is still useful, since you did the same job already. Maybe I'll continue anyway, if BD3D2MK3D does things that your tool doesn't do (such as decoding and hard-printing the 3D subs).
Please stay tuned here. Maybe we'll have other things to ask. Anyway, thanks again.
- Why Avisynth 2.6 alpha 5 is better than Avisynth 2.5.8 ?
I'm also interested by the answer to that question.
Sharc
22nd December 2013, 01:08
@Thalyn / All:
MVCSource.dll not initiating issues:
I found that the "libmfxsw32.dll" must be put
- either into the same folder as the video application,
- or into a WINDOWS System folder.
In my case of Windows7/64 bit this folder is
c:\windows\SysWOW64\libmfxsw32.dll
The MVCSource.dll can be in any folder. Easiest is the 'plugins' folder of Avisynth because it is then loaded automatically.
I hope this helps.
Thanks pistacho for MVCSource.dll :thanks:
r0lZ
22nd December 2013, 05:06
Hum, I have libmfxsw32.dll in several locations, but never in a system folder, or in a folder that is in my PATH. IMO, it is sufficient to put it in the same folder than MVCSource.dll.
pistacho, can you confirm?
Thalyn
22nd December 2013, 06:01
@Thalyn / All:
MVCSource.dll not initiating issues:
I found that the "libmfxsw32.dll" must be put
- either into the same folder as the video application,
- or into a WINDOWS System folder.
In my case of Windows7/64 bit this folder is
c:\windows\SysWOW64\libmfxsw32.dll
The MVCSource.dll can be in any folder. Easiest is the 'plugins' folder of Avisynth because it is then loaded automatically.
I hope this helps.
Thanks pistacho for MVCSource.dll :thanks:
Bingo! Dropped it in with VirtualDub and the script fired up immediately without problem. Previously I only had it in the folder with MVCSource and it refused to work like that. Strange part is I tried previously with adding the folder to my path but either the setting didn't take or it has to be in one of those two folders (ie Application folder or system folder).
*ed: If you're trying to use it with MeGUI, it seems to need it in both the base directory and the x264 subdirectory. One or the other wasn't sufficient. Putting it in a system folder is definitely the easiest solution.
BTW, welcome Pistacho! I'm looking forward to giving this tool a thorough work-out.
*2nd ed: Speed is good on an i7 4770K (@4.2). Just a quick test to make sure I had the AVC and MVC frames in the right order (2000 frames from the start of Croods) showed 15.88fps, against the 16.89fps of ssifSource2. I'll happily take that minor of a speed hit for the increased compatibility.
HWK
22nd December 2013, 06:17
In my case I lost lot of speed, went from 86.92fps average to 20.32 fps average.
Thalyn
22nd December 2013, 09:05
86.92fps?!:scared:
Even with a 2D encode I'm happy just to get to the mid-teens with my usual settings, usually only just reaching the teens at all. I have a new set I'm playing with that is a little faster (and a lot more consistent) but even they don't give results with a leading 2.
Incidentally, The Croods finished - in 3D, without audio, it's only slightly slower for me than a 2D from Handbrake with audio (audio being transcoded, whole thing being muxed to MP4 as it goes). 10,447 seconds (3D) vs 10,376 seconds (2D). I could probably squeeze a little more out of the 3D with a less flexible script, too (I think I have at least three "try" commands at present that I could just comment out instead).
frencher
22nd December 2013, 12:08
Does MVCSource uses coreavc too ?
No based on Intel SDK
http://i41.tinypic.com/2rc2zbt.png
pistacho
22nd December 2013, 21:24
- Why Avisynth 2.6 alpha 5 is better than Avisynth 2.5.8 ?
Thanks !
There are some speed improvements using Avisynth 2.6 alpha 5 but nothing bad occurs if 2.5.8 is used.
- If I have all understand, to use your decoder, only Avisynth is needed ? No need to FFDShow, Haali or other soft ?
Depends... if is used in a command line environment (together with x264.exe e.g.) only Avisynth is used but if you want preview or play .avs with MPC-HC or other player may be necessary FFDShow (not for decoder itself, but for player in order to render uncompressed raw video that Avisynth outputs). Standard players normally not support uncompressed raw video directly.
To avoid this VirtualDub can be used to play/preview Avisynth scripts.
Hum, I have libmfxsw32.dll in several locations, but never in a system folder, or in a folder that is in my PATH. IMO, it is sufficient to put it in the same folder than MVCSource.dll.
pistacho, can you confirm?
No, not is sufficient. Is sufficient to put in the same folder that calling application... and calling application is not MVCsource.dll is .exe that calls AVS script (player, VirtualDub, x264.exe, etc.)
Due this, is safer adding folder that contains libmfxsw32.dll to a system path (or put the dll in a system folder).
Some additional info:
Apart of decode separate AVC / MVC streams utilizing .avs scripts already posted here, MVCsource can be used to decode combinedAVC+MVC streams (as generated by MVCCombine.exe). Simply putting the file in the first parameter and leave second with empty string:
LoadPlugin("C:\Program Files (x86)\BDtoAVCHD\MVCsource\MVCsource.dll")
Interleaved = MVCsource("Combined_AVC+MVC.264", "", 135518, 2)
Right = SelectOdd(Interleaved)
Left = SelectEven(interleaved)
return StackVertical(VerticalReduceBy2(Left), VerticalReduceBy2(Right))
This mode is not used currently in BDtoAVCHD software but may be utility for someone here. ;)
Nico8583
22nd December 2013, 21:42
There are some speed improvements using Avisynth 2.6 alpha 5 but nothing bad occurs if 2.5.8 is used.
Depends... if is used in a command line environment (together with x264.exe e.g.) only Avisynth is used but if you want preview or play .avs with MPC-HC or other player may be necessary FFDShow (not for decoder itself, but for player in order to render uncompressed raw video that Avisynth outputs). Standard players normally not support uncompressed raw video directly.
To avoid this VirtualDub can be used to play/preview Avisynth scripts.
Thanks for your response. Is there a big difference speed between 2 versions ? Or very few fps ?
No, not is sufficient. Is sufficient to put in the same folder that calling application... and calling application is not MVCsource.dll is .exe that calls AVS script (player, VirtualDub, x264.exe, etc.)
Due this, is safer adding folder that contains libmfxsw32.dll to a system path (or put the dll in a system folder).
For me, I put both dll and avs in the same directory, I don't have libmfxsw32.dll in .exe directory or system directory and it seems to work without problem :confused:
pistacho
22nd December 2013, 21:57
Is there a big difference speed between 2 versions ? Or very few fps ?
I do not remember exactly but expect few or very few difference. Test in your system and you tell us :)
For me, I put both dll and avs in the same directory, I don't have libmfxsw32.dll in .exe directory or system directory and it seems to work without problem :confused:
Best. But in other systems probably not.
Nico8583
22nd December 2013, 22:05
I do not remember exactly but expect few or very few difference. Test in your system and you tell us :)
Thanks, I'll try later but I've also BDRebuilder on my PC and Avisynth 2.5.8 only must be present :rolleyes:
Best. But in other systems probably not.
I'll check again if this dll is not present on my system folder but I don't believe.
Cedvano
22nd December 2013, 22:16
is MVCsource work with SSIF ?
r0lZ
22nd December 2013, 23:15
Thanks for the precisions, pistacho.
Can you consider to modify MVCSource to load libmfxsw32.dll from the same directory? Currently, having to copy it in a system folder, or to change the user's PATH is an important limitation. BD3D2MK3D is a standalone (almost portable) program that does not require to be installed, and I would like to keep that philosophy. (I can certainly add the folder to the PATH in the shell script that launches the encoding with x264, as it will not be permanent, but that will not work to preview the script.) If it's impossible or too difficult, don't worry. I'll find a solution. After all, it's simpler to handle than the 'magic path' of the previous versions!
Thalyn
23rd December 2013, 07:56
is MVCsource work with SSIF ?
At present, it appears to only work with elementary streams - not containers. You'd have to use TSMuxer, eac3to or similar to demux the SSIF first.
It does appear to work fine using the multiview stream as extracted from the output of MakeMKV, too, though that's fairly moot as the newer MVC-aware TSMuxers can split those to AVC and MVC while extracting anyway.
Wolfy59
23rd December 2013, 10:16
Hi I just try the new method on the croods 3D.
And the right eye works fine now when i test it to wirtual dub.
No glitche nor artefact.
Thanks for the good work you do here.
You re Kings.
Have a nice year s end
Wolfy59
23rd December 2013, 11:21
http://img189.imageshack.us/img189/6792/b98h.jpg
Does someone can explain these error ?
thanks for answers
mvcsource: error only linear decoding is allowed (current frame index=14, request frame=0)
Sharc
23rd December 2013, 11:33
@wolfy59:
MVCSource.dll does not support seeking. Which means you cannot move back and forth with the slider of your player.
You can only start from frame 0 and move forward frame by frame (=linear).
I am not aware of any other (free) 3D- .dll which would support seeking. All I know are linear.
r0lZ
23rd December 2013, 11:53
OK, since my tests with MVCDecode are satisfactory, I will use it with the next version of BD3D2MK3D. However, that version will not be ready soon. I have many things to modify, and I will probably also use tsMuxeR instead of eac3to to demux the streams, and the java version of BDSup2Sub instead of BDSup2Sub++ to convert the SUP files to SUB/IDX (because I have discovered some important bugs in BDSup2Sub++ and its development has ceased). That means that the next version of my GUI will be very different. And I will need some time to write and debug it.
In the meantime, I have compiled this version, still using DirectShowSource or ssifSource3. It has a few bug fixes and some little ameliorations, and I have updated the third party programs to the latest versions. Download it, and keep it if you want to be able to use the old method later.
# v0.23 (December 23, 2013)
# - Default output file name slightly modified.
# - Added a menu to download the LavFilters DirectX codecs in the Help menu.
# - The option "Use SsifSource3 for SBS/T&B" is not the default any more.
# (However, it is not modified if the settings have been saved to disc.)
# - Several GUI bugs fixed in Tools -> Convert Subtitle to 3D.
# - Updated tsMuxeR and mkvmerge to the latest versions.
Download v0.23 (http://download.videohelp.com/r0lZ/BD3D2AVS/BD3D2MK3D_v0.23.7z) (Latest version using ssifSource3 or DirectShowMVCSource and eac3to and BDSup2Sub++)
Cedvano
23rd December 2013, 12:01
Fine, I test it immediately.
pistacho
23rd December 2013, 20:36
Can you consider to modify MVCSource to load libmfxsw32.dll from the same directory? Currently, having to copy it in a system folder, or to change the user's PATH is an important limitation. BD3D2MK3D is a standalone (almost portable) program that does not require to be installed, and I would like to keep that philosophy. (I can certainly add the folder to the PATH in the shell script that launches the encoding with x264, as it will not be permanent, but that will not work to preview the script.) If it's impossible or too difficult, don't worry. I'll find a solution. After all, it's simpler to handle than the 'magic path' of the previous versions!
This is not an MVCsource limitation it’s an Intel Media SDK limitation: MVCsource.dll not loads libmfxsw32.dll, only is statically linked to an Intel "dispatcher" and is this that finds the appropriated version of Intel Media SDK core DLL utilizing a predefined method and I cannot change this.
r0lZ
23rd December 2013, 20:52
OK, understood.
Another thing. Is it possible to remove the number of frames from the avisynth command, or is it another limitation of the Intel SDK? It is not always easy to know the exact number of frames.
pistacho
23rd December 2013, 21:00
H264 strems not self contains the number of frames inside but Avisynth needs to know it... any better ideas? :)
r0lZ
23rd December 2013, 21:13
No. But it's OK for my GUI. It's just more difficult when I'm doing tests manually. For example, I have closed the tsMuxer window too early, and I forgot to note the number of frames. I have had to demux the streams again, just to know it! That was long! But luckilly, it's not a problem for my GUI. It has to demux the video streams with tsMuxeR anyway, and tsMuxeR prints the number of frames. It is easy to retrieve it.
I know that it is theoretically possible to get the number of frames by analysing the time codes of the video streams, but it's not the job of the encoder. I was just wondering why that number is needed. The decoder can probably decode all frames, up to the end of file. But I don't know how it works internally, and I may be wrong. Anyway, forget my question. It's OK.
Sharc
23rd December 2013, 21:30
Good for my ego that you guys also do not know an easy and quick way to determine the number of frames ;)
r0lZ
23rd December 2013, 23:36
There are several ways, but none are quick. My preferred one is xtract.exe, that can count the frames without demuxing. But it has to read the whole stream anyway. tsMuxeR and eac3to print the number of frames in the log after a demux.
Also, as I wrote above, the number of frames can be deduced from the time codes and the frame rate, but that requires to write a little program to retrieve the time codes.
I'm not sure, but perhaps the number of frames (or the clip duration) is also present in the MPLS file.
Cedvano
23rd December 2013, 23:39
To see the number of frame, I play video with Media Player Classic and go to the end. I press CTRL+G and see the number of frames.
Sharc
23rd December 2013, 23:51
But this method works only when seeking is supported, right?
Cedvano
23rd December 2013, 23:53
I think not! At me it has always worked.
Sharc
24th December 2013, 00:00
I'm not sure, but perhaps the number of frames (or the clip duration) is also present in the MPLS file.
Good proposal. BDedit (seems to be abandoned though) indicates Clip Durations as "length" from the selected playlist, like 01:56:01.728
Or:
When opening a script in AvsPmod and starting the internal player the total number of frames is shown in the status bar (bottom left), together with the frame number of the actual frame.
frencher
24th December 2013, 06:58
Hi pistacho,
Can i use "MVCsource.dll" in my soft's ;)
You are welcome
Nico8583
24th December 2013, 13:19
Hi pistacho,
Can i use "MVCsource.dll" in my soft's ;)
You are welcome
I'm agree ;) we don't have a free player for our files, so MVC Player Free must continue :D
Wolfy59
24th December 2013, 19:28
@wolfy59:
MVCSource.dll does not support seeking. Which means you cannot move back and forth with the slider of your player.
You can only start from frame 0 and move forward frame by frame (=linear).
I am not aware of any other (free) 3D- .dll which would support seeking. All I know are linear.
Strange i just remove ffdshow and it works fine now
pistacho
25th December 2013, 10:15
frencher:
Umm... if your software is a video player, no seek capability and force to extract elementary streams of container is not the best option. :confused:
r0lZ
25th December 2013, 10:26
His program is not just a 3D player. It is also an encoder. Anyway, I agree that MVCSource should be available to all of us having worked in this thread. My GUI is only one of the programs offered here, and I see no reason to give the permission to use MVCSource to me only.
Nico8583
25th December 2013, 10:53
Also perhaps you could :
- Share source code of MVCsource (for developpers++) ?
- Modifiy inputs of your avisynth plugin to accept M2TS and/or MPLS and/or SSIF ?
It's just ideas ;)
pistacho
25th December 2013, 11:45
His program is not just a 3D player. It is also an encoder. Anyway, I agree that MVCSource should be available to all of us having worked in this thread. My GUI is only one of the programs offered here, and I see no reason to give the permission to use MVCSource to me only.
OK can be used by free applications but must follow these "best practices":
Do not redistribute "MVCsource.dll" in your application. (then you will understand why)
Do not copy versions of "libmfxsw32.dll" in windows/system directories or add other folders to a system path. (can be obsolete, replace newer versions or break other software)
Create Avisynth script with this LoaderPlugin call:LoadPlugin("MVCsource.dll")Without full path. Since at installation BDtoAVCHD configure properly MVCsource will work fine.
Instruct to users that needs install BDtoAVCHD from official source and/or provide link to BDtoAVCHD homepage (http://www.connecta2000.com/BDtoAVCHD/) at your application.
As BDtoAVCHD is frequently updated I think this is the best option. So avoid configuration problems and conflicts due to having multiple installed applications using MVCsource on the same computer.
jdobbs
25th December 2013, 21:35
OK can be used by free applications but must follow these "best practices":
Do not redistribute "MVCsource.dll" in your application. (then you will understand why)
Do not copy versions of "libmfxsw32.dll" in windows/system directories or add other folders to a system path. (can be obsolete, replace newer versions or break other software)
Create Avisynth script with this LoaderPlugin call:LoadPlugin("MVCsource.dll")Without full path. Since at installation BDtoAVCHD configure properly MVCsource will work fine.
Instruct to users that needs install BDtoAVCHD from official source and/or provide link to BDtoAVCHD homepage (http://www.connecta2000.com/BDtoAVCHD/) at your application.
As BDtoAVCHD is frequently updated I think this is the best option. So avoid configuration problems and conflicts due to having multiple installed applications using MVCsource on the same computer.How do you use it in an app without redistributing "MVCsource.dll" with the app? That just make its use convoluted.
pistacho
25th December 2013, 23:06
How do you use it in an app without redistributing "MVCsource.dll" with the app? That just make its use convoluted.
The same way that app that use .NET Framework but does not include .NET framework in the installation.
Or
The same way that BDRebuilder use Avisynth // FFDShow but does not include it.
Or
The same way that BDRebuilder can use DirectShowMVCSource.dll / CoreAVCDecoder.dll but does NOT redistribute it. :)
jdobbs
26th December 2013, 06:29
The same way that app that use .NET Framework but does not include .NET framework in the installation.
Or
The same way that BDRebuilder use Avisynth // FFDShow but does not include it.
Or
The same way that BDRebuilder can use DirectShowMVCSource.dll / CoreAVCDecoder.dll but does NOT redistribute it. :)
I'm sorry, but an AVISYNTH plugin is nothing like the .NET framework. And a plugin that is based on freely distributed code like the Intel SDK is nothing like one that requires a copyrighted independently developed package like CoreAVCDecoder (that has to be purchased).
AVISYNTH and FFDSHOW can be freely distributed -- and have no restrictions, and I will include them in the installation package when I decide to build one (like I did with DVD Rebuilder).
But, hey, it's your plugin and you can do whatever you want. I'll just stick with FRIMDecoder, as it has no restrictions and works fine.
r0lZ
26th December 2013, 08:25
Pistacho, I agree with jdobbs. It is not fair to keep your plugin just for you or force us to install your program to be able to use it. Obviously, according to your update history, you have used several tools developed by peoples in this thread (without the explicit consent of their authors) and you have grabbed most information from us, but you have never shared any info with us. It's not a problem per se, but now, you can contribute to the collective efforts here, and imo you should share your plugin with us. Especially because it is based on a free and open source library.
I agree that installing several versions of the plugin or the Intel DLL on the same system may be dangerous or confusing, but there are certainly ways to avoid that problem. For example, my GUI could check if MVCSource has already been installed, and install it only if it's not the case. It could also install it exactly the same way as your program, so that your program will be able to use it too, or to update it to a newer version. Or, even a better solution, my GUI can keep the 2 DLLs in its own private folder, and add that folder to the system path only in its own process. The global path will therefore never be changed. Your program, if it is installed on the same machine, will not even know that the plugin of the Intel dll is present elsewhere, and will continue to work with the DLLs it has installed itself. That's certainly sufficient to avoid all conflicts.
Also, note that currently, your program installs some DirectShow filters (for example the Haali Media Splitter), even if they are already installed on the machine. That can also cause conflicts, and I don't want to force the users of my GUI to install a program that can cause incompatibility issues with other players or tools.
So please, accept what you have proposed originally. Let us distribute your DLLs, and we will add a link to your program, and we will keep the DLLs in a specific folder, independent of the rest of the system. You will be rewarded for your help, and there will be no conflict with your app. But please, don't ask us more.
frencher
26th December 2013, 18:25
@ pistacho
I regret to use this topic for your personal use without having participated once.
Block the use of "MVCsource.dll" to those who helped indirectly and unknowingly helped develop BDtoAVCHD is a can as if you were withdrawing the right to use the source of this topic.
No change on your part I will also use FRIMDecoder it is free and even much faster, although it has some bugs.
Thank you anyway for your personal interests in this topic.
pistacho
26th December 2013, 18:33
I'm sorry but is already decided: the next version of MVCsource.dll (already developed) only runs if the complete BDtoAVCHD software is installed but will be free to use by third-part applications.
Also will have several improvements as HW acceleration and some bug fixes.
Remember that MVCsource.dll is part of BDtoAVCHD software and never wanted to be a standalone application. If I wanted this I would have uploaded to Videohelp, etc. and is not the case.
You're asking me to use part of BDtoAVCHD for other applications and I'm just going to put certain conditions. That’s all.
---
Some test of upcoming BDtoAVCHD version with HW acceleration on i7-3770k CPU:
http://imageshack.us/a/img28/7461/m400.png
EDIT: Sorry for posting at same time as frencher
jdobbs
26th December 2013, 19:23
I saw that coming days ago...
Sharc
26th December 2013, 19:33
BDtoAVCHD is Adware, right?
Nico8583
26th December 2013, 20:53
Where is the interest to force users to install a free software that they will never use ?
Personally, if I must install your soft to use MVCSource, I'll never launch it and perhaps I will block BDtoAVCHD.exe with my firewall in order to be sure to stop all network traffic from/to the soft (to block Google Adsense for example)...
I don't understand your point of view, sorry. I think you should stop your work on BDtoAVCHD but continue only to update your good Avisynth plugin MVCsource ;) ;)
HWK
26th December 2013, 21:11
Frankly, I fail to comprehend logic of this altogether. I mean why force users to install program and more important according r0lz, take away from community and not give back. I would have shared mine but unfortunately it is property to MVC Encoder I use and can't be separated and distributed.
r0lZ
26th December 2013, 22:15
Perhaps someone here can do what pistacho did. Putting the MVC decoder in an avisynth plugin should not be extremely difficult. It should be sufficient to grab the source of any *Source avisynth plugin, and modify it to include the Intel decoder, as unmodified as possible. I don't know avisynth enough, and I don't have the right tools to do it myself, but I'm sure D9 is full of programmers that can do it. Someone is interested, or knows someone that could do it for us?
jdobbs, what trick do you use with FRIM to avoid to write large files to HDD?
HWK
26th December 2013, 22:34
jdobbs, what trick do you use with FRIM to avoid to write large files to HDD?
Couple of days back Jdobbs mentioned his main focus will be on doing proper 3d, rather than SBS or OU and based on light of this I think he uses pipe between two process, but of course I could be wrong as well.
frencher
27th December 2013, 06:50
Couple of days back Jdobbs mentioned his main focus will be on doing proper 3d, rather than SBS or OU and based on light of this I think he uses pipe between two process, but of course I could be wrong as well.
Intel Media SDK provides framework for MPEG2, H.264 AVC and H.264 MVC-3D encoding and decoding.
SDK is supported on Windows 7, Windows 8.x, and it can be freely distributed and used.
FRIM Encoder and FRIM Decoder are free command-line tools based on modification of examples from this SDK.
FRIM Encoder converts planar-yuv file, named pipe, uncompressed avi or Avisynth script into elementary MPEG2, H.264 AVC or MVC-3D streams.
HWK
27th December 2013, 06:56
Yes, I am aware of it. r0lz asked about intermediate files and for that I said Jdobbs will most likely use FRIM Encoder and FRIM Decoder with connection of pipe.
About avisynth script unless things have changed recently I was told 2.5.8 has issue with it and 26.0 is required. On that account jdobbs was not prepared to use beta of avisynth with BD-RB beta
frencher
27th December 2013, 06:58
Where is the interest to force users to install a free software that they will never use ?
Personally, if I must install your soft to use MVCSource, I'll never launch it and perhaps I will block BDtoAVCHD.exe with my firewall in order to be sure to stop all network traffic from/to the soft (to block Google Adsense for example)...
I don't understand your point of view, sorry. I think you should stop your work on BDtoAVCHD but continue only to update your good Avisynth plugin MVCsource ;) ;)
Same sorry no work now pay
BDtoAVCHD Topic on doom9 (http://forum.doom9.org/showthread.php?t=154957)
r0lZ
27th December 2013, 11:02
Frencher, I'm not interested in the Intel Encoder. Just the decoder. But afaik, currently, it can only write to uncompressed YUV. I need a way to grab its output from within an avisynth script, to compose the SBS or T&B images directly from the source, without having to write huge files on disc. It's what MVCSource does. Pity we can't use it in acceptable conditions.
You wrote earlier that FRIM has some bugs. Can you be more explicit? If, like MVCSource, it uses the Intel decoder, it should decode equally well. Or did you speak of the FRIM encoder?
mini-moose
27th December 2013, 11:23
BDtoAVCHD is Adware, right?
It appears like it is. Trying it now and it has a nasty ads window on the bottom.
Sadly, it doesn't allow a lot of flexibility in some cases. For example, the 2D option has a crop option but no preview or option to select exact crop values, just resolution defaults 1920x1040, 1920x800 etc).
r0lZ
27th December 2013, 11:37
It appears like it is. Trying it now and it has a nasty ads window on the bottom.
That throw light on why pistacho wants us to promote his soft. He count on us to earn more money. It's an additional reason to not use his MVCSource. We cannot promote a commercial program. IMO, we should even recommend to not use it, as BDtoAVCHD uses many free tools in a commercial program, without any credits to the authors. Also, the about box pretends that it is freeware, but it is adware. It's not acceptable.
mini-moose
27th December 2013, 12:05
That throw light on why pistacho wants us to promote his soft. He count on us to earn more money.
Yeah, I don't appreciate that either. Makes me suspicious as to what else goes in the install.
There are several freeware that have adware "angles" such as 3rd party tools bundled with the install (toolbars etc), but the kind ones let you choose not to install those, probably hoping you will just press next and do it anyway. Mediainfo for example.
I tried to do an encode with this program and it failed due to some reason. After uninstalling it I had to reinstall haali cause directshow stopped working.
Sharc
27th December 2013, 12:52
Yeah, I don't appreciate that either. Makes me suspicious as to what else goes in the install.
................... After uninstalling it I had to reinstall haali cause directshow stopped working.
Same happened here: I had to reinstall Haali for directshow to work. Apparently the Uninstall of BDtoAVCHD is not clean.
In the VCDhelp Forum BDtoAVCHD is still declared as Freeware rather than Adware.
I think Pistacho would do himself a favour if he would release or license the MVCsource.dll in some acceptable manner.
Nico8583
27th December 2013, 13:02
I think Pistacho would do himself a favour if he would release or license the MVCsource.dll in some acceptable manner.
I'm agree with you ;)
r0lZ
27th December 2013, 13:05
Yes, I noticed that Haali problem too. I have installed BDtoAVCHD only in a sandbox, and it is easy to see exactly what is installed by the installer. I have noticed that the Haali filters were installed anyway, even though they are already present and correctly installed on my system. The installer replaces your previously installed version without your consent, and it is not surprising that the uninstaller uninstalls it and removes the registry entries. You ends up with a non-working installation, but with the original files still present on your system. (Luckily, since my version was in a sandbox, the installer has been unable to damage my original install.) So, BDtoAVCHD does exactly what pistacho wanted to avoid by imposing a single installation of his DLL. The solution I have suggested (to use only a local modification of the PATH variable) is much more secure. But obviously, the real reason behind his refusal is just money, and not the possibility of a conflict.
And indeed, with the permission to use and distribute his DLL, I would have added a link to his program. Now, he will lose all advantages, including financial, to share his filter with us. Pity for him.
Nico8583
27th December 2013, 13:15
I have opened this topic in Avisynth Development section : http://forum.doom9.org/showthread.php?t=169982 :)
r0lZ
27th December 2013, 13:17
Good idea. Thanks. :-)
Sharc
27th December 2013, 13:21
......... I need a way to grab its output from within an avisynth script, to compose the SBS or T&B images directly from the source, without having to write huge files on disc. It's what MVCSource does. Pity we can't use it in acceptable conditions.
Sidenote: For a given target size like BD9 I found the viewing quality of half horizontal resolution SBS encoded with x264 still better than full resolution MVC with Intel/FRIM, due to the superiority of x264 at lower bitrates and the low savings of the dependent view with Intel/Frim (dependent view=about 80% of the size of the base view). Maybe that the difference in quality becomes less for BD25 (higher bitrates). I didn't try yet.
r0lZ
27th December 2013, 13:25
Yes, I really want to keep x264 to encode. The Intel encoder is not really better than the encoder of DVDFab, and there will be no reason to use our tools if they do not give a better quality than DVDFab or other commercial encoders.
pistacho
27th December 2013, 14:17
Thanks for all "positive" feedback aka criticism
But thanks because all these downside will be solved in next release :D:
License: Freeware --> Ad-supported
Haali break on uninstall (not intentionally, of course)
Something more?
Software only has a banner (like android app). Is this really something so evil?
It does *NOT* include any kind of third ad-ware optional/or forced to install. Hard for me to understand this position. I find it stupid. Ad-supported != Adware != malware
With time that some are wasted here could have learned to program and stop asking for things to others.
jdobbs
27th December 2013, 14:40
Couple of days back Jdobbs mentioned his main focus will be on doing proper 3d, rather than SBS or OU and based on light of this I think he uses pipe between two process, but of course I could be wrong as well.Yes. I use pipes between FRIMDecode and FRIMEncode. I'm also thinking about writing a CLI program that will read directly from SSIF and feed FRIMDecode with the elementary streams -- but I haven't done much in that direction yet. I haven't even checked to see if FRIMDecode can accept piped input.
Sidenote: For a given target size like BD9 I found the viewing quality of half horizontal resolution SBS encoded with x264 still better than full resolution MVC with Intel/FRIM, due to the superiority of x264 at lower bitrates and the low savings of the dependent view with Intel/Frim (dependent view=about 80% of the size of the base view). Maybe that the difference in quality becomes less for BD25 (higher bitrates). I didn't try yet.I don't get the X264/FRIMEncode comparison discussion. FRIMEncoder does MVC, X264 doesn't. So what's to compare? Since you are encoding twice as many frames at the same bitrate, it isn't really fair to compare them. FRIMEncoder gives excellent quality if you are outputting to a BD-25 -- but doubling the number of frames for 3D can make BD-5/9 output pretty challenging. In fact I don't think I'd recommend it (even if X264 did support MVC).
I'm just not satisfied with SBS 3D when I can have full 1080p 3D, and BD-25 discs are available at about the same cost of DL DVD+R now.
I did some PSNR comparisons between FRIMEncoder and X264 doing standard 2D encoding, and while X264 did better, the differences weren't as great as some of the comments I've read would have you believe. I know PSNR isn't a perfect test -- but there is no perfect test.
Don't get me wrong. I love X264 and think it the best AVC encoder you can find. But when it doesn't do what you need for a specific application (MVC) you have to look elsewhere. Right now FRIMEncoder is the best choice for MVC in the freeware community.
r0lZ
27th December 2013, 15:42
I agree. We cannot compare x264 and FRIMencoder, when they are used to encode different material. But when we encode to SBS or T&B, any h264 encoder is suitable for that job. I want to use the best one, especially because most peoples who encode in MKV SBS/T&B do it mainly for a good reason: the disc space. So, we need an encoder that compress well without too much loss. x264 is perfect for that. I haven't said that the FRIMencoder is bad. It is only less suitable for what I want to do. (DVDFab is not that bad either, if you accept to give 2 or 3 times the bitrate necessary for a good encoding with x264.) Anyway, the problem, currently, is the missing avisynth MVC decoder plugin. The encoder used at the end of the process is not a problem per se.
r0lZ
27th December 2013, 15:52
Ad-supported != Adware != malware
Ad-supported is equal to Adware, by definition.
Is Adware equal to malware? That depends of the ad network used. Most are spyware too, and therefore evil. It's specially the case of Adsense.
Anyway, it's not because your app is ad-supported that we do not want to promote it. It's because you are trying to make money with our job, by forcing us to promote your app. It's not acceptable, especially for a commercial program. It is ad-supported, therefore you should spend some money to promote it yourself.
mini-moose
27th December 2013, 16:03
It does *NOT* include any kind of third ad-ware optional/or forced to install. Hard for me to understand this position. I find it stupid. Ad-supported != Adware != malware
wikipedia describes adware as "Adware, or advertising-supported software, is any software package which automatically renders advertisements in order to generate revenue for its author."
Personally I don't like having ad banners running on anything.
pistacho
27th December 2013, 17:59
From WIKIPEDIA:
Advertising-supported software
In legitimate software, the advertising functions are integrated into or bundled with the program. Adware is usually seen by the developer as a way to recover development costs, and in some cases, it may allow the software to be provided to the user free of charge or at a reduced price. The income derived from presenting advertisements to the user may allow or motivate the developer to continue to develop, maintain and upgrade the software product.
In application software
Some software is offered in both an advertising-supported mode and a paid, advertisement-free mode. The latter is usually available by an online purchase of a license or registration code for the software that unlocks the mode, or the purchase and download of a separate version of the software.[a]
Some software authors offer advertising-supported versions of their software as an alternative option to business organizations seeking to avoid paying large sums for software licenses, funding the development of the software with higher fees for advertisers.[7]
Examples of advertising-supported software include the Windows version of the Internet telephony application Skype,[8] and the Amazon Kindle 3 family of e-book readers, which has versions called "Kindle with Special Offers" that display advertisements on the home page and in sleep mode in exchange for substantially lower pricing.[9]
In 2012, Microsoft and their advertising division, Microsoft Advertising, announced that Windows 8, the forthcoming major release of the Microsoft Windows operating system, would provide built-in methods for software authors to use advertising support as a business model.[11][12] The idea had been considered since as early as 2005.[13]
[B]As malware
The term adware is frequently used to describe a form of malware (malicious software)
r0lZ
27th December 2013, 18:13
Adware, or advertising-supported software, is any software package which automatically renders advertisements in order to generate revenue for its author. The advertisements may be in the user interface of the software or on a screen presented to the user during the installation process. The functions may be designed to analyze which Internet sites the user visits and to present advertising pertinent to the types of goods or services featured there. The term is sometimes used to refer to software that displays unwanted advertisements.
(n.) (1) Adware is the common name used to describe software that is given to the user with advertisements embedded in the application. Adware is considered a legitimate alternative offered to consumers who do not wish to pay for software. There are many ad-supported programs, games or utilities that are distributed as adware (or freeware). Today we have a growing number of software developers who offer their goods as "sponsored" freeware (adware) until you pay to register. If you're using legitimate adware, when you stop running the software, the ads should disappear, and you always have the option of disabling the ads by purchasing a registration key.
(2) Another use of the phrase adware is to describe a form of spyware that collects information about the user in order to display advertisements in the Web browser. Unfortunately, some applications that contain adware track your Internet surfing habits in order to serve ads related to you. When the adware becomes intrusive like this, then we move it into the spyware category and it then becomes something you should avoid for privacy and security reasons.
Since your program uses Adsense, the ad network of Google, well known to be also a very aggressive spyware, your software IS adware and, at least to some extent, malware.
Anyway, as I wrote above, it's not the point. You have never helped us, but you took many things from us. Now, you have an opportunity to help us, but you refuse it. It's OK, continue your program alone. But please don't continue to pollute this thread.
pistacho
27th December 2013, 18:26
...But please don't continue to pollute this thread.
I came here because Nico8583 mailed me:
Hi,
I'm a doom9 forum user and I have discover your software.
We're very interested to use your MVCSource decoder with anothers softwares so we would like to know if your decoder is free to use ? Or in what condition can we use it ?
Also, could you give us more information about your decoder ?
You can find our discussion here : http://forum.doom9.org/showthread.php?t=155246&page=87
Thanks a lot !
r0lZ
27th December 2013, 18:34
I know that. I would have appreciated your presence here if you had proposed something acceptable for us, like the first proposition you did. But you have changed your mind, and therefore you have nothing useful to offer and we don't need you here any more. You can of course continue to read this thread, but if you want to write something here, write something positive, provide a useful info or offer something constructive. Do not continue to justify the philosophy of your ad-supported program. It's totally useless for us.
Sharc
27th December 2013, 18:49
I don't get the X264/FRIMEncode comparison discussion. FRIMEncoder does MVC, X264 doesn't. So what's to compare? Since you are encoding twice as many frames at the same bitrate, it isn't really fair to compare them. FRIMEncoder gives excellent quality if you are outputting to a BD-25 -- but doubling the number of frames for 3D can make BD-5/9 output pretty challenging. In fact I don't think I'd recommend it (even if X264 did support MVC).
I'm just not satisfied with SBS 3D when I can have full 1080p 3D, and BD-25 discs are available at about the same cost of DL DVD+R now.
I did some PSNR comparisons between FRIMEncoder and X264 doing standard 2D encoding, and while X264 did better, the differences weren't as great as some of the comments I've read would have you believe. I know PSNR isn't a perfect test -- but there is no perfect test.
Don't get me wrong. I love X264 and think it the best AVC encoder you can find. But when it doesn't do what you need for a specific application (MVC) you have to look elsewhere. Right now FRIMEncoder is the best choice for MVC in the freeware community.
No worry, I don't get you wrong, and it has not been my intention to ctiticize the Intel/Frim encoder or to glorify the x264, but the comparison which I did is legal I believe.
Presently we have the choice between free Intel/FRIM (MVC) or free x264 (SBS) for 3D encoding, and my comparison was based on viewing impression of the 2 methods using equal target size (BD9). The overall bitrate -- i.e. for left plus right view) was in the order of 7000 kbps for the 2 hours movie which presents a challenge for 3D encoding, I agree. If I do however accept the quality of a 2D backup on a BD5 it should be possible to get similar acceptable results for 3D on a BD9 (2 x number of pictures, but only 1 x audio), correct?
When viewing the movie I gave the SBS/x264 encode a preference (visual impression with my eyes and playback infrastructure) over the MVC/Intel result, despite the lower horizontal resolution of the SBS encode => less visible macroblocks in demanding scenes, less blurring of details (e.g. "wax" areas in hair, fur, leaves, sand ...).
No doubt, we are more than happy to have now Intel/FRIM available as free MVC encoder. Quality is good and MVC has the advantage that the disc can be played on a legacy 2D infrastructure (using the base view), whereas the SBS variant cannot be played on legacy 2D player/TV setup I think. But so far BD9 seems to be barely sufficient, and more so for Intel/MVC than for SBS/x264 I think.
Looking forward .... :) :)
frencher
27th December 2013, 18:57
Even if my apps are not perfect by great lack of time, i am listening to users and i quote those who participated in the improvement of my apps (even you r0lZ you can check lol).
Pistachio anything, for your invaluable help, no comment !!!
I'll see later FRIM because I do not have time right now
mini-moose
27th December 2013, 20:21
From WIKIPEDIA:
Point is, you're happy to build your software around lots of completely free tools (avisynth, tsmuxer, mkvmerge, x264, bdsup2sub, haali splitter, eac3to etc), but would not agree to let
others do the same with useful parts you wrote, unless they install the full software with ads, whether they will use it or not.
Write your own replacements to all those free tools and then it would make sense.
r0lZ
27th December 2013, 20:55
You forgot the tools, idea and info released in this thread, as you can see in the BDtoAVCHD update history.
Version 1.9.2 •Release Date: Oct 20, 2013
• Improved: the method of conversion Blu-Ray 3D to MKV/AVCHD 3D SBS avoid creating the temporary file AVC-MVC combined. Is no longer needed to use the process "MVCCombine.exe" gaining some speed.
Version 1.9.0 •Release Date: Aug 25, 2013
• New: automatic detection of views order (left-right) based on .mpls information The 'view order' chosen is also shown in list of queued jobs.
Version 1.7.0 •Release Date: Jan 6, 2012
• New: Now is possible to include hardcoded subtitles in 3D SBS conversions. It's designed for forced subtitles (cannot be disabled when playing) but maintaining the font, color and position and are compatible with any 3D playback system.
I'm sure I have forgiven a lot of other things.
As you can see, most of the improvements in BDtoAVCHD coincide with the development of our tools, and the info posted here. Obviously, he has followed this thread with great interest. But I am still searching for a valuable contribution of pisctcho to the methods developed here.
jdobbs
27th December 2013, 21:04
Point is, you're happy to build your software around lots of completely free tools (avisynth, tsmuxer, mkvmerge, x264, bdsup2sub, haali splitter, eac3to etc), but would not agree to let
others do the same with useful parts you wrote, unless they install the full software with ads, whether they will use it or not.
Write your own replacements to all those free tools and then it would make sense. Most of those are released under the GNU license, and it explicitly does allow including the binaries as a part of a commercial application. All it requires is that the person distributing them make the source code for the GNU licensed apps available on his/her website for a period of 3 years (or offer to provide it on some other media at cost).
But I do understand and appreciate your point.
pistacho
28th December 2013, 01:31
As you can see, most of the improvements in BDtoAVCHD coincide with the development of our tools, and the info posted here. Obviously, he has followed this thread with great interest. But I am still searching for a valuable contribution of pisctcho to the methods developed here.
False -> Most of the improvements in BDtoAVCHD coincide which the development of my own alternatives (coded entirely by me). As Bitrates Scan to find on the fly forced subtitles tracks and calculate bitrate of VBR audio tracks. Or extraction of forced subtitles without use BDSuptoSub (currently only is used for resize) and detection of forced subtitles embedded in normal tracks. Or many others as MVCsource, etc.
Version 1.9.2 •Release Date: Oct 20, 2013
Improved: the method of conversion Blu-Ray 3D to MKV/AVCHD 3D SBS avoid creating the temporary file AVC-MVC combined. Is no longer needed to use the process "MVCCombine.exe" gaining some speed.
MVCCombine only are used for 30 days or less and the author of this tool is Neisklar and to my knowledge has not complained about anything. (I thank him, but he has not published the source code of MVCCombine also).
please, please, please, STOP the criticism and stop talking about BDtoAVCHD in this thread.
Sorry but, with the attitude of Nico (and others) I lost the little desire I had to help.
Bye.
Cedvano
28th December 2013, 02:32
You have make a good work Pistacho, but all we want, is acces to MVCsource.
Don't worry, If he can use it, I'm sure they will not fail to mention you.
Thank you for your sharing.
Nico8583
28th December 2013, 11:03
False -> Most of the improvements in BDtoAVCHD coincide which the development of my own alternatives (coded entirely by me). As Bitrates Scan to find on the fly forced subtitles tracks and calculate bitrate of VBR audio tracks. Or extraction of forced subtitles without use BDSuptoSub (currently only is used for resize) and detection of forced subtitles embedded in normal tracks. Or many others as MVCsource, etc.
Do you code DirectShowMVCSource ?
Do you code BioMVC ?
Do you have found yourself how to detect left or right base view ?
Etc...
Your only good work is MVCsource.
MVCCombine only are used for 30 days or less and the author of this tool is Neisklar and to my knowledge has not complained about anything. (I thank him, but he has not published the source code of MVCCombine also).
The problem is not to publish the source code, the problem is to not allow to use MVCsource without install BDtoAVCHD.
And please please please don't compare Neisklar and you. Neisklar is the author of MVCCombine and DirectShowMVCSource, he doesn't forbid us to not use his work (and he had developed an Avisynth plugin like you) or force us to install an another software to use it.
Neisklar is away from this forum for a long time, but if he was here I'm pretty sure he would be agree with us.
please, please, please, STOP the criticism and stop talking about BDtoAVCHD in this thread.
Sorry but, with the attitude of Nico (and others) I lost the little desire I had to help.
Bye.
I'm agree, please stop talking about this soft in this thread. When a free to use Avisynth MVC plugin will be released, I'm pretty sure this soft wil be forget :)
samfednik
28th December 2013, 21:07
There are several ways, but none are quick. My preferred one is xtract.exe, that can count the frames without demuxing. But it has to read the whole stream anyway. tsMuxeR and eac3to print the number of frames in the log after a demux.
Also, as I wrote above, the number of frames can be deduced from the time codes and the frame rate, but that requires to write a little program to retrieve the time codes.
I'm not sure, but perhaps the number of frames (or the clip duration) is also present in the MPLS file.
Use Media Info:
http://www.youtube.com/watch?v=Rsh0glUSoy4
r0lZ
28th December 2013, 21:11
I see. Thanks for the tip.
Sharc
28th December 2013, 23:38
Use Media Info:
http://www.youtube.com/watch?v=Rsh0glUSoy4
:goodpost:
frencher
29th December 2013, 21:56
please, please, please, STOP the criticism and stop talking about BDtoAVCHD in this thread.
Sorry but, with the attitude of Nico (and others) I lost the little desire I had to help.
Bye.
False: It is we who've helped and guided
It is your attitude that is unacceptable.
frencher
1st January 2014, 11:44
http://movieyug.com/wp-content/uploads/2013/12/Happy-New-Year-2014-HD-Theme1.jpeg
r0lZ
1st January 2014, 13:25
Thanks Frencher! Happy new year to you and everybody here! :-)
Cedvano
1st January 2014, 21:23
Happy new year everybody !
Nico8583
1st January 2014, 23:43
Thanks and happy new year to all !
Wolfy59
5th January 2014, 19:45
A little later, i wish you an happy new year
allanlee
8th January 2014, 17:50
And you, guys, are so fast. I've just finished wrapper to CoreAVC that allows to add it into GraphStudio graph builder.
http://sendfile.su/90132
This link seems to be dead. Can anybody help to post the file again?
Thanks in advance!
Sharc
8th January 2014, 20:48
...... FRIMEncoder gives excellent quality if you are outputting to a BD-25 -- but doubling the number of frames for 3D can make BD-5/9 output pretty challenging. In fact I don't think I'd recommend it (even if X264 did support MVC).....
Do 3D Blu-ray standalones accept MVC on BD-5/9 media at all? Do you/anyone have experience with compatibility?
r0lZ
8th January 2014, 22:48
I don't think the type of disc matters, as long as the files are standard compliant, and correctly burned. The player does not check if the disc is a BD or DVD. It just reads it. The files can be in 2D or 3D; again, that doesn't matter, except of course for the disc space and encoding quality.
But I don't use optical media for my backups any more, and I have no experience of BD-5/9. I may be wrong.
jdobbs
9th January 2014, 00:55
Do 3D Blu-ray standalones accept MVC on BD-5/9 media at all? Do you/anyone have experience with compatibility?I can only speak for my player -- and a 3D BD-5/9 will play on it.
Sharc
9th January 2014, 09:14
I can only speak for my player -- and a 3D BD-5/9 will play on it.
Good to know. It would allow me to put the cost difference between BD-25 and BD-9 aside for donations ... :D
Cedvano
9th January 2014, 12:14
I have only tested BD9 3D and that's work !
slavanap
9th January 2014, 14:28
This link seems to be dead. Can anybody help to post the file again?
Thanks in advance!
http://sendfile.su/920191
allanlee
10th January 2014, 05:15
http://sendfile.su/920191
Thank you soooo much! :-D
b0mb
12th January 2014, 08:58
hi!
one thing i need to explained...
when i encode to full sbs what eye do should come first
i´ve done 3 encodes now with left eye first and i think i had luck because its looking good.
can some1 plz explain to me!
thx in advance!
b0mb
pistacho
12th January 2014, 09:13
hi!
one thing i need to explained...
when i encode to full sbs what eye do should come first
i´ve done 3 encodes now with left eye first and i think i had luck because its looking good.
can some1 plz explain to me!
thx in advance!
b0mb
The most common is this:
Half SBS
StackHorizontal(HorizontalReduceBy2(Left), HorizontalReduceBy2(Right))
http://www.pantarheon.org/AviSynth3DToolbox/LeftRight3DReduced.png
Half TAB
StackVertical(VerticalReduceBy2(Left), VerticalReduceBy2(Right))
http://www.pantarheon.org/AviSynth3DToolbox/TopDown3DReduced.png
b0mb
12th January 2014, 09:20
excuse me but i still didn´t get it ...
i do full sbs encodes and i can choose left side first or right side first but i don´t understand when do i need left side first and when right side first... :|
the avc stream?
pistacho
12th January 2014, 09:32
Left always = left = first
but left can be AVC stream or MVC stream
if left is AVC (most common):
AVC = left = first
MVC = right = second
if left is MVC:
AVC = right = second
MVC = left = first
b0mb
12th January 2014, 09:52
ok
when avc stream ist right eye i choose right eye first, right?
i think i´ve understand it now
thx a lot :)
pistacho
12th January 2014, 10:00
I like it more like this:
"when avc stream ist right eye i choose MVC eye first"
:)
r0lZ
12th January 2014, 10:25
It is theoretically possible to do right eye first, and there are some SBS or T&B movies on youtube in that unusual format. I strongly recommend to always avoid it, as left first is now clearly the standard.
In a BD 3D, one of the two views is the "base view", encoded in AVC (classic h264 encoding), and the other view is the "dependent view", encoded in MVC. As its name implies, that view is dependent of the other view and cannot be decoded without the base view. Usually, the base view is the left view, but there are some exceptions. You have to know exactly what contains the base view, and encode the base view first when it is the left view, and the dep view first when the base view is the right view.
Note that eac3to has a bug and prints always "AVC (left eye)" for the base view and "AVC (right eye)" for the dep view. AVC for the dep view is wrong, but that's not a big problem. You must use another tool to verify if the left eye view is really the base view. My program, BD3D2MK3D fixes the output of eac3to, and prints the correct information in its GUI. You can also use tsMuxeR to see the correct information. (Unfortunately, its GUI doesn't show it. You have to use the command line to see it.)
If you use my program, you should just select "Half SBS, left first" (or "Half T&B, left first"), and it will take care of the order of the views in the AVC and MVC streams automatically. Currently, it is still possible to select "right first", but I will remove that possibility in the next version. I don't want to encourage peoples to encode in that unusual format, difficult to watch on most 3D TVs.
b0mb
12th January 2014, 11:00
ok... thx for the infos!
btw. i´m encoding all stuff @ fullsbs because i´m in the lucky position that my samsung led tv combined with my htpc running latest openelec nightlies i playing the encodes @ fullhd without loosing resolution ;)
r0lZ
12th January 2014, 11:05
Nice. Indeed, you're lucky. My Samsung TV refuses the full SBS, but can display full 3D @ 47.952 fps (from a BD player).
Nico8583
12th January 2014, 12:19
Do you run OpenElec on a PC x86 architecture or another system (Raspberry Pi, Android stick...) ?
I don't know about full SBS output, size file, quality, etc...
b0mb
12th January 2014, 13:05
Do you run OpenElec on a PC x86 architecture or another system (Raspberry Pi, Android stick...) ?
I don't know about full SBS output, size file, quality, etc...
i run openelec on a zotac zbox id18. this gr8 htpc did cost me 130,- € together with 2 gig ram (dual core celeron U and intel HD graphics). that´s unbeatable for that price compared to the mediaplayers on the market you can get.
i´m encoding the fullsbs movies with crf18. the mkvs have around 9 to 26 gigs belonging to the source material.
the difference in quality between original bluray mvc stream and fullsbs is subjectively none. where the half-sbs encode of avatar or life of pi for example are looking like a 2D movie compared to the fullsbs stream. ;)
Nico8583
12th January 2014, 15:44
Thanks for the info, very interesting ;)
What would you like to say with this : "where the half-sbs encode of avatar or life of pi for example are looking like a 2D movie compared to the fullsbs stream." ?
r0lZ
12th January 2014, 15:57
That's not credible. The resolution of the video is not at all related to the depth effect. I can admit that the video may be a bit less sharp (since its resolution is divided by 2), and perhaps that there is less "detail" in the depth, but certainly not that the depth is reduced.
There have been long discussions of a French forum on the supposed superiority of half-T&B over Half-SBS, because the parallax depends of the horizontal direction and therefore is more precise when the X resolution is not divided by 2. Theoretically, it's true. But the parallax plays only a small role in the perception of the relief. The brain is much more important. And the conclusion of the experts on the forum is that half-SBS gives excellent results, not less good than half-T&B (or full-SBS). Of course, if you really think that full-SBS is superior, you will perhaps see a difference. But it's pure religion. And anyway, if there is a small difference, it's in the precise position of the "planes", not at all in the global depth of the scene, simply because the parallax do not change when the resolution is reduced. It is only somewhat blurred, exactly like the precision of the pixels.
pistacho
12th January 2014, 17:06
It also depends on the type of TVs technology (active / passive).
In passive TVs TAB is better and there is a technical justification:
http://forum.doom9.org/showthread.php?p=1648284#post1648284
Nico8583
12th January 2014, 17:25
Thanks for informations, I have already seen in the past TB/OU is better than SBS for passive TV but after several discussions, it seems that quality between SBS and TB on passive TV is equal. But I don't have a passive TV so I can't verify...
b0mb
12th January 2014, 21:34
maybe its just becaus of the lower resolution but in case of avatar you loose a lot of depth ;)
Sharc
14th January 2014, 01:13
@r0lz
This (http://forum.doom9.org/showpost.php?p=1661954&postcount=453) is certainly of interest for you as well:
SBS and OU with FRIMdecoder piping into x264.
Works perfectly!
HWK
14th January 2014, 01:18
@r0lz
This (http://forum.doom9.org/showpost.php?p=1661954&postcount=453) is certainly of interest for you as well:
SBS and OU with FRIMdecoder piping into x264.
Works perfectly!
Here is example of Half SBS
http://forum.doom9.org/showthread.php?p=1661996#post1661996
r0lZ
14th January 2014, 09:47
I agree that it's a good solution, but it doesn't work if you need to do something special, like hardcoding subtitles. I prefer to wait for the AVS plugin that Neuron2 is currently developing. Thanks anyway for the information.
Nico8583
14th January 2014, 13:14
I'm searching if it's possible to add informations to MKV (Director, Actors, Synopsis...). I've seend BD3D2MK3D permits it with XML file and tags.
But is it exist players who can read these informations ? Or what could I display later ?
Thanks !
r0lZ
14th January 2014, 13:38
There are two ways to add info: the "File/segment title" (in the Global tab of MkvMerge) and the XML tag file. Some players can read the segment title, but most players ignore the tag file. AFAIK, only The KMPlayer (http://www.kmpmedia.net/) can list (almost) all tags from that file. Unfortunately, it is becoming worse at each update.
Nico8583
14th January 2014, 14:06
Thanks :) have you already tried XBMC ?
And for file/segment title, what kind of infos could we add ? Only title or several informations ?
r0lZ
14th January 2014, 14:27
Yes, I've tried XBMC in the past, but that was before my interest for 3D and MKV. I don't know what info it can show.
The segment title, afaik, is the movie title. Some players show it instead of the file name when you play the file. IMO, it can contain the title alone, or the title, director and release date, or whatever you think is useful to uniquely identify the movie.
Note that in the MKV, the streams can also have a label, so you can also add a title for example to the video stream. Same thing for the chapters. But again, only some players show that information.
Nico8583
14th January 2014, 18:57
Thanks, I'll try XBMC and MKV with multi informations :)
frencher
14th January 2014, 23:04
hi!
one thing i need to explained...
when i encode to full sbs what eye do should come first
i´ve done 3 encodes now with left eye first and i think i had luck because its looking good.
can some1 plz explain to me!
thx in advance!
b0mb
It's possible with First view of SSIF.rar (http://ul.to/b3reswxz) a small program (drag and drop compatible) that I coded for here ;)
HWK
15th January 2014, 06:06
It's possible with First view of SSIF.rar (http://ul.to/b3reswxz) a small program (drag and drop compatible) that I coded for here ;)
Thank you for nifty tool.
frencher
15th January 2014, 22:35
@HWK
You are welcome ;)
frencher
15th January 2014, 23:15
In binary ;)
0100101001101111011110010110010101110101011110000010000001100001011011100110111001101001011101100110010101110010011100110110000101101001011100100110010100100000010100100110111101101100011000010110111001100100
HWK
15th January 2014, 23:34
In binary ;)
0100101001101111011110010110010101110101011110000010000001100001011011100110111001101001011101100110010101110010011100110110000101101001011100100110010100100000010100100110111101101100011000010110111001100100
That is even more useful :D
frencher
16th January 2014, 00:30
That is even more useful :D
Yes now ;)
Joyeux anniversaire Roland
Happy birthday Roland
r0lZ
16th January 2014, 10:18
Yes now ;)
Joyeux anniversaire Roland
Happy birthday Roland
Merci! :-)
Cedvano
16th January 2014, 10:38
Bon annif R0lZ !
Nico8583
16th January 2014, 11:00
Happy birthday :)
HWK
16th January 2014, 11:50
Roland, Happy Birthday
r0lZ
24th January 2014, 10:24
As you know probably if you have followed the saga of the development of a free MVC Source plugin for avisynth, there are now two excellent candidates. DGMVCSource (http://forum.doom9.org/showthread.php?t=170107) (aka DGMVCDecode), developed by Neuron2, and FRIMSource (http://forum.doom9.org/showthread.php?p=1662898#post1662898), developed by videofan3d. Since I can't decide myself what plugin to use, I have decided to implement both, and the user can select his preferred MVC decoder with the Settings menu. Currently, FRIMSource is probably more stable, and it can already benefit of the hardware acceleration on machines with some Intel processors. In the other hand, DGMVCSource is still heavily developed, and may later become more powerful than FRIMDecode. In both cases, if you find a bug, try to process your BD with the other decoder, and report the bug, preferably in the author's thread, or here. Anyway, the good news is that we don't have to use the unstable decoders based on the CoreAVCDecoder, and that we are not forced to use an ad-supported decoder any more.
So, finally, here is v0.30 of BD3D2MK3D. There are many changes in this version. I have simplified a lot of things, and removed some features not really needed by most users, or difficult to implement with the new decoders. I may re-introduce some features if it appears that they are really missed by several users, such as the possibility to resize the output video to 720p.
IMO, this version is already stable, thanks to the help of several beta testers, but of course, I can't be sure. If you find a bug, please let me know.
I had also the intention to re-write completely the subtitle stuff, to implement real 3D subtitles, with the depth extracted from the MVC info, but since the development of tsMuxeR has temporarily stopped, the old method based on a constant, user selectable depth is still used. That will be the next major improvement. In the meantime, I have already introduced the possibility to convert the subtitle streams with BDSup2Sub.jar (the Java version) instead of BDSup2Sub++, because the latter has some important bugs and may crash when some streams are converted to 3D SUB/IDX. Currently, the program checks if Java is installed on your system, and if it's the case, you have the possibility to select the java or the ++ version from the Settings menu. Otherwise, the ++ version is used anyway.
There is no version history for this version, because there are too many changes to be summarized. Just note that the last version based on the CoreAVCDecoder is v0.23, and the first version based on the Intel decoder is v0.30. The gap is intentional, because I may still need to fix a bug from time to time in the old version, and I want to separate completely them. However, I do not recommend to use the old version any more.
Download the latest version, based on the Intel decoder, here: BD3D2MK3D.7z (http://download.videohelp.com/r0lZ/BD3D2AVS/BD3D2MK3D.7z)
You can still download the last version based on ssifSource and DirectShowMVCSource if you really wish: BD3D2MK3D_v0.23.7z (http://download.videohelp.com/r0lZ/BD3D2AVS/BD3D2MK3D_v0.23.7z)
mini-moose
24th January 2014, 13:43
Download the latest version, based on the Intel decoder, here: BD3D2MK3D.7z (http://download.videohelp.com/r0lZ/BD3D2AVS/BD3D2MK3D.7z)
You can still download the last version based on ssifSource and DirectShowMVCSource if you really wish: BD3D2MK3D_v0.23.7z (http://download.videohelp.com/r0lZ/BD3D2AVS/BD3D2MK3D_v0.23.7z)
Great, thanks r0lZ!
I've noticed the add black to start/end is now set to 0 by default. Is that not needed anymore?
mini-moose
24th January 2014, 14:07
Gave it a test run and there's some issues for me:
Generating the 3d project after demux didn't complere and I received the next error:
can't read "default_audiofile": no such variable
while executing
"if {$default_audiofile != "" && [file exists $default_audiofile]} {
incr allstreamsize [file size $default_audiofile]
}"
(procedure "GenerateAvs" line 666)
invoked from within
"GenerateAvs"
invoked from within
".nbf5.gf.gen invoke "
invoked from within
".nbf5.gf.gen instate {pressed !disabled} { .nbf5.gf.gen state !pressed; .nbf5.gf.gen invoke } "
(command bound to event)
Another thing is that bdsup2sub++ was used. I can't find the java version in the package and the "check java installation" says I don't have java installed properly even though I do have Java JRE installed and use bdsup2sub regularly.
r0lZ
24th January 2014, 15:39
Great, thanks r0lZ!
I've noticed the add black to start/end is now set to 0 by default. Is that not needed anymore?It has never really be needed, but the additional frames to the end were a good thing to be sure that the missing frames due to the decoder bug were replaced by valid frames. Now, the problem of the missing frames should not occur any more with the new decoders. However, note that DGMVCSource seems to have a bug currently discussed in its thread that makes the clip turn black near the end of the movie. FRIMSource should not have that problem.
In the previous versions, there was a tab to define an "intro clip", based on a still picture or simply a short black video. I have removed that tab, and replaced it with the option to add a few seconds of black at the beginning of the video. I finds that handy to have some time to configure the TV or turn the glasses on before the beginning of the movie, but again, it's not necessary.
I will now have a look at my code to try to understand why it crashed.
Did you select a subtitle stream, or just audio?
BDSup2Sub.jar is in the archive. I have just verified.
BD3D2MK3D tries to determine if you have Java installed by issuing this command:
java -version
And java should reply something like this:
java version "1.7.0_51"
Java(TM) SE Runtime Environment (build 1.7.0_51-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.51-b03, mixed mode)
If the command fails, for example because java.exe is not found in the path, or the command above crashes or return an empty string, BD3D2MK3D assumes that Java is not properly installed. Maybe you have to install the 32-bit or the 64-bit version of Java?
Try to type the command above in a command prompt window and see how it works.
Also, please type this:
where java
and let me know what you see.
r0lZ
24th January 2014, 15:51
Just checked the error you got. It happens only in 2-pass mode. I have fixed it and I will release a beta soon, but I realize that I did no test in 2-pass mode, and I want to do one before releasing the new version. But I have another encoding currently running, so be patient...
mini-moose
24th January 2014, 20:09
It has never really be needednote that DGMVCSource seems to have a bug currently discussed in its thread that makes the clip turn black near the end of the movie. FRIMSource should not have that problem.
I see. DG is currently the default decoder. if it's still has issues it might be better to set FRIM as default?.
Did you select a subtitle stream, or just audio?
both
BDSup2Sub.jar is in the archive. I have just verified.
and I verified I'm blind :) It appears I was searching for it in 0.23, I launched both to compare the differences.
BD3D2MK3D tries to determine if you have Java installed
I did "java -version" on cmd on my own:
java version "1.7.0_51"
Java(TM) SE Runtime Environment (build 1.7.0_51-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.51-b03, mixed mode)
where java:
C:\Windows\System32\java.exe
mini-moose
24th January 2014, 20:11
Just checked the error you got. It happens only in 2-pass mode. I have fixed it and I will release a beta soon
ok, thanks.
r0lZ
24th January 2014, 21:46
I did "java -version" on cmd on my own:
java version "1.7.0_51"
Java(TM) SE Runtime Environment (build 1.7.0_51-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.51-b03, mixed mode)
where java:
C:\Windows\System32\java.exe
Hum, exactly like here. I'm puzzled.
Have you the 32-bit version installed too? java.exe (32-bit) should be in C:\Windows\SywWOW64, but the "were" command doesn't return it. Type this:
dir c:\Windows\SysWOW64\java*
and you should see 3 files.
mini-moose
25th January 2014, 10:26
Have you the 32-bit version installed too? java.exe (32-bit) should be in C:\Windows\SywWOW64, but the "were" command doesn't return it. Type this:
dir c:\Windows\SysWOW64\java*
and you should see 3 files.
I didn't install java 32b as far as I remember. I think the cause is that I've been using direct install files from oracle.com and not the download manager from java.com. That one has optional additional software install which I don't like, and also I rather choose which version to download.
Your command returns this:
11/15/2013 01:56 PM 34,816 JavaScriptCollectionAgent.dll
1 File(s) 34,816 bytes
and I installed it using the download manager from java.com on another pc, that results the what you were expecting to see:
Directory of c:\Windows\SysWOW64
25.01.2014 10:46 174*504 java.exe
25.01.2014 10:46 175*016 javaw.exe
25.01.2014 10:46 264*616 javaws.exe
It appears to me like it's installing 32-b or cross platform. looking at installed softwares I see on the one that used the download manager installer;
"Java 7 Update 51"
on the one I only used the 64-b installer it shows:
"Java 7 Update 51 (64-Bit)"
r0lZ
25th January 2014, 11:09
OK, that means, as I suspected, that the version called from BD3D2MK3D must be the 32-bit version. Pity.
I will see if I can do something to fix that problem, but I don't think so...
mini-moose
25th January 2014, 11:27
OK, that means, as I suspected, that the version called from BD3D2MK3D must be the 32-bit version.
Can't it just accept the java installation as valid if it's just 64-bit?
bdsup2sub runs fine on java 64-bit too.
I'm guessing it's more complex than that but I don't really know how it works.
r0lZ
25th January 2014, 13:13
The problem is that BD3D2MK3D is a 32-bit application, and as such, can only launch 32-bit apps. Or, at least, Windows hides all 64-bit apps, and my program can't find them.
Can you type two commands again, but this time in BD3D2MK3D's console? Open the console with File -> Show Console. Then type:exec -- where java
If the 32-bit version is installed, like in my system, it replies this:
C:\Windows\System32\java.exe
C:\Program files (x86)\Java\jre7\bin\java.exe
Type also:exec -- java -versionIt will probably error out on your system. On mine, it replies this:java version "1.7.0_51"
Java(TM) SE Runtime Environment (build 1.7.0_51-b13)
Java HotSpot(TM) Client VM (build 24.51-b03, mixed mode, sharing)
And note the difference with the same command launched in a 64-bit command prompt:java version "1.7.0_51"
Java(TM) SE Runtime Environment (build 1.7.0_51-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.51-b03, mixed mode)As you can see, the last line shows explicitly that the 64-bit version is used. But from my 32-bit program, I can only launch the x86 version, even if the full path to system32 is provided, because Windows redirects the call to SysWOW64 anyway.
Unfortunately, I can't find a practical solution for this problem. You have to install the 32-bit version of Java, or use BDSup2Sub++.
I will specify in the message of the dialog box about the java version that the 32-bit version is necessary. Unfortunately, I can't do more.
r0lZ
25th January 2014, 15:05
# v0.30 (January 21, 2013)
# - First version using DGMVCSource or FRIMSource instead of DirectShowMVCSource or ssifSource3.
# v0.31 (January 25, 2013)
# - Crash in 2-pass mode fixed.
# - "Check Java installation" now shows clearly that the 32-bit version of Java is needed.
It includes the latest beta version of DGMVCDecode.dll (beta 12), but I can't get it to work any more. I have also the same problem with the previous versions of the filter, so I don't know if they are caused by a recent change in the plugin, or in my system. I had to reboot to be able to use FRIMSource without problem.
Anyway, you can still use my program. You should use FRIMSource if you want something that works fine immediately, or, better, use DGMVCSource if you want to beta-test it.
FRIMSource is now (and at least for some time) the default in the Settings menu, but DGMVCSource will stay selected if you have previously saved the settings with DGMVCSource enabled.
Download: BD3D2MK3D.7z (http://download.videohelp.com/r0lZ/BD3D2AVS/BD3D2MK3D.7z)
tfboy
25th January 2014, 16:45
Hi r0lZ,
I really like your app to quickly recreate full video or the right eye.
I've just reinstalled my system so went to download your latest version. But the options are different, and it looks like the video options are no longer there: before you could chose decode left or right eye only.
Do you know which was the last version that supported this feature and if I could download it again?
Many thanks for your great tools :)
edit: it's OK, I found version 0.23 which has what I need :D
mini-moose
25th January 2014, 17:26
Download: BD3D2MK3D.7z (http://download.videohelp.com/r0lZ/BD3D2AVS/BD3D2MK3D.7z)
tested it now and it seems to be working well now. thanks!
I have a few questions:
1) The bitrate calculation seems a little bit off to me when I set it to fixed mkv size. For example: I used a popular size - 4480mb (DVD5). megui calculator gives me a 3941k and the tool calculates the bitrate to 3900. I specifically wanted to test it cause I noticed in the past using mkv size results in a smaller mkv than instructed.
2) What is the purpose of _MUX_2D.cmd ? that generates a standard 2D video even if the encode was SBS (or some other 3D variation) ?
3) What is the difference between "chapters_3D_delay.ogm" (for 2D mux) and "chapters_3D_delay.ogm" (for 3D mux) ?
4) Is it be possible to make tags.xml optional for the muxing stage?
r0lZ
25th January 2014, 18:09
@tfboy:
Take care. V0.23 is still based on CoreAVCDecoder, and that decoder has many bugs. Hence the new version. And yes, I have simplified the output formats, due to the way the new Source plugins work. Currently, you can only encode in half-SBS or half-T&B. I may re-introduce full-SBS, full-T&B, AVC-only and MVC-only, and perhaps Frame-interleaved later, but I prefer to concentrate my efforts on the most useful formats.
@mini-moose
1) I agree that it is a bit off, but it is not easy to determine an exact formula, as I have to take the muxing overhead into account, and afaik, there is no perfect formula to compute it. I prefer to be under than over the target size, for obvious reasons. Of course, if someone can help me to compute the overhead more precisely. I will be happy to modify my code.
2) _MUX_2D.cmd simply muxes the original AVC stream with the selected audio and subtitles. It's handy to quickly create a lossless 2D version of the movie, and that was really easy to do, so I did it. It is of course not mandatory to launch it! ;-)
3) chapters_2D_no_delay.ogm is the chapters file without any modification. It is used only with _MUX_2D.cmd, and it is also the basis to create chapters_3D_delay.ogm. The latter one has the same chapters, but with an (optional) additional offset corresponding to the number of seconds of black added at the beginning of the video. It's the chapter file that is used to mux the 3D version. Of course, if the number of seconds of black is 0, that file has exactly the same content than chapters_2D_no_delay.ogm.
4) tags.xml is not really muxed (because it's not a stream or an attachment). It is only used to pass to MkvMerge the names and values of the tags to create in the MKV file. Only the tags that have been filled in the GUI are created at mux time. So, if you don't need them, just leave them empty, and only the Title tag (mandatory) will be created. Do you have really a good reason to omit it? IMO, it doesn't hurt, and can be very useful to attach the real name of the movie, independently to the file name.
mini-moose
25th January 2014, 18:39
1) I agree that it is a bit off, but it is not easy to determine an exact formula.
Sadly not something I can help with :(
2) _MUX_2D.cmd simply muxes the original AVC stream with the selected audio and subtitles.
Ah ok. I wasn't sure what it's for. thanks.
3)The latter one has the same chapters, but with an (optional) additional offset corresponding to the number of seconds of black added at the beginning of the video.
thanks for explaining.
4) Do you have really a good reason to omit it?
There's no "good" reason other than I like to check the mkvs in mediainfo and they are crammed with tags. I agree some might be nice to have like the movie title. But encode settings (not the used cmd itself but all the various settings that were used) or x264 version details are somewhat pointless as they are added to the header by x264 anyway.
It's just an aesthetic thing. purely my own ocd if you may :)
r0lZ
25th January 2014, 18:56
Oh, I see. You don't like the ENCODER, ENCODER_SETTINGS, DATE_ENCODED and ORIGINAL_MEDIA_TYPE tags. I forgot that I added them. I can perhaps add a checkbox to add or omit the "technical tags". OK?
But I have to solve a big problem before. I can't use DGMVCSource any more on my system. I don't understand why, and I have to find a solution. So, if I forgot, please remind me...
mini-moose
25th January 2014, 19:57
Oh, I see. You don't like the ENCODER, ENCODER_SETTINGS, DATE_ENCODED and ORIGINAL_MEDIA_TYPE tags. I forgot that I added them. I can perhaps add a checkbox to add or omit the "technical tags". OK?
Sure thing, it's not all that important, just looks too cluttered for my taste :)
sef
26th January 2014, 03:28
Hi Everyone! May be useful to someone. Now MVCsource.dll (2.1.1) only works when BDtoAVCHD installed. Decided to fix it. Inside archive dll and script avs, for example.
MVCsource.dll (2.1.1) (http://rghost.ru/52477145)
r0lZ
26th January 2014, 09:44
Thanks, sef, and welcome to the Doom9 forum.
Your help is much appreciated, but we don't need MVCSource any more. There are two plugins freely available now, and at least, BD3D2MK3D use them. I don't need a third one. But your mod can perhaps be useful to some of us.
pistacho
26th January 2014, 12:59
Hi Everyone! May be useful to someone. Now MVCsource.dll (2.0.0) only works when BDtoAVCHD installed. Decided to fix it. Inside archive dll and script avs, for example.
Wow! Thanks for cracking it!
This shows that for some my plugin is still valuable. :D:D:D
Anyway I think I've solved a major problem (or excuses) why some people did not want to install my program:
Version 2.1.0 (01/24/2014)
New: Output mode 2D+3D .ISO (BD Remux) if input is a 3D Blu-Ray. Can also determine if there is enough space on a BD-25 without recompress the video.
New: 3D button on main window for selecting the 3D output mode for the current conversion (2D/SBS/TAB/2D+3D .ISO). Appears only if the input is a 3D Blu-Ray.
Improved: Scan Bitrates function scans .ssif files in 3D Blu-Ray.
Improved: MVC/AVC eye assignation (left-right) is shown also in source proprieties (main window).
Improved: removed Haali Matroska Muxer of the installation package as it is not needed anymore. In some conversions that required to create a temporary MKV, now an alternate/more direct method is used.
x264 updated to revision r2389.
Mkvmerge updated to version 6.7.0
Added tsMuxeR version 2.6.12
BDtoAVCHD installation no longer interferes with the installation of Haali Splitter :)
Cedvano
26th January 2014, 13:45
Hi Everyone! May be useful to someone. Now MVCsource.dll (2.0.0) only works when BDtoAVCHD installed. Decided to fix it. Inside archive dll and script avs, for example.
http://rghost.ru/51930112
Crack is not the soluce FRIMsource exist for that !
Keep MVCSource to pistacho.
mini-moose
26th January 2014, 13:49
BDtoAVCHD installation no longer interferes with the installation of Haali Splitter :)
thanks for plugging your adware here.
Thalyn
26th January 2014, 14:27
C'mon, Moose... we've already had enough hostility in here and there's no reason to start it up again. This being the internet it only takes one semi-sarcastic comment to get things completely off the rails.
I'm not saying that I endorse or even use BDtoAVCHD (I'm currently experimenting with FRIM and DGMVC through MeGUI) but it's still relevant. This is a thread about stereoscopic conversions and his tool does that - even the newer versions. And, besides, now I know there's a new version of TSMuxer available!
mini-moose
26th January 2014, 15:08
C'mon, Moose... we've already had enough hostility in here and there's no reason to start it up again. This being the internet it only takes one semi-sarcastic comment to get things completely off the rails.
fair point.
r0lZ
26th January 2014, 16:13
# v0.1 to v0.29 (2012 & 2013):
# - Old version using DirectShowMVCSource, ssifSource2 or 3 and eac3to
# v0.30 (January 21, 2013)
# - First version using DGMVCSource or FRIMSource instead of DirectShowMVCSource or ssifSource3.
# v0.31 (January 25, 2013)
# - Crash in 2-pass mode fixed.
# - "Check Java installation" now shows clearly that the 32-bit version of Java is needed.
# v0.32 (January 26, 2013)
# - Wrong syntax of the DGMVCSource() command caused DGMVCDecode.dll to crash.
# - New option in tab 3 to include or exclude the encoder (technical) tags.
As usual, download it here (http://download.videohelp.com/r0lZ/BD3D2AVS/BD3D2MK3D.7z).
The latest version of DGMVCSource seems to work well and has (probably) no more "end of file" bug. However, it doesn't use hardware acceleration yet, so FRIMSource is a better option if you have the Intel hardware supporting the acceleration.
b0mb
26th January 2014, 22:48
can't read "pass4": no such variable
can't read "pass4": no such variable
while executing
"foreach entry $pass4 {
set mpls [string trim [lindex $entry 0] ,]
if {[lsearch $alreadyprocessed $mpls] == -1} {
lappend alreadyprocessed $m..."
(procedure "ScanFullBD" line 191)
invoked from within
"ScanFullBD true"
(procedure "OpenBD" line 37)
invoked from within
"OpenBD $r"
(procedure "SelectBD" line 9)
invoked from within
"SelectBD"
invoked from within
".nbf1.tb.open invoke "
invoked from within
".nbf1.tb.open instate {pressed !disabled} { .nbf1.tb.open state !pressed; .nbf1.tb.open invoke } "
(command bound to event)when i try to open a bd structure with latest build i got an error
r0lZ
26th January 2014, 23:25
I see. I guess the error happens only with that BD. Right?
Try to enable the option to Show all 3D playlists, but I don't know if it is available after the error.
Anyway, I will fix it soon...
r0lZ
26th January 2014, 23:46
Here is the fix.
# v0.33 (January 26, 2013)
# - The can't read "pass4" bug when parsing some BDs should be fixed.
# - The warning about x264 level 5.0 or higher is now displayed only when necessary.
Download (http://download.videohelp.com/r0lZ/BD3D2AVS/BD3D2MK3D.7z)
Note: That bug should normally never happen. It is caused by the list of 3D titles being empty. So, either your BD has no 3D movies, or it has only 3D movies that are automatically removed from the list, for example because they are too short (less than 1 minute).
If you see nothing after having opened the BD, try the option "Show all 3D playlists". And let me know if you think the program has missed the main 3D movie.
BTW, what BD is it?
b0mb
26th January 2014, 23:53
i´ve tried another bd that was working well...
going to get the problem bd read with the new build tomorrow morning ;)
thx!
sef
27th January 2014, 07:10
Not tested DGMVCDecode.dll , I have with him slideshow..
b0mb
27th January 2014, 19:12
the new version of bd3d2mk3d reads the structure but says that there is no stereoscopic material on the disc?!? :|
when i try show all 3d playlists it scans the half of the files and the tsmuxer crashes
very wicked - i´ve tried old build from 23rd december which is reading the structure now but eac3to gives me an error when i want to select a stream ...
r0lZ
27th January 2014, 19:33
Builds before v0.30 are based entierly on eac3to to get and analyse the content of the disc. The recent versions use eac3to and tsMuxeR.
Can you be more specific?
What BD is it?
Can you tell me at what MPLS file tsMuxeR crashes? (Open the Console to view the details of the scan.)
What is the duration and characteristics of the main 3D movie found with the older version?
Does it corresponds to the MPLS that makes tsMuxeR crash?
b0mb
27th January 2014, 19:38
it seems like the bd has not been decrypted well - i solved the problem now and the disc (madagascar 3) can be choosed and all seems to work fine but where can i choose full-sbs?
i see only sbs and hou?
r0lZ
27th January 2014, 20:22
Full-sbs is not supported any more. Sorry.
But you can easily edit the avs script, and remove the two "HorizontalReduceBy2" commands.
Change this:StackHorizontal(HorizontalReduceBy2(Left), HorizontalReduceBy2(Right))
to this:StackHorizontal(Left, Right)
That should be sufficient.
But note that 3D subtitles (hardcoded or not) are not supported by Full-SBS or Full-T&B.
b0mb
27th January 2014, 20:47
ah! ok! i´ll try editing the avisynth script...
i allways keep the original pgs subs which are working well for me ;)
mini-moose
30th January 2014, 13:07
got another question.
I noticed the chapters files are generated with the time position
added as the chapter name:
CHAPTER02=00:10:38.137
CHAPTER02NAME=2 - 0:10:38
usually when I extract chapters with eac3to the chapter name stays empty.
Curious if there is a purpose behind it.
r0lZ
30th January 2014, 13:34
Not really, but IMO, that gives a useful information, and it's better than nothing. Many players show the chapter name, and in some cases, it's useful. For example, you can easily select a chapter to jump, say, near the middle of the movie, with more precision than if you see only a chapter number.
mini-moose
30th January 2014, 15:12
Not really, but IMO, that gives a useful information
ok thanks.
Was playing with Chapter Grabber earlier and it seems to have trouble with ogm and I think also with .txt that have the names filled in. DB is limited anyway but it can fill in some chapter names for some movies.
r0lZ
30th January 2014, 15:38
I don't know Chapter Grabber. What is it supposed to do?
mini-moose
30th January 2014, 16:43
I don't know Chapter Grabber. What is it supposed to do?
It can add chapter names when such exist and are on it's db.
I guess it's mostly useful for music blu-rays but it's something you find on movies too sometimes (haven't extensively tried though).
r0lZ
30th January 2014, 16:57
Yes, I've just seen the thread here (http://forum.doom9.org/showthread.php?t=40343). It seems interesting, but I have to check it to understand how it works. Is it able to modify the names of the chapters of a .ogm file created with another tool? You should never change the time codes, as they are correct in the ogm files generated by BD3D2MK3D, even if you have used the option to add a few seconds of black at the beginning of the video. Also, they are perfectly in sync with the .qpfile, and therefore, you have the guarantee that there will be an I-frame at the beginning of each chapter. Of course, if you use another chapter file with (even slightly) different time codes, you lose that benefit.
Anyway, if Chapter Grabber has trouble modifying the original ogm files, you should contact its author. It's not something wrong in my program.
mini-moose
30th January 2014, 17:56
Anyway, if Chapter Grabber has trouble modifying the original ogm files, you should contact its author. It's not something wrong in my program.
Didn't say there's something wrong with your program :) was just exploring something that happens to be related to blu-rays. It doesn't seem to accept ogm at all.
r0lZ
30th January 2014, 18:11
I see. Then, it's perhaps a suggestion for the author. ;-)
r0lZ
31st January 2014, 11:48
@mini-moose
I've read your message about the bitrate calculators, but I'm not convinced by them. I have analysed the method used by the "Bitrate Calculator GPL" and it doesn't take any overhead into account, and you cannot specify subtitle streams. (I agree that the subtitles can be ignored, because usually they are small files, but the overhead cannot simply be ignored.)
Anyway, here is what I do.
Note that that code is executed after the demux operation, and therefore the exact file size of all audio and subtitle streams is known, and must not be evaluated. However, there is a little overhead when an audio file and the video file are muxed in the final MKV. It's that overhead that is difficult to estimate.
1. Add the file size of all audio files together.
2. Multiply that size by 1.0006. (It's my estimation of the audio overhead.)
3. Add the file size of all subtitle streams to that size. (Only the .SUB file is taken into account. The IDX file is ignored.)
Note that there is no overhead for the subtitle files.
At this point, I know the "total size of muxed streams" (with overhead). That size is printed to the log, so you can verify it if you wish.
4. The remaining size for the video stream is then computed, by subtracting the total size of muxed streams from the media size provided by the user in the GUI. The "remaining file size for video (with overhead)" is again printed to the log.
5. The total movie duration is computed. It's the duration reported by eac3to or tsMuxeR, plus the seconds of black added at the beginning or end of the video, if any, converted to a number of seconds. It is also printed to the log.
6. Finally, the target bitrate is computed using this formula:
bitrate = round(remaining_size_for_video * 8 / movie_duration * 1.0012) / 1000
Note that the movie duration is multiplied by 1.0012 to take the video overhead into account.
The remaining_size_for_video is multiplied by 8 because the bitrate is expressed in bits and not in bytes. Similarly, the final result is multiplied by 1000 because it is expressed in Kbits and not in bits.
Of course, the final video bit rate is also printed to the log.
7. Finally, the program checks if the final video bitrate is smaller than 1000, and if it's the case, it issues a warning and forces it to 1000. IMO, 1000 is the strict minimum for a low quality encoding.
As you can see, currently, the overhead multipliers are fixed to 1.0006 for the audio files, and 1.0012 for the video. Curiously, the subtitle sizes have a little NEGATIVE overhead, and I have decided that it is small enough to ignore it.
I did many tests to obtain these values, but I agree that they are somewhat too high. I may lower them a bit, but I need some time to do many new tests.
Also, my method uses the audio file size, not the audio bitrate. I may try to use the bitrate instead, if I can get it from the tsMuxeR output and if it appears that it is correctly evaluated. Don't forget that the audio streams are usually encoded in VBR mode, and therefore it is not necessarily easy to get the correct average bitrate. It's why I prefer to use the file size of the demuxed stream.
mini-moose
31st January 2014, 12:14
I've read your message about the bitrate calculators, but I'm not convinced by them.
ok, that's a little above my skills. I pointed some calculators that seem to do the job in case they can assist, as your were looking for a better formula. For 2D at least they seem pretty accurate.
It's true that vobsubs would not be computed and that might be an issue, as they are a lot bigger than text subs, and those calculators don't offer those to be added into the equation.
As for Audio, if you use the DTS-MA/HD or TrueHD streams, those would be hard to compute by bitrate but could be by size maybe. The core audios are easier as they are CBR so sizes are constant.
r0lZ
31st January 2014, 12:21
I have noticed a serious bug in tsMuxeR, that I have reported in the tsMuxeR thread here (http://forum.doom9.org/showthread.php?p=1664898#post1664898). Unfortunately, that bug has an important impact on BD3D2MK3D. As long as that bug is not fixed, it is not possible to demux a video stream from a multi-angle MPLS with tsMuxeR.
It is important to understand that there are two ways to handle multi-angle movies in the 3D (and 2D) BDs. The most common method is to use a different MPLS for each angle. For example, 00001.mpls could reference 00001.ssif+00002.ssif+00003.ssif, and 00002.mpls could reference 00001.ssif+00004.ssif+00003.ssif. In that example, only the second ssif is different. 00004.ssif may contain for example the movie title in a different language. tsMuxeR can successfully demux any of there MPLS files.
But there is also another method. The same MPLS can contain several different playlists, one for each angle. For example, 00001.mpls could reference 00001.ssif+00002.ssif+00003.ssif AND 00001.ssif+00004.ssif+00003.ssif in the same file. For my examples above, that means that currently, it is not possible to specify that we want the first or second angle to be demuxed, and if we try to demux the MPLS anyway, the MVC stream is truncated after the first part (common to all angles). Of course, with an incomplete MVC file, it is not possible to encode the movie.
I have discovered that problem when I have tried to encode "Cloudy with a Chance of Meatballs 2". The GUI has also a bug, and it doesn't show the correct information in tab 1. Also, only angle 1 is available in the list of MPLS to process.
The GUI bug is already fixed, and I am working on a workaround for the tsMuxeR bug, but unfortunately, it's not easy. I have to use eac3to to demux the video streams of such multi-angle MPLS , but I still have to use tsMuxeR to demux the audio and subtitle streams, because eac3to has a big bug when demuxing the 3D subtitles of some (many) movies. Therefore, the demux operation will require 2 passes, and of course, it will be very long. Of course, for normal MPLS files, the method has not changed, and still use tsMuxeR only. I hope Roman will fix that bug rapidly, so I can remove that workaround, but in the meantime, you will have to wait longer for the demux operation to finish.
I have already a new version that seems to work well, but I want to verify it before releasing it. So, be patient, and do not try to process Cloudy 2 right now. With some chance, I will be able to encode it tonight, and I'll release a new version tomorrow...
jdobbs
31st January 2014, 18:59
You can pull the information from the MPLS yourself and construct the META file. It's a little more code, but not too bad.
r0lZ
31st January 2014, 19:17
Oh, I don't need to analyse the MPLS file myself. I use eac3to for that usage, and it works pretty well. (However, I agree that doing it myself can probably be much more rapid. I will have a look...)
Your idea of building the meta file directly from that information is interesting, but I don't know the syntax to demux several SSIF files as a whole. Is it possible? How?
jdobbs
31st January 2014, 19:46
Sure. You just put a "+" sign between them. Here's an example:
V_MPEG4/ISO/MVC, "P:\BD_KEEP\TOY_STORY_3D\BDMV\STREAM\SSIF\00014.ssif"+"P:\BD_KEEP\TOY_STORY_3D\BDMV\STREAM\SSIF\00069.ssif"+"P:\BD_KEEP\TOY_STORY_3D\BDMV\STREAM\SSIF\00073.ssif", insertSEI, contSPS, track=4114
V_MPEG4/ISO/AVC, "P:\BD_KEEP\TOY_STORY_3D\BDMV\STREAM\SSIF\00014.ssif"+"P:\BD_KEEP\TOY_STORY_3D\BDMV\STREAM\SSIF\00069.ssif"+"P:\BD_KEEP\TOY_STORY_3D\BDMV\STREAM\SSIF\00073.ssif", insertSEI, contSPS, track=4113
You can see the syntax by using the GUI and using the JOIN button for each SSIF segment.
You can do the same for the PGS and Audio streams.
Demuxing will give you some really long filenames (try it and you'll see), but you can also use this syntax to remux into a single file or structure -- and then demux from that.
r0lZ
31st January 2014, 20:01
I see. It's similar to the eac3to syntax.
But if I understand correctly, there is a risk of too long file names for Windows, if there are many SSIF files referenced in the MPLS. For example, in some Disney BDs, there are more than 100 SSIF files in the main movie. Will it be possible to create the output file under Windows? (Windows is picky with long file names and sometimes refuse to create or even delete them. I don't want to be stuck with a file that cannot be deleted.)
Also, the solution to remux them to demux a single file later is not a good solution IMO. It will take even more time than the current method I've implemented, using eac3to. But thanks for the tip anyway.
jdobbs
31st January 2014, 20:10
I see. It's similar to the eac3to syntax.
But if I understand correctly, there is a risk of too long file names for Windows, if there are many SSIF files referenced in the MPLS. For example, in some Disney BDs, there are more than 100 SSIF files in the main movie. Will it be possible to create the output file under Windows? (Windows is picky with long file names and sometimes refuse to create or even delete them. I don't want to be stuck with a file that cannot be deleted.)
Also, the solution to remux them to demux a single file later is not a good solution IMO. It will take even more time than the current method I've implemented, using eac3to. But thanks for the tip anyway.Your choice. But it's been working for me for a long, long time.
r0lZ
31st January 2014, 20:26
So, you have never had too long file names? I don't remember exactly, but I think the problem with the long file names under Windows is present only in Explorer. IIRC, it should be possible to create, rename or delete files with very long file names from tools that do not use Explorer. I will check what happens with a Disney. If it can be processed without problem, I'll use that method.
Currently, I'm demuxing Cloudy 2 and it works well so far, but there are only 3 SSIF files in the MPLS. Easy! ;-)
jdobbs
31st January 2014, 20:37
So, you have never had too long file names? I don't remember exactly, but I think the problem with the long file names under Windows is present only in Explorer. IIRC, it should be possible to create, rename or delete files with very long file names from tools that do not use Explorer. I will check what happens with a Disney. If it can be processed without problem, I'll use that method.
Currently, I'm demuxing Cloudy 2 and it works well so far, but there are only 3 SSIF files in the MPLS. Easy! ;-)Sure you do, but it has to be pretty long. As you said, Disney gets crazy. If the output filename is too long, TSMUXER fails, so I then just remux to an M2TS or SSIF and demux from that. It's actually pretty fast.
You can also simply concatenate the files as well --- but that's another story.
It would be a lot better if you could simply select an angle from TSMUXER and just use the MPLS, but right now you can't. I guess you can with eac3to?
r0lZ
31st January 2014, 21:01
Yes, eac3to works fine with multi-angle MPLS files. Its first parameter is the angle number. Unfortunately, it cannot demux properly the subtitles when they are present in the M2TS file containing the AVC stream (it's always the case) AND in the M2TS containing the MVC stream. I have never understood why some BDs are authored that way, but unfortunately, it's often the case. And it seems that the subtitle stream in the MVC M2TS share the same ID than the corresponding stream in the main M2TS. As a consequence, eac3to considers the two streams as one single stream, and complains. The resulting SUP file is unusable. It's why I prefer tsMuxeR. But nothing is perfect! It's a pity that tsMuxeR doesn't have an option to specify the output stream name in its meta file.
Nico8583
31st January 2014, 22:42
Do you think it's possible to convert MPLS multi-angle to separate MPLS ? Because you may lose informations when you don't open MPLS ?!
jdobbs
31st January 2014, 23:02
Do you think it's possible to convert MPLS multi-angle to separate MPLS ? Because you may lose informations when you don't open MPLS ?! Hmmm... that's a pretty good idea. It should be easy enough to copy the existing MPLS and just swap angle 1's entries with those in one of the other angles. I might be able to write a command line app to do it if anyone wants it. Of course it wouldn't work when reading directly from a disc, but those on the hard drive would work... I think TSMUXER would require that it is in the same BD structure.
r0lZ
31st January 2014, 23:59
I'm not sure that will be sufficient. In addition of the problem of read-only media, there is the problem of tsMuxeR not being able to demux correctly the first angle of a multi-angle SSIF file. It's strange, as it can demux the same SSIF when it is given in the meta file with the "+" syntax, but not when it is a part of the first angle of a MPLS. I wonder why. It seems that it takes into account the SSIF files of the other angles, even though it doesn't list them in its output. Anyway, that means that it will probably be necessary to create a completely new MPLS with only one angle, and not just duplicate it and swap the existing angles.
jdobbs, if you write a CLI tool to do it, I'll be glad to test it, but I'm not sure I'll use it with my GUI, because afaik most people use a mounted ISO or a real BD (with AnyDVD if necessary) as input. Having to copy the BD as single files to HDD is a very long operation, and that requires also much disc space (especially with a BD 3D, where the SSIF files must be copied in addition to the M2TS).
jdobbs
1st February 2014, 00:49
I'm not sure that will be sufficient. In addition of the problem of read-only media, there is the problem of tsMuxeR not being able to demux correctly the first angle of a multi-angle SSIF file. It's strange, as it can demux the same SSIF when it is given in the meta file with the "+" syntax, but not when it is a part of the first angle of a MPLS. I wonder why. It seems that it takes into account the SSIF files of the other angles, even though it doesn't list them in its output. Anyway, that means that it will probably be necessary to create a completely new MPLS with only one angle, and not just duplicate it and swap the existing angles.
jdobbs, if you write a CLI tool to do it, I'll be glad to test it, but I'm not sure I'll use it with my GUI, because afaik most people use a mounted ISO or a real BD (with AnyDVD if necessary) as input. Having to copy the BD as single files to HDD is a very long operation, and that requires also much disc space (especially with a BD 3D, where the SSIF files must be copied in addition to the M2TS).No problem. But I haven't noticed any issues with multi-angle discs. I have a couple of angled discs I keep on my hard drive for testing. I'll check it out.
HWK
1st February 2014, 01:55
Try cloudy with chance of meat balls 2 as test candidate.
r0lZ
1st February 2014, 07:03
Yes, it's with Cloudy 2 that I have had a problem, when trying to demux the MPLS with tsMuxeR (and therefore angle 1), as I wrote in the tsMuxeR thread:
[...]
As you can see, the MVC stream is truncated at frame 11753.
Note that frame 11753 is somewhere at the beginning of 00345.ssif, in the multi-angle part of the movie. The other streams (AVC, audio and subtitles) are correct.
So, currently, afaik there is no way to specify to tsMuxeR that angle 1, 2 or 3 must be demuxed. I haven't tried, but I guess that it has the same limitation with a 2D multi-angle MPLS.
And anyway, with a 3D multi-angle MPLS, it cannot demux properly the MVC stream. eac3to, in the other hand, can demux the two video streams of any angle (but it has other problems, notably with the subtitles).
[...]
Maybe Cloudy 2 is authored strangely or has something special. But anyway, eac3to can demux it, so there must be a bug in txMuxeR, probably due to a bad parsing of the multi-angle MPLS.
r0lZ
1st February 2014, 07:21
@mini-moose:
I have slightly modified the formula to compute the bitrate in ABR or 2-pass modes, and I think it is much better now. I have made a 2-pass encoding of Claudy 2 (with the Slow preset), and I have requested 4470 MB for the target medium size. (It's the size of a DVD-5.) This morning, I see the final MKV, that is exactly 4,685,222,922 bytes long, approx 4468.18 MB. Although it is still slightly off, I think we can live with a so small difference. :-)
I will release a new version soon, but before, I would like to implement the "+" syntax for the meta files of tsMuxeR, to solve the problem of the multi-angle MPLS files. Please report if your next encodings produce correct file sizes.
mini-moose
1st February 2014, 10:13
his morning, I see the final MKV, that is exactly 4,685,222,922 bytes long, approx 4468.18 MB. Although it is still slightly off, I think we can live with a so small difference. :-)
great, thanks. a couple mbs over/under is common anyway.
r0lZ
1st February 2014, 11:14
OK, here is the new beta: BD3D2MK3D.7z (http://download.videohelp.com/r0lZ/BD3D2AVS/BD3D2MK3D.7z)
# v0.34 (February 1, 2014)
# - BD scan bug when eac3to's output includes the angle number is fixed.
# - Due to bugs of tsMuxeR when demuxing the video streams of a multi-angle MPLS,
# the "SSIF+SSIF+..." syntax is now used in the tsMuxeR meta file for the video tracks.
# - When the "SSIF+SSIF+..." tsMuxeR syntax cannot be used due to too long file names,
# eac3to is used to demux the video tracks of multi-angle MPLS.
# - Better formula to compute the bitrate from the file size in 2-pass or ABR mode.
# - The conversion of the forced subtitles of streams without forced subtitles is now automatically skipped.
# - Copy M2TS/SSIF List to Clipboard (available by right-clicking on an entry in tab 1) was broken.
# - DGMVCSource is now the default again, instead of FRIMSource.
# - Updated DGMVCDecode.dll to the latest version (b20)
Currently, the program tries to use tsMuxeR whenever possible, and use eac3to to demux the video streams only in this precise case:
- The MPLS to compute is a multi-angle MPLS
- And it has too many SSIF parts to result in a file name compatible with the NTFS limitations.
Under NTFS, the maximum length of a file name is theoretically 255 characters. However, the full length of the path\filename is also limited to 260 characters. So, the program checks if the MPLS to demux is multi-angle. If it's not the case, it uses tsMuxeR the normal way (with the MPLS as input file name). Otherwise, it computes the length of the names that tsMuxeR will give to the video files, and if it is greater than 255 characters, then eac3to is used. Otherwise, the path of the output directory is added, and if the total length of the full file name is greater than 260 characters, then eac3to is used. Otherwise, tsMuxeR is used with the "+" syntax, and the two video files are renamed on disc immediately after the demux, to re-create a descent file name.
That means that now, tsMuxeR is used anyway in most cases, and the only exception is when the multi-angle SSIF has too many SSIF parts (normally more than 20 to 25 parts). For instance, it is now possible to demux the video streams of Cloudy 2 with tsMuxeR. The Disney BDs can also be demuxed by tsMuxeR, even when they have more than 120 parts in the MPLS, because the SSIFs are always mono-angle. IMO, most BDs will be demuxed by tsMuxeR, and only very rare exceptions will require the additional eac3to pass. :)
Note that to minimize the risk to have to use eac3to instead of tsMuxeR, you should select an output directory with a short name and placed directly in the root of one of your drives. For example, if you use "D:\3D\", you will probably have the possibility to demux a multi-angle MPLS containing up to approx 25 SSIF parts with tsMuxeR. Otherwise, eac3to may be used, and that means that the time necessary to do the demux phase will be multiplied by 2. Not a big deal anyway. AFAIK, eac3to does a good job with the video streams.
I think I'll keep that method, unless it doesn't work well with some BDs. Of course, if you find a BD that fails, please let me know. Also, I would like to know if a specific BD needs to be demuxed with eac3to. Currently, I have none.
Thanks to jdobbs for having suggested the solution to use tsMuxeR in most cases. :)
Nico8583
1st February 2014, 11:57
Is it a software to create a MPLS file ? So we could create a MPLS file only to open it in tsMuxeR and remove NTFS limitations
Or edit MPLS file to remove angle information and map SSIF with correct files
r0lZ
1st February 2014, 13:22
AFAIK, no, but jdobbs suggested to write it. ;)
I might be able to write a command line app to do it if anyone wants it.
Nico8583
1st February 2014, 15:09
Yes I've seen this post :) but if tsMuxeR is not able to demux properly, it's useless :( so perhaps we could create a playlist (like for MP3) to replace file1+file2+file3...
r0lZ
1st February 2014, 15:45
I don't understand.
Is it a software to create a MPLS file ? So we could create a MPLS file only to open it in tsMuxeR and remove NTFS limitations
Or edit MPLS file to remove angle information and map SSIF with correct files
Is it not exactly what you suggested here?:
Do you think it's possible to convert MPLS multi-angle to separate MPLS ? Because you may lose informations when you don't open MPLS ?!
The solution of the "+" syntax works perfectly... as long as there are not too many SSIF files in the multi-angle MPLS.
IMO, the problem is due to the lack of an output file name for tsMuxeR. It can demux properly, but it cannot create the files with the (sometimes very) long file names it generates automatically, when there are too many SSIF files.
There are several ways to solve that problem, including the remux to a temp file, or using eac3to. But unfortunately, all methods, except the "+", need to write a lot of data on disc, and are therefore slow. It's why I have implemented the "+" method when it's possible.
The only method that may work faster than the remux or eac3to is your idea: with a new, mono-angle MPLF file, it should be possible to generate the output file with a short file name. But for that method to work, it is necessary to write that new MPLS in the BD folder BDMV/PLAYLIST. Most of the times, that folder is read only, and you have to copy all BD files (or at least some of them) to your HDD. It's again a waste of time and disc space.
It's why I have chosen the eac3to solution. It's a second demux pass, but IMO, it's the fastest of the 3 solutions, and it is reliable. Of course, I would prefer a modification of eac3to to support an output file name. I hope it will be implemented some day. In the meantime, the eac3to solution is sufficient IMO, given the fact that there are very few multi-angle MPLS referencing too many SSIFs. In fact, I don't think there is a single 3D BD having that problem currently available. So I wouldn't worry too much.
Nico8583
1st February 2014, 16:10
jdobbs suggests a tool to edit an MPLS file, but the best would be to create a new MPLS file (or remove angle information rom existing MPLS) for each angle in order to replace "+" method, so we could use this with infinity SSIF files.
Yes "+" method works perfectly but it can't be used with too many files, and remux to a temp file need time and space so no interest, we are allright. Why new MPLS needs to be write in BD folder and not to a temp folder ? Is it impossible to specify files path ?
r0lZ
1st February 2014, 16:18
Why new MPLS needs to be write in BD folder and not to a temp folder ? Is it impossible to specify files path ?Yes. In the MPLS, you can only specify the number of the SSIF (or M2TS) files to include, not their full path. And tsMuxeR finds the containing folder relatively to the path of the MPLS file. In other words, it must be in the PLAYLIST directory of the BD. Pity. It's why I prefer the eac3to method.
Nico8583
1st February 2014, 16:50
OK :) I believed full paths could be indicated, sorry, so I'm agree with your solutions to have a full working demux :
- Add output filename to tsMuxeR
- Add angle detection feature to tsMuxeR
Nico8583
2nd February 2014, 14:47
I've perhaps found an tip to use a modified playlist with an ISO or BD :
- Create a folder (ex : D:\BD\)
- Create in this folder another folder named PLAYLIST (ex : D:\BD\PLAYLIST)
- Create a symbolic link to STREAM folder on ISO (ex : mklink D:\BD\PLAYLIST H:\BDMV\STREAM) - Works only with NTFS file system if I'm not wrong
- Copy or create a MPLS into D:\BD\PLAYLIST and open it in tsMuxeR. It works for me with an original MPLS, so it would be good to try with a modified playlist :) and no need to copy all files to HDD from an ISO or BD ;)
Edit : Symbolic link appears in Windows like a classic shortcut, so delete it will delete the symbolic link without delete data.
r0lZ
2nd February 2014, 15:55
Nice idea. :-) I'll test it. If it works fine, that could make the CLI tool proposed by jdobbs very interesting.
jdobbs
2nd February 2014, 16:05
I've perhaps found an tip to use a modified playlist with an ISO or BD :
- Create a folder (ex : D:\BD\)
- Create in this folder another folder named PLAYLIST (ex : D:\BD\PLAYLIST)
- Create a symbolic link to STREAM folder on ISO (ex : mklink D:\BD\PLAYLIST H:\BDMV\STREAM) - Works only with NTFS file system if I'm not wrong
- Copy or create a MPLS into D:\BD\PLAYLIST and open it in tsMuxeR. It works for me with an original MPLS, so it would be good to try with a modified playlist :) and no need to copy all files to HDD from an ISO or BD ;)
Edit : Symbolic link appears in Windows like a classic shortcut, so delete it will delete the symbolic link without delete data.I was thinking that same thing yesterday, but never got around to trying it. Sounds cool. In fact, you could create an entire BD structure that mirrors/links to the disc if you wanted to, and work exclusively from the "link folder". Of course there's always the problem of removing the disc. Hmm... I wonder what happens to the links then? Never tried it...
Nico8583
2nd February 2014, 16:13
I was thinking that same thing yesterday, but never got around to trying it. Sounds cool. In fact, you could create an entire BD structure that mirrors/links to the disc if you wanted to, and work exclusively from the "link folder". Of course there's always the problem of removing the disc. Hmm... I wonder what happens to the links then? Never tried it...
Yes for entire structure but if you do that, you cannot modify any files on the structure because symbolic link try to write in BD or ISO. But you can read all files :)
I've tried, if disc is removed you've got an error message to tell you "Drive is not ready" when you try to open symbolic link but it is allways existent.
r0lZ
2nd February 2014, 16:19
I guess you can simply delete the whole folder. The links will be deleted as well, and nothing wrong should happen.
AFAIK, there is only a strange thing with links: most tools that print the total file size of a directory containing soft or hard links count the space occupied by the real file instead of just the link, and therefore you can end up with strange results like more space occupied by the files on a disc than the total capacity of the disc! That's strange, but it's caused by bugs or limitations of these tools, and that should not have any impact on the possibility to "customize" a BD using links.
jdobbs
2nd February 2014, 17:31
Yes for entire structure but if you do that, you cannot modify any files on the structure because symbolic link try to write in BD or ISO. But you can read all files :)
I've tried, if disc is removed you've got an error message to tell you "Drive is not ready" when you try to open symbolic link but it is allways existent.Huh? When you're backing up a disc all you do is read. But you could play from it, replace links with modified CLPI and M2TS files... lots of things.
Nico8583
2nd February 2014, 17:56
Huh? When you're backing up a disc all you do is read. But you could play from it, replace links with modified CLPI and M2TS files... lots of things.
If you are backing up to an folder, but you can't replace or modify anything directly on an ISO or an BD disc because there are on a read only support ?!
jdobbs
2nd February 2014, 18:41
If you are backing up to an folder, but you can't replace or modify anything directly on an ISO or an BD disc because there are on a read only support ?!I don't think you understand what I'm saying. All you have to do is replace any links with the modified MPLS and CLPI files in the link-structure. It's essentially the same thing you mentioned that you'd already done in this link. (http://forum.doom9.org/showthread.php?p=1665653#post1665653) Imagine all the small files existing locally (where necessary for editing) and the large ones (e.g. the STREAM folder) being represented by a link. It's especially useful when files represent duplicate data (SSIF/M2TS). They get big (double in size) when you copy them to your hard drive-- but not when stored as an ISO.
It my not even be worth the trouble. When physic returns I'm sure he'll provide the ability to select alternate angles anyhow. I would think it to be a fairly simple change, so it's all academic.
Nico8583
2nd February 2014, 19:39
Yes I'm agree with you but I believed you wanted to create a symbolic link to BDMV folder or parent folder. If a symbolic link point to BDMV it's not possible to edit any files under this folder, but if link goes to STREAM folder yes it's possible :)
Thalyn
3rd February 2014, 07:50
OK, I'm at a loss and need some help here...
As people who've seen my posts on Neuron2's thread will know, I'm having an issue with extracting from some original discs. Not all of them - just 2 for now - but that's enough to be annoying. All I've been able to do with my own experiments is to make things worse, so I'm hoping that someone can find what I'm doing wrong, slap me across the back of the head and point me in the right direction.
Steps I've tried:
Install AnyDVD HD
Find playlist that corresponds to movie
Extract elementary streams with tsMuxer 2.6.12 (leave options as default)
Wait 3 hours for transcode
Curse when it has the same error
Install AnyDVD HD
Find playlist that corresponds to movie
Extract elementary streams with tsMuxer 2.6.12 (turn off SPS/PPS and SEI/VUI)
Wait 3 hours for transcode
Curse when it has the same error
Install AnyDVD HD
Find playlist that corresponds to movie
Extract elementary streams with tsMuxer 2.6.12 (force SEI and VUI)
Wait 5 minutes for transcode to crash
Curse
Install AnyDVD HD
Find playlist that corresponds to movie
Extract elementary streams with EAC3to 3.27
Wait 3 hours for transcode
Curse when it has the original error
Install AnyDVD HD
Find playlist that corresponds to movie
Find the file/s involved with said playlist
Copy them to my harddrive
Extract elementary streams with tsMuxer 2.6.12
Wait 3 hours for transcode
Curse when it has the same error
Install MakeMKV
Find title that corresponds to movie
Extract movie to an MKV
Extract combined elementary streams with MKVExtract 6.7.0
Wait 3 hours for transcode
Curse when it has the same error
I've even tried uninstalling and re-installing AnyDVD, as well as uninstalling and reinstalling my ODD drivers - none of it helps.
All of these lead to the same results with Pacific Rim: around frame 95,000 about a second of video goes missing with an obvious visual artefact. This occurs a few more times between there and the end of the film, shortening it by a good 6 or so seconds.
About the only thing I can think of is Win8.1, but that doesn't make sense as PowerDVD can play back the movies happily under the same OS.
Help?
sef
3rd February 2014, 08:23
OK, I'm at a loss and need some help here...
Try DirectShowMVCSource .. directly from SSIF..
r0lZ
3rd February 2014, 10:02
Wait 3 hours for transcode
What have you used to transcode? I suppose it's DGMVCDecode, right? Have you tried also FRIMSource?
If FRIMSource fails too, that means that the problem is in the disc, in the Intel Media library, or in AnyDVD. Otherwise, it's a bug in DGMVCSource. If FRIMSource fails also, try DirectShowMVCSource, as sef recommends. It has some decoding bugs (only with some movies), but afaik not the one you have described.
Also, I guess you encode the MPLS directly from the original BD through AnyDVD. Have you tried to rip the BD to the HDD as an ISO, then mount that ISO and decode it? Maybe you have had a timeout problem due to the slow medium. Also, with a mounted ISO, you can verify if it has been correctly ripped to HDD by playing the movie with PowerDVD (but without AnyDVD). If it's not the case, try ripping it to ISO with another method.
Thalyn
3rd February 2014, 10:09
Gah... now I'm even more confused. SSIFSource (which uses the same CoreAVCDecoder as DirectShowMVCSource) seems to works perfectly (at least a quick test via VirtualDub)! I guess that lends some credibility to my thought that perhaps its the means by which I'm extracting the streams that's causing the problem, but it's not like I'm using exotic and untested tools - tsMuxeR and EAC3to are pretty standard in this area.
Obviously that gives me a viable alternative to the Intel decoders, albeit a slower one, but seriously... what the heck? No-one else seems to be able to reproduce my issue with the Intel decoders.
ed:
I've tried both DGMVCDecode and FRIMSource on Pacific Rim - both give the same results. I tend to use files on the harddrive over files off the disc to prevent timeouts, mostly because I like the ability to quickly go back and try it again if I spot any issues (bad cropping of letterboxing, reversed stereo, etc). It also lets me prep a few discs ahead in case I'm not at home to physically swap the media.
I'll give the rip method a try. It's only time and I've got plenty.
r0lZ
3rd February 2014, 10:21
Unfortunately, I don't have Pacific Rim, so I can't check it myself. When you have demuxed it, have you noticed an error message? (I don't know if tsMuxeR issues an error message when it has trouble demuxing a stream, but eac3ot usually prints "This track is not clean".) Also, have you obtained exactly the same number of frames in the AVC and MVC streams? (I have had problems similar to yours with a BD that had drops, and the numbers of frames were the only way to note the problem.)
Anyway, if you are sure that the original BD is correct and well ripped to HDD, that means that you have probably found a bug in the Intel decoder. Very annoying for us!
Thalyn
3rd February 2014, 10:42
So far I've not noticed any feedback from either tsMuxeR or EAC3to about bad tracks. I have noticed that sometimes the two different programs yield slightly different MVC tracks (as compared by LordMulder's Double File Scanner) but the end result seems to be the same regardless.
I hope I haven't found a bug. I suspect I haven't given the feedback over on Neuron2's thread - Neuron2's had no trouble with Escape from Planet Earth, and Sharc has no trouble with Pacific Rim. Given I can play the discs and use CoreAVC to decode them I'm hesitant to believe the discs are the problem, and VirtualDub can be used to show the issue so I don't believe it's MeGUI or x264. I'm fast running out of things to eliminate as the cause.
sef
3rd February 2014, 11:03
SSIFSource(2) sometimes loses synchronization between left and right views..
Thalyn
3rd February 2014, 13:00
Well, I've made the ISO and had no luck there - playback in PowerDVD was fine without AnyDVD, and the streams extracted from it were identical to the ones I'd gotten from the disc. I've even tried processing it on a "clean" (also Win8.1, unfortunately) machine and got the same results.
My next experiment will be using the new Transport Stream facilities of FRIM to see if they're more successful.
*update: TS transcode equally unsuccessful. Gah!
Worst case scenario... I guess I can trim down to just the 24 or so frames that are causing the problem and upload them for someone like Neuron2 to take a look at. Perhaps its another malformed stream which CoreAVC can handle.
Sharc
3rd February 2014, 17:02
All of these lead to the same results with Pacific Rim: around frame 95,000 about a second of video goes missing with an obvious visual artefact. This occurs a few more times between there and the end of the film, shortening it by a good 6 or so seconds.
About the only thing I can think of is Win8.1, but that doesn't make sense as PowerDVD can play back the movies happily under the same OS.
Help?
ok, I have Pacific Rim and did few tests so far without issues.
I will do now a full transcode over night and see what happens. Unfortunately my PC is a bit outdated and slow.
Edit:
I stopped my test right now because neuron2 has just released a new and apparently more robust decoder.
Thalyn, I suggest you try again with the latest version of DGMVCsource. In case you still experience problems I will be happy to do Pacific Rim again and report back.
sef
3rd February 2014, 21:58
FRIMSource
http://i33.fastpic.ru/big/2014/0203/6c/d47e8e05d094028638834885fe3a866c.jpg
DirectShowMVCSource UPD: now DGMVCDecode(21) works .. (but slow.. hw=1)
http://i33.fastpic.ru/big/2014/0203/2f/e32fff14dd2ee8cbdd97e18881a38d2f.jpg
Sharc
3rd February 2014, 22:23
@sef
Is this from Pacific Rim, using the latest versions of the DG & FRIM decoders?
SW or HW Decoding?
Which frame / time into the movie (approximately)?
Thanks.
r0lZ
3rd February 2014, 22:26
What are these images?
[EDIT] Sharc replied before me. Are these images really from Pacific Rim?
sef
3rd February 2014, 22:35
No, it's not Pacific Rim, it's "The Avengers".. FRIMSource(1.22), DGMVCDecode(20), no matter SW or HW decoding..
r0lZ
3rd February 2014, 22:43
Computed with hardware acceleration?
sef
3rd February 2014, 22:48
Yes.. But: DGMVCDecode hw=1(no artefacts(slow)), hw=2, hw=0(have artefacts ) :(
Nico8583
3rd February 2014, 23:07
Yes.. But: DGMVCDecode hw=1(no artefacts(slow)), hw=2, hw=0(have artefacts ) :(
Have you tried to update to the latest Intel driver ?
It seems to be an hardware acceleration problem...
sef
3rd February 2014, 23:16
Aha, 15.28.20.64.3347.. By the way, i dload DGMVCDecode(22), not working.. Avisynth not load dll(dgmvcdecode.dll(22),62KB, DGMVCDecode.dll(21),408KB..)
UPD: Now, everything works, just had to install some libraries, but DGMVCDecode.dll (22) have the same problems, at least on my laptop..
Nico8583
3rd February 2014, 23:31
Aha, 15.28.20.64.3347.. By the way, i dload DGMVCDecode(22), not working.. Avisynth not load dll(dgmvcdecode.dll(22),62KB, DGMVCDecode.dll(21),408KB..)
What is your CPU and/or GPU ?
sef
3rd February 2014, 23:39
Intel Core i3, HD 3000..
Sharc
4th February 2014, 01:16
Pacific Rim / DGMVCsource 0.22b / SW decoding: Transcoding failed near the end of the movie with error code 1. I did some other work on the PC so I missed the details as to when and how it happened.
Edit:
I did Pacific Rim again. Now everything appears to be ok.
I need however to watch it more carefully still.
Cedvano
4th February 2014, 08:57
I also had a problem with "Pacific Rim". I have created 2 video files with DVDFab and convert it with FRIMEncode.
Thalyn
4th February 2014, 09:03
Pacific Rim / DGMVCsource 0.22b / SW decoding: Transcoding failed near the end of the movie with error code 1. I did some other work on the PC so I missed the details as to when and how it happened.
Edit:
I did Pacific Rim again. Now everything appears to be ok.
I need however to watch it more carefully still.
Start watching from frame 95300 - if you're getting the same error I'm getting it'll occur within 3 seconds of there, over the transition to the next scene. If that plays fine than I'm back to square 1 again (DGMVC B22 still gives me the same errors in the same spots).
I'll also see if I can reproduce Sef's issue with The Avengers.
Sharc
4th February 2014, 10:44
Yep! You are perfectly right. I got a couple of garbled frames there as well.
Good catch.
r0lZ
4th February 2014, 11:26
UPD: Now, everything works, just had to install some libraries, but DGMVCDecode.dll (22) have the same problems, at least on my laptop..
What are that libraries that you had to install? It's interesting to know.
I will try with b22 soon, but currently, I'm encoding Pacific Rim with DGMVCDecode (sw), just to check if I'll have the same problem, and I still need 5 hours for the encoding to finish. I'll do other tests after...
Anyway, you are right: the size of b22 is only 62 KB, and that's strange. I guess something went wrong when Neuron2 compiled it, or when he did the ZIP package.
sef
4th February 2014, 12:41
I needed msvcr110.dll, but, I installed Visual Studio 2012.. (need for compile dgmvcsource100b22_src)..
r0lZ
4th February 2014, 13:44
Thanks for the info. Do you know what exe or DLL requires msvcr110.dll? Is it the Intel media library, or the avisynth plugin?
How was it possible to use the Source decoders previously, when that DLL was not installed?
sef
4th February 2014, 13:49
I guess something went wrong when Neuron2 compiled it, or when he did the ZIP package.
I think he changed the compiler .. (maybe I'm wrong)
sef
4th February 2014, 13:53
Thanks for the info. Do you know what exe or DLL requires msvcr110.dll? Is it the Intel media library, or the avisynth plugin?
This need AviSynth plugin.. Need to install vcredist_x64(x86) 2012
r0lZ
4th February 2014, 14:28
Maybe the size difference between b21 and b22 is due to the statically linked msvcr110.dll. It seems that it works correctly. But I haven't tried it myself. I'm still encoding Pacific Rim...
sef
4th February 2014, 14:32
Maybe the size difference between b21 and b22 is due to the statically linked msvcr110.dll
Yes, you are right ..
Thalyn
5th February 2014, 10:23
@Sef: I got a full run of Avengers with DGIM b22, HW = 0 (but it was active as verified by slight GPU load using GPU-z). I checked every scene I could find with the Tesseract visible and didn't encounter any problem. Something I did find, though, is that the newest drivers from Windows Update was causing me some trouble with hardware decoding; at least with my HD 4600 (4770K). If you happen to have installed the MS ones, grab a copy from Intel instead and put them over the top for your laptop. It might help (of course it might not, but there's only one way to find out).
Was out most the day so I'm only just getting on to BD Demuxer Pro 3D now. Will let you know my results.
PS Sheer, morbid curiosity got the better of me. I grabbed a new drive while I was out today on the off chance that both of my existing ones were having trouble. New one is an LG BH16NS40 (fw v1.01 - there's a 1.02 I'll try later) - results are exactly the same (though considerably faster as it's a 16x drive against my old 6x).
sef
5th February 2014, 14:11
Thanks for advice Thalyn, but, i am always install drivers from manufacturer..
Thalyn
5th February 2014, 14:27
BTW, it was a no-go on the streams extracted by BD Demuxer Pro 3D. Same issue in the same place w/Pacific Rim. On the plus side, consistency is a gold-mine for troubleshooting - I believe Neuron2 has brought this to the attention of Intel, so fingers' crossed there will be a new SDK soon enough that works perfectly.
frencher
8th February 2014, 18:28
Wonderfull shop today ;)
http://i61.tinypic.com/15sa4b4.jpg
Nico8583
8th February 2014, 20:02
Very well frencher :D where have you found that ?
Cedvano
8th February 2014, 20:38
Oh le veinard !
Great !
Nico8583
8th February 2014, 23:45
A little question : do you use BT709 parameters in your x264 parameters ? It seems it is used for BD conversion. And do you use "tune" ?
frencher
9th February 2014, 09:19
Very well frencher :D where have you found that ?
Happy Cash
Oh le veinard !
Great !
3,90 €uro :D
RIP in progress send me you test problem for test directly with original 3DBD ;)
I'll tell you later because I use my phone as a modem and it very slow internet acces.
My box to Grilled storm and I expect the new future.
Sorry Google translate (I have only one phone package 512 Mb)
slavanap
9th February 2014, 14:01
Hi, guys!
Here's a new tool based on Intel Decoder from Intel Media SDK 2013, MPEG Splitter (opensource) and MVCCombine for ssif-files decoding.
http://sendfile.su/937308
# function proto:
# ssifSource(
# string ssif_file, // SSIF file name
# int frame_count, // frame count is still needed
# bool avc_view = true, // whether show base view
# bool mvc_view = true, // whether show dependent view
# bool horizontal_stack = false, // stack views horizontally (or vertically otherwise)
# bool swap_views = false, // swap views each other (in the stack)
# string intel_params = "", // additional Intel decoder parameters. I recommend -d3d. See help for Intel decoder for more info.
# bool debug = false ); // whether to show the consoles for MVCCombine and Intel Decoder, which the plugin runs.
I've tested it only for Avatar disk ssif-files, so I hope it will work for the others.
Notice:
1) no seeking support,
2) MVCCombine has been binary modified for pipes support,
3) MVCCombine may cause main application crash on termination.
ADD:
Files in package:
"decoder x86" - folder with x86 version of the decoder. For 32bit machines. Replace the files in the root folder, if you haven't x64 architecture.
"sample.avs" - usage example
"MpegSplitter_mod.ax" - modified MPEGSplitter
libmfxsw64.dll, sample_decode.exe ("decoder x86\libmfxsw32.dll", "decoder x86\sample_decode.exe") - x64 (x86) Intel Media SDK decoder
MVCCombine.exe - h264 base/dept files muxer
ssifSource2.dll - the plugin
all these files must be in the same folder (with no special characters in the path; "decoder x86" folder is not necessary).
P.S. I know, I should rename the version, but it is alpha anyway. Will do it in the future. I think, ssifSource4 sounds nice. :)
sef
9th February 2014, 14:49
Thanks slavanap!
Cedvano
9th February 2014, 21:28
Oh ! Great job. Thank you very much.
frencher
10th February 2014, 00:04
Hi, guys!
Here's a new tool based on Intel Decoder from Intel Media SDK 2013, MPEG Splitter (opensource) and MVCCombine for ssif-files decoding.
http://sendfile.su/937308
I've tested it only for Avatar disk ssif-files, so I hope it will work for the others.
Notice:
1) no seeking support,
2) MVCCombine has been binary modified for pipes support,
3) MVCCombine may cause main application crash on termination.
ADD:
Files in package:
"decoder x86" - folder with x86 version of the decoder. For 32bit machines. Replace the files in the root folder, if you haven't x64 architecture.
"sample.avs" - usage example
"MpegSplitter_mod.ax" - modified MPEGSplitter
libmfxsw64.dll, sample_decode.exe ("decoder x86\libmfxsw32.dll", "decoder x86\sample_decode.exe") - x64 (x86) Intel Media SDK decoder
MVCCombine.exe - h264 base/dept files muxer
ssifSource2.dll - the plugin
all these files must be in the same folder (with no special characters in the path; "decoder x86" folder is not necessary).
P.S. I know, I should rename the version, but it is alpha anyway. Will do it in the future. I think, ssifSource4 sounds nice. :)
Thank's slavanap and god job ;)
Pacific Rim recode in progress... :D
Slow decoding with i7 3930k :(
F:\MVCPlayer\MVCtoAVI.exe>"F:\MVCPlayer\MVCtoAVI.exe\Tools\x264\x264_x86.exe" "F:\MVCPlayer\MVCtoAVI.exe\Preview.avs" --profile high --crf 18 --preset faster --level 4.0 --sar 1:1 -o "H:\ssifSource4.1\sample.avs.mkv"
avs [info]: 1920x1080p 1:1 @ 10000000/417083 fps (cfr)
x264 [info]: using SAR=1/1
x264 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX
x264 [info]: profile High, level 4.0
[10.1%] 18986/188858 frames, 9.98 fps, 16172.58 kb/s, eta 4:43:45
frencher
10th February 2014, 12:15
Recode done ;)
Where the problems with this 3DBD ?
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.