View Full Version : Guide to convert BD 3D to 3D Left+Right Stereoscopic and Anaglyph
crl2007
21st June 2010, 17:50
This guide adresses to the new BD 3D format.
Software and codecs needed:
1. ffdshow (http://www.xvidvideo.ru/ffdshow-tryouts-project-x86-x64/) + haali (http://multiAVCHD.deanBG.com/haali_MatroskaSplitter_11-01-2009.exe)
2. MVC Decoder (http://www.fbx.ro/4cbzkmk91j46j3v3) - free
3. eac3to (http://forum.doom9.org/showthread.php?t=125966) - free
4. x264 (http://komisar.gin.by/) - free
5. Stereoscopic Player (http://www.3dtv.at/Index_en.aspx) - not free
6. Preferred Filter Tweaker for Windows 7 (http://www.codecguide.com/windows7_preferred_filter_tweaker.htm) - it's free and straight forward
7. multiAVCHD (http://multiavchd.deanbg.com/) - free
8. ArcSoft TotalMedia Theatre 3 Platinum (http://www.arcsoft.com/public/software_title.asp?ProductID=362) or PowerDVD 9 (http://www.cyberlink.com/products/powerdvd/overview_en_US.html) - not free
Let's start. Pay attention and don't skip any steps.
STEREOSCOPIC LEFT+RIGHT CONVERSION
1. Demux the mpls with eac3to. eac3to x:\path\movie.mpls -demux. You will get all streams demuxed, but you'll need only video and audio streams (left video + right video + audio stream). You'll see (left) and (right) as part of the file name of the video streams (h264). For convenience, rename the demuxed audio (dts/ac3/lpcm) to audio.dts (or audio.ac3 or audio.lpcm) or audio_01.dts/audio_02.ac3 if you have more than one audio track.
2. Create a 3D Workspace folder and copy in there the mvc decoder, the x264 codec, the avs script included and the left + right video + audio streams.
3. Rename the video streams (left.h264, right.h264). This is needed if you don't want to edit "decoder.cfg" all the time to insert the name of the streams in there.
4. Edit the avs script and put in there the duration, in frames, of the movie. You must include the ms. You can find out the frame number from eac3to.
http://thumbnails24.imagebam.com/8536/17de8b85354948.jpg (http://www.imagebam.com/image/17de8b85354948)
You can also do it manually. That's done like this:
Example: For a 00:02:27.106 movie the ecuation is 147,106*(24000/1001) and you'll have 3527 frames.
My script looks like this:
LoadPlugin("H264StereoSource.dll")
H264StereoSource("decoder.cfg",3527)
Save it.
5. Open a command prompt for x264 and use the avs to encode the right eye stream (tutorials for x264 can be found on doom9 too). When x264 reaches the end, you will get an error. This has no impact on the movie. Keep in mind that this decoder is really, really slow. On a q9550 and 4 GB RAM it didn't go higher than 3 fps.
6. Open mkvmerge and add left.h264 + audio.dts (or audio.ac3, audio.lpcm). Select the video stream and from the "Format specific option" tab and set the fps to 24000/1001 (mkvmerge will set it to 25 fps by default). Mux them together.
7. After the remux is done, remove all from mkvmerge and insert the encoded right eye stream. Set the FPS to 24000/1001 as for the left one above and hit mux.
8. Now they are ready to be played in Stereoscopic Player. Open Stereoscopic Player - File - Open Left and Right file, select the 2 streams and check "Use audio track from left file".
ANAGLYPH ONLY CONVERSION
1. Open multiAVCHD and drag and drop the movie playlist.
2. Do the following settings:
http://thumbnails25.imagebam.com/8536/0ba02085352557.jpg (http://www.imagebam.com/image/0ba02085352557) http://thumbnails27.imagebam.com/6292/6cc91762915819.gif (http://www.imagebam.com/image/6cc91762915819) http://thumbnails27.imagebam.com/6292/3b784062916754.gif (http://www.imagebam.com/image/3b784062916754)
3. Press transcode, choose your settings and check "Create 3D Anaglyph".
http://thumbnails15.imagebam.com/8535/99900385349935.jpg (http://www.imagebam.com/image/99900385349935)
Click "Apply".
4. You can add as many subtitle streams you want and as many audio streams you want from the "Audio" and "External Subtitles" stream.
5. Click "OK".
6. Click start and let multiAVCHD work.
Important Update: You can now select from multiavchd more 3D modes ( green/magenta, top/bottom, left/right etc ). All you have to do is to set your mode before adding a playlist. The same steps as for anaglyph are used here too.
http://thumbnails30.imagebam.com/8645/5f2e0486440654.jpg (http://www.imagebam.com/image/5f2e0486440654)
SUBTITLE FOR STEREOSCOPIC 3D MOVIES
Software Needed:
1. 3D Subtitler (http://84.27.10.123/3DSubtitler/)
The software is pretty straightforward.
If you have something to add, please feel free.
chocolate elvis
29th June 2010, 02:51
Hi,
Thanks for the post. Have trouble getting it to work though.
Do you mind expanding #5 "Open a command prompt for x264 and use the avs to encode the right eye stream (tutorials for x264 can be found on doom9 too)."
Thanks!
Guest
29th June 2010, 03:05
What do you not understand about it? Looks perfectly clear to me.
crl2007
29th June 2010, 09:58
You open a command prompt and you write there: x264 --x264 parameters --output.264 *.avs
l.e. I've updated the guide with the new MVC Decoder ( now it supports 720p sources too ) and with an alternate option for stereoscopic + new modes conversion ( for people that don't know how to use x264 ).
deank
29th June 2010, 09:58
Btw the latest version of the H264StereoSource.dll (http://multiavchd.deanbg.com/3d/H264StereoSource.rar) supports 1280x720.
chocolate elvis
30th June 2010, 01:50
Can someone cut and paste a sample command for a moron? Can get left to decode but not right. Thanks
crl2007
30th June 2010, 13:37
I wrote in the guide that now you can achieve the same with multiavchd only. You don't need x264 if you don't know how to use it.
chocolate elvis
30th June 2010, 18:22
Thanks, but I'm trying to reconstruct the right eye as a mp4. So the result is a full 1920x1080 left eye, and 1920x1080 right eye, Can't seem to decode the right eye w/o errors.
crl2007
30th June 2010, 20:37
x264.exe --crf 17 --tune film -I 24 --weightp 0 --b-pyramid none --sar 1:1 --aud --rc-lookahead 6 --output right_final.264 sample.avs This is a useful commandline.
rik1138
9th August 2010, 21:20
Is the Right eye stream sort of a 'difference' stream based on the Left eye? Can the right eye MVC be re-built from the PlayList without actually re-encoding the video? (I'm gathering the x264 command above is actually re-encoding the right eye stream to create the .264 file...)
I need to take 3D video from multiple Blu-ray discs and combine it all on one disc, preferably without re-encoding any of it... I can't seem to find an easy way to pull it off.
(I'll re-encode if I have to, just trying to avoid it...)
deank
9th August 2010, 21:44
Alex's mod for Version JM 17.1 allows YUV decoding of right eye stream. Source files for regular H.264 decoding are available, but he didn't respond after requests to share the mod source for right eye decoding. Either way we/you need a way to recreate the 'delta' ssif files (which are same content wise) as r-eye m2ts files.
I'll try again to poke him ;)
rik1138
9th August 2010, 23:21
Are there any tools available yet that can take a couple of lt + right-dependent MVC streams and build a functioning disc (creating the ssif, etc)?
If that's not available yet, I might have to go with re-encoding anyway... The authoring software I'm using won't seem to take MVC streams ripped off of a Blu-ray disc, unless they are MVC streams it created in the first place... Not sure why.
But, if I have to, I can re-encode the two streams, it's just a matter of getting that right-eye stream as a valid AVC file by itself. I tried the .x264 method above, but it gives me an error about loading the h264StereoSource.dll and doesn't work... My first time trying it, so I'm probably doing something wrong, just haven't figured it out yet...
crl2007
10th August 2010, 07:22
There is no such software yet. And as far as that error, you most probably wrote the wrong path for the dll in the avs script.
rik1138
10th August 2010, 08:17
That's what I figured... I have the .dll in the same directory as the .avs script, so I just had the file name itself. I then tried using the complete path, and I still got the error... Is it just that one .dll that's needed, or should there be other files with it? (Or maybe point it to the one in the MultiAVCHD directory?) I'll play with it more tomorrow... I'm sure I've just done something wrong. :)
crl2007
10th August 2010, 14:59
It's just that dll and that cfg file.
rik1138
10th August 2010, 18:54
Not sure what I'm doing wrong here... I have these files in the directory:
H264StereoSource.cfg
H264StereoSource.dll
l.h264
r.h264
sample.avs
x264.exe
Config file:
InputFile = "l.h264"
InputFile2 = "r.h264"
FileFormat = 0
POCScale = 1
# decoder control parameters
DisplayDecParams = 1
ConcealMode = 0
RefPOCGap = 2
POCGap = 2
IntraProfileDeblocking = 1
DecFrmNum = 0
sample.avs:
LoadPlugin("H264StereoSource.dll")
H264StereoSource("H264StereoSource.cfg",3788)
I use your x264 command line posted above exactly, and get this:
avc [error]: LoadPlugin: unable to load "H264StereoSource.dll"
(sample.avs, line 1)
x264 [error]: could not open input file 'sample.avs'
Any thoughts? Does anything look wrong? I can play the l.h264 file in Media Player just fine... But could it be related to other installed AVC codecs?
deank
10th August 2010, 20:00
I got the same error yesterday on my office computer (with multiAVCHD, trying to load the plugin). I believe it is compiled for certain CPU (OS?!) :( :confused:
Works fine on my laptop Vista 32bit Intel PC, but fails with my desktop office XP SP2 Intel PC. Both with Core2Duo CPUs.
//
Thinking about it, I'll try to install .NET on my office PC and will test again tomorrow. It may be .NET compiled (the .dll).
rik1138
11th August 2010, 03:02
Hmm, maybe it's a Visual C++ thing? I had to install the Microsoft Visual C++ libraries for another app (didn't have it installed apparently), and now the x264 gets further (seems to load the .dll okay, recognizes the video file, but then crashes with an exception error...). The crash could be due to the video files I'm using, I'll try it on others tomorrow...
I would have though x264 wouldn't work at all if it needed the VisC stuff, but it did seem to get further...
Vis C here:
http://www.microsoft.com/downloads/en/confirmation.aspx?familyId=d5692ce4-adad-4000-abfe-64628a267ef0&displayLang=en
Limobar
23rd October 2010, 19:18
My way of creating a single file 3d encode, is the following:
1. I encode the right eye lossless (x264 -q0 -m1 -A i4x4 --no-cabac), using the MVC sample script, to create a right eye that has the same quality as the left eye.
MVC sample script:
LoadPlugin("H264StereoSource.dll")
H264StereoSource("decoder.cfg",135266)
2. After that I create a half side-by-side encode using the following Avisynth script:
VideoLeft = directshowsource("C:\x264\left.mkv", audio=false)
VideoRight = directshowsource("C:\x264\right.mkv", audio=false)
VideoStacked = StackHorizontal(VideoRight,VideoLeft)
lanczosresize(1920,1080)
ConvertToYV12(VideoStacked)
and high quality x264 settings, depending on the source.
My question is: Is it possible to leave out step one and do the final encode directly? I think it is possible, otherwise it wouldn't be possible to do step 1, but how?
crl2007
24th October 2010, 00:49
You have to decode the MVC stream, there's no faster method yet.
JK1974
25th October 2010, 17:18
You can integrate the MVC decoding script into the side-by-side script. The main disadvantage is, that the MVC decoding seems to stop a few frames before the AVC decoding which causes e.g. VirtualDub and x264 to crash short before the end of the decoding. However, if you use single pass encoding, you can ignore the x264 general protection fault and mux it without problems with MKVmerge GUI.
Limobar
26th October 2010, 02:20
I don't mind to use crf encoding, so I tried to merge the two scripts, but without success. MeGUI gives me an undescribed error.
This is the script I tried:
LoadPlugin("H264StereoSource.dll")
VideoLeft = directshowsource("I:\BDMV\STREAM\00001.m2ts", audio=false)
VideoRight = H264StereoSource("decoder.cfg",135266)
VideoStacked = StackHorizontal(VideoRight,VideoLeft)
ConvertToYV12(VideoStacked)
lanczosresize(1920,1080)
MeGUI shows the 50% point of the video when you load the script. What I can see, is that the left side of my screen starts from the beginning of the video and the right side of my screen shows the 50% point of the video.
Please, help me to correct my script.
Limobar
5th November 2010, 03:00
I have another question about 3D.
One of the 3D techniques/methods is Side-By-Side (SBS). There is full-SBS (3840x1080 / 1920x1080 per eye) and half-SBS (1920x1080 / 960x1080 per eye).
I wonder what's the use of full-SBS, when our current televisions can only handle 1920x1080? I can only imagine that the television processes (cuts in two parts?) the bigger than resolution input once the 3d-button has been pushed, to make use of it.
Can somebody please explain how SBS works?
crl2007
5th November 2010, 09:03
There are projectors for higher resolutions and multi-monitor solutions. More info here (http://en.wikipedia.org/wiki/Stereoscopy#Side-by-side_.28non-shared_viewing_scenarios.29).
Limobar
5th November 2010, 09:33
Thanks for your answer and the link. Lots of interesting information, but I'm still not able to answer my question about the use of full-SBS (3840x1080) on a 1080p (1920x1080) television.
Is it possible that my television (Samsung PS63C7700 plasma) uses 50% of the resolution (1920x1080) per field (120 Hz, 60 fields per eye/second)?
crl2007
6th November 2010, 18:02
Of course. The image is resized for your display keeping the AR. But not to worry, you'll never loose quality. It's like watching 1080p movies on 720p ready tv sets.
Limobar
6th November 2010, 18:21
It's like watching 1080p movies on 720p ready tv sets.
I don't think that's the same. Watching 1080p on a 720p television will give you inferior 720p quality. Assuming that watching a 3840x1080 SBS encode will give me the same quality as watching a 3D Blu-Ray.
crl2007
6th November 2010, 20:52
If you encode something, automatically there is loss of quality.
Limobar
6th November 2010, 21:08
If you encode something, automatically there is loss of quality.
No, that's not always the case. You can encode lossless and keep the exact same quality.
Going from 1080p to 720p, using a real 1080p source, will certainly lead to a quality loss.
Let's go back to my original question:
I wonder what's the use of full-SBS (3840x1080), when our current televisions can only handle 1920x1080?
crl2007
6th November 2010, 21:27
Lossless if you have a TB HDD just for one movie.
And I just told you that there are projectors with much higher resolutions.
Limobar
6th November 2010, 21:59
It's not even close to 1TB for a single lossless movie. Most of the animation movies are not even 100GB when you encode them lossless with x264, using a Blu-Ray as source.
Without a doubt there is equipment that's able to output higher than 1080p resolutions, but that has nothing to do with full-SBS encodes and how they are meant to be processed.
This is how I think it works, but because I'm not sure, I want someone to confirm or to invalidate my assumptions. A 3DTV receives a 3840x1080 input @ 60Hz and, once the 3d button of the television has been pushed, outputs it as 1920x1080 @ 120Hz (60 fields per eye / second).
crl2007
7th November 2010, 09:45
And all other movies ? :) 200-300 GB at least. I gave you a link how it works. I'll give you another one. Read here (http://www.netblender.com/main/resources/understanding-3d/how-3d-works/frame-sequential-3d-vs-side-by-side-3d/).
JK1974
8th November 2010, 12:48
I think, full-sbs might be possible if you have an appropriate software player. But here it is also assumed that the player can output it in an appropriate way using HMDI.
Thinking about blu-ray players and streaming clients, I don´t think that full-sbs is the way to go. Furthermore, as 3D-TV also uses half-sbs, I think that this is some kind of pseudo-standard even in the 3D community as long as there is no (free) MVC encoder and an upgraded player that allows to playback MKVs with AVC+MVC embedded.
VLC currently even does not even allow anaglyph playback of half-sbs videos, and besides PowerDVD, TMT and Stereoscopic player, I don´t know any other alternative player that is capable of playing 3D content.
So I don´t think that there is an alternative to half-sbs in the near future if even half-sbs is currently "difficult" to be played back (for free) in 3D.
Limobar
9th November 2010, 12:58
After demuxing a Blu-Ray with 3D content, the left eye and right eye have completely different sizes. The right eye is about 50% of the left eye. Does anybody have an idea why this is? Is it maybe because, even though it has been demuxed, the right eye is not the same kind of file as the left eye?
digitalvideo
9th November 2010, 13:10
Limobar,
It's normal because right only code the change from left side
Limobar
9th November 2010, 15:43
That makes sense. That is why the MVC decoder needs the left eye stream, when it decodes the right eye stream.
Thanks for your answer.
bayex
18th November 2010, 22:10
I demuxed the video but cant remux right eye stream to mkv. DGAVCDec, mkvmerge does not work.dss extension can not turn with h264, I can not encode lossless. H264StereoSource does not work. What can I do?
GRKNGLR
18th November 2010, 22:17
I demuxed the video but cant remux right eye stream to mkv. DGAVCDec, mkvmerge does not work.dss extension can not turn with h264, I can not encode lossless. H264StereoSource does not work. What can I do?
I have same problem too.
Limobar
19th November 2010, 01:38
It's correct that you cannot remux the right eye stream. You have to encode it before you can remux it. To encode it, you need a decoder for it and that's when you use the MVC decoder.
The guide by crl2007 is pretty straightforward. Do exactly what he says and it should work.
wa0006
19th November 2010, 06:55
Sometimes work, always crash!
Limobar
19th November 2010, 08:25
It is supposed to crash. The encode crashes about 10-11 frames before the end. The output can be used to remux.
wa0006
19th November 2010, 16:49
It is supposed to crash. The encode crashes about 10-11 frames before the end. The output can be used to remux.
I kown that, but my x264 always crash from starting H264StereoSource.dll
bayex
19th November 2010, 21:00
MVC sample script:
Code:
The content decoder
InputFile = "C:\Users\bayex\Desktop\3d\left.h264" # H.264/AVC coded bitstream
InputFile2 = "C:\Users\bayex\Desktop\3d\right.h264" # H.264/AVC coded bitstream
script
LoadPlugin("H264StereoSource.dll")
H264StereoSource("decoder.cfg",135266)
----------------------------------------------------
VideoLeft = directshowsource("C:\x264\left.mkv", audio=false)
VideoRight = directshowsource("C:\x264\right.mkv", audio=false)
VideoStacked = StackHorizontal(VideoRight,VideoLeft)
lanczosresize(1920,1080)
ConvertToYV12(VideoStacked)
I can not demux the MKV can not be right
We are trying to encode new 3d new encoders can be a more descriptive form of expression.
@ Limobar, sbs full rips you how are you doing?
crl2007
20th November 2010, 08:59
The way I described here.
rica
23rd November 2010, 01:04
Thanks crl for the thread.
But instead of multi view, is there any other method of multiplexing?
Frame packed or frame sequential?
rica
24th November 2010, 03:41
OK, thanks for the response.
doc_dvxm
24th November 2010, 17:50
Thanx for your nice guide crl2007.
I am trying to do what you've saying...
After demuxing of the video I have a something like that:
M2TS, 2 video tracks, 5 audio tracks, 5 subtitle tracks, 1:43:13, 24p /1.001
1: Chapters, 11 chapters
2: h264/AVC (left eye), 1080p24 /1.001 (16:9)
3: h264/AVC (right eye), 1080p24 /1.001 (16:9)
Video track 2 contains 148488 frames.
Video track 3 contains 148488 frames.
eac3to processing took 12 minutes, 29 seconds.
Done.
My question is: Which frame counts do we need to use in MVC script, If the frame counts of this two "eye" tracks is different?
Everytime the framecount of the right eye track?
Thanx in advance,
doc
crl2007
24th November 2010, 18:41
The framecount can't be different for left and right eye, it's the same movie. As you can see in your example, the framecount is identical:
Video track 2 contains 148488 frames.
Video track 3 contains 148488 frames.
doc_dvxm
24th November 2010, 19:05
Ok. Thanx :)
Lyris
25th November 2010, 23:56
Oh my god, crl2007, you got a copy of the Panasonic 3D demo disc with that horrifying clip of the dogs! "Fuzzy Little Friends" or something?
At the Panasonic Convention 2010 me and some other people were crowded around the demo screens watching this footage in horror. It is so creepy yet so innocent.
crl2007
26th November 2010, 00:08
Yeah, it's kinda creepy. :D
glen8
28th November 2010, 17:01
Hi all,
I don't know if anyone can help me but I have been encoding my 2D blurays to .mp4 720p (4.5GB) using ripbot264.
Now I'd like to do the same with 3D Blu-Rays if possible increasing the filesize to 8.5GB. Would this be possible somehow?
Thanks, Glen.
glen8
29th November 2010, 10:43
Forget the above, I've managed to do it :-)
If anyone is interested in a single MP4 3D file which works on PS3 let me know and I'll do a guide.
crl2007
29th November 2010, 13:44
I think everybody from this forum knows how to save mp4 instead of mkv. But mkv also works on PS3, or Blu-Ray etc.
UPDATE*
Now it's possible to convert srt for Stereoscopic files ( Over/Under, SBS ) with 3D Subtitler (http://84.27.10.123/3DSubtitler/). The subtitles can only be saved as SUB/IDX with this software, but you can modify them even further with BDSup2Sub. I'll add it to the guide as soon as I have more time, maybe tomorrow.
glen8
29th November 2010, 16:04
I didn't know the PS3 supported MKV? I thought you had to transcode on the fly from a PC media server
crl2007
29th November 2010, 17:41
Yeah, with PS3 Media Server. But you can save it anyway you want with multiavchd, including bd or avchd.
glen8
29th November 2010, 22:21
ah I see, thanks for that....and thanks for this guide. Helped me out quite a bit :cool:
crl2007
30th November 2010, 12:28
I've updated the guide with 3D Subtitler. Feel free to add some replies with your tests.
glen8
1st December 2010, 12:53
stupid question incoming.....
is the left eye an identical copy of the 2D movie?
Just wondering if I ever wanted just the 2D movie all I have to do is encode the left eye
Thanks!
crl2007
1st December 2010, 13:14
Yes, the left eye is in fact the 2D movie.
glen8
7th December 2010, 09:35
VideoLeft = directshowsource("C:\x264\left.mkv", audio=false)
VideoRight = directshowsource("C:\x264\right.mkv", audio=false)
VideoStacked = StackHorizontal(VideoRight,VideoLeft)lanczosresize(1920,1080)
ConvertToYV12(VideoStacked)
are the left and rights supposed to be the other way around?
crl2007
7th December 2010, 09:51
No. It should be VideoLeft,VideoRight.
yao847zi
10th December 2010, 04:05
DVD Blu-ray 3D Ripper (http://wannasoft.com/DVDFab-Blu-ray-3D-Ripper/) is now able to directly rip and convert Blu-ray 3d to 3d mkv, avi or wmv side-by-side.
Salehi
10th December 2010, 09:39
Hi
Crl2007, I want to convert a 3D to Anaglyph. Your guide seems to be brief(At least for me). Please let me know my step is correct.
1.Copy entire BD structre(BDMV, Certificate) to "Original" folder.(Can I Ignore SSIF folder and only copy M2TS file?)
2.Drag and drop BDMV folder to multiAVCHD.(After multiAVCHD analyze playlist there will be a lot of playlist, one of them marked with 3D, should I go to this playlist and choosing transcode or just find the playlist with the main M2TS file?)
3.In transcode settings, Please tell why should I change the resize and uncrop to 1280*720? with this setting result will be better than 1920*1080? How about change bitrate to 6000?
4. At the end, with this steps, can I still keep original menu?(I suppose to after I click on play 2D in menu, Anaglyph will play instead of 2D movie).
crl2007
10th December 2010, 09:59
You have to drag only the movie mpls in multiavchd and follow my guide for settings. It is not required to resize to 1280x720 ( my movie was from the demo 3d disc and was at 1280x720 by default ). You can't keep the menu, you'll have a mkv file.
yao847zi This guide is done with free software. There are a number of programs on the market, but we concentrate on free ones.
A great free software for Stereoscopic conversion is SSIFsucka! (http://tech.groups.yahoo.com/group/ssifsucka/). It allows you the option to maintain original quality and can output both as a O/U, SBS ( full or half ) mkv or as two separate files ( L + R ) that can be used in Stereoscopic Player or nVidia player. DVDFab doesn't give you the option for original quality. It is faster ( 15 fps vs 4 fps for free mvc decoder, but lacks options ).
BigPines
10th December 2010, 19:51
I have a 3D Blu-ray rip that I need to edit. I started with this guide but can't get the x264 encode to work to save my life (step 5). I want to use lossless encoding because I am going to be editing the video before converting it back to Blu-ray. However, I'm not even sure Adobe Premier can use a file produced by lossless encoding. x264 --qp 0 -o right2.h264 right.h264 gave me the following errors:
ffms [error]: could not find video track
lavf [error]: could not find video stream
avs [error]: failed to load avisynth
raw [error]: raw input requires a resolution.
x264 [error]: could not open input file `right.h264' via any method!
I poked around but couldn't figure out how to solve these problems. Obviously I need the highest quality possible because of the multiple generations of encodings I will be going through in this process. Can anyone offer any advice?
Mike
BigPines
10th December 2010, 19:56
I encode the right eye lossless (x264 -q0 -m1 -A i4x4 --no-cabac), using the MVC sample script, to create a right eye that has the same quality as the left eye.
MVC sample script:
LoadPlugin("H264StereoSource.dll")
H264StereoSource("decoder.cfg",135266)
This doesn't work for me. I tried x264 -q0 -m1 -A i4x4 --no-cabac right2.h264 right.h264 but I get x264 [error]: No output file. Run x264 --help for a list of options.
UPDATE: x264 -q0 -m1 -A i4x4 --no-cabac --output right2.h264 right.h264 produces:
ffms [error]: could not find video track
lavf [error]: could not find video stream
avs [error]: failed to load avisynth
raw [error]: raw input requires a resolution.
x264 [error]: could not open input file `right.h264' via any method!
My sample.avs looks like this:
LoadPlugin("H264StereoSource.dll")
H264StereoSource("decoder.cfg",232607)
crl2007
11th December 2010, 01:21
Your input file must be the avs script, not the h264 file.
BigPines
11th December 2010, 02:07
Your input file must be the avs script, not the h264 file.
Thanks. Past another roadblock but still having problems.
so x264 -q0 -m1 -A i4x4 --no-cabac --output right2.h264 sample.avs now returns
avs [error]: failed to load avisynth
x264 [error]: could not open input file `sample.avs'
I do have AviSynth 2.5 installed. Not sure what the problem is.
Mike
crl2007
11th December 2010, 02:13
You can open the avs script with something else ? Like MeGUI for example. If you can't, you must be doing something wrong. Do you have the h264stereosource.dll and decoder.cfg in the same folder as the avs script ?
BigPines
11th December 2010, 02:33
You can open the avs script with something else ? Like MeGUI for example. If you can't, you must be doing something wrong. Do you have the h264stereosource.dll and decoder.cfg in the same folder as the avs script ?
I just downloaded MeGUI and it opens there and I can preview it.
Yes, I have the following in the same folder with the video demuxed files:
decoder.cfg
H264StereoSource.dll
sample.avs
x264
Still digging around here. I really do appreciate your help.
crl2007
11th December 2010, 02:42
Try another x264 build. If MeGUI opens it, then it's something wrong with the x264 build and you should use the one that comes with megui.
BigPines
11th December 2010, 03:22
Try another x264 build. If MeGUI opens it, then it's something wrong with the x264 build and you should use the one that comes with megui.
Thanks, that appears to have been the problem. I was originally trying the 64 bit version for 8 bit encoding but I switched over to the 32 bit version for 10 bit encoding and that one seems happy. It looks like it is cranking away albeit *VERY* slowly. Thanks again. I couldn't have got it going without you. I just hope the quality is good after all of this. :)
BigPines
11th December 2010, 04:53
I have a few more questions.
Warning: no active SPS, timing SEI cannot be parsed
Should I be concerned about this?
avs [info]: 1920x1080p 0:0 @ 25/1 fps (cfr)
The material I am decoding is 1080p24. What is this reference to 25/1 fps?
x264 [info]: profile High 4:4:4 Predictive, level 4.0, bit depth 10
Is this saying the source material is 4:4:4 10 bit? I thought that was only user for professional applications. Is it saying the lossless encoding is in 4:4:4 10 bit? I didn't realize this encoder could do that.
Average encoding rate is approximately 4 fps. Fun stuff. :)
Mike
crl2007
11th December 2010, 13:11
1. No, it is normal.
2. When you mux the *.264 stream with mkvmerge you are bound to specify a FPS. So you put there the correct fps.
3. http://indieranch.com/Overview/RGB_4_4_4_overview.html
BigPines
11th December 2010, 16:43
I hope the fps thing works out one way or another because this is taking forever to export. I plan to edit this video prior to muxing and it needs to be in the correct format before I can do that. Hmmm...I may have to mux it first just to get the fps correct and then demux it again for editing.
Thanks for the definition of 4:4:4. Again, I am surprise to see it used here.
Mike
crl2007
11th December 2010, 16:51
You can't use it as h264 so you have to put it in a container.
BigPines
11th December 2010, 21:17
Understood.
I have decided I can't use lossless. It is just too big! The file is already 247GB and it is only 67% done. I want the highest quality possible because I am going to edit it and re-encode it again. Any advice on a good compromise between file size and quality?
UPDATE: I just found these settings for blu-ray disc encoding: http://sites.google.com/site/x264bluray/home/1080i-p Is this the way to go?
Mike
rica
11th December 2010, 21:27
OK i left the thread and came here:
http://forum.doom9.org/showpost.php?p=1463224&postcount=1
Now i'm trying to re-encode right video.
As BigPines i'm living some issues.
Here is my folder:
http://img143.imageshack.us/img143/7732/enough01.png (http://img143.imageshack.us/i/enough01.png/)
Here is my avs:
LoadPlugin("H264StereoSource.dll")
H264StereoSource("decoder.cfg",64174)
I didn't put x264 encoder in the folder and opened "out.avs" on MeGui.
Selected BluRay preset and mkv container.
I can open the avs and play it but when i try to encode it, i get this:
http://img818.imageshack.us/img818/5381/enough02.png (http://img818.imageshack.us/i/enough02.png/)
And what preset i should set and how that file size will reach the left video's size? (if i can re-encode)
Thanks.
BigPines
11th December 2010, 22:29
rica, this thread is really regarding the command line interface of x264. Have you tried that yet?
Mike
crl2007
11th December 2010, 22:49
rica Via MeGUI it crashes. Try x264 CLI.
BigPines x264.exe --level 4.1 --crf 17 --preset placebo --tune film -I 24 --weightp 0 --b-pyramid none --sar 1:1 --aud --rc-lookahead 24 --output right_final.264 right.avs Try this command line and see what you get. I think that CRF 17 is more than enough.
rica
11th December 2010, 22:56
Thanks for your help. I will give it a go with your code.
rica
12th December 2010, 00:10
And here i am with an unsuccess:
http://img10.imageshack.us/img10/4927/cliz.png (http://img10.imageshack.us/i/cliz.png/)
What the hell ***?
crl2007
12th December 2010, 00:19
What's that "out.avs" ? Remove it from the command line.
rica
12th December 2010, 00:41
You are right but see what i get:
C:\Son>x264 --level 4.1 --crf 17 --preset placebo --tune film - I 24 - --weightp
0 --b-pyramid none --sar 1:1 --aud --rc-lookahead 24 --output right_final.264 r
ight.avs
raw [error]: raw input requires a resolution.
x264 [error]: could not open input file `-'
crl2007
12th December 2010, 00:50
Copy and paste the command line here like a single line of text. Try like that. If this does not work, then it's something with your codec/decoders configuration.
rica
12th December 2010, 01:19
Sorry,
Here?
What do you mean by "here"?
crl2007
12th December 2010, 01:29
The one that I wrote for BigPines.
rica
12th December 2010, 01:34
That is what i gave it a go :mad:
C:\Son>x264 --level 4.1 --crf 17 --preset placebo --tune film - I 24 - --weightp 0 --b-pyramid none --sar 1:1 --aud --rc-lookahead 24 --output right_final.264 right.avs
raw [error]: raw input requires a resolution.
x264 [error]: could not open input file `-'
rica
12th December 2010, 02:01
Totally confused :confused:
Please check out item 4 and item 5 in your first post.
You create a script like this:
[4. Edit the avs script and put in there the duration, in frames, of the movie. You must include the ms. You can find out the frame number from eac3to.
You can also do it manually. That's done like this:
Example: For a 00:02:27.106 movie the ecuation is 147,106*(24000/1001) and you'll have 3527 frames.
My script looks like this:
LoadPlugin("H264StereoSource.dll")
H264StereoSource("decoder.cfg",3527)
Save it.
And you open what avs?
5. Open a command prompt for x264 and use the avs to encode the right eye stream (tutorials for x264 can be found on doom9 too). When x264 reaches the end, you will get an error. This has no impact on the movie. Keep in mind that this decoder is really, really slow. On a q9550 and 4 GB RAM it didn't go higher than 3 fps.
If you check out my previous posts, i have those avisynth scripts:
out.avs:
LoadPlugin("H264StereoSource.dll")
H264StereoSource("decoder.cfg",64174)
right.avs:
DirectShowSource("C:\son\right.h264", fps=23.976, audio=false)
Which one is gonna be the input file?
None of them?
Or above script (out.avs) should be used since it automatically recognizes right.h264 without adressing "here is the right file"?
Or? :confused:
I suppose that is the problem. (It's my understanding problem, sorry.)
crl2007
12th December 2010, 10:52
The "out.avs" is the input avs. That's the only avs that you are working with, it's included in the archive, you just have to modify the frame number. I thought I was clear. That is the script you work with to obtain the right eye encode.
Salehi
12th December 2010, 19:53
I try many time to convert 3D to Anaglyph using multiavchd as mentioned in guide but every time x264.exe crash in the beginning of the process. what can I do?
I try to reinstall ffdshow, haali, avisynth and even multiAVCH but nothing happened.
rica
12th December 2010, 21:35
The "out.avs" is the input avs. That's the only avs that you are working with, it's included in the archive, you just have to modify the frame number. I thought I was clear. That is the script you work with to obtain the right eye encode.
Thanks for the clarification.
I had to be sure "out.avs" would automatically select right_eye.video.
And another confusion i had was on "the size" term.
Size means not the file size but the dimention; if the left is 1920*1080 then the right should be 1920*1080. (thanks Adam btw.)
Anyway, i demuxed again and made lots of trials with several permutations on CML.
But what is weird is i always got 25 fps outputs.
Here is your line: (__weightp 0 is missing since x264 doesn't accept it.)
C:\H264StereoSource_a2>x264 --level 4.1 --crf 20 --tune film -I 24 --b-pyramid none --sar 1:1 --aud --rc-lookahead 24 -o right_son out.avs
avs [info]: 1920x1080p 1:1 @ 25/1 fps (cfr)
x264 [info]: using SAR=1/1
x264 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 FastShuffle SSE4.2
x264 [info]: profile High, level 4.1
An unintentional loss of pictures occurs! Exitb/s, eta 0:00:12
A gap in frame number is found, try to fill it.
RefPicList0[ 2 ] is equal to 'no reference picture'
RefPicList0[ 2 ] is equal to 'no reference picture'
RefPicList0[ 2 ] is equal to 'no reference picture'
RefPicList0[ 2 ] is equal to 'no reference picture'
RefPicList0[ 2 ] is equal to 'no reference picture'
RefPicList0[ 2 ] is equal to 'no reference picture'
Always i get 25p... (original is 23,976)
crl2007
12th December 2010, 22:10
x264 encodes all fps. You have a software problem or what you try to encode is not a mvc stream and the decoder rejects it. Or you do something wrong. Try and use multiavchd or ssifsucka, cause it will be more easier for you.
rica
12th December 2010, 22:23
http://img375.imageshack.us/img375/9852/mvcleft.png (http://img375.imageshack.us/i/mvcleft.png/)
http://img834.imageshack.us/img834/8512/mvcright.png (http://img834.imageshack.us/i/mvcright.png/)
MVC...
And i don't think i've missed anything else even it was not easier for me.
BigPines
13th December 2010, 03:04
rica,
Use the following switch to fix your frame rate: --fps 23.976
Mike
BigPines
13th December 2010, 05:28
crl2007,
Your settings work but Adobe Premiere (my editing app) chokes on the resulting files. I tested a few seconds of video and tested it out. Premiere doesn't like something about the files but I can't figure out what it is. VLC plays the video but it looks really crappy. MPlayer Extended has the same problems. See attached screenshots.
I'll keep tweaking the settings trying to find something Premiere is happy with. Once I find the magic settings, This will be a workable solution even if it is slow.
UPDATE: I just figured out it was the 10 bit encoding that was messing me up. Once I switched to the 8 bit version, it looks fantastic. I figured this may help someone else having a similar issue.
Thanks again crl2007!
Mike
invincible
13th December 2010, 09:06
When x264 reaches the end, you will get an error.
Hi! Can you tell me what's error message? I have an error same as rica: "A gap in frame number is found, try to fill it." and it lose some frames (weren't encoded since that error ocurr)
crl2007
13th December 2010, 09:50
rica,
Use the following switch to fix your frame rate: --fps 23.976
Mike
I think his movie actually has 25 fps. I'm glad you succeeded.
The error is at the end, not at the beginning. And in most cases x264 crashes at the end when there are a couple of frames to encode. This error is not important, but at the beginning it means you are doing something wrong.
Salehi
13th December 2010, 13:28
I try many time to convert 3D to Anaglyph using multiavchd as mentioned in guide but every time x264.exe crash in the beginning of the process. what can I do?
I try to reinstall ffdshow, haali, avisynth and even multiAVCH but nothing happened.
Help!!!
crl2007
13th December 2010, 13:34
I cannot stay and give you advices on how you should configure your drivers/decoders/filters. I wrote the guide, I specified the software needed, the settings for that software but this is it. I can give you more answers regarding the guide or things related, but not on your pc settings.
Salehi
13th December 2010, 13:40
tnx, so please give the official thread for x264, maybe they can answer.
crl2007
13th December 2010, 13:46
Search another x264 build and replace the one you have in your multiavchd folder.
This is the official x264 thread: http://forum.doom9.org/showthread.php?t=108570
rica
13th December 2010, 14:52
I think his movie actually has 25 fps.
Grand Canyon (IMAX) 23,976...
Anyway.
crl2007
13th December 2010, 16:18
Then use the switch BigPines told you about. --fps 23.976
BigPines
13th December 2010, 17:20
I can confirm the --fps switch absolutely works to encode film sources correctly. No need to change the frame rate later.
So now I am patiently waiting for my encode to finish. It is cranking along at a blistering .75 fps. At this rate it is projected to finish in approximately 76 hours. The placebo setting is serious stuff. Slow as molasses in January but the result is beautiful. :)
Mike
rica
13th December 2010, 17:38
Ok guys, thanks.
Limobar
13th December 2010, 20:48
The techniques we use (side-by-side (1 file, 3840x1080) and left-right (2 files, 1920x1080)) to create 3D encodes, are different from the ones used to create retail 3D Blu-Rays and appear to be unusable to create full-hd 3D Blu-Rays. Half-SBS Blu-Rays (even with selectable subtitles) are no problem, but I don't think that the Blu-Ray specifications allow 3840x1080.
Is there a way to create full-hd 3D Blu-Rays at home?
BigPines
13th December 2010, 21:55
The techniques we use (side-by-side (1 file, 3840x1080) and left-right (2 files, 1920x1080)) to create 3D encodes, are different from the ones used to create retail 3D Blu-Rays and appear to be unusable to create full-hd 3D Blu-Rays. Half-SBS Blu-Rays (even with selectable subtitles) are no problem, but I don't think that the Blu-Ray specifications allow 3840x1080.
Is there a way to create full-hd 3D Blu-Rays at home?
This is where I am headed next too. I currently use tsMuxer to create the BD file system and then burn that to a blank BD using Toast. I am looking for something that can create a true 3D BD disc in a similar way. Whatever we use will have to be able to accept two discrete video streams and create the right eye "difference" stream for the final disc. Anyone know of a solution?
Mike
rica
13th December 2010, 21:59
This is why i'm interested in the first part of crl's guide.
Two difficulties here:
1) Re-encoding right-eye video. (i'm not satisfied yet.)
2) A free MVC encoder. (which is missing.)
The rest is no problem.
BigPines
13th December 2010, 22:15
rica,
I have verified the following works great for encoding the right eye: x264 --fps 23.976 --level 4.1 --crf 17 --preset placebo --tune film -I 24 --weightp 0 --b-pyramid none --sar 1:1 --aud --rc-lookahead 24 --output right_final.h264 right.avs
Have you tried something similar yet?
I used the 8 bit video x264.exe compiled for 32 bit operating systems. You could omit the --preset placebo switch and speed up your encode greatly. Also increasing --crf would decrease quality, file size and encode time while decreasing --crf would increase the quality, file size and encode time.
I think there are MVC encoder options but we need to figure out a complete solution. That is the next step for me.
UPDATE: A quick Google search revealed the following: http://www.mainconcept.com/products/sdks/3d/blu-ray-3dmvc-sdk.html
Not a free solution but interesting none the less.
Mike
rica
13th December 2010, 22:53
BigPines, here is what i gave it a go: (8 bit 32 btw)
C:\H264StereoSource_a2>x264 --level 4.1 --crf 20 --tune film -I 24 --b-pyramid none --sar 1:1 --aud --rc-lookahead 24 -o right_son out.avs
avs [info]: 1920x1080p 1:1 @ 25/1 fps (cfr)
x264 [info]: using SAR=1/1
x264 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 FastShuffle SSE4.2
x264 [info]: profile High, level 4.1
An unintentional loss of pictures occurs! Exitb/s, eta 0:00:12
A gap in frame number is found, try to fill it.
RefPicList0[ 2 ] is equal to 'no reference picture'
RefPicList0[ 2 ] is equal to 'no reference picture'
RefPicList0[ 2 ] is equal to 'no reference picture'
RefPicList0[ 2 ] is equal to 'no reference picture'
RefPicList0[ 2 ] is equal to 'no reference picture'
RefPicList0[ 2 ] is equal to 'no reference picture'
Haven't tried --fps 23.976 option yet.
BigPines
13th December 2010, 23:01
I would definitely try the --fps switch. Since that other error is at the beginning of the encode, I suspect the source but I'm really not sure. Do you have another source to try for kicks?
Mike
rica
13th December 2010, 23:20
Yes i have but i need to have a break; get tired of trying lots of times.
Even i made it 23.976 later with TSMuxer here it is on Vegas; as you guess bottom is right-eye. (m2ts: re-encoded, re-set to 23.976)
http://img130.imageshack.us/img130/449/missing.png (http://img130.imageshack.us/i/missing.png/)
_ _ _ _
BigPines
13th December 2010, 23:25
Based on your screenshot, it appears you got the entire right eye encoded so maybe the error happened at the end of the encode. If so, it could be normal. Obviously you have a problem with the length of the video due to the frame rate issue. The --fps switch should fix that. If not, I will likely be in trouble myself! :eek:
Mike
rica
13th December 2010, 23:31
Hold on. I will make just input and output.
BigPines
13th December 2010, 23:33
For those interested in free MVC encoders: http://forum.doom9.org/showthread.php?t=158457
Even if neither of these is usable in their current forms, a usable solution can't be far off.
I wonder if x264 will implement MVC? I assume they will eventually.
Mike
rica
13th December 2010, 23:41
Mike, just started but it's clear he is making 25/1 fps again:
C:\H264StereoSource_a2>x264 --fps 23.976 --level 4.1 --sar 1:1 --aud -o right_new.264 out.avs
avs [info]: 1920x1080p 1:1 @ 25/1 fps (cfr)x264 [info]: using SAR=1/1
x264 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 FastShuffle SSE4.2
x264 [info]: profile High, level 4.1
[3.1%] 120/3927 frames, 3.22 fps, 435.75 kb/s, eta 0:19:43
rica
14th December 2010, 00:05
As expected:
http://img818.imageshack.us/img818/2462/cml.png (http://img818.imageshack.us/i/cml.png/)
3927-3867= 60 frames are missing.
_ _ _ __
rica
14th December 2010, 00:17
For those interested in free MVC encoders: http://forum.doom9.org/showthread.php?t=158457
Even if neither of these is usable in their current forms, a usable solution can't be far off.
I wonder if x264 will implement MVC? I assume they will eventually.
Mike
Check out who gave the response :)
Limobar
14th December 2010, 01:34
@rica
What does your out.avs look like? Is has to look like the following, but with the correct number of frames for your situation.
LoadPlugin("H264StereoSource.dll")
H264StereoSource("decoder.cfg",136392)
BigPines
14th December 2010, 02:04
Check out who gave the response :)
Hehehehe That is funny.
Check your actual output file rica. It is 24 fps. It always says 25/1 even when encoding at 23.976. Trust me. :)
Are you SURE you have the right number of frames in your .avs file as Limobar says?
Mike
rica
14th December 2010, 02:13
Hehehehe That is funny.
Check your actual output file rica. It is 24 fps. It always says 25/1 even when encoding at 23.976. Trust me. :)
Are you SURE you have the right number of frames in your .avs file as Limobar says?
Mike
Yes, i got the info from the left file over eac3to since i cut it.
My actual output file?
WinDVD says it is 25p: check one of my previous posts: (the result of my previous code without --fps 23.976)
http://forum.doom9.org/showpost.php?p=1463585&postcount=95
rica
14th December 2010, 02:35
OK, the latest code gave 23.976 with --fps 23.976 switch, (even it says it is 25/1)
thanks:
http://img704.imageshack.us/img704/6538/latest.png (http://img704.imageshack.us/i/latest.png/)
EDIT: But Vegas didn't like that and it doesn't want to open it.
_ _ _ _
mariner
14th December 2010, 06:54
...
The techniques we use (side-by-side (1 file, 3840x1080) ...
[/B]
Greetings Limobar.
I'm using two Panasonic HS700 camcorders to record independent left/right 1920x1080/60p h264 mts streams and would like to encode them into single 3840x1080/60p side-by-side video.
Appreciate if you could provide any guidance.
Many thanks and best regards.
Limobar
14th December 2010, 08:28
@mariner
You could use an Avisynth script like this:
VideoLeft = directshowsource("C:\x264\left.mkv", audio=false)
VideoRight = directshowsource("C:\x264\right.mkv", audio=false)
VideoStacked = StackHorizontal(VideoRight,VideoLeft)
ConvertToYV12(VideoStacked)
Be aware that all your equipment (Video Card and television) must be HDMI 1.4a compliant, otherwise it probably won't accept 3840x1080. The use of nVidia Vision Video Player is recommended. Other players, like MPC-HC will only show half the resolution.
mariner
14th December 2010, 11:41
@mariner
You could use an Avisynth script like this:
VideoLeft = directshowsource("C:\x264\left.mkv", audio=false)
VideoRight = directshowsource("C:\x264\right.mkv", audio=false)
VideoStacked = StackHorizontal(VideoRight,VideoLeft)
ConvertToYV12(VideoStacked)
Be aware that all your equipment (Video Card and television) must be HDMI 1.4a compliant, otherwise it probably won't accept 3840x1080. The use of nVidia Vision Video Player is recommended. Other players, like MPC-HC will only show half the resolution.
Thanks for the kind reply, Limobar.
1. Does this work on .mts streams directly? This is way over my head, so would appreciate if you could provide full script.
2. How to select the audio track used?
3. The 3840x1080 video is to be spanned over two projectors, so hdmi 1.4a is not required. Do you know any video card that will decode this is DXVA?
Many thanks.
crl2007
14th December 2010, 12:28
1. No, it has to be re-encoded, so you have to use mkv. That is the full script for full SBS. It works on m2ts streams if you have 2 m2ts streams, but you have to re-encode the right eye, so mkv is the only way. You can use SSIFsucka or multiAVCHD, it would be much easier for you if you don't know to handle avs scripts.
2. You merge them in with mkvmerge after you demux them from your blu-ray disc.
3. Any video card that is DXVA capable. As far as I know, the only cards capable of HDMI 1.4a are from nVidia's 4xx series and above and ATI's 5xxx series and above.
Full script for half SBS:
lv = DirectShowSource("left.mkv")
rv = DirectShowSource("right.mkv")
stacked = StackHorizontal(HorizontalReduceBy2(lv), HorizontalReduceBy2(rv))
ConvertToYV12(stacked)
If you have a video that requires crop, then the script becomes:
lv = DirectShowSource("left.mkv").crop(crop values)
rv = DirectShowSource("right.mkv").crop(crop values)
stacked = StackHorizontal(HorizontalReduceBy2(lv), HorizontalReduceBy2(rv))
ConvertToYV12(stacked)
BigPines
15th December 2010, 03:26
Like rica, my right eye video is too short so it is completely useless. It is approximately 30 seconds too short for a 2 hour and 41 min film (I'm sure you can guess which film I am working with). So I am bummed. It seems there is something wrong with the 3D decoder or the x264 encoder. I'm starting to think I am going to have to look for another solution. :(
UPDATE: eac3to calculated the original length of the video to be 232607 frames. However, once the right eye is encoded, it is only 231893. This is 714 frames short. I am trying to figure out if this could have anything to do with the message from x264 indicating it sees the video as 25 fps even though I forced it to encode at 23.976.
I changed my right.avs file to the following:
LoadPlugin("H264StereoSource.dll")
H264StereoSource("decoder.cfg",232607)
AssumeFPS(23.976)
Let's hope that does the trick. It seems to be working so far. I guess I'll know for sure in approximately 14 hours. :|
Mike
rica
15th December 2010, 12:02
Mike, this code gave me 23,976 but 60 frames are missing again:
C:\H264StereoSource_a2>x264 --fps 23.976 --level 4.1 --sar 1:1 --aud -o right_new.264 out.avs
crl2007
15th December 2010, 12:20
A few frames are bound to be missing. About 2 seconds of film is acceptable to be missing.
mariner
15th December 2010, 12:21
1. No, it has to be re-encoded, so you have to use mkv. That is the full script for full SBS. It works on m2ts streams if you have 2 m2ts streams, but you have to re-encode the right eye, so mkv is the only way. You can use SSIFsucka or multiAVCHD, it would be much easier for you if you don't know to handle avs scripts.
2. You merge them in with mkvmerge after you demux them from your blu-ray disc.
3. Any video card that is DXVA capable. As far as I know, the only cards capable of HDMI 1.4a are from nVidia's 4xx series and above and ATI's 5xxx series and above.
Full script for half SBS:
lv = DirectShowSource("left.mkv")
rv = DirectShowSource("right.mkv")
stacked = StackHorizontal(HorizontalReduceBy2(lv), HorizontalReduceBy2(rv))
ConvertToYV12(stacked)
If you have a video that requires crop, then the script becomes:
lv = DirectShowSource("left.mkv").crop(crop values)
rv = DirectShowSource("right.mkv").crop(crop values)
stacked = StackHorizontal(HorizontalReduceBy2(lv), HorizontalReduceBy2(rv))
ConvertToYV12(stacked)
Thanks for the reply, crl2007.
1.The source is two complete 1920x1080/60p 28mbps h264 mts streams captures by two Panasonic hs700 camcorder, not 3DBD. A step by step guide to combine these two into a single 3840x1080/60p video would be most appreciated.
3. ATI's UVD2 found in 5 series card cannot cope with these 28mbps 60p streams in DXVA, yielding only 50fps.
While Nvidia's PV4 can deal with it, it remains unclear if it will cope with 3840x1080/60p streams. Feedback will be appreciated.
Many thanks and best regards.
crl2007
15th December 2010, 12:54
For 3840x1080 you must use Limobar's avs script. Just that instead of mkv you use m2ts. Directshowsource is capable of opening m2ts streams. Only that you will have a mkv file as a final result.
I have an nvidia 4xx series, but I never tested with 3840x1080/60p over hdmi 1.4a. I don't have a 3dtv.
rica
15th December 2010, 13:22
A few frames are bound to be missing. About 2 seconds of film is acceptable to be missing.
In my case "yes" (the film is just 45 minutes.)
invincible
15th December 2010, 16:10
A few frames are bound to be missing. About 2 seconds of film is acceptable to be missing.
You mean we alway miss some frames at the end? Can you tell me why? h264stereosource error or source error?
BigPines
15th December 2010, 16:21
A few frames are bound to be missing. About 2 seconds of film is acceptable to be missing.
Not sure about that. If it is only 2 seconds cut off the end, I agree but that is not what I am experiencing. If you have 2 seconds of video lag with your audio then that is a different story - not to mention the headaches you will get trying to watch this in 3D. I believe my video speed was increased somehow and I think it is related to the default 25 fps of the detected source.
I know the error at the end is expected but do we know what causes it? Maybe if we understood that, we would understand that it is not normal. *shrug*
Please enlighten me. :)
Mike
invincible
15th December 2010, 16:32
I think there're something wrong in cfg file and that's why it miss some frames:
DisplayDecParams = 1 # 1: Display parameters;
ConcealMode = 0 # Err Concealment(0:Off,1:Frame Copy,2:Motion Copy)
RefPOCGap = 2 # Reference POC gap (2: IPP (Default), 4: IbP / IpP)
POCGap = 2 # POC gap (2: IPP /IbP/IpP (Default), 4: IPP with frame skip = 1 etc.)
IntraProfileDeblocking = 1 # Enable Deblocking filter in intra only profiles (0=disable, 1=filter according to SPS parameters)
DecFrmNum = 0 # Number of frames to be decoded (-n)
BigPines
15th December 2010, 16:46
Yeah, I looked at that too. I noticed the DecFrmNum setting and wondered if that had anything to do with it. Not sure though because I don't really understand how it all works yet.
Mike
mariner
15th December 2010, 17:17
For 3840x1080 you must use Limobar's avs script. Just that instead of mkv you use m2ts. Directshowsource is capable of opening m2ts streams. Only that you will have a mkv file as a final result.
I have an nvidia 4xx series, but I never tested with 3840x1080/60p over hdmi 1.4a. I don't have a 3dtv.
Not working. The output was about 100KB. This is what I did:
1. Created a 3D700.avs file with following:
VideoLeft = directshowsource("D:\3D\left.mts", audio=false)
VideoRight = directshowsource("D:\3D\right.mts", audio=false)
VideoStacked = StackHorizontal(VideoRight,VideoLeft)
ConvertToYV12(VideoStacked)
2. Ran batch file
D:\3D>x264 -o 700.mkv 3d700.avs
avs [info]: 3840x1080p 0:0 @ 10000000/166833 fps (cfr)
x264 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 FastShuffle SSE4.1 Cach
e64
x264 [info]: profile High, level 5.1
x264 [info]: frame I:4 Avg QP:28.00 size: 799
x264 [info]: frame P:211 Avg QP:31.00 size: 131
x264 [info]: frame B:622 Avg QP:31.00 size: 125
x264 [info]: consecutive B-frames: 0.4% 0.2% 0.0% 99.4%
x264 [info]: mb I I16..4: 100.0% 0.0% 0.0%
x264 [info]: mb P I16..4: 0.0% 0.0% 0.0% P16..4: 0.0% 0.0% 0.0% 0.0% 0
.0% skip:100.0%
x264 [info]: mb B I16..4: 0.0% 0.0% 0.0% B16..8: 0.0% 0.0% 0.0% direct:
0.0% skip:100.0% L0:-1.$% L1:-1.$% BI:-1.$%
x264 [info]: 8x8 transform intra:0.0%
x264 [info]: coded y,uvDC,uvAC intra: 0.0% 0.0% 0.0% inter: 0.0% 0.0% 0.0%
x264 [info]: i16 v,h,dc,p: 99% 0% 1% 0%
x264 [info]: i8c dc,h,v,p: 100% 0% 0% 0%
x264 [info]: Weighted P-Frames: Y:0.0% UV:0.0%
x264 [info]: kb/s:62.07
encoded 837 frames, 34.24 fps, 62.46 kb/s
D:\3D>pause
Press any key to continue . . .
This is input file properties:
General
ID : 1 (0x1)
Complete name : D:\3D\left.mts
Format : BDAV
Format/Info : Advanced Video Codec
File size : 41.6 MiB
Duration : 13s 938ms
Overall bit rate : 25.0 Mbps
Maximum Overall bit rate : 28.0 Mbps
Video
ID : 4113 (0x1011)
Menu ID : 1 (0x1)
Format : AVC
Format/Info : Advanced Video Codec
Format profile : High@L4.2
Format settings, CABAC : Yes
Format settings, ReFrames : 4 frames
Format settings, GOP : M=3, N=30
Codec ID : 27
Duration : 13s 963ms
Bit rate mode : Variable
Bit rate : 23.6 Mbps
Maximum bit rate : 26.0 Mbps
Width : 1 920 pixels
Height : 1 080 pixels
Display aspect ratio : 16:9
Frame rate : 59.940 fps
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.190
Stream size : 39.3 MiB (95%)
Audio
ID : 4352 (0x1100)
Menu ID : 1 (0x1)
Format : AC-3
Format/Info : Audio Coding 3
Mode extension : CM (complete main)
Codec ID : 129
Duration : 14s 16ms
Bit rate mode : Constant
Bit rate : 384 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
Video delay : -34ms
Stream size : 657 KiB (2%)
Text
ID : 4608 (0x1200)
Menu ID : 1 (0x1)
Format : PGS
Codec ID : 144
Duration : 13s 449ms
Video delay : -34ms
crl2007
15th December 2010, 18:53
If you have a nvidia graphic card, please try to run your mts streams through DG Tools. But if you don't have a secondary right eye stream, the stereoscopy is useless, because you will see 2D. The right eye is slightly shifted or lowered for stereoscopy to take place.
Those frames are missed because of the decoder. The guy that made the decoder said that this is normal. We have to deal with it until something better and faster will surface. And free, of course, because with about 5000$ you can have a professional encoder/decoder. I only had 2 seconds missing from an entire movie, never had such problems as to miss more than 2 seconds from the right stream.
BigPines
15th December 2010, 19:05
This is very interesting crl2007. 2 seconds off the end I could live with as long as it doesn't cause the audio to become out of sync. Was the original frame rate of your source material 23.976?
I'll report back here how my avs change works out (hopefully tonight).
Mike
crl2007
15th December 2010, 20:19
The audio can't become oos because you use the audio from the left eye. The movies are identical until the last 2 seconds and they don't matter, because there is no audio.
Yes, my source was 23.976.
BigPines
15th December 2010, 20:25
Thanks,
That is what I wanted to know. Bottom line, the frame timing is identical until the last two seconds.
My issue was different. Maybe the --fps 23.976 switch messed it up. Well see because I didn't use it this time around.
Mike
rica
16th December 2010, 00:01
In my case "yes" (the film is just 45 minutes.)
I think i should clarify my previious post: so as to test quickly i cut the video to 164 second and i lost 2,5 second of it. (on the right video-after re-encoding)
Left was 3927 frames while right was 3867 frames. (60 frms missing)
163,85 seconds - 161,35=2,5 seconds are missing.
I'm not sure it is gonna be again 2.5 second lost for the whole movie? (for 45 minutes?)
rica
16th December 2010, 03:29
OK, fyi:
I increased the cut video lenght twice and missing frame amount didn't increase. (right 7450 frames, left 7517 frames)
And i have some weird findings.
Lets go on tomorrow evening/night. (or morning :) )
crl2007
16th December 2010, 09:09
The missing frames should be the same for the entire right eye stream.
BigPines
16th December 2010, 17:08
My second encode was missing 26 seconds. :(
I muxed the resulting file with the original audio for testing only. I realize the audio should be muxed with the left eye but I just wanted to find out if I had an audio sync issue. The interesting thing is the audio seemed to stay in sync but I was dropping frames all over the place.
At this point, I think there is something wrong with the MVC decoder we are using. I am trying it one more time without messing with the frames per second in any way to see what I get. Basically, I am going to follow the guide to a "T" but if it doesn't work, I am going to have to look for another decoder. I am a software developer and I think the error at the end is an important clue in all of this. That error is happening for a reason. I wish I understood what is going on more than I do. I wish I had the time to really dig into this.
Mike
mariner
17th December 2010, 05:22
...
I have an nvidia 4xx series, but I never tested with 3840x1080/60p over hdmi 1.4a. I don't have a 3dtv.
Greetings crl2007.
You don't need a HDMI 1.4a 3DTV to test DXVA capabilities of video cards handling 3840x1080/60p h264 streams. A simple 1.3a display device would suffice. On my HD5670/W7x86 system, it crashed.
Here are some raw Panasonic HS700 .mts sample for you to play with:
http://hdcam.web-pda.info/San%20Fran%20trolley.MTS
http://hdcam.web-pda.info/21639208%20-%20ken%20ross%2003.mts
Appreciate your taking the time to do the test.
Best regards.
crl2007
17th December 2010, 09:48
I will test them, but I'm afraid that they will be played at 1920x1080, since I don't have a monitor or TV with that resolution.
BigPines You are doing something wrong. As I said, there is no other free mvc decoder, this is the only one.
First Test - 3840 x 1920 @60p
Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : High@L4.1
Format settings, CABAC : Yes
Format settings, ReFrames : 4 frames
Codec ID : V_MPEG4/ISO/AVC
Duration : 14s 14ms
Bit rate : 50.2 Mbps
Width : 3 840 pixels
Height : 1 088 pixels
Display aspect ratio : 3.529
Frame rate : 59.940 fps
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
DXVA did not handle the file. CUDA couldn't also, because I also tested with CoreAVC 2.0. Software decoders like ffdshow and CoreAVC without CUDA can handle the file very well. But for this you need quite a powerful processor.
Test 2 - 3840 x 1920 @23.976
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : High@L4.1
Format settings, CABAC : Yes
Format settings, ReFrames : 4 frames
Codec ID : V_MPEG4/ISO/AVC
Duration : 35s 35ms
Bit rate : 20.7 Mbps
Width : 3 840 pixels
Height : 1 088 pixels
Display aspect ratio : 3.529
Frame rate : 23.976 fps
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
The same result here. DXVA and CUDA are not capable of such resolutions, but software decoders are.
Scripts Used:
For 23.976 fps
LoadPlugin("X:\DGDecodeNV.dll")
lv = DGSource("lv.dgi")
rv = DGSource("rv.dgi")
stacked = StackHorizontal(lv, rv).AssumeFPS(23.976)
ConvertToYV12(stacked)
For 60 fps
LoadPlugin("X:\DGDecodeNV.dll")
lv = DGSource("lv.dgi")
rv = DGSource("rv.dgi")
stacked = StackHorizontal(lv, rv)
ConvertToYV12(stacked)
I used DGDecNV ( an advantage of nvidia users ).
mariner
17th December 2010, 13:02
I will test them, but I'm afraid that they will be played at 1920x1080, since I don't have a monitor or TV with that resolution.
BigPines You are doing something wrong. As I said, there is no other free mvc decoder, this is the only one.
First Test - 3840 x 1920 @60p
Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : High@L4.1
Format settings, CABAC : Yes
Format settings, ReFrames : 4 frames
Codec ID : V_MPEG4/ISO/AVC
Duration : 14s 14ms
Bit rate : 50.2 Mbps
Width : 3 840 pixels
Height : 1 088 pixels
Display aspect ratio : 3.529
Frame rate : 59.940 fps
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
DXVA did not handle the file. CUDA couldn't also, because I also tested with CoreAVC 2.0. Software decoders like ffdshow and CoreAVC without CUDA can handle the file very well. But for this you need quite a powerful processor.
Test 2 - 3840 x 1920 @23.976
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : High@L4.1
Format settings, CABAC : Yes
Format settings, ReFrames : 4 frames
Codec ID : V_MPEG4/ISO/AVC
Duration : 35s 35ms
Bit rate : 20.7 Mbps
Width : 3 840 pixels
Height : 1 088 pixels
Display aspect ratio : 3.529
Frame rate : 23.976 fps
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
The same result here. DXVA and CUDA are not capable of such resolutions, but software decoders are.
Scripts Used:
For 23.976 fps
LoadPlugin("X:\DGDecodeNV.dll")
lv = DGSource("lv.dgi")
rv = DGSource("rv.dgi")
stacked = StackHorizontal(lv, rv).AssumeFPS(23.976)
ConvertToYV12(stacked)
For 60 fps
LoadPlugin("X:\DGDecodeNV.dll")
lv = DGSource("lv.dgi")
rv = DGSource("rv.dgi")
stacked = StackHorizontal(lv, rv)
ConvertToYV12(stacked)
I used DGDecNV ( an advantage of nvidia users ).
Many thanks for testing, crl2007.
1. Can we conclude VP4 engines cannot decode 3840x1080/60p or 24p streams using either DXVA or CUDA?
2. What 's the CPU requirement for software decoding of 3840x1080/60p streams?
3. Can you upload the awesome 50.2 mbps 3940x1080/60p stream?
Best regards.
crl2007
17th December 2010, 15:31
1. It seems so.
2. I have a Q9550, I don't know about other CPU's.
3. It's uploading.
BigPines
17th December 2010, 16:53
OK guys...lesson learned. Save yourselves a couple of days of messing around and just follow the dang guide. Don't try to get creative or take shortcuts to get to 23.976 fps like I did. The switches in x264 or in the .avs scripts will only bring heartache in this particular instance.
I followed the guide exactly and got exactly what crl2007 said I would get. The right eye was nearly 2 seconds shorter for 2:41:31 length film.
Thanks for your patience crl2007.
Mike
crl2007
17th December 2010, 16:56
No problem, that's why I'm here. :P
mariner http://www.sendspace.com/file/uhfxuc This is the 50 mbps 3840x1920 video.
mariner
18th December 2010, 08:46
1. It seems so.
2. I have a Q9550, I don't know about other CPU's.
3. It's uploading.
This is the 50 mbps 3840x1920 video (http://www.sendspace.com/file/uhfxuc).
1. Thanks for the awesome 50mbps video, crl2007. My Q8400 can only crawl at 50fps with 95% CPU usage.
2. What 's the i-class/AMD equivalent of the Q9550?
3. I'm using FFVideoSource but ends up with 21.4 Mbps High@L5.1 profile. How do I obtain 50.2 Mbps High@L4.1 profile? Does the 4.1 profile give better quality?
4. By the way, the Q8400 plays this video at 60fps. Does this mean the High@L5.1 profile is less demanding of the CPU?
5. What should be the script used for 1920x2160 vertical stacking? Would this produce less re-encoding artifacts?
Many thanks.
crl2007
18th December 2010, 11:17
1. You're welcome.
2. I don't know.
3. It's not the profile. The x264 settings matter.
4. You have half the bandwidth. Once again, there isn't the level.
5. The script is the same, just that you use StackVertical (). And the re-encoding artifacts depend on how well you set your x264 for that particular source.
mariner
18th December 2010, 12:24
1. You're welcome.
2. I don't know.
3. It's not the profile. The x264 settings matter.
4. You have half the fps. Once again, there isn't the level.
5. The script is the same, just that you use StackVertical (). And the re-encoding artifacts depend on how well you set your x264 for that particular source.
Many thanks for the reply, crl2007.
3. This is what I did, as suggested by sneaker_ger:
x264 --frame-packing 3 -o 700.mkv 3d700.avs
No idea what this means. What's the setting you used? And where could I learn more about it?
4. I suppose you mean the mbps, because the fps is the same at 60p.
5. Once again, any recommendation would be greatly appreciated.
Sorry of being so dense, and thanks for your patience.
crl2007
18th December 2010, 13:41
Yeah, I edited the post when I saw that I wrote fps instead of bandwidth.
5. Try and use MeGUI, because it is clear that you don't handle commandlines. I can't write commandlines for every source on the internet.
mariner
18th December 2010, 14:18
Thanks crl2007.
mariner
19th December 2010, 03:02
I will test them, but I'm afraid that they will be played at 1920x1080, since I don't have a monitor or TV with that resolution.
First Test - 3840 x 1920 @60p
Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : High@L4.1
Format settings, CABAC : Yes
Format settings, ReFrames : 4 frames
Codec ID : V_MPEG4/ISO/AVC
Duration : 14s 14ms
Bit rate : 50.2 Mbps
Width : 3 840 pixels
Height : 1 088 pixels
Display aspect ratio : 3.529
Frame rate : 59.940 fps
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
DXVA did not handle the file. CUDA couldn't also, because I also tested with CoreAVC 2.0. Software decoders like ffdshow and CoreAVC without CUDA can handle the file very well. But for this you need quite a powerful processor.
Greetings crl2007. Sorry to trouble you again.
Did a quick test on 1920x2160/60p top/bottom vertical stacking with the following:
1. Arcsoft: struggled in DXVA but did not crash
2. Cyberlink: only played in software mode.
Could you test it with your VP4 card? Perhaps it will handle top/bottom vertical stacking fine in DXVA.
Many thanks.
Name: 700_v17.mkv
Size: 112.13MB
Description: 1920x2160/60p 3D Top/Bottom
http://www.sendspace.com/file/x0fr5l
rica
21st December 2010, 23:48
The missing frames should be the same for the entire right eye stream.
Confirmed.
For entire movie, 60 frames are missing too.
Do you advise me any avisynth script for filling those missing frames? (just as empty frames i mean)
crl2007
22nd December 2010, 10:46
mariner I will test it.
rica I already explained that this is normal behaviour for the mvc decoder. It has absolutely 0 impact on the video, because those 60 frames ( aprox. 2 seconds ) are black screen.
LE: I tested that sample and it's the same situation as for 3840x1080. Arcsoft plays it, but it does not use DXVA, it uses cpu. I haven't made it m2ts, but I think the result will be the same.
invincible
22nd December 2010, 15:10
Some movie 2 seconds at the end is not black screen. Can you find a newer patch of h264stereo?
rica
22nd December 2010, 22:35
mariner rica I already explained that this is normal behaviour for the mvc decoder. It has absolutely 0 impact on the video, because those 60 frames ( aprox. 2 seconds ) are black screen.
I know but i need that script (added 60 blank frames) for using re-encoded video in further processing. (in MainConcept MVC encoder.)
It needs to see exactly the same frame numbers on both videos.
mariner
23rd December 2010, 07:17
mariner I will test it.
LE: I tested that sample and it's the same situation as for 3840x1080. Arcsoft plays it, but it does not use DXVA, it uses cpu. I haven't made it m2ts, but I think the result will be the same.
This is interesting. What about other decoders, eg MS, MPC?
Thanks for testing.
crl2007
23rd December 2010, 20:57
Tested with all. It's the same, DXVA and CUDA can't handle such resolutions.
rica
24th December 2010, 00:17
Tested with all. It's the same, DXVA and CUDA can't handle such resolutions.
Confirmed before; only TMT5 in SW mode...
mariner
24th December 2010, 02:03
Tested with all. It's the same, DXVA and CUDA can't handle such resolutions.
Confirmed before; only TMT5 in SW mode...
Thanks to crl2007 and rica for testing and confirming PV4 cannot handle 3840x1080 and 1920x2160 in DXVA.
Will check if UVD3 can handle this.
Best regards.
crl2007
24th December 2010, 09:04
I don't think that the PV4 or UVD3 can handle this. Maybe with an update in the drivers should do the trick. For BD3D it works, but for mkv it does not.
mariner
24th December 2010, 13:01
Known weakness of UVD3 architecture?
crl2007
24th December 2010, 14:10
No, but they are based on the same principle. They are meant for bd3d, just that AMD has a rather poor support.
mariner
24th December 2010, 14:26
That's true, but was rather surprised my uvd2 did not crash when decoding 1920x2160 in dxva using arcsoft.
crl2007
24th December 2010, 14:31
Are you sure it was dxva ? Did you check cpu usage when the movie was playing ?
mariner
24th December 2010, 16:41
...
Did a quick test on 1920x2160/60p top/bottom vertical stacking with the following:
1. Arcsoft: struggled in DXVA but did not crash
...
------------------
crl2007
24th December 2010, 16:53
Use a image hosting site such as imageshack or tinypic. It takes ages for an attachment to be approved.
What TMT did you use ? I tested on TMT 5. I will test again on 3.
LE: The same with 3.
mariner
24th December 2010, 17:15
TMT5.
Black screen with MS and MPC.
crl2007
24th December 2010, 17:36
You are completely sure that tmt 5 used dxva and not software decoders ? Load the movie and then press settings and information. You will see there if it says Hardware Acceleration: False or 2.0. If it is 2.0 then it works.
bayex
24th December 2010, 19:06
http://pic.phyrefile.com/r/ra/rabomil/2010/11/11/94660left_encode_001.png
Why can you make crop?so this encode has to bad crop?
crl2007
24th December 2010, 20:13
You can crop, of course. But you have there Avatar, a movie that is 16:9. You have nothing to crop.
bayex
24th December 2010, 20:29
In fact, it necessary to discuss this issue with friends can be made unnecessaryDid he diye.Crop Is he the bad crop
crl2007
24th December 2010, 20:36
Yeah... I can't understand a word you're saying.
mariner
25th December 2010, 02:16
Even PotPlayer's built-in decoder works, uh, in slow motion.
http://img842.imageshack.us/img842/9886/1920x2160arcsoftdxva.jpg
http://i53.tinypic.com/1izm95.jpg
crl2007
25th December 2010, 02:25
You should have said that with the arcsoft decoder only, not with TotalMedia Theatre. I will try with this too and report back.
mariner
25th December 2010, 02:39
Apologies. The word decoder was somehow left out.
BTW, TMT3 did not crash in DXVA, but struggled as expected.
micha019
30th December 2010, 12:06
Hello,
can someone help me to build "1" mkv with a 3d sbs video?
With the tutorial at the first page, it creates 2 mkvs, so for that, I need a special player.
I need a guide to make one MKV, like dvdfab does.
Please help.
crl2007
30th December 2010, 13:27
Read on the other page and you will find a script.
eummagic
31st December 2010, 13:22
Hi,
Thanks for this excellent guide.
I have 3D Left and Right files (two separate files), now I want to convert to 3D Anaglyph (single file) of either Red/Cyan or Green/Magenta.
Is this possible and how?
Thanks in advance!
crl2007
31st December 2010, 14:28
Yes it is possible. http://www.pantarheon.org/AviSynth3DToolbox/
BigPines
6th January 2011, 18:26
crl2007,
I thought you may be interested in this free MVC encoder: http://iphome.hhi.de/suehring/tml/
Mike
crl2007
6th January 2011, 19:41
I see only AVC, not MVC.
BigPines
6th January 2011, 20:23
I see only AVC, not MVC.
So did I at first. If you look at the release notes https://ipbt.hhi.fraunhofer.de/mantis/main_page.php you will see "The most notable change is probably support for MVC stereo high profile."
Mike
crl2007
9th January 2011, 13:25
Did you test it ? Unfortunately I don't have the time.
BigPines
10th January 2011, 16:45
Did you test it ? Unfortunately I don't have the time.
Not yet. I don't really know how.
Right now, I am pursuing Frame Sequential 3D encoding with x264. If that doesn't prove workable, I will probably look into this MVC encoder.
Mike
micha019
16th January 2011, 09:45
Which Srt files do accept 3DSubtitler?
I done one with Suprip and also one with Supread for testing.
But 3DSubtitler always says: Invaild SRT File.
crl2007
16th January 2011, 10:31
ANSI. The ones resulted with those 2 programs are Unicode.
rica
30th January 2011, 00:07
Any new version of MVC decoder?
crl2007
30th January 2011, 00:22
Unfortunately no.
rica
30th January 2011, 00:37
OK, thanks.
dokworm
5th February 2011, 20:27
Is there any way to go from a 3DBD to field sequential (interlaced) 3D?
I want to make an AVCHD disc that I could put in a bluray player and use my old-school 3D glasses and controllers.
They require a field sequential video stream, e.g. 1920x1080
with the left eye view on odd fields and the right eye view on even fields.
rica
6th February 2011, 02:09
Is there any way to go from a 3DBD to field sequential (interlaced) 3D?
I want to make an AVCHD disc that I could put in a bluray player and use my old-school 3D glasses and controllers.
They require a field sequential video stream, e.g. 1920x1080
with the left eye view on odd fields and the right eye view on even fields.
X264 help says:
- 2: row alternation - L and R are interlaced by row
So the code will be:
x264 --blabla --frame-packing 2
But not sure what exactly avisynth script needs:
iinterleave(lv,rv) or
interlace(lv,rv)
see also:
http://forum.doom9.org/showpost.php?p=1471971&postcount=300
and:
http://forum.doom9.org/showpost.php?p=1471898&postcount=295
Hope, coders would help us on avs.
_ _ _ _
rica
7th February 2011, 22:42
Dear coders,
what ine is true?
referring to above post.
Limobar
24th April 2011, 15:36
Does anybody here have successfully used frame sequential encoding? It's the most efficient way to encode 3D.
I've tried it several times with different versions of the H264StereoSource.dll decoder and several different sources. The result appears to be like it should, but around 53 minutes in the encode the video suddenly starts to jump. A fellow encoder confirmed my results and only uses it for encodes shorter than 53 minutes.
I tried a workaround, by cutting the encode in half, but that doesn't work either, because "right.h264" doesn't have some sort of time stamps, so I cannot use the 'trim' command in Avisynth. I also cannot remux "right.h264" to a format that gives it time stamps.
What are your experiences with frame sequential encoding?
crl2007
25th April 2011, 06:58
Didn't try it myself, but from encoders reports it results the same behavior as yours.
Lately i haven't been able to work with H264StereoSource.dll. Aviscript doesn't work.
Is this my system's issue or one of those MS's jokes?
Any feedback will be appreciated.
Lately i haven't been able to work with H264StereoSource.dll. Aviscript doesn't work.
Is this my system's issue or one of those MS's jokes?
Any feedback will be appreciated.
I got it; i'm living issues with "Tron Legacy 3D".
Something does not allow me to decode right eye with H264StereoSource.dll.
Anybody else?
crl2007
7th June 2011, 00:48
Try SSIFsucka! if you can't manage to make it work through avisynth. The software is based on h264stereosource.dll too. Try and get Beta3. RC2 has a few annoying bugs that beta3 doesn't.
In this case, i think 3DBD.net Beta is much better than SSIFSucka. But i am still wondeirng why i can not get it with avisynth?
crl2007
8th June 2011, 06:02
Maybe you don't have the correct avisynth or maybe the paths are wrong. I never had this problem. Maybe a re-install of avisynth will do it.
rica
19th June 2011, 00:22
Maybe you don't have the correct avisynth or maybe the paths are wrong. I never had this problem. Maybe a re-install of avisynth will do it.
OK, i reorganised my PC and it works. Thanks.
rica
27th June 2011, 22:35
Lately i've been awared i don't need to re-encode left.h264 for making SBS 3Ds.
I use Stereoscopic Player to play SBS 3D files and SP can play avs files.
So here is the way i follow:
1) Extracting left.h264, right.h264 and audio via eac3to.
2) Remuxing left.h264 and audio into an m2ts or mkv container via TSMuxer or MKVMergeGui without re-encoding.
3) Re-encoding right.h264 to right.264 and remuxing it to m2ts or mkv container.
For this i used a similar avs:
LoadPlugin("H264StereoSource.dll")
H264StereoSource("decoder.cfg",180027)
[4) Here is the aviscrypt to play with SP:
vidL=DirectshowSource("C:\3D-ex\left.m2ts",audio=true)
vidR=DirectshowSource("C:\3D-ex\right.m2ts",audio=false)
StackHorizontal(vidL, vidR)
_ _ _ _ _
Movieslut
2nd July 2011, 17:47
On page 1 of this thread it is said that you can now select from multiavchd more 3D modes.
Where can I find this option??
On page 1 of this thread it is said that you can now select from multiavchd more 3D modes.
Where can I find this option??
Here you are:
Important Update: You can now select from multiavchd more 3D modes ( green/magenta, top/bottom, left/right etc ). All you have to do is to set your mode before adding a playlist. The same steps as for anaglyph are used here too.
http://thumbnails30.imagebam.com/8645/5f2e0486440654.jpg (http://www.imagebam.com/image/5f2e0486440654)
Movieslut
3rd July 2011, 00:09
Thanks
frencher
16th December 2011, 14:30
Hi all,
H264StereoSource.dll Don't decode all right stream..
Left & Right = 466 frames
Code error at 444 frames / 466:
PicParset 1 references an invalid (uninitialized) Sequence Parameter Set with ID 1, expect the unexpected...
An unintentional loss of pictures occurs! Exit
A gap in frame number is found, try to fill it.
Where find H264StereoSource.dll to work ?
Where find the latest update compiled of H264StereoSource.dll + source code ?
crl2007
16th December 2011, 16:47
That's normal. There's no bug, that's just the way it is. I trim the last 50 frames in my avisynth scripts and that error does not come up anymore. You'll lose 2-3 seconds from the end.
frencher
16th December 2011, 16:50
Hi clr2007,
ldecod.exe work to 466 frames without problem
ldecod.exe = (H264StereoSource.dll Avisynth)
crl2007
16th December 2011, 16:55
It doesn't output that error, but if you check, you'll see that you are missing 2-3 seconds from the end. ldecod already trims 50-60 frames from the end.
frencher
16th December 2011, 17:16
ldecod already trims 50-60 frames from the end.
Read your message ;)
crl2007
16th December 2011, 20:45
I took your sample. As I said, ldecod is using H264StereoSource tweaked. Every software that you use is doing the same thing, trimming 2-3 seconds at the end. There is no other H264StereoSource.dll available. Maybe in the future, when it will be possible to edit 3D BD, we will have a faster and better decoder.
frencher
17th December 2011, 00:26
It already exists (stereoscopic player) with CoreAVCDecoder.dll but is not free right what I find a shame.
The only one who convinced me as in my example is that on my config ldecod.exe gives me almost more than 0.5 fps (H264StereoSource.dll with avisynth) and completes the conversion of all my MVC tracks with an average of 4,5 fps with a Q9550 @ 3,4 Ghz & x264_x64.exe and Windows 7.
Strongly an MVC plugin free and fast ;)
slavanap
12th January 2012, 02:29
How did make ldecod.exe to parse two input streams (left.h264 & right.h264)? How did you combine them?
Thank you in advance.
frencher
12th January 2012, 05:47
Hello Slavanap,
This is actually my current project I'm working with him, but now only a dll of WarpEnterprises (RawSource.dll (http://avisynth.org/warpenterprises)) compiled with support pipes is able to recover the two flows (left & right) in an Avisynth script, but the big problem lies in the stability of receipt or processing of images stream by jumping or flashing.
I actually contacted WarpEnterprises and for 3 or 4 private messages I have not heard since the compiled version in the base plugin does not support pipes for receiving two streams RAW.
If another solution to decode really 100% 2 flow I'm interested (H264StereoSource.dll) skip the end of streams.
Cordially.
frencher
15th January 2012, 12:19
Hi slavanap,
Here's my demo that uses the pipe
Demo (http://www.mediafire.com/?7g33cnlagpkbzyl)
Thank you for fix :)
damorsoft
17th January 2012, 22:34
I have been reading this post and have a 1/2 SBS working fine. Would like to interleave?? the final mkv with one frame from left.mkv then one frame from right.mkv and so on and so on...
would this replicate a 3dbluray disc? Anyhow any ideas on the synth file for x264 that would maybe accomplish this. The output mkv would be a full 1080p.
One final thing when the 1/2 sbs.avs file(sample.avs) runs the dts audio is missing and requires another pass with mkvmerge to get the sound.. even tho the left.mkv has audio..
-lv = DirectShowSource("left.mkv")
-rv = DirectShowSource("right.mkv")
-stacked = StackHorizontal(HorizontalReduceBy2(lv), HorizontalReduceBy2(rv))
-ConvertToYV12(stacked)
-SBS.cmd = c:\x264 --frame-packing 3 -o 3DSBS.mkv SBS.avs
THanks
damorsoft
22nd January 2012, 05:22
That's normal. There's no bug, that's just the way it is. I trim the last 50 frames in my avisynth scripts and that error does not come up anymore. You'll lose 2-3 seconds from the end.
Dumb question maybe, but how do you trim the last 50 frames. Is it a trim command or do you just subtract 50 from the eac3to value?
Thanks
crl2007
22nd January 2012, 08:56
I do it like this:
frames=number of frames from eac3to
.
.
.
H264StereoSource("decoder.cfg", frames-50)
frencher
22nd January 2012, 12:20
Dumb question maybe, but how do you trim the last 50 frames. Is it a trim command or do you just subtract 50 from the eac3to value?
Thanks
Not needed with ldecod is the only one to finish all the work :cool:
crl2007
22nd January 2012, 18:19
Yeah, sacrifice quality for 2 seconds of black screen trimmed from the end credits. Great work.
l.e. Don't get me wrong, but I don't like how ldecod outputs. That's why I don't use any automated software, I like to do it manually. If you and/or someone else likes it, it's ok, but it's not right to preach it everywhere.
There are softwares like 3DBDBuster and SSIFsucka that can output to the finish and it's a lot easier than using ldecod.
frencher
22nd January 2012, 19:48
3DBDBuster works with ldecodp and am sorry I do not preach everywhere.
I'm on this forum to advance in my work, share and work in order to provide free software quality
damorsoft
2nd February 2012, 00:35
I do it like this:
frames=number of frames from eac3to
.
.
.
H264StereoSource("decoder.cfg", frames-50)
Played with this for days and found that -12 works every time I tried it.
I got to agree with you on the more automated stuff, it is nice to get your fingers dirty playing around inside these routines.
Still I would like to open the right eye delta and cut the file in half, along with left eye and spread over 2 BD-Rs. Sort of like a BD3d shrink...
mini-moose
21st February 2012, 11:37
I've been trying to do as suggested but I'm stuck at the reencoding right.h264 as avisyth refuses to load H264StereoSource.dll. I'm not new to avisynth, it just won't load it for me (using 2.5.8).
Penecho
21st February 2012, 13:29
So let me get that straight, if i want to do a SBS 3D 1080p x264 .mkv file that i can play on my Samsung TV, i need to:
1. demux the right eye + left eye stream + audio
2. put this in my avs file:
LoadPlugin("H264StereoSource.dll")
H264StereoSource("decoder.cfg",time from eac3to)
VideoLeft = directshowsource("D:\3D\left.m2ts", audio=false)
VideoRight = directshowsource("D:\3D\right.m2ts", audio=false)
VideoStacked = StackHorizontal(VideoRight,VideoLeft)
ConvertToYV12(VideoStacked)
#together with my
Spline36Resize(whatever)
crop(whatever)
and then just run x264.exe in commandline as i would with a non 3D 1080p x264 ?
r0lZ
4th March 2012, 14:47
I did a 1-pass encode with a script similar to this:
LoadPlugin("DGAVCDecode.dll")
LoadPlugin("H264StereoSource.dll")
sidebyside = true
left = AVCSource("left.dga").KillAudio()
try {
right = H264StereoSource("decoder.cfg", left.FrameCount()).KillAudio()
}
catch(err_msg) {
right = left
}
clip = (sidebyside) ? StackHorizontal(left, right) : StackVertical(left, right)
clip = LanczosResize(left.Width(), left.Height())
return(clip)
The Try/Catch part of the script is an attempt to avoid the problem of the missing last frames bug of H264StereoSource. If the try instruction is able to catch the missing frames, the left stream should be used for both eyes during the last seconds of the clip. But I'm not sure it works, as I haven't tested it. I don't want to launch again an extremely slow encoding just to check it.
Unfortunately, H264StereoSource() is extremely unstable (at least under my Win7 x64), and it crashes if you're attempting to seek to any frame after a few seconds from the beginning. That means that it is not possible to render the avs script with a player (even with AvsP) to verify or debug it. But the script works fine if you encode the frames normally, one at a time, from the beginning.
Of course, this script is not suitable if you want to encode it in several passes, as each pass will be extremely slow.
crl2007
5th March 2012, 13:49
If you use frames-12 as damorsoft suggested, then you're fine. I've tested with several movies and it goes to the end with the encode without clipping 2-3 seconds from the credits.
r0lZ
5th March 2012, 14:07
Sorry, but it's not always true. I've just ripped Toy Story 2, and there are 73 missing frames at the end: just more than 3 seconds. Enough to cut the Pixar logo in the middle. I don't like that!
Anyway, I would like to find a way to replace the missing frames with the left eye frames, but unfortunately, the try/catch method doesn't work: H264StereoSource outputs its error message to the console, but after that it doesn't stop, but hangs, and the avs script is blocked and of course doesn't catch the error. I have had to kill it.
The trim method should work fine if you trim enough frames. But unfortunately, you have to decode the whole movie from the beginning to know the exact number of frames, and, as you know, it's damn slow! Pity!
crl2007
5th March 2012, 18:31
As I said, I always used in my script
frames=number of frames from eac3to
.
.
.
H264StereoSource("decoder.cfg", frames-50)
but damorsoft tested and suggested frames-12 and it works with just 12 frames trimmed. And it works, because I've already tested with Transformers: DOTM 3D BD, Puss in Boots and Immortals. I'm ripping them for my personal collection and the duration is the same.
r0lZ
5th March 2012, 18:45
I haven't said that -12 frames cannot work, but I know now that it's not always enough.
My script uses the number of frames of the left eye, that was always identical to the output of eac3to in all my tests, but it's not the problem here. I would like a way to precisely determine the number of missing frames, before starting to encode, to use as many original frames as possible and to switch to the left eye when necessary. Unfortunately, I think it's not possible.
crl2007
5th March 2012, 19:11
Those frames aren't missing from the right eye. H264StereoSource can't finish the job with all the left frames and so you have to subtract some frames so that x264 doesn't spit an error. -50 and -12 worked all the time.
r0lZ
5th March 2012, 19:24
Those frames aren't missing from the right eye. H264StereoSource can't finish the job with all the left frames and so you have to subtract some frames so that x264 doesn't spit an error.
I know that. It's the subject of all my posts here.
-50 and -12 worked all the time.
For you, but not for me. As I have said, I must trim 73 frames to encode Toy Story 2 without the error. The problem is here: that number seems totally unpredictable. I wonder what is causing that bug.
slavanap
5th March 2012, 21:14
Hi slavanap,
Here's my demo that uses the pipe
Demo (http://www.mediafire.com/?7g33cnlagpkbzyl)
Thank you for fix :)
Thank you!
The main problem for me now is that alex's ldecod mod crushes at huge blu-ray movies. (H264StereoSource.dll avisynth plugin in that case don't crush, but make green screen frame.) So, untill we get alex's mod source code and/or new stable version this solution seems not reliable for me. :(
crl2007
5th March 2012, 21:20
What do you mean by huge blu-ray movies ?
frencher
5th March 2012, 23:48
Sorry, but it's not always true. I've just ripped Toy Story 2, and there are 73 missing frames at the end: just more than 3 seconds. Enough to cut the Pixar logo in the middle. I don't like that!
Anyway, I would like to find a way to replace the missing frames with the left eye frames, but unfortunately, the try/catch method doesn't work: H264StereoSource outputs its error message to the console, but after that it doesn't stop, but hangs, and the avs script is blocked and of course doesn't catch the error. I have had to kill it.
The trim method should work fine if you trim enough frames. But unfortunately, you have to decode the whole movie from the beginning to know the exact number of frames, and, as you know, it's damn slow! Pity!
Try with ldecod :rolleyes:
0% failure with my method and nothing is missing at the end :cool:
Sorry for speed ldecod uses only one thread so it is slow
r0lZ
6th March 2012, 00:40
Where can I find the stable ldecod.exe? I've searched everywhere, but each time a download link is provided, it is dead. :-(
crl2007
6th March 2012, 00:48
@frencher Please share with us.
frencher
6th March 2012, 05:59
Hi,
Unrar ldecod 17.2 alexpk mod.rar (http://www.mediafire.com/?4no7xo1mynto1xb)
Just add your left.264 & right.264 into the folder
Launch 0 - RUN.cmd
The output file is right.mkv
For more than 100 different tests: 0 frame skipped
Into 0 - RUN.cmd
Change fps if different
If you can specify the number of images add --frames 12345 (12345) is the total frames of your video ;)
If you have 64 Windows OS change x264_x86.exe by x264_x64.exe
If you have quad core use --threads 3 (4-1=3) 1 = for ldecod.exe
http://i44.tinypic.com/2myzomb.png
crl2007
6th March 2012, 08:38
Thanks. But I still don't know what slavanap means by huge blurays. 2-3 hours duration ?
r0lZ
6th March 2012, 10:50
Thanks!
I will do a new encode of the same Toy Story 2. I'll report here if the 73 frames are still missing. But I need some time. I have deleted the original streams, and I have to re-rip them again, and free some room on my hdd...
crl2007
6th March 2012, 15:21
@frencher Is there a site where you keep ldecod up to date with your mods ?
@r0lZ I'll wait for you to test it with Toy Story 2 and tell us if it's ok to migrate from h264stereosource.dll and avisynth.
r0lZ
6th March 2012, 15:35
@r0lZ I'll wait for you to test it with Toy Story 2 and tell us if it's ok to migrate from h264stereosource.dll and avisynth.
I'm currently encoding the right view with your method. So far so good, but only 30% complete after 3,5 hours (and 22.5 GB of disc space). It would be nice to improve its speed, and to find a way to pass the output directly to Avisynth, to encode both eyes with a single encoder pass. ;-)
frencher
7th March 2012, 06:31
@r0lZ
I chose a lossless encoding setting (--qp 0) in my CMD command to preserve the quality of the right video.
@crl2007
I'm sorry but I am not the developer of ldecod, it is true that a version as stable as ldecod and decodes all the images in avisynth will be more than welcome
r0lZ
7th March 2012, 11:21
I can confirm that the version you gave here (link in post #244) works well: it has decoded all frames of Toy Story 2.
However, there is still a problem. The batch never stops. When the decode is finished, a meaningful message is printed, but the next command in the batch is never executed. (I have added the "echo %time%" and "pause" commands to be able to precisely measure the time it took to decode the whole movie, but they were never executed.) I had to ^c to kill the decoder. It's a pity, as that problem will prevent to use the method in a fully automated way, as there is no way to know from a batch that the decode is finished.
@r0lZ
I chose a lossless encoding setting (--qp 0) in my CMD command to preserve the quality of the right video.
I've understood that, and it's not a bad idea of course, but it would be nice to frameserve the right view directly to avisynth, without having to write that very big file to disc.
Also, I have a problem with the next step. How do you actually encode the final side-by-side video?
I haven't been able to open the decoded right-eye stream in avisynth. If I use DirectShowSource to open the mkv, it seems that the whole file must be parsed by the decoder (probably to count the number of frames, but I'm not sure). After 2 minutes or so, the decoder returns a timeout error. (I have tried to play with the timeout argument of DirectShowSource but without success.)
I have also tried to extract the h264 elementary stream (it took a long time!) to pre-process it with DGAVCIndex and to open the dga file with DGAVCSource, but DGAVCIndex outputs this error:
PicParset 0 references an invalid (uninitialized) Sequence Parameter Set with ID 0, expect the unexpected...
However, it seems to work just fine, and (again after a long time) it has found the right number of frames. But opening the dga file with avisynth doesn't work. StackHorizontal complains because the image heights don't match. :confused:
So, I can now play the right eye mkv with MPCHC, but I can't encode the final video. What am I missing?
r0lZ
7th March 2012, 15:30
I've finally been able to launch the final encode, but I have had to convert the right.mkv file to avi with VirtualDub. Yet another very long and space consuming process, but at least now, both video streams are correctly recognized by avisynth, and they are in perfect sync, without missing frames at the end.
I think the right-encode script will be much more useful if it converts the right view directly to avi, or perhaps to h264 elementary stream. I don't see any good reason to output to mkv, especially given the numerous problems of DirectShowSource with avisynth.
Anyway, the method works, but it requires much disc space, it is very slow, and it cannot be completely automated due to the "batch not quitting" bug reported in my previous post. It was fun for me to put the pieces together, but IMO that method is not really suitable to encode a lot of 3D movies. I have currently only one 3D BD, but I think I will buy another one. I'll report here any additional problem I may have...
Thanks to everybody for showing me the right way to accomplish a 3D encode with free tools. :-)
crl2007
7th March 2012, 16:13
Just put another x264 command in the cmd, if you used ldecod. Use crf. I usually use crf 17 when it's a movie with lots of effects and action and 20-21 if it's a normal movie.
r0lZ
7th March 2012, 17:24
It's what I did for my first encode (with crf 16). It worked well, indeed. But why is it not possible to open in avisynth the video produced by the same encoder with different parameters, and in a mkv container? Why is it necessary to put it in an avi container? I would like to understand.
frencher
7th March 2012, 19:15
Hi
Fixed All in one ldecod + sbs :cool:
Download => All in One - ldecod 17.2 alexpk mod.rar (http://www.mediafire.com/?cjpdqqd9squt6iq)
I works free software AVCHD Shrink :goodpost: ?
crl2007
8th March 2012, 10:11
It's what I did for my first encode (with crf 16). It worked well, indeed. But why is it not possible to open in avisynth the video produced by the same encoder with different parameters, and in a mkv container? Why is it necessary to put it in an avi container? I would like to understand.
Maybe because it is too much for your HDD to handle as an mkv at that lossless bitrate. It's just an opinion.
@frencher This is the avisynth script that I use for half sbs:
# Movie Frames
frames=
#Plugin
loadplugin("3dtools\H264StereoSource.dll")
# Left Eye Stream Path
left = directshowsource("working_folder\temp\left.mkv",audio=false)
# Right Eye Stream + Resize for Half-SBS
rv = H264StereoSource("3dtools\decoder.cfg", frames-12)
rv = Spline64Resize(rv, width(rv)/2, height(rv))
#Left Eye Stream + Resize for Half-SBS
lv = left
lv = Spline64Resize(lv, width(lv)/2, height(lv))
# Stack
sbs = stackhorizontal(lv,rv)
ConvertToYV12(sbs)
I think that it's best to resize each stream individually.
frencher
8th March 2012, 21:16
I use the script provided in my example, allow for atenuation grain on the video
crl2007
9th March 2012, 17:11
I personally consider that it's best to keep the grain as is. It helps on larger resolutions. And it keeps more detail.
slavanap
13th March 2012, 22:47
crl2007
What do you mean by huge blu-ray movies ?
Sorry, I was wrong about that.
I've tried used mplayer instead eac3to for streams' dumping. And it didn't ignore SEI messages like eac3to do.
Here is my solution based on your way to decode mvc, that uses pipes, too.
http://sendfile.su/548123 (note, I've changed eac2to.exe a little to make it to support pipes.)
The main remaining problem, I think, is decoding speed.
Reference decoder is VERY slow, comparing with CoreAVC decoder in StereoScopic player.
Can anybody teach me how DirectShow works? I'm sure that StereoScopic player also uses it.
frencher
14th March 2012, 00:28
crl2007
Sorry, I was wrong about that.
I've tried used mplayer instead eac3to for streams' dumping. And it didn't ignore SEI messages like eac3to do.
Here is my solution based on your way to decode mvc, that uses pipes, too.
http://sendfile.su/548123 (note, I've changed eac2to.exe a little to make it to support pipes.)
The main remaining problem, I think, is decoding speed.
Reference decoder is VERY slow, comparing with CoreAVC decoder in StereoScopic player.
Can anybody teach me how DirectShow works? I'm sure that StereoScopic player also uses it.
Very good works :thanks:
Can I use your ssifSource process in my application that will be 100% free of course.
For increase speed up the decoding should make ldecod multitread ...
I think rather than stereoscopic player uses its internal codec and directshow refers to but I could be wrong.
Works on preview only with directshow, error with my command line ? :scared:
pipebuf.exe avs2yuv.exe test.avs - : x264_x64.exe --qp 0 --preset ultrafast --threads auto --frames 100000 --stdin y4m --output S_B_S.mkv - : 2
I have this error log:
test.avs: 3840x1080, 25 fps, 100000 frames
converting RGB -> YV12
y4m [info]: 3840x1080p 0:0 @ 25/1 fps (cfr)
x264 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 FastShuffle SSE4.1 Cache64
x264 [info]: profile High 4:4:4 Predictive, level 5.0, bit depth 8
y4m [error]: bad header magic (2d2d2d2d <=> -----)
y4m [error]: bad header magic (2d2d2d2d <=> -----)
Output error: wrote only 3685495 of 6220800 bytes
write_out_picture: error writing to YUV file
Have you idea for fix it ? :thanks:
r0lZ
14th March 2012, 03:20
Good work indeed, slavanap!
I suggest to add an option to place the two views side by side instead of stacked vertically. That will simplify and speed up the avs script to do a side by side conversion.
Also, I wonder what's the fastest way to accurately count the number of frames in a ssif file (or in its corresponding m2ts file). Currently, I use DGAVCIndex, but it is damn slow, and I don't need its output files. Someone has an idea?
crl2007
14th March 2012, 07:21
I don't know any method that doesn't require too much time to analyze. But given the fact that you have to demux the h264 streams, I think that eac3to is the best solution.
frencher
14th March 2012, 14:32
@r0lZ
XXXXX is the total frames :rolleyes:
eac3to v3.24
command line: "F:\eac3to\eac3to.exe" -progressnumbers "E:\BDMV\PLAYLIST\00001.mpls" 03: "F:\03 aid 01 4354 AC3 French 5.1 640kbps 48kHz.ac3"
------------------------------------------------------------------------------
M2TS, 1 video track, 1 audio track, 0:21:34, 30p /1.001
1: Chapters, 3 chapters
2: h264/AVC, 1080p30 /1.001 (16:9)
3: AC3, French, 5.1 channels, 640kbps, 48kHz
[a03] Extracting audio track number 6...
[a03] Creating file "F:\03 aid 01 4354 AC3 French 5.1 640kbps 48kHz.ac3"...
Video track 2 contains XXXXX frames.
eac3to processing took 1 minutes, 24 seconds.
Done.
@slavanap
Why use ldecod_mod.exe ?
ldecod.exe with pipe works well have you heard of RawSource.dll ?
ssifSource.dll is on the same basis as RawSource.dll
http://i40.tinypic.com/35a96is.png
slavanap
14th March 2012, 14:57
Very good works :thanks:
Can I use your ssifSource process in my application that will be 100% free of course.
Ok. We are for the FREE soft! :)
For increase speed up the decoding should make ldecod multitread ...
I'm not quite good in decoding algorithm to make it parallel. Moreover, we don't have source code of ldecod alexpk's mod, that uses only one thread for decoding.
I think rather than stereoscopic player uses its internal codec and directshow refers to but I could be wrong.
No, StereoScopic player uses DirectShow version of CoreAVC codec, but this codec does not register itself in the system to allow use it in any program.
Works on preview only with directshow, error with my command line ? :scared:
pipebuf.exe avs2yuv.exe test.avs - : x264_x64.exe --qp 0 --preset ultrafast --threads auto --frames 100000 --stdin y4m --output S_B_S.mkv - : 2
I have this error log:
test.avs: 3840x1080, 25 fps, 100000 frames
converting RGB -> YV12
y4m [info]: 3840x1080p 0:0 @ 25/1 fps (cfr)
x264 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 FastShuffle SSE4.1 Cache64
x264 [info]: profile High 4:4:4 Predictive, level 5.0, bit depth 8
y4m [error]: bad header magic (2d2d2d2d <=> -----)
y4m [error]: bad header magic (2d2d2d2d <=> -----)
Output error: wrote only 3685495 of 6220800 bytes
write_out_picture: error writing to YUV file
Have you idea for fix it ? :thanks:
I use that command line and it works fine for me:
x264.exe --crf 17 --preset slower --fps 24000/1001 test.avs --output result.mkv
Note that ConvertToRGB is not necessary for convertion, ssifSource output is 25fps I420 video.
P.S. Also you can make anaglyph video with this plugin.
slavanap
14th March 2012, 15:08
@slavanap
Why use ldecod_mod.exe ?
ldecod.exe with pipe works well have you heard of RawSource.dll ?
ssifSource.dll is on the same basis as RawSource.dll
http://i40.tinypic.com/35a96is.png
ldecod_mod.exe is alexpk's modification of the reference decoder (Your ldecod.exe). And ldecod.exe is that reference decoder.
the first one is used to decode right view and the second - for the left one. That way I get two views.
ldecod.exe with pipe works well
yes, I know. Comparing with your solution that version also uses pipes for eac3to output and it is an AviSynth plugin :)
have you heard of RawSource.dll ?
Yes, but it does not support pipes.
ssifSource.dll is on the same basis as RawSource.dll
No, but it is also an AviSynth plugin.
slavanap
14th March 2012, 15:09
Good work indeed, slavanap!
I suggest to add an option to place the two views side by side instead of stacked vertically. That will simplify and speed up the avs script to do a side by side conversion.
The vertical stack performs faster that horizontal because of faster memory operations.
Hope, I'll have much time to add that functionality.
frencher
14th March 2012, 15:13
There is a version that supports compiled RawSource.dll pipes but has some problems but the process of pipe work
r0lZ
14th March 2012, 15:15
@r0lZ
XXXXX is the total frames :rolleyes:
I know that, but the solution uploaded by slavanap doesn't require to demux the streams first. It works well by directly reading the ssif file from an unprotected BD or mounted ISO. Having to demux just to know the number of frames is a pity!
frencher
14th March 2012, 15:16
@r0lZ
x264 without --frame XXXXX works fine by cons it does not display the remaining time
@slavanap
I have an idea
I authorized you to modify your ssifSource.dll ?
r0lZ
14th March 2012, 15:28
Good to know. Thanks.
BTW, do you know if specifying a number of frames somewhat greater than the real number of frames works well? If it's the case, it is easy to evaluate the number of frames by multiplying the duration of the movie (as displayed by any player) with the fps, and add some seconds, just to be sure. That way, it should be possible to display the remaining time. But will x264 stop correctly at the end of the encoding process?
Also, I have a multi-angle BD that requires to join several files together to encode the whole movie. It's easy to do it in the avs script, but will it correctly join the different parts if the number of frames is not specified, or is too large? Or perhaps there is a way to open a playlist (containing all the parts in the correct order) instead of several ssif files?
frencher
14th March 2012, 15:31
Good to know. Thanks.
BTW, do you know if specifying a number of frames somewhat greater than the real number of frames works well? If it's the case, it is easy to evaluate the number of frames by multiplying the duration of the movie (as displayed by any player) with the fps, and add some seconds, just to be sure. That way, it should be possible to display the remaining time. But will x264 stop correctly at the end of the encoding process?
Also, I have a multi-angle BD that requires to join several files together to encode the whole movie. It's easy to do it in the avs script, but will it correctly join the different parts if the number of frames is not specified, or is too large? Or perhaps there is a way to open a playlist (containing all the parts in the correct order) instead of several ssif files?
AVS
LoadPlugin("ssifSource + chapters.dll")
# Usage: ssifSource(ssif-filename, width, height, frameCount)
video = ssifSource("e:\BDMV\PLAYLIST\00005.mpls", 1920, 1080).ConvertToRGB
#global left = crop(video, 0, 0, video.width, video.height/2).ConvertToRGB32.Subtitle("left")
#global right = crop(video, 0, video.height/2, video.width, video.height/2).ConvertToRGB32.Subtitle("right")
left = crop(video, 0, 0, video.width, video.height/2)
right = crop(video, 0, video.height/2, video.width, video.height/2)
video = stackhorizontal(left,right)
return video.ConvertToYV12
CMD
Dummy.exe /avisynth | x264_x86.exe --qp 15 --preset slower --threads auto --frames 147768 --output S_B_S.mkv convert.avs
slavanap
14th March 2012, 15:40
x264 without --frame XXXXX works fine by cons it does not display the remaining time
@slavanap
I have an idea
I authorized you to modify your ssifSource.dll ?
hm... what kind of modification do you want?
I know that, but the solution uploaded by slavanap doesn't require to demux the streams first. It works well by directly reading the ssif file from an unprotected BD or mounted ISO. Having to demux just to know the number of frames is a pity!
There is a solution for that, you may get number of frames from .m2ts file referenced to the .ssif file. Like that:
frames = DirectShowSource("e:\BDMV\STREAM\00005.m2ts").framecount
LoadPlugin("ssifSource.dll")
# Usage: ssifSource(ssif-filename, width, height, frameCount)
src = ssifSource("e:\BDMV\STREAM\SSIF\00005.ssif", 1920, 1080, frames-24)
return src
P.S. don't forget to add --fps parameter to x264 option, because ssifSource always provides 25fps video.
frencher
14th March 2012, 15:44
hm... what kind of modification do you want?
There is a solution for that, you may get number of frames from .m2ts file referenced to the .ssif file. Like that:
frames = DirectShowSource("e:\BDMV\STREAM\00005.m2ts").framecount
LoadPlugin("ssifSource.dll")
# Usage: ssifSource(ssif-filename, width, height, frameCount)
src = ssifSource("e:\BDMV\STREAM\SSIF\00005.ssif", 1920, 1080, frames-24)
return src
P.S. don't forget to add --fps parameter to x264 option, because ssifSource always provides 25fps video.
Why use SSIF or M2TS file ?
eac3to works fine with playlist mpls :cool:
Download => eac3to with mpls playlist to Side By Side (http://www.mediafire.com/?8iwr132270w5lsj)
hm... what kind of modification do you want?
For me ldecod_mod.exe is not necessary
frencher
14th March 2012, 16:16
Here's a version that works with RawSource.dll pipe
Download => AVC+MVC.264 ldecodp to x264_x86 SBS with pipe.rar (http://www.mediafire.com/?37ubcimqqk1s8tz)
It should be possible to achieve the same result with ssifSource.dll :stupid: ?
r0lZ
14th March 2012, 17:20
There is a solution for that, you may get number of frames from .m2ts file referenced to the .ssif file. Like that:
frames = DirectShowSource("e:\BDMV\STREAM\00005.m2ts").framecount
Hum, I have NEVER been able to retrieve the correct number of frames with DirectShowSource. It seems that DirectShowSource can only return the estimated number of frames, at least with an AVC source. (It's why I have always used DGAVCIndex or eac3to, but it would be nice to read it directly from the BD disc or ISO.)
frencher
14th March 2012, 17:28
Thanks for the tip. But where is chapters.dll? And what is it supposed to do?
If you use a SSIF or m2ts tracks will
1: h264/AVC (left eye), 1080p24 /1.001 (16:9)
2: h264/AVC (right eye), 1080p24 /1.001 (16:9)
If you use a mpls tracks will
1: Chapters, 24 chapters
2: h264/AVC (left eye), 1080p24 /1.001 (16:9) => 00001.m2ts+00002.m2ts etc.....
3: h264/AVC (right eye), 1080p24 /1.001 (16:9) => same ...
Track (1 chapters) shifts the video track
r0lZ
14th March 2012, 17:42
You have been faster than me! I have deleted my previous post, after I have realized what chapters.dll can do and where to find it. Thanks anyway.
So, to summarize, it should be possible to open a mpls and encode it directly, without having to specify the number of frames in the avs script or in the x264 command. And opening the mpls ensures that a multi-angle movie is processed completely. Right?
(Sorry if my questions are stupid. I'm totally new to BD, and especially to 3D conversions. As you know, my center of interest is mainly the DVD IFOs, and I have bought my first BD player two weeks ago.)
frencher
14th March 2012, 17:47
@r0lZ
Here is 2 years I'm looking for and turns in every sense a fast and free to make a 3D conversion.
If you do a demux the audio track you have the total number of images.
If you do not I do not see the interest to watch a video without audio.
Hmmmm, you like "The Artist" :p
The question is not stupid at all the contrary
For best result just change mpls into avs script and total frames into x264 command ;)
@slavanap
Excuse me, your version with ldecod_mod.exe is the best right now if I can help I remain available
r0lZ
14th March 2012, 18:31
If you do not I do not see the interest to watch a video without audio.
Good point. :o But if you do a mkv, it is sufficient to load the m2ts in mkvmerge, replace the video with your new h264 file, suppress the stream you don't need, and mux. No real need to demux the audio.
However, I agree that this procedure doesn't work with complex titles in a mpls file. As far as I know, in that case, the audio must be extracted, because mkvmerge cannot handle mpls or ssif files.
frencher
14th March 2012, 18:42
Good point. :o But if you do a mkv, it is sufficient to load the m2ts in mkvmerge, replace the video with your new h264 file, suppress the stream you don't need, and mux. No real need to demux the audio.
However, I agree that this procedure doesn't work with complex titles in a mpls file. As far as I know, in that case, the audio must be extracted, because mkvmerge cannot handle mpls or ssif files.
Here can work like that for the mkv.
It should still prefer mpls for complex files rather than m2ts or SSIF ;)
frencher
15th March 2012, 09:35
Here I tried on a complex mpls I post the eac3to log and the result of CMD
I think ldecod lose the thread when eac3to to complete as it completes its function there you have it way to fix this problem slavanap ? :thanks:
Log of eac3to v3.24
command line: eac3to.exe "e:\BDMV\PLAYLIST\00070.mpls" 2:\\.\pipe\bluray16237\left.h264 3:\\.\pipe\bluray16237\right.h264
------------------------------------------------------------------------------
M2TS, 2 video tracks, 7 audio tracks, 15 subtitle tracks, 2:05:09, 24p /1.001
1: Chapters, 20 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 Surround, English, 2.0 channels, 320kbps, 48kHz
6: AC3 Surround, English, 2.0 channels, 320kbps, 48kHz
7: AC3, French, 5.1 channels, 640kbps, 48kHz
8: AC3, Spanish, 5.1 channels, 640kbps, 48kHz
9: AC3, Portuguese, 5.1 channels, 640kbps, 48kHz
10: AC3, Thai, 5.1 channels, 640kbps, 48kHz
11: Subtitle (PGS), English
12: Subtitle (PGS), French
13: Subtitle (PGS), Spanish
14: Subtitle (PGS), Portuguese
15: Subtitle (PGS), Korean
16: Subtitle (PGS), Chinese
17: Subtitle (PGS), Chinese
18: Subtitle (PGS), Thai
19: Subtitle (PGS), Vietnamese
20: Subtitle (PGS), Indonesian
21: Subtitle (PGS), Malay
22: Subtitle (PGS), French
23: Subtitle (PGS), Spanish
24: Subtitle (PGS), Portuguese
25: Subtitle (PGS), Thai
[v03] Extracting video track number 3...
[v02] Extracting video track number 2...
[v03] Creating file "\\.\pipe\bluray16237\right.h264"...
[v02] Creating file "\\.\pipe\bluray16237\left.h264"...
Video track 2 contains 180027 frames.
Video track 3 contains 180027 frames.
eac3to processing took 11 hours, 41 minutes.
Done.
Log of CMD
D:\Temp Recode\ssifSource + chapters>.\WFS-3DBD's-Plugins\Dummy.exe /avisynth
| .\WFS-3DBD's-Plugins\x264_x86.exe --qp 0 --preset ultrafast --threads auto --f
rames 180027 --output S_B_S.mkv convert.avs
avs [info]: 1920x1080p 0:0 @ 25/1 fps (cfr)
x264 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 FastShuffle SSE4.1 Cach
e64
x264 [info]: profile High 4:4:4 Predictive, level 4.0, 4:2:0 8-bit
Setting Default Parameters...
Setting Default Parameters...
Parsing Configfile decoder.cfg
Parsing Configfile decoder.cfg
Parsing command line string 'InputFile = \\.\pipe\bluray16237\left1.h264'Parsing
command line string 'InputFile = \\.\pipe\bluray16237\left2.h264'..
Parsing command line string 'OutputFile = \\.\pipe\bluray16237\1.yuv'Parsing com
mand line string 'InputFile2 = \\.\pipe\bluray16237\right2.h264'..
Parsing command line string 'WriteUV = 0'Parsing command line string 'OutputFile
= \\.\pipe\bluray16237\1.yuv'..
Parsing command line string 'FileFormat = 0'Parsing command line string 'WriteUV
= 0'..
Parsing command line string 'RefOffset = 0'Parsing command line string 'WriteStr
eams = 1'..
Parsing command line string 'POCScale = 2'Parsing command line string 'FileForma
t = 0'..
Parsing command line string 'RefOffset = 0'Parsing command line string 'DisplayD
ecParams = 1'..
Parsing command line string 'POCScale = 2'Parsing command line string 'ConcealMo
de = 0'..
Parsing command line string 'DisplayDecParams = 1'Parsing command line string 'R
efPOCGap = 2'..
Parsing command line string 'ConcealMode = 0'Parsing command line string 'POCGap
= 2'..
Parsing command line string 'RefPOCGap = 2'Parsing command line string 'Silent =
1'..
Parsing command line string 'POCGap = 2'Parsing command line string 'IntraProfil
eDeblocking = 1'..
Parsing command line string 'DecFrmNum = 0'Parsing command line string 'Silent =
1'..
Parsing command line string 'DecodeAllLayers = 1'Parsing command line string 'In
traProfileDeblocking = 1'..
Parsing command line string 'DecFrmNum = 0'*************************************
*****************
.* Decoder Parameters *
******************************************************
Parsing command line string 'DecodeAllLayers = 1'Parameter InputFile = \\.\pipe\
bluray16237\left1.h264
.Parameter OutputFile = \\.\pipe\bluray16237\1.yuv
Parameter RefFile =
Parameter WriteUV = 0
******************************************************
Parameter FileFormat = 0
* Decoder Parameters *
Parameter RefOffset = 0
******************************************************
Parameter POCScale = 2
Parameter InputFile = \\.\pipe\bluray16237\left2.h264
Parameter DisplayDecParams = 1
Parameter InputFile2 = \\.\pipe\bluray16237\right2.h264
Parameter ConcealMode = 0
Parameter OutputFile = \\.\pipe\bluray16237\1.yuv
Parameter RefPOCGap = 2
Parameter RefFile =
Parameter POCGap = 2
Parameter WriteUV = 0
Parameter Silent = 1
Parameter WriteStreams = 1
Parameter IntraProfileDeblocking = 1
Parameter FileFormat = 0
Parameter DecFrmNum = 0
Parameter RefOffset = 0
Parameter DecodeAllLayers = 1
Parameter POCScale = 2
******************************************************
Parameter DisplayDecParams = 1
----------------------------- JM 17.2 (FRExt) -----------------------------
Parameter ConcealMode = 0
Parameter RefPOCGap = 2
Parameter POCGap = 2
Parameter Silent = 1
Parameter IntraProfileDeblocking = 1
Parameter DecFrmNum = 0
Parameter DecodeAllLayers = 1
******************************************************
----------------------------- JM 17.2 (FRExt) ---------------[ alexpk mod ]
M2TS, 2 video tracks, 7 audio tracks, 15 subtitle tracks, 2:05:09, 24p /1.001
1: Chapters, 20 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 Surround, English, 2.0 channels, 320kbps, 48kHz
6: AC3 Surround, English, 2.0 channels, 320kbps, 48kHz
7: AC3, French, 5.1 channels, 640kbps, 48kHz
8: AC3, Spanish, 5.1 channels, 640kbps, 48kHz
9: AC3, Portuguese, 5.1 channels, 640kbps, 48kHz
10: AC3, Thai, 5.1 channels, 640kbps, 48kHz
11: Subtitle (PGS), English
12: Subtitle (PGS), French
13: Subtitle (PGS), Spanish
14: Subtitle (PGS), Portuguese
15: Subtitle (PGS), Korean
16: Subtitle (PGS), Chinese
17: Subtitle (PGS), Chinese
18: Subtitle (PGS), Thai
19: Subtitle (PGS), Vietnamese
20: Subtitle (PGS), Indonesian
21: Subtitle (PGS), Malay
22: Subtitle (PGS), French
23: Subtitle (PGS), Spanish
24: Subtitle (PGS), Portuguese
25: Subtitle (PGS), Thai
v03 Extracting video track number 3...
v02 Extracting video track number 2...
v03 Creating file "\\.\pipe\bluray16237\right.h264"...
v02 Creating file "\\.\pipe\bluray16237\left.h264"...
Video track 2 contains 180027 frames.
Video track 3 contains 180027 frames.
eac3to processing took 11 hours, 41 minutes.
Done.
ERROR READING PIPE!frame 179950..27 fps, 150012.39 kb/s, eta 0:00:20
An unintentional loss of pictures occurs! Exit2.09 kb/s, eta 0:00:19
A gap in frame number is found, try to fill it.
Max. number of reference frames exceeded. Invalid stream.
warning: zero_byte shall exist 4.27 fps, 150011.97 kb/s, eta 0:00:19
warning: Intra_8x8_Diagonal_Down_Right prediction mode not allowed at mb 4126
warning: Intra_8x8_Horizontal_Down prediction mode not allowed at mb 4127
warning: Intra_4x4_Diagonal_Down_Right prediction mode not allowed at mb 4132
warning: Intra_4x4_Horizontal_Down prediction mode not allowed at mb 4132
warning: Intra_8x8_Vertical prediction mode not allowed at mb 4133
invalid 16x16 intra pred Mode PLANE_16
x264 [100.0%] 179948/180027 frames, 4.27 fps, 150011.73 kb/s, eta 0:00:18
ERROR READING PIPE!
slavanap
15th March 2012, 14:35
Hum, I have NEVER been able to retrieve the correct number of frames with DirectShowSource. It seems that DirectShowSource can only return the estimated number of frames, at least with an AVC source.
That's really strange. I always use DirectShowSource framecount value, and it's correct. (with K-Lite Codec Pack Mega installed).
If you use a SSIF or m2ts tracks will
1: h264/AVC (left eye), 1080p24 /1.001 (16:9)
2: h264/AVC (right eye), 1080p24 /1.001 (16:9)
If you use a mpls tracks will
1: Chapters, 24 chapters
2: h264/AVC (left eye), 1080p24 /1.001 (16:9) => 00001.m2ts+00002.m2ts etc.....
3: h264/AVC (right eye), 1080p24 /1.001 (16:9) => same ...
Track (1 chapters) shifts the video track
Yes. That's why, I use SSIF files, because left and right tracks numbers are fixed.
I plan to add option to able selection of left and right tracks numbers to proceed mpls files as well.
Here I tried on a complex mpls I post the eac3to log and the result of CMD
I think ldecod lose the thread when eac3to to complete as it completes its function there you have it way to fix this problem slavanap ? :thanks:
Log of eac3to v3.24
command line: eac3to.exe "e:\BDMV\PLAYLIST\00070.mpls" 2:\\.\pipe\bluray16237\left.h264 3:\\.\pipe\bluray16237\right.h264
------------------------------------------------------------------------------
M2TS, 2 video tracks, 7 audio tracks, 15 subtitle tracks, 2:05:09, 24p /1.001
1: Chapters, 20 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 Surround, English, 2.0 channels, 320kbps, 48kHz
6: AC3 Surround, English, 2.0 channels, 320kbps, 48kHz
7: AC3, French, 5.1 channels, 640kbps, 48kHz
8: AC3, Spanish, 5.1 channels, 640kbps, 48kHz
9: AC3, Portuguese, 5.1 channels, 640kbps, 48kHz
10: AC3, Thai, 5.1 channels, 640kbps, 48kHz
11: Subtitle (PGS), English
12: Subtitle (PGS), French
13: Subtitle (PGS), Spanish
14: Subtitle (PGS), Portuguese
15: Subtitle (PGS), Korean
16: Subtitle (PGS), Chinese
17: Subtitle (PGS), Chinese
18: Subtitle (PGS), Thai
19: Subtitle (PGS), Vietnamese
20: Subtitle (PGS), Indonesian
21: Subtitle (PGS), Malay
22: Subtitle (PGS), French
23: Subtitle (PGS), Spanish
24: Subtitle (PGS), Portuguese
25: Subtitle (PGS), Thai
[v03] Extracting video track number 3...
[v02] Extracting video track number 2...
[v03] Creating file "\\.\pipe\bluray16237\right.h264"...
[v02] Creating file "\\.\pipe\bluray16237\left.h264"...
Video track 2 contains 180027 frames.
Video track 3 contains 180027 frames.
eac3to processing took 11 hours, 41 minutes.
Done.
Log of CMD
D:\Temp Recode\ssifSource + chapters>.\WFS-3DBD's-Plugins\Dummy.exe /avisynth
| .\WFS-3DBD's-Plugins\x264_x86.exe --qp 0 --preset ultrafast --threads auto --f
rames 180027 --output S_B_S.mkv convert.avs
avs [info]: 1920x1080p 0:0 @ 25/1 fps (cfr)
x264 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 FastShuffle SSE4.1 Cach
e64
x264 [info]: profile High 4:4:4 Predictive, level 4.0, 4:2:0 8-bit
Setting Default Parameters...
Setting Default Parameters...
Parsing Configfile decoder.cfg
Parsing Configfile decoder.cfg
Parsing command line string 'InputFile = \\.\pipe\bluray16237\left1.h264'Parsing
command line string 'InputFile = \\.\pipe\bluray16237\left2.h264'..
Parsing command line string 'OutputFile = \\.\pipe\bluray16237\1.yuv'Parsing com
mand line string 'InputFile2 = \\.\pipe\bluray16237\right2.h264'..
Parsing command line string 'WriteUV = 0'Parsing command line string 'OutputFile
= \\.\pipe\bluray16237\1.yuv'..
Parsing command line string 'FileFormat = 0'Parsing command line string 'WriteUV
= 0'..
Parsing command line string 'RefOffset = 0'Parsing command line string 'WriteStr
eams = 1'..
Parsing command line string 'POCScale = 2'Parsing command line string 'FileForma
t = 0'..
Parsing command line string 'RefOffset = 0'Parsing command line string 'DisplayD
ecParams = 1'..
Parsing command line string 'POCScale = 2'Parsing command line string 'ConcealMo
de = 0'..
Parsing command line string 'DisplayDecParams = 1'Parsing command line string 'R
efPOCGap = 2'..
Parsing command line string 'ConcealMode = 0'Parsing command line string 'POCGap
= 2'..
Parsing command line string 'RefPOCGap = 2'Parsing command line string 'Silent =
1'..
Parsing command line string 'POCGap = 2'Parsing command line string 'IntraProfil
eDeblocking = 1'..
Parsing command line string 'DecFrmNum = 0'Parsing command line string 'Silent =
1'..
Parsing command line string 'DecodeAllLayers = 1'Parsing command line string 'In
traProfileDeblocking = 1'..
Parsing command line string 'DecFrmNum = 0'*************************************
*****************
.* Decoder Parameters *
******************************************************
Parsing command line string 'DecodeAllLayers = 1'Parameter InputFile = \\.\pipe\
bluray16237\left1.h264
.Parameter OutputFile = \\.\pipe\bluray16237\1.yuv
Parameter RefFile =
Parameter WriteUV = 0
******************************************************
Parameter FileFormat = 0
* Decoder Parameters *
Parameter RefOffset = 0
******************************************************
Parameter POCScale = 2
Parameter InputFile = \\.\pipe\bluray16237\left2.h264
Parameter DisplayDecParams = 1
Parameter InputFile2 = \\.\pipe\bluray16237\right2.h264
Parameter ConcealMode = 0
Parameter OutputFile = \\.\pipe\bluray16237\1.yuv
Parameter RefPOCGap = 2
Parameter RefFile =
Parameter POCGap = 2
Parameter WriteUV = 0
Parameter Silent = 1
Parameter WriteStreams = 1
Parameter IntraProfileDeblocking = 1
Parameter FileFormat = 0
Parameter DecFrmNum = 0
Parameter RefOffset = 0
Parameter DecodeAllLayers = 1
Parameter POCScale = 2
******************************************************
Parameter DisplayDecParams = 1
----------------------------- JM 17.2 (FRExt) -----------------------------
Parameter ConcealMode = 0
Parameter RefPOCGap = 2
Parameter POCGap = 2
Parameter Silent = 1
Parameter IntraProfileDeblocking = 1
Parameter DecFrmNum = 0
Parameter DecodeAllLayers = 1
******************************************************
----------------------------- JM 17.2 (FRExt) ---------------[ alexpk mod ]
M2TS, 2 video tracks, 7 audio tracks, 15 subtitle tracks, 2:05:09, 24p /1.001
1: Chapters, 20 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 Surround, English, 2.0 channels, 320kbps, 48kHz
6: AC3 Surround, English, 2.0 channels, 320kbps, 48kHz
7: AC3, French, 5.1 channels, 640kbps, 48kHz
8: AC3, Spanish, 5.1 channels, 640kbps, 48kHz
9: AC3, Portuguese, 5.1 channels, 640kbps, 48kHz
10: AC3, Thai, 5.1 channels, 640kbps, 48kHz
11: Subtitle (PGS), English
12: Subtitle (PGS), French
13: Subtitle (PGS), Spanish
14: Subtitle (PGS), Portuguese
15: Subtitle (PGS), Korean
16: Subtitle (PGS), Chinese
17: Subtitle (PGS), Chinese
18: Subtitle (PGS), Thai
19: Subtitle (PGS), Vietnamese
20: Subtitle (PGS), Indonesian
21: Subtitle (PGS), Malay
22: Subtitle (PGS), French
23: Subtitle (PGS), Spanish
24: Subtitle (PGS), Portuguese
25: Subtitle (PGS), Thai
v03 Extracting video track number 3...
v02 Extracting video track number 2...
v03 Creating file "\\.\pipe\bluray16237\right.h264"...
v02 Creating file "\\.\pipe\bluray16237\left.h264"...
Video track 2 contains 180027 frames.
Video track 3 contains 180027 frames.
eac3to processing took 11 hours, 41 minutes.
Done.
ERROR READING PIPE!frame 179950..27 fps, 150012.39 kb/s, eta 0:00:20
An unintentional loss of pictures occurs! Exit2.09 kb/s, eta 0:00:19
A gap in frame number is found, try to fill it.
Max. number of reference frames exceeded. Invalid stream.
warning: zero_byte shall exist 4.27 fps, 150011.97 kb/s, eta 0:00:19
warning: Intra_8x8_Diagonal_Down_Right prediction mode not allowed at mb 4126
warning: Intra_8x8_Horizontal_Down prediction mode not allowed at mb 4127
warning: Intra_4x4_Diagonal_Down_Right prediction mode not allowed at mb 4132
warning: Intra_4x4_Horizontal_Down prediction mode not allowed at mb 4132
warning: Intra_8x8_Vertical prediction mode not allowed at mb 4133
invalid 16x16 intra pred Mode PLANE_16
x264 [100.0%] 179948/180027 frames, 4.27 fps, 150011.73 kb/s, eta 0:00:18
ERROR READING PIPE!
It seems that you forget to not proceed last 2 seconds of video. This is bug of alexpk's mod, and it seems that one of ldecod applications has crushed with error. Look in taskman to find out what applicaton has crushed.
ADD:
An unintentional loss of pictures occurs! Exit
This error message is generated by ldecod from here:
http://iphome.hhi.de/suehring/tml/doc/ldec/html/image_8c_source.html#l00111
Looks like blu-ray read error.
crl2007
15th March 2012, 18:41
I'm very glad that this topic is so alive and full of great people that can make a difference on the software compile side.
frencher
15th March 2012, 20:08
Hi slavanap,
I compared quite a few tests
With the ldecod_mod.exe Changing WriteStreams WriteStreams = 1 to = -1 activates two yuv stream that can be recovered with ssifSource.dll but there just with ldecod_mod.exe
WriteStreams = 0 Left Only
WriteStreams = 1 Right Only
WriteStreams = -1 Left & Right
slavanap
15th March 2012, 23:29
@frencher
Wow! That's real perfomance inprovement!
I've changed ssifSource. http://sendfile.su/549619
Now it uses that technique. (I renamed ldecod_mod.exe to ldecod.exe now.)
Moreover, now you can set left and right tracks numbers for eac3to. (default values is 1 and 2 respectively).
This actually make openning of .mpls files available (not tested properly yet). But check numbers of tracks with eac3to first!
Framecount is still necessary, but you can obtain it through DirectShowSource clip properties.
frencher
16th March 2012, 14:03
@slavanap, jeeeeeez !!!
Very very good work is what wanted to achieve for several years.
I redo the test that previously was not functioning.
Is it possible to release the function files on the hard disk, for 3D camcorder etc... , (eac3to is not necessary here)
left = ssifSource("c:\temp\left.264", 1920, 1080, frames)
right = ssifSource("c:\temp\right.264", 1920, 1080, frames)
or
video = ssifSource(1920, 1080, frames, "c:\temp\left.264","c:\temp\right.264")
or
video = ssifSource("c:\temp\left.264","c:\temp\right.264",1920, 1080, frames)
:thanks:
frencher
17th March 2012, 12:11
My 2° test is complete but lacks the last 17 frames.
For me a pipe buffer could solve the problem because eac3to.exe ends before ldecod.exe not finish his work and demand the latest frames missing, it is also possible that pipe buffer between ldecod.exe and ssifSource.dll is necessary
eac3to.exe => pipebuffer => ldecod.exe => pipebuffer => ssifSource.dll :rolleyes:
Log CMD
C:\ssifSource2>.\WFS-3DBD's-Plugins\Dummy.exe /avisynth | .\WFS-3DBD's-Plugins\x264_x86.exe --qp 0 --preset ultrafast --thre
ads auto --frames 180027 --output S_B_S.mkv convert.avs
avs [info]: 1920x1080p 0:0 @ 24000/1001 fps (cfr)
x264 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 FastShuffle SSE4.1 Cach
e64
x264 [info]: profile High 4:4:4 Predictive, level 4.0, 4:2:0 8-bit
Setting Default Parameters...
Parsing Configfile decoder.cfg
Parsing command line string 'InputFile = \\.\pipe\bluray1007\left1.h264'.
Parsing command line string 'InputFile2 = \\.\pipe\bluray1007\right1.h264'.
Parsing command line string 'OutputFile = \\.\pipe\bluray1007\1.yuv'.
Parsing command line string 'WriteUV = 0'.
Parsing command line string 'WriteStreams = -1'.
Parsing command line string 'FileFormat = 0'.
Parsing command line string 'RefOffset = 0'.
Parsing command line string 'POCScale = 2'.
Parsing command line string 'DisplayDecParams = 1'.
Parsing command line string 'ConcealMode = 0'.
Parsing command line string 'RefPOCGap = 2'.
Parsing command line string 'POCGap = 2'.
Parsing command line string 'Silent = 1'.
Parsing command line string 'IntraProfileDeblocking = 1'.
Parsing command line string 'DecFrmNum = 0'.
Parsing command line string 'DecodeAllLayers = 1'.
******************************************************
* Decoder Parameters *
******************************************************
Parameter InputFile = \\.\pipe\bluray1007\left1.h264
Parameter InputFile2 = \\.\pipe\bluray1007\right1.h264
Parameter OutputFile = \\.\pipe\bluray1007\1.yuv
Parameter RefFile =
Parameter WriteUV = 0
Parameter WriteStreams = -1
Parameter FileFormat = 0
Parameter RefOffset = 0
Parameter POCScale = 2
Parameter DisplayDecParams = 1
Parameter ConcealMode = 0
Parameter RefPOCGap = 2
Parameter POCGap = 2
Parameter Silent = 1
Parameter IntraProfileDeblocking = 1
Parameter DecFrmNum = 0
Parameter DecodeAllLayers = 1
******************************************************
----------------------------- JM 17.2 (FRExt) ---------------[ alexpk mod ]
--------------------------------------------------------------------------------
M2TS, 2 video tracks, 7 audio tracks, 15 subtitle tracks, 2:05:09, 24p /1.0
Chapters, 20 chapters
M2TS, 2 video tracks, 7 audio tracks, 15 subtitle tracks, 2:05:09, 24p /1.00
h264/AVC (left eye), 1080p24 /1.001 (16:9)
Chapters, 20 chapters
h264/AVC (right eye), 1080p24 /1.001 (16:9)
h264/AVC (left eye), 1080p24 /1.001 (16:9)
DTS Master Audio, English, 7.1 channels, 24 bits, 48kHz
h264/AVC (right eye), 1080p24 /1.001 (16:9)
(core: DTS, 5.1 channels, 24 bits, 1509kbps, 48kHz)
DTS Master Audio, English, 7.1 channels, 24 bits, 48kHz
AC3 Surround, English, 2.0 channels, 320kbps, 48kHz
(core: DTS, 5.1 channels, 24 bits, 1509kbps, 48kHz)
AC3 Surround, English, 2.0 channels, 320kbps, 48kHz
AC3 Surround, English, 2.0 channels, 320kbps, 48kHz
AC3, French, 5.1 channels, 640kbps, 48kHz
AC3 Surround, English, 2.0 channels, 320kbps, 48kHz
AC3, Spanish, 5.1 channels, 640kbps, 48kHz
AC3, French, 5.1 channels, 640kbps, 48kHz
AC3, Portuguese, 5.1 channels, 640kbps, 48kHz
AC3, Spanish, 5.1 channels, 640kbps, 48kHz
1 AC3, Thai, 5.1 channels, 640kbps, 48kHz
AC3, Portuguese, 5.1 channels, 640kbps, 48kHz
1 Subtitle (PGS), English
1 AC3, Thai, 5.1 channels, 640kbps, 48kHz
1 Subtitle (PGS), French
1 Subtitle (PGS), English
1 Subtitle (PGS), Spanish
1 Subtitle (PGS), French
1 Subtitle (PGS), Portuguese
1 Subtitle (PGS), Spanish
1 Subtitle (PGS), Korean
1 Subtitle (PGS), Portuguese
1 Subtitle (PGS), Chinese
1 Subtitle (PGS), Korean
1 Subtitle (PGS), Chinese
1 Subtitle (PGS), Chinese
1 Subtitle (PGS), Thai
1 Subtitle (PGS), Chinese
1 Subtitle (PGS), Vietnamese
1 Subtitle (PGS), Thai
2 Subtitle (PGS), Indonesian
1 Subtitle (PGS), Vietnamese
2 Subtitle (PGS), Malay
2 Subtitle (PGS), Indonesian
2 Subtitle (PGS), French
2 Subtitle (PGS), Malay
2 Subtitle (PGS), Spanish
2 Subtitle (PGS), French
2 Subtitle (PGS), Portuguese
2 Subtitle (PGS), Spanish
2 Subtitle (PGS), Thai
24: Subtitle (PGS), Portuguese
25: Subtitle (PGS), Thai
v03 Extracting video track number 3...
v02 Extracting video track number 2...
v03 Creating file "\\.\pipe\bluray1007\right.h264"...
v02 Creating file "\\.\pipe\bluray1007\left.h264"...
Video track 2 contains 180027 frames.
Video track 3 contains 180027 frames.
eac3to processing took 11 hours, 22 minutes.
Done.
Video track 2 contains 180027 frames.
Video track 3 contains 180027 frames.
eac3to processing took 11 hours, 23 minutes.
Done.
ERROR READING PIPE!frame 360051..39 fps, 138773.63 kb/s, eta 0:00:04
ERROR READING PIPE!027 frames, 4.39 fps, 138772.52 kb/s, eta 0:00:04
ERROR WRITING PIPE!
ERROR READING PIPE!
[100.0%] 180010/180027 frames, 4.39 fps, 138771.95 kb/s, eta 0:00:03
r0lZ
17th March 2012, 12:24
I have also noticed a slight difference in the colors of the left and right images. It seems that the right image, when decoded, is slightly brighter and more saturated. Not sure why. It may be due to a problem in the original BD. I'll check with other BDs as soon as possible...
frencher
17th March 2012, 12:26
I have also noticed a slight difference in the colors of the left and right images. It seems that the right image, when decoded, is slightly brighter and more saturated. Not sure why. It may be due to a problem in the original BD. I'll check with other BDs as soon as possible...
I actually confirmed this comes right from the source and not ldecod etc... ;)
slavanap
22nd March 2012, 23:51
My 2° test is complete but lacks the last 17 frames.
For me a pipe buffer could solve the problem because eac3to.exe ends before ldecod.exe not finish his work and demand the latest frames missing, it is also possible that pipe buffer between ldecod.exe and ssifSource.dll is necessary
eac3to.exe => pipebuffer => ldecod.exe => pipebuffer => ssifSource.dll :rolleyes:
Log CMD
C:\ssifSource2>.\WFS-3DBD's-Plugins\Dummy.exe /avisynth | .\WFS-3DBD's-Plugins\x264_x86.exe --qp 0 --preset ultrafast --thre
ads auto --frames 180027 --output S_B_S.mkv convert.avs
avs [info]: 1920x1080p 0:0 @ 24000/1001 fps (cfr)
x264 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 FastShuffle SSE4.1 Cach
e64
x264 [info]: profile High 4:4:4 Predictive, level 4.0, 4:2:0 8-bit
Setting Default Parameters...
Parsing Configfile decoder.cfg
Parsing command line string 'InputFile = \\.\pipe\bluray1007\left1.h264'.
Parsing command line string 'InputFile2 = \\.\pipe\bluray1007\right1.h264'.
Parsing command line string 'OutputFile = \\.\pipe\bluray1007\1.yuv'.
Parsing command line string 'WriteUV = 0'.
Parsing command line string 'WriteStreams = -1'.
Parsing command line string 'FileFormat = 0'.
Parsing command line string 'RefOffset = 0'.
Parsing command line string 'POCScale = 2'.
Parsing command line string 'DisplayDecParams = 1'.
Parsing command line string 'ConcealMode = 0'.
Parsing command line string 'RefPOCGap = 2'.
Parsing command line string 'POCGap = 2'.
Parsing command line string 'Silent = 1'.
Parsing command line string 'IntraProfileDeblocking = 1'.
Parsing command line string 'DecFrmNum = 0'.
Parsing command line string 'DecodeAllLayers = 1'.
******************************************************
* Decoder Parameters *
******************************************************
Parameter InputFile = \\.\pipe\bluray1007\left1.h264
Parameter InputFile2 = \\.\pipe\bluray1007\right1.h264
Parameter OutputFile = \\.\pipe\bluray1007\1.yuv
Parameter RefFile =
Parameter WriteUV = 0
Parameter WriteStreams = -1
Parameter FileFormat = 0
Parameter RefOffset = 0
Parameter POCScale = 2
Parameter DisplayDecParams = 1
Parameter ConcealMode = 0
Parameter RefPOCGap = 2
Parameter POCGap = 2
Parameter Silent = 1
Parameter IntraProfileDeblocking = 1
Parameter DecFrmNum = 0
Parameter DecodeAllLayers = 1
******************************************************
----------------------------- JM 17.2 (FRExt) ---------------[ alexpk mod ]
--------------------------------------------------------------------------------
M2TS, 2 video tracks, 7 audio tracks, 15 subtitle tracks, 2:05:09, 24p /1.0
Chapters, 20 chapters
M2TS, 2 video tracks, 7 audio tracks, 15 subtitle tracks, 2:05:09, 24p /1.00
h264/AVC (left eye), 1080p24 /1.001 (16:9)
Chapters, 20 chapters
h264/AVC (right eye), 1080p24 /1.001 (16:9)
h264/AVC (left eye), 1080p24 /1.001 (16:9)
DTS Master Audio, English, 7.1 channels, 24 bits, 48kHz
h264/AVC (right eye), 1080p24 /1.001 (16:9)
(core: DTS, 5.1 channels, 24 bits, 1509kbps, 48kHz)
DTS Master Audio, English, 7.1 channels, 24 bits, 48kHz
AC3 Surround, English, 2.0 channels, 320kbps, 48kHz
(core: DTS, 5.1 channels, 24 bits, 1509kbps, 48kHz)
AC3 Surround, English, 2.0 channels, 320kbps, 48kHz
AC3 Surround, English, 2.0 channels, 320kbps, 48kHz
AC3, French, 5.1 channels, 640kbps, 48kHz
AC3 Surround, English, 2.0 channels, 320kbps, 48kHz
AC3, Spanish, 5.1 channels, 640kbps, 48kHz
AC3, French, 5.1 channels, 640kbps, 48kHz
AC3, Portuguese, 5.1 channels, 640kbps, 48kHz
AC3, Spanish, 5.1 channels, 640kbps, 48kHz
1 AC3, Thai, 5.1 channels, 640kbps, 48kHz
AC3, Portuguese, 5.1 channels, 640kbps, 48kHz
1 Subtitle (PGS), English
1 AC3, Thai, 5.1 channels, 640kbps, 48kHz
1 Subtitle (PGS), French
1 Subtitle (PGS), English
1 Subtitle (PGS), Spanish
1 Subtitle (PGS), French
1 Subtitle (PGS), Portuguese
1 Subtitle (PGS), Spanish
1 Subtitle (PGS), Korean
1 Subtitle (PGS), Portuguese
1 Subtitle (PGS), Chinese
1 Subtitle (PGS), Korean
1 Subtitle (PGS), Chinese
1 Subtitle (PGS), Chinese
1 Subtitle (PGS), Thai
1 Subtitle (PGS), Chinese
1 Subtitle (PGS), Vietnamese
1 Subtitle (PGS), Thai
2 Subtitle (PGS), Indonesian
1 Subtitle (PGS), Vietnamese
2 Subtitle (PGS), Malay
2 Subtitle (PGS), Indonesian
2 Subtitle (PGS), French
2 Subtitle (PGS), Malay
2 Subtitle (PGS), Spanish
2 Subtitle (PGS), French
2 Subtitle (PGS), Portuguese
2 Subtitle (PGS), Spanish
2 Subtitle (PGS), Thai
24: Subtitle (PGS), Portuguese
25: Subtitle (PGS), Thai
v03 Extracting video track number 3...
v02 Extracting video track number 2...
v03 Creating file "\\.\pipe\bluray1007\right.h264"...
v02 Creating file "\\.\pipe\bluray1007\left.h264"...
Video track 2 contains 180027 frames.
Video track 3 contains 180027 frames.
eac3to processing took 11 hours, 22 minutes.
Done.
Video track 2 contains 180027 frames.
Video track 3 contains 180027 frames.
eac3to processing took 11 hours, 23 minutes.
Done.
ERROR READING PIPE!frame 360051..39 fps, 138773.63 kb/s, eta 0:00:04
ERROR READING PIPE!027 frames, 4.39 fps, 138772.52 kb/s, eta 0:00:04
ERROR WRITING PIPE!
ERROR READING PIPE!
[100.0%] 180010/180027 frames, 4.39 fps, 138771.95 kb/s, eta 0:00:03
Looks like a crush of ldecod.exe or wrong frame_count number.
I have also noticed a slight difference in the colors of the left and right images. It seems that the right image, when decoded, is slightly brighter and more saturated. Not sure why. It may be due to a problem in the original BD. I'll check with other BDs as soon as possible...
I don't change the output of ldecod.exe. So, may be it fails.
slavanap
22nd March 2012, 23:58
New package of ssifSource is here:
http://sendfile.su/555224
Now, if frame_count > output frames of ldecod.exe, the last frame is duplicated as long as needed and the warning appears.
Added option for parsing raw .h264 files (without demuxing with eac3to.exe).
Read test.avs comments for more info.
@frencher, :)
P.S. Plan to suppress ldecod & eac3to console output if there isn't any bugs.
frencher
23rd March 2012, 16:38
Hello slavanap,
Encoding with ssifSource version 2 just ended successfully in file mode, see the penultimate line of the log
encoded 180027/180027 frames, 4.48 fps, 99622.80 kb/s :o
There was a loss of data between eac3to and ldecod.
I will try now with version 3 ssifSource on the same file.
Very nice work slavanap. :)
DOWNLOAD => My pack Updated - ssifSource2 + ssifSourcf2 (http://www.mediafire.com/?yagb20zb26bc0nu)
Below is the complete log:
D:\ssifSource2>".\WFS-3DBD's-Plugins\x264_x86.exe" --qp 5 --preset ultrafast --sar 1:1 --threads 1 --output "S_B_S.mkv" ".\WFS-3DBD's-Plugins\convert.avs"
Setting Default Parameters...
x264 [info]: avs 1920x1080p 1:1 @ 24000/1001 fps (cfr)
x264 [info]: using SAR=1/1
x264 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 FastShuffle SSE4.1 Cache64
x264 [info]: profile Constrained Baseline, level 4.0
Parsing Configfile decoder.cfg
Parsing command line string 'OutputFile = \\.\pipe\bluray6377\1.yuv'.
Parsing command line string 'WriteUV = 0'.
Parsing command line string 'WriteStreams = -1'.
Parsing command line string 'FileFormat = 0'.
Parsing command line string 'RefOffset = 0'.
Parsing command line string 'POCScale = 2'.
Parsing command line string 'DisplayDecParams = 1'.
Parsing command line string 'ConcealMode = 0'.
Parsing command line string 'RefPOCGap = 2
Parsing command line string 'POCGap = 2'.
Parsing command line string 'Silent = 1'.
Parsing command line string 'IntraProfileDeblocking = 1'.
Parsing command line string 'DecFrmNum = 0'.
Parsing command line string 'DecodeAllLayers = 1'.
******************************************************
* Decoder Parameters *
******************************************************
Parameter InputFile = ..\01_Left.h264
Parameter InputFile2 = ..\02_Right.h264
Parameter OutputFile = \\.\pipe\bluray6377\1.yuv
Parameter RefFile =
Parameter WriteUV = 0
Parameter WriteStreams = -1
Parameter FileFormat = 0
Parameter RefOffset = 0
Parameter POCScale = 2
Parameter DisplayDecParams = 1
Parameter ConcealMode = 0
Parameter RefPOCGap = 2
Parameter POCGap = 2
Parameter Silent = 1
Parameter IntraProfileDeblocking = 1
Parameter DecFrmNum = 0
Parameter DecodeAllLayers = 1
******************************************************
----------------------------- JM 17.2 (FRExt) ---------------[ alexpk mod ]
[100.0%] 180024/180027 frames, 4.48 fps, 99624.06 kb/s, eta 0:00:00
----------------------- Decoding Completed -------------------------------
Total decoding time : 40105.045 sec (8.978 fps)[360054 frm/40105045 ms]
--------------------------------------------------------------------------
Exit JM 17 (FRExt) decoder, ver 17.2
Output status file : log.dec.txt
ERROR READING PIPE!
ERROR READING PIPE!
x264 [info]: frame I:721 Avg QP: 2.07 size:805017
x264 [info]: frame P:179306 Avg QP: 5.00 size:518239
x264 [info]: mb I I16..4: 100.0% 0.0% 0.0%
x264 [info]: mb P I16..4: 36.7% 0.0% 0.0% P16..4: 54.6% 0.0% 0.0% 0.0% 0.0% skip: 8.7%
x264 [info]: coded y,uvDC,uvAC intra: 83.9% 64.8% 54.8% inter: 84.4% 78.7% 69.2%
x264 [info]: i16 v,h,dc,p: 28% 10% 49% 13%
x264 [info]: i8c dc,h,v,p: 53% 18% 22% 7%
x264 [info]: kb/s:99622.80
encoded 180027 frames, 4.48 fps, 99622.80 kb/s
Appuyez sur une touche pour continuer...
frencher
23rd March 2012, 17:39
I just had an idea.
Ldecod compatible x86 and x64 to rework it so a single 3D stream, for example:
ldecod -p InputFile = "\\.\pipe\bluray1234\Left.h264" -p InputFile2 = "\\.\pipe\bluray1234\Right.h264" -p Export = SideBySide or -p Export = UpperUnder -p OutputFile = "\\.\pipe\3DStream.yuv"
It's possible ? :thanks:
Why ?
No codec needed
No avs needed
Increase speed
No buffer
frencher
24th March 2012, 19:14
Hello slavanap,
ldecod.exe crashed just prior to the end.
http://i40.tinypic.com/2qd8vpk.png
When I close ldecod.exe error, x264_x86 finishes its job properly
encoded 180027 of 180027 frames, 4.42 fps, 99622.80 kb/s
I run new test with avs N° 3
ssifSource(width = 1920, height = 1080, frame_count = 180027, left_264 = "left.h264", right_264 = "right.h264")
The output total frames with ripbot264 and DirectShow is 180028 frames:
http://i40.tinypic.com/j0d8pc.png
frencher
25th March 2012, 23:56
I run new test with avs N° 3
Everything went well and completed without errors ;)
Same for another
ssifSource(width = 1920, height = 1080, frame_count = 180027, left_264 = "left.h264", right_264 = "right.h264")
eac3to => ERROR READING PIPE! => Ldecod
DOWNLOAD => PipeBuffer v1.03.rar (http://www.mediafire.com/?6ode7rgf6624d8b) by LoRd_MuldeR
PipeBuffer by LoRd_MuldeR <mulder2@gmx.de>, Version 1.03
Usage:
pipebuf.exe <program_out> [<args>] : <program_in> [<args>] : [<buffer_size>]
Options:
<program_out> Executable to read stdout from
<program_in> Executable to write stdin to
<args> Optional command-line arguments
<buffer_size> Pipe buffer in MByte [0]
slavanap
26th March 2012, 23:55
I just had an idea.
Ldecod compatible x86 and x64 to rework it so a single 3D stream, for example:
ldecod -p InputFile = "\\.\pipe\bluray1234\Left.h264" -p InputFile2 = "\\.\pipe\bluray1234\Right.h264" -p Export = SideBySide or -p Export = UpperUnder -p OutputFile = "\\.\pipe\3DStream.yuv"
It's possible ? :thanks:
Why ?
No codec needed
No avs needed
Increase speed
No buffer
Ok. I will. A little later. Where did you find an information about that settings?
Hello slavanap,
ldecod.exe crashed just prior to the end.
http://i40.tinypic.com/2qd8vpk.png
When I close ldecod.exe error, x264_x86 finishes its job properly
encoded 180027 of 180027 frames, 4.42 fps, 99622.80 kb/s
I run new test with avs N° 3
ssifSource(width = 1920, height = 1080, frame_count = 180027, left_264 = "left.h264", right_264 = "right.h264")
The output total frames with ripbot264 and DirectShow is 180028 frames:
http://i40.tinypic.com/j0d8pc.png
You know about crashes of ldecod.exe. I can't handle them...
I run new test with avs N° 3
Everything went well and completed without errors ;)
Same for another
eac3to => ERROR READING PIPE! => Ldecod
DOWNLOAD => PipeBuffer v1.03.rar (http://www.mediafire.com/?6ode7rgf6624d8b) by LoRd_MuldeR
PipeBuffer by LoRd_MuldeR <mulder2@gmx.de>, Version 1.03
Usage:
pipebuf.exe <program_out> [<args>] : <program_in> [<args>] : [<buffer_size>]
Options:
<program_out> Executable to read stdout from
<program_in> Executable to write stdin to
<args> Optional command-line arguments
<buffer_size> Pipe buffer in MByte [0]
ERROR READING PIPE is a normal message. It means that pipe has been closed on application side. I will suppress that messages in a future release.
Worry if you get a deadlock or warning message like this:
WARNING: Decoder output finished. Frame separator can't read next frames. Last frame will be duplicated as long as necessary (%d time(s))
The last one means that ldecod did not produce enough frames for output, that's why the last frame has been duplicated several times till the end of the film.
frencher
27th March 2012, 00:01
Ok. I will. A little later. Where did you find an information about that settings?
This is an example command line that could be added to ldecod.exe
You know about crashes of ldecod.exe. I can't handle them...
eac3to closes before ldecod.exe have retrieved the last images causing the crash (tried several times)
In file mode I did not crash it.
slavanap
28th March 2012, 00:59
@frencher,
Thank you for a reply!
Yes, there was a bug in ldecod.exe, because it didn't support pipes.
Here is my fix for it: http://sendfile.su/559162
ldecod.exe and ssifSource.dll have been changed. ssifSource.dll - for few fixes for pipes. Now it may work faster.
frencher
28th March 2012, 04:23
Very very very nice work nice slavanap, all errors fixed. ;)
I have a suggestion, it would be possible to control at startup the priority in the process ldecod.exe
Another question: can we count on ldecod_x64.exe v 18.3 ?
Original LINK => ldecod 18.3 (http://iphome.hhi.de/suehring/tml/download)
r0lZ
9th April 2012, 12:43
http://sendfile.su/559162
ldecod.exe and ssifSource.dll have been changed. ssifSource.dll - for few fixes for pipes. Now it may work faster.
I've used that version to convert another BD, and it worked very well. Indeed, it is also a little bit faster than the previous versions. Well done!
There are still 4 "ERROR READING PIPE!" messages, but it's not a big problem.
Would it be possible to print the two messages during the decoding operation to different lines? Currently, the "decoding" and "ERROR READING PIPE!" messages overwrite the message with the percentage completed and other info. If it is not possible to print the two messages on different lines, perhaps you could try to add some tabs at the beginning of one of the two messages to print the message on the same line but after the other message.
For example, here is a copy of the info displayed in the DOS window:
ERROR READING PIPE!38 frames, 2.94 fps, 3916.47 kb/s, eta 0:00:29
ERROR READING PIPE!frame 220420.
[100.0%] 110185/110238 frames, 2.94 fps, 3915.91 kb/s, eta 0:00:18
----------------------- Decoding Completed -------------------------------
Total decoding time : 37184.208 sec (5.929 fps)[220474 frm/37184208 ms]
--------------------------------------------------------------------------
Exit JM 17 (FRExt) decoder, ver 17.2
Output status file : log.dec
ERROR READING PIPE!238 frames, 2.94 fps, 3915.86 kb/s, eta 0:00:17
ERROR READING PIPE!
Also, could you consider to add an option to stack the two images horizontally instead of vertically, to simplify and speed up the AVS script when the user wants a side by side conversion? Thanks!
Of course, it would be nice to improve the decoding time. Unfortunately, it is still very slow. But I understand that it's not an easy task.
Thanks again!
PurpleMan
22nd April 2012, 22:15
Hey guys,
I successfully used x264 (x86 version) with ssifsource and a script similar to the test.avs included in the package.
I usually encode using avs2yuv.exe to pipe the AVS to x264-x64, however it doesn't work with avs's containing ssifsource.
Is there any way to pipe the AVS to x264 instead of having x264 directly read the avs?
Thank you.
r0lZ
30th April 2012, 14:58
I'm currently writing a GUI to generate the AVS file automatically from any MPLS file. It works already fine. It can retrieve the number of frames without having to demux, including when the MPLS references several M2TS files. (I use xport.exe for that purpose, as it is fast and doesn't require to demux anything just to count the frames, but eac3to is used if the user wants to demux an audio stream as well.)
The GUI shows the available stereoscopic MPLS files and the information about the streams they contain. There are options to convert to side by side or top/bottom, and to select the resize filter. You can also preview the MPLS or any of the referenced M2TS file with your preferred player.
I would like to add an option to hardcode a subtitle stream as well, but I have two problems.
1. I need a tool to convert the BD SUP format to IDX/SUB, similar to BDSup2Sub but that can be driven from the command line.
Anyone knows a CLI program to convert SUP to SUB? Or is it possible to do it with BDSup2Sub? (As far as I know, BDSup2Sub has no command line arguments.) Or do you know an avisynth filter similar to VobSub but that works with SUP?
2. Currently, I know how to demux the subtitle stream associated with the first video stream (usually the left eye), but I haven't found a way to demux the stream for the other eye, and even to automatically find in what file(s) it is located. It is not absolutely necessary to demux the subtitles for the two eyes as the same stream can be used for the two views, but in some cases the subtitles are slightly different to show the stereoscopic subtitle at various positions along the Z axis. It's useful to avoid strange effects when the subtitle is over an object that springs out of the screen.
How can I know what M2TS file contains the right eye video and subtitle streams? How can I demux the subpic stream from the right-eye file?
Any pointer will be much appreciated.
[EDIT] Hum, it appears that BDSup2Sub has a command line. So, problem 1 is already solved. :-)
crl2007
30th April 2012, 17:09
I don't think you really can demux the SSIF file. There's no demuxer/remuxer for free yet. There's no M2TS for the right stream, there's the SSIF associated with the left M2TS.
r0lZ
30th April 2012, 17:16
OK, thanks for the info.
BTW, can I assume that the SSIF file for a specific MPLS has the same filename (or the same number) that the corresponding M2TS file?
crl2007
30th April 2012, 17:24
Yes, it usually has the same number as the corresponding M2TS file. You can use BDInfo to see this. Press "Settings" and check "Enable SSIF scanning". Or you can use BDEdit for the same purpose.
r0lZ
30th April 2012, 17:47
Hum, I don't like your "usually"! I would like to be sure that it's always the case.
But anyway, if it is impossible to demux the subtitle streams from the SSIF, I don't really need the information. I was still hoping that the subpic stream can be demuxed, as IMO the subtitle streams are certainly encoded and probably muxed the same way than in the M2TS file. It should therefore be possible to demux it (and ignore the video stream). Just my 2 cents, as I don't know much about muxing stuff, and even less about SSIF.
frencher
30th April 2012, 18:48
I'm currently writing a GUI to generate the AVS file automatically from any MPLS file. It works already fine. It can retrieve the number of frames without having to demux, including when the MPLS references several M2TS files. (I use xport.exe for that purpose, as it is fast and doesn't require to demux anything just to count the frames, but eac3to is used if the user wants to demux an audio stream as well.)
The GUI shows the available stereoscopic MPLS files and the information about the streams they contain. There are options to convert to side by side or top/bottom, and to select the resize filter. You can also preview the MPLS or any of the referenced M2TS file with your preferred player.
I would like to add an option to hardcode a subtitle stream as well, but I have two problems.
1. I need a tool to convert the BD SUP format to IDX/SUB, similar to BDSup2Sub but that can be driven from the command line.
Anyone knows a CLI program to convert SUP to SUB? Or is it possible to do it with BDSup2Sub? (As far as I know, BDSup2Sub has no command line arguments.) Or do you know an avisynth filter similar to VobSub but that works with SUP?
2. Currently, I know how to demux the subtitle stream associated with the first video stream (usually the left eye), but I haven't found a way to demux the stream for the other eye, and even to automatically find in what file(s) it is located. It is not absolutely necessary to demux the subtitles for the two eyes as the same stream can be used for the two views, but in some cases the subtitles are slightly different to show the stereoscopic subtitle at various positions along the Z axis. It's useful to avoid strange effects when the subtitle is over an object that springs out of the screen.
How can I know what M2TS file contains the right eye video and subtitle streams? How can I demux the subpic stream from the right-eye file?
Any pointer will be much appreciated.
[EDIT] Hum, it appears that BDSup2Sub has a command line. So, problem 1 is already solved. :-)
Hi
I am finishing my GUI with all options possible for a quick edit to the final file
r0lZ
30th April 2012, 18:52
Oh, well! Your GUI will also encode the AVS script? And it will be possible to hardcode the subtitles? If it's the case, I will probably abandon mine...
frencher
30th April 2012, 18:58
Oh, well! Your GUI will also encode the AVS script ?
Yes ;)
I did not even interested in subtitles subtitle tracks but some titles use the same track. "Sup" for subtitles and forced subtitles
r0lZ
30th April 2012, 19:15
Usually, I watch the 3D movies in my native language, French, but there are some movies in foreign language only and in that case the subtitles are needed. Forced subtitles are perhaps also necessary in some cases, but anyway BDsup2sub can open a SUP file with forced and non-forced subtitles and generate a SUB file with only the forced subtitles.
For me, it is important to hardcode the subtitles in the video stream, as my Samsung TV cannot show the SUP or SUB subtitles, and I hate to have to convert them to SRT. Also, the TV shows them in "flat mode" (at the position of the screen), but when they are hardcoded, it is possible to place them exactly where you want them, for example in the black border below the cinemascope area and with some 3D effect so that they appear in front of the objects. I did that manually recently, but that took much time, so I've decided to make my GUI.
BTW, will your GUI be available soon?
frencher
30th April 2012, 19:48
@r0lZ
I will answer in MP and French here will be simpler
I'm wondering why the ssifSource binary files must be copied in the script directory. IMO, it's a major drawback, and it's not clean, especially when the conversion is started from a GUI, supposed to hide the implementation details to the user. Also, if the files are stored elsewhere and ssifsource is called with a path in the script, the script crashes immediately, without any error message.
Is it a solution? Is it a problem with the paths used by a specific program? Can this problem be fixed somehow?
slavanap
3rd May 2012, 09:42
Hey guys,
I successfully used x264 (x86 version) with ssifsource and a script similar to the test.avs included in the package.
I usually encode using avs2yuv.exe to pipe the AVS to x264-x64, however it doesn't work with avs's containing ssifsource.
Is there any way to pipe the AVS to x264 instead of having x264 directly read the avs?
Thank you.
There are x32 and x64 versions of ssifSource with "ERROR READING PIPE" message fixed
http://sendfile.su/584222
Not tested at Avisynth x64, hope it will work.
Other bug I will try to fix today's evening. Everyone, thank you for your replies!
Great! Thanks!
BTW, someone has tested the various x64 ports of AviSynth? Is it one version that works well?
crl2007
3rd May 2012, 12:58
This (http://forum.doom9.org/showthread.php?t=152800) worked well when I was using it. I now use 2.6.0 32-bit.
Thanks! I'll try it asap!
slavanap
3rd May 2012, 23:08
New version http://sendfile.su/585738
with path bug fixed and unusual termination bug fixed.
Cedvano
4th May 2012, 09:24
Thanks slavanap ! Good work !
I use it for encode only the right file.
There is an option to encode only the right eye without crop (it's for increase speed encode) ?
frencher
9th May 2012, 06:36
Sorry I did not have much time right now :(
My GUI In progress ;) What do you think ?
http://i50.tinypic.com/10xbl93.png
Seems very nice.
Will it encode, or just demux and generate the script to encode?
frencher
9th May 2012, 07:08
Seems very nice.
Will it encode, or just demux and generate the script to encode?
Thank You ;)
He will do everything, including 2 pass encoding
I don't think you really can demux the SSIF file. There's no demuxer/remuxer for free yet. There's no M2TS for the right stream, there's the SSIF associated with the left M2TS.
The SSIF file cannot be demuxed, that's right, but the corresponding M2TS files for the left and right eyes can be demuxed, with the exception of the video stream of the right eye. So, if there is a subtitle stream for the right eye, it can be demuxed, and combined with the subtitle for the left eye to recreate the 3D subtitle and hardcode it on the video.
Unfortunately, it is impossible to know with the current CLI tools if a subtitle stream present in the right-eye M2TS corresponds really to the one in the left M2TS. The stream has to be demuxed, just to count the number of subtitles it contains. If that number is equal to the number of subtitles in the left-M2TS (and it has the same language code), then we can probably assume that it's the subtitle for the right eye. (Of course, it can also be verified visually with BDSup2Sub.)
I am still wondering if there are often 3D subtitles in the BDs. I have several BDs here, but none of them have a subtitle stream in the right-M2TS, or, when they have some streams, they are completely different. For example, in Avatar (French edition), the subtitle stream in the right M2TS contains only messages telling that this is a 3D movie and that you must use the 3D glasses. It's a pity, as in the theatrical version the forced subtitles are in 3D.
He will do everything including 2 pass encoding
Nice! I hope it will be also possible to encode in one CRF pass. Using two passes is only useful if you want to control precisely the size of the output file, but it will be desperately slow!
frencher
9th May 2012, 07:19
Nice! I hope it will be also possible to encode in one CRF pass. Using two passes is only useful if you want to control precisely the size of the output file, but it will be desperately slow!
Of course it will be possible to select a single pass CRF, LOSSLESS, mp4, mkv, AVCHD ....
2-pass mode is much faster (the second pass does not decode it and use x64 CPU's)
Cedvano
9th May 2012, 08:30
Nice job frencher.
How do you encode the 3DBD ? Anaglyph, SBS... ?
And for menu ?
I work actually on software like this. But in MVC (most compatibility with 3D players).
frencher
9th May 2012, 17:07
Nice job frencher.
How do you encode the 3DBD ? Anaglyph, SBS... ?
And for menu ?
I work actually on software like this. But in MVC (most compatibility with 3D players).
Everything here is provided interlaced mode, red and blue, upper under etc., in fact all all all ...
frencher
10th May 2012, 19:45
n'Vidia GTX 680 AVC + MVC encoding Hummm.... (http://www.pcinpact.com/dossier/geforce-gtx680-gk104-kepler-nvidia/208-3.htm)
Interesting, but what software will be able to use that hardware encoder? Will it be free?
frencher
10th May 2012, 20:26
From what I understand you need a GTX 680 if I remember correctly ...
Cedvano
11th May 2012, 08:28
It's just an help for encoding MVC, not a codec.
frencher
12th May 2012, 07:10
http://i47.tinypic.com/2co1ksh.png
frencher
16th May 2012, 06:42
3D Subtitle Editor (http://ul.to/tay9459s)
frencher
16th May 2012, 06:55
No it's not me from RIP 3dblurayiso
Is it a homepage somewhere?
frencher
16th May 2012, 07:18
No :( 3dblurayiso is down, no update found
Pity. Luckilly, you have the editor! :-)
I will try it when I'll have some free time...
Cedvano
17th May 2012, 10:54
Hi,
I convert 3DBD MVC (Commercial BD) in 3DBD Frame sequential (l,r,l,r,...).
That's work fine. I keep full HD and menu.
But I don't have autoswitch 3D. I have to manually activate the option.
I have read that some bd are in fs. (Yogi bear and The lover's guide (http://www.amazon.fr/The-Lovers-Guide-3D-Igniting/dp/B004EWGHHU) (for adult only))
If someone have one of this can confirm that?
If yes, can send me CLPI and MPLS files ?
It's for the autoswitch option.
Thank's
I have a couple of noob questions about avisynth and the VSFilter.
I wonder if it is necessary to install Avisynth to use the avisynth.dll. In other words, is it sufficient to copy the dll (as well as the required plugins) somewhere in the windows %path% to use it?
Similarly, to use the x64 version of avisynth.dll, is it sufficient to put it in the path, and be sure that the x64 DLL will be found BEFORE the 64bit version (for example by adding the directory containing avisynth.dll x64 at the beginning of the %path% environment variable)?
Also, do you know if DirectVobSub must be installed to use the VSFilter plugin in the avisynth script? In other words, is VSFilter.dll a standalone avisynth plugin, or does it require DirectVobSub?
@frencher: The 3D Subtitle Editor works great to encode a SRT text file to 3D SUB/IDX, but unfortunately, it cannot process the SUP files, and is therefore useless to convert the BD-3D subtitles to side by side or top/bottom. Pity, but it's a good tool to have in our arsenal. Thanks for the finding!
nickolasemp
21st May 2012, 18:49
It already exists (stereoscopic player) with CoreAVCDecoder.dll but is not free right what I find a shame.
Ok, I have bought the stereoscopic player. How can I use CoreAVCDecoder.dll to encode the right view file?
I get an "avs [error]: Plugin CoreAVCDecoder.dll is not an AviSynth 2.5 plugin.", which I find quite right...
LoadPlugin("ffms2.dll")
lv1=FFVideoSource("files\left.mkv", threads=1).AssumeFPS(24000,1001)
lv=crop(lv1,0, 140, 0, -140)
#LoadPlugin("H264StereoSource.dll")
#rv1=H264StereoSource("decoder.cfg", 189932)
LoadPlugin("CoreAVCDecoder.dll")
rv1=CoreAVCDecoder("decoder.cfg", 189932)
rv=crop(rv1,0, 140, 0, -140)
LeftRight3D(lv, rv)
ConvertToYV12()
Could anyone provide a way to do a 3D conversion according to frencher's way? I mean using using rawsource.
H264stereosource.dll gives me a
RefPicList0[ num_ref_idx_l0_active_minus1 ] is equal to 'no reference picture'
RefPicList0[ num_ref_idx_l0_active_minus1 ] is equal to 'no reference picture'
RefPicList0[ num_ref_idx_l0_active_minus1 ] is equal to 'no reference picture'
RefPicList0[ num_ref_idx_l0_active_minus1 ] is equal to 'no reference picture'
RefPicList0[ num_ref_idx_l0_active_minus1 ] is equal to 'no reference picture'
RefPicList0[ num_ref_idx_l0_active_minus1 ] is equal to 'no reference picture'
RefPicList0[ 1 ] is equal to 'no reference picture'
RefPicList0[ 1 ] is equal to 'no reference picture'
RefPicList0[ 1 ] is equal to 'no reference picture'
RefPicList0[ 1 ] is equal to 'no reference picture'
RefPicList0[ 1 ] is equal to 'no reference picture'
RefPicList0[ 1 ] is equal to 'no reference picture'
I've finished the first version of my GUI: BD3D2AVS
It might still be full of bugs, so consider it as an alpha preview, but I have used it successfully to encode several short 3D movies I have here.
Later, when the program will be a bit more seriously tested, I will create a new thread to distribute it officially, but for now, I prefer to keep it here.
[Obsolete download links removed]
I did two different archives, as I may have to release several versions of the GUI itself during its development phase, but the toolset should not need to be updated each time.
To install the program, extract BD3D2AVS.exe to any folder, then extract the folder "toolset" to the same folder. (In other words, the folder toolset must be in the same folder as BD3D2AVS.exe)
You must have properly installed Avisynth (x32 and optionally x64).
If you want to automatically create the MKV video file at the end of the process, you must also install mkvtoolnix.
If you want to hardcode a subtitle file on the video, you must also install DirectVobSub (x32 and/or x64, depending of the Avisynth version you want to use), although I'm still not sure it's necessary. (Someone who has NOT installed DirectVobSub can confirm that the vsfilter plugin works correctly with Avisynth?)
All other required files are included in the toolset.
Comments, bug reports and suggestions are welcome.
Enjoy!
[EDIT] v0.1 is obsolete. Please download the latest version (http://forum.doom9.org/showthread.php?p=1579210#post1579210).
Cedvano
25th May 2012, 14:36
It's good, but the cmd can't run.
Why do not make auto encode ?
PurpleMan
25th May 2012, 14:59
Looks good.
Can you explain the line:
Return(last + BlankClip(last, 72))#.Info()
please?
Thank you.
It's good, but the cmd can't run.
What cmd? Do you mean each command launched with "cmd.exe"? cmd.exe should be available on all Windows platforms, except Win9x.
Why do not make auto encode ?
What is "auto encode"?
Return(last + BlankClip(last, 72))#.Info()
The script returns the final video, padded with 3 additional seconds of black video. I did that, because, sometimes, the original video is stopped abruptly. Another reason is that, if you want to mux an audio stream in another language coming from, for example, a DVD, it may be somewhat longer than the video.
So, the 72 is the number of black frames added to the original video. That number depends of the frame rate, and is 72 for 24 or 23.976 fps.
If you uncomment the final .info(), you can see the information about the final clip on the video, for example in AvsPmod. It's useful if you want to manually modify the script. (Don't forget to remove or comment it out before launching the encode process!)
Anyway, if you don't like the additional 3 seconds of black, you can simply delete that line.
frencher
1st June 2012, 00:14
My firt release v0.0.0.0001,
Download
rar => Look in my signature
I'm interested in any comments, Sorry for bugs :p
In the event for killing all precessus => Ctrl + Alt + Shift + K
http://i47.tinypic.com/2co1ksh.png
Hum, tried your GUI, but got a lot of problems.
1. My behaviour based antivirus (Emsisoft Mamutu) issues a lot of warnings: program tries to manipulate other process and program tries to download invisibly from internet. Not to worry IMO, so I've allowed all. But some people may think your program is a virus.
2. After having dropped index.bdmv on the window, I had to wait a very long time (about 30 seconds) before seeing something happening.
3. After having clicked on the M2TS in the lower left pane, the preview starts, but with a very irritating DOS window on top of the preview.
4. Every minute or so, I have a dialog from Multimedia Player with "Couldn't create the file!E:\Temp\Pub_3DBD's Free.htm". (Note the "!" in front of the file name.)
5. Not sure how I did that, but finally I got something showing in the top center pane: just a single checkbox with the chapters icon but without text, and no entry for the video and audio streams. (The title I've selected has no subtitles.)
6. Tried to select the output folder anyway. The folder selection dialogue can't create a new folder, so I closed it and did it with Explorer. Now, I had to retry about 10 times to be able to re-open the output folder dialogue. Not sure why.
7. Finally, I clicked Go, but soon after, I've heard the eac3to sound indicating that there was an error. The output folder is empty, no error message is displayed, and I haven't found a log.
Let me know if I can help locate the origin of some of these issues.
frencher
1st June 2012, 10:50
Hum, tried your GUI, but got a lot of problems.
1. My behaviour based antivirus (Emsisoft Mamutu) issues a lot of warnings: program tries to manipulate other process and program tries to download invisibly from internet. Not to worry IMO, so I've allowed all. But some people may think your program is a virus.
2. After having dropped index.bdmv on the window, I had to wait a very long time (about 30 seconds) before seeing something happening.
3. After having clicked on the M2TS in the lower left pane, the preview starts, but with a very irritating DOS window on top of the preview.
4. Every minute or so, I have a dialog from Multimedia Player with "Couldn't create the file!E:\Temp\Pub_3DBD's Free.htm". (Note the "!" in front of the file name.)
5. Not sure how I did that, but finally I got something showing in the top center pane: just a single checkbox with the chapters icon but without text, and no entry for the video and audio streams. (The title I've selected has no subtitles.)
6. Tried to select the output folder anyway. The folder selection dialogue can't create a new folder, so I closed it and did it with Explorer. Now, I had to retry about 10 times to be able to re-open the output folder dialogue. Not sure why.
7. Finally, I clicked Go, but soon after, I've heard the eac3to sound indicating that there was an error. The output folder is empty, no error message is displayed, and I haven't found a log.
Let me know if I can help locate the origin of some of these issues.
What is the name of the iso or BD disc that I can check for errors.
Will it be possible to screen shots of these errors for this comprehensive preview, with AVAST and I have not updated this problem.
I had this problem when windows update was wondering the updates, i got stuck here even flash player, microsoft weird, they would block the API when an update is ready to be installed ?
Can you give me the features of your PC, CPU, RAM, OS, x86 or x64, hard drive capacity.
Thank you for your answers.
Video of operation on my PC (http://www.youtube.com/watch?v=0TSJDQD0B_M)
I've tested with The Nightmare Before Christmas.
http://img140.imageshack.us/img140/85/20120601093612.png (http://imageshack.us/photo/my-images/140/20120601093612.png/)
http://img163.imageshack.us/img163/415/20120601093709.png (http://imageshack.us/photo/my-images/163/20120601093709.png/)
I don't think Windows Update was working when I did my tests, but I was downloading a large file. Could it be the reason?
I have Avast free as my main antivirus, plus Mamutu to block malicious programs behaviour.
Win7 SP1 x64, Intel Core2 Quad Q8200 @2.33GHz, 4GB RAM, several HDDs.
Disc space is not a problem. I did my test with a small trailer of Cars 2 3D. (It has only one audio stream, no subtitles)
frencher
6th June 2012, 09:00
Update 3DBD's Free - v0.0.0.0002 Demo Test version
Download
rar => Look in my signature
v0.0.0.0002
Added: Terms and conditions of use
Added: Selection of the working folder output
Added: Indicator Update added
Added: Testing a progress bar
Portable version without installation
Removed "CMD" in preview mode
Some fixes...
All comments are welcome
http://i50.tinypic.com/1z53p0o.png
frencher
8th June 2012, 07:14
Update 3DBD's Free Demo Test version
Download
rar => Look in my signature
v0.0.0.0003
Added: Preview with change audio and video tracks
Added: Indicator of Update, updated
Removed: Bad progress bar (beug)
Some fixes...
All comments are welcome
http://i45.tinypic.com/2lcy91g.png
Does any body know, who is author of H264StereoSource.dll? Or where can i found source code of it? I develop an a stereoscopic player, but can`t found any MVC decoder (even not free).
frencher
8th June 2012, 23:21
I really do not know who the author is but I think we can find it on doom9 or doom10
Website: MVC to AVI Converter (http://3dtv.at/Products/MvcConverter/Index_en.aspx)
Mail: office@3dtv.at
I really do not know who the author is but I think we can find it on doom9 or doom10
Website: MVC to AVI Converter (http://3dtv.at/Products/MvcConverter/Index_en.aspx)
Mail: office@3dtv.at
Author of MVC to AVI Converter is Peter Wimmer. But unfortunately, he do not want give any solution to open siff`s to his "competitor". :mad:
But what relation of H264StereoSource.dll and MVC to AVI Converter? I can`t see it there...
frencher
9th June 2012, 01:12
There at the source in ldecod link below to add it suffirai function multithreaded version x86 and x64.
Source code of ldecod 18.3 (http://iphome.hhi.de/suehring/tml/download)
Tutorial for multithreading with C++ (in french) (http://apais.developpez.com/tutoriels/c++/multithread/)
LUCi5R
16th June 2012, 00:08
I'm sort of looking for the opposite of what this thread is talking about; but I can't seem to find much info.
I need to take a sequence of Left Eye & Right Eye images (Tiff Format) and create a Blu-ray 3D out of it. The images are created in Autodesk Maya are basically a 1 minute simple animation. They were created using the Stereoscopic Camera rig available in Maya to create Stereoscopic animation.
It's easy to create 3D Video out of it in packages like Sony Vegas or Adobe Premiere, however, I'm looking to create true "blu-ray" 3D which is basically encoding w/ MVC.
The only solutions I've seen so far are extremely expensive and mass-consumer oriented like Blu-print, DoStudio, with encoders like Cinema Craft's MVC, Sony's blu-code.
Is there anything else cheaper / free?
Thanks.
RodrigollicA
19th June 2012, 05:55
@frencher
Do I need another file besides the "3DBD's Free - v0.0.0.0003.exe" file to run the software?
Thanks ;)
frencher
19th June 2012, 15:14
@RodrigollicA
No ! why ? "3DBD's Free - v0.0.0.0003.exe" is portable version, no other files needed.
r0lZ
21st June 2012, 07:34
V0.2 of my GUI is available. Download it here (http://download.videohelp.com/r0lZ/BD3D2AVS/BD3D2AVS.7z).
Note that now, the toolset is included with the main program archive. You don't need to download the toolset archive any more.
# v0.2 (June 21, 2012)
# - Now, demux the streams of the M2TS file referenced by the MPLS instead of directly from the MPLS,
# as eac3to has often big problemw when demuxing the subtitles from a MPLS or SSIF.
# (The MPLS is still used if there are more than 1 M2TS in the playlist.)
# - Added a tab to define an intro still clip with the movie name, resolution and various info,
# over an optional 2D or 3D picture.
# - Added settings to automatically select some audio and subtitle streams when a new MPLS is selected
# - Added option to move cinemascope movies up in the 16:9 frame by a certain amount of pixels to enlarge
# the bottom black bar and make some additional room for subtitles.
# - Added button "ALL MPLS" to get the Streams info of all MPLS displayed in the top window of tab 1 at once.
# - Added Drag & Drop support to open a BD disc or an intro preset file in BD3D2AVS,
# or open a SUP/SUB/IDX file in BDSup2Sub's GUI.
# - Added menu Tools with an option to open any SUB or SUP file in DBSup2Sub's GUI.
# - Added Tools -> Find right-eye M2TS file(s) to list the right-eye M2TS file(s) of the current playlist.
# - Added several menu items in the Help menu.
# - Added the batch file _MUX_2D.cmd to mux the 2D version of the movie with mkvmerge.
# (Only if the MPLS file references a single M2TS or if the option to demux the video stream is enabled.)
# - Added doc and menu Help -> Documentation
# - Added "Explore BD folder" and "Explore output folder" in File menu.
# - Mkvmerge (without the GUI) is now included in the toolset.
# - Minor cosmetic changes, such as the themed scrollbars.
# - Fixed: The batch files did not work when the movie name includes foreign (accented) characters.
# - Fixed: Impossible to handle a small BD with only very short 3D titles (due to eac3to not recognizing the
# BD structure as valid).
# - Some little bugs fixes, such as config not saved when quitting with menu File -> Exit.
This version works fine on my system, and requires to install only Avisynth (and optionally Avisynth x64). No additional avisynth plugins are necessary.
A good player that can play M2TS, MPLS and Avisynth files is also required for the preview. (See the help menu for some suggestions.)
As always, suggestions and bug reports are welcome.
r0lZ
23rd June 2012, 09:19
Sorry, the demux phase was broken in v0.2 in certain circumstances. It's fixed in 0.3.
# v0.3 (June 23, 2012)
# - Fixed: The demux operation was broken in v0.2 when there are subtitles in the MPLS but not in the M2TS.
# - Added the possibility to encode a single SSIF from a playlist containing several M2TS files.
# (Since that possibilitry exists, the demuxing of the M2TS instead of the MPLS is not automatic any more.)
# - The batch file to mux the 2D version of the movie is now created anyway, even for playlists containing
# several M2TS files.
# - Some minor cosmetic changes and fixes.
Download (http://download.videohelp.com/r0lZ/BD3D2AVS/BD3D2AVS.7z)
k-c-ksum
23rd June 2012, 19:58
I'm sort of looking for the opposite of what this thread is talking about; but I can't seem to find much info.
I need to take a sequence of Left Eye & Right Eye images (Tiff Format) and create a Blu-ray 3D out of it. The images are created in Autodesk Maya are basically a 1 minute simple animation. They were created using the Stereoscopic Camera rig available in Maya to create Stereoscopic animation.
It's easy to create 3D Video out of it in packages like Sony Vegas or Adobe Premiere, however, I'm looking to create true "blu-ray" 3D which is basically encoding w/ MVC.
The only solutions I've seen so far are extremely expensive and mass-consumer oriented like Blu-print, DoStudio, with encoders like Cinema Craft's MVC, Sony's blu-code.
Is there anything else cheaper / free?
Thanks.
http://www.fixstars.com/en/
accelcoder
Eseninzhiv
26th June 2012, 20:53
Thanks, good programs
You can embed into your software to feature splitter 3D,
to truncate a file .ssif
MaistroX
4th July 2012, 13:41
Hi R0lZ!
Great app. love it, have to ask, since none has done it before what I know anyway...
Could you add so one can keep several subtitles at once, say English, Ducth and so on save in SBS format and 3D, and better if they be added like idx/sub?
But first of all, NOT hardcoded, and multi, possible ? :)
Regards MaistroX
You can already select any number of subtitle streams (but hardcode only one on video, of course). They are converted in IDX/SUB format, but they are not converted to 3D subtitles. It's the responsibility of your TV or software player to do the 3D conversion on the fly. I agree that not all TVs can do it, and it's why I have added the option to hardcode a subtitle stream on the video.
Anyway, my GUI is only, well, a GUI. It uses existing programs to do the conversions, and as far as I know, there is no program that can generate 3D subtitles from a BD SUP stream (always in 2D). (There is a 3D Subtitle Editor reported by frencher here (http://forum.doom9.org/showthread.php?p=1574724#post1574724), but it accepts only text SRT files as input, and there is no CLI support, so I can't use it.)
So, sorry, but currently, converting the BD SUPs to 3D SUB/IDX files is not possible.
But perhaps there will be a solution soon. BDSup2Sub (http://forum.doom9.org/showthread.php?t=145277) is currently ported to C++ by SassBot, and he is very open to suggestions. When the current beta will be released as v1.0, I'll ask him if he can add a --3d option to the program, to convert the SUP to 3D SUB automatically. Not sure it's feasible, but that would be great!
[EDIT]
I've already asked SassBot to do it. See here (http://forum.doom9.org/showthread.php?p=1581216#post1581216). I hope he will accept!
MaistroX
4th July 2012, 19:11
Thx for yor answer! :)
You can already select any number of subtitle streams (but hardcode only one on video, of course). They are converted in IDX/SUB format, but they are not converted to 3D subtitles. It's the responsibility of your TV or software player to do the 3D conversion on the fly. I agree that not all TVs can do it, and it's why I have added the option to hardcode a subtitle stream on the video.
Anyway, my GUI is only, well, a GUI. It uses existing programs to do the conversions, and as far as I know, there is no program that can generate 3D subtitles from a BD SUP stream (always in 2D). (There is a 3D Subtitle Editor reported by frencher here (http://forum.doom9.org/showthread.php?p=1574724#post1574724), but it accepts only text SRT files as input, and there is no CLI support, so I can't use it.)
So, sorry, but currently, converting the BD SUPs to 3D SUB/IDX files is not possible.
But perhaps there will be a solution soon. BDSup2Sub (http://forum.doom9.org/showthread.php?t=145277) is currently ported to C++ by SassBot, and he is very open to suggestions. When the current beta will be released as v1.0, I'll ask him if he can add a --3d option to the program, to convert the SUP to 3D SUB automatically. Not sure it's feasible, but that would be great!
[EDIT]
I've already asked SassBot to do it. See here (http://forum.doom9.org/showthread.php?p=1581216#post1581216). I hope he will accept!
mini-moose
7th July 2012, 13:51
@RodrigollicA
No ! why ? "3DBD's Free - v0.0.0.0003.exe" is portable version, no other files needed.
your exe immidietly triggers my AV though it doesn't seem to kill it and also I get an eac3to error about not being able to find libflac.dll. It goes into an endless eac3to loop with that error even if I kill the process.
the program also has 3 separate processes and what seems like some promotional banner on (not sure for what).
it appears to be : C:\Users\admin\AppData\Local\Temp\MMBPlayer\G_ComboBox-WFS-3D-Language.dll identified as a trojan win32\bumat!rts
mini-moose
7th July 2012, 14:10
Sorry, the demux phase was broken in v0.2 in certain circumstances. It's fixed in 0.3.
[code]
Download (http://download.videohelp.com/r0lZ/BD3D2AVS/BD3D2AVS.7z)
trying your tool. I'm getting an error running the cmd file:
avs [error]: ssifSource: Error while launching E:\Projects\xxx\BD3D2AVS\toolset\ldecod.exe
(_ENCODE_3D_MOVIE.avs, line 26)
x264 [error]: could not open input file `_ENCODE_3D_MOVIE.avs'
I have not changed anything in the files created.
Have you already encoded something with success?
Does the _ENCODE_3D_MOVIE.avs file exist in the directory?
Do you use the 64-bit version of x264.exe?
Note also that, if you launch the cmd file from a command prompt, you must CD to the directory first. (Double-clicking the cmd file should work.)
mini-moose
7th July 2012, 15:21
Have you already encoded something with success?
this was the first try
Does the _ENCODE_3D_MOVIE.avs file exist in the directory?
all the created files are in E:\Projects\xx\BD3D2AVS\Thor\00799_mpls\
which includes _ENCODE.cmd, _ENCODE_3D_MOVIE.avs, _MUX_2D.cmd, and so on.
[/QUOTE]
Do you use the 64-bit version of x264.exe?
no, x86. I've added the x264.exe to same directory all files were created at.
Note also that, if you launch the cmd file from a command prompt, you must CD to the directory first. (Double-clicking the cmd file should work.)
it's launched from the directory it was created at. The only thing that might be irregular is that the Source Blu-Ray is on a mounted drive, but as such it's just like having it on HDD in file mode, Unless the process needs to write something into the drive itself which is obviously read only.
I've added the x264.exe to same directory all files were created at.
That's probably why it doesn't work (although I'm not sure). A copy of x264.exe is provided with my GUI, and should be in the toolset folder.
Can you verify if you have extracted the files from the archive with the paths? Together with BD3D2AVS.exe, you should have the folders "toolset", "intro_presets" and "doc".
Also, be sure to use the cmd file to encode the movie, as it modifies the DOS path (temporarily) to include the toolset folder.
Could you confirm that the path to the BD ISO or to the installation folder doesn't contain foreign or accented characters? (I've already had problems with Tcl/Tk and DOS, as they doesn't use the same character encoding.)
The only thing that might be irregular is that the Source Blu-Ray is on a mounted drive, but as such it's just like having it on HDD in file mode, Unless the process needs to write something into the drive itself which is obviously read only.
No, everything is written in the directory containing the cmd file (except the preferences of the program). I did all my tests with mounted ISOs too, and they worked fine.
mini-moose
7th July 2012, 15:47
That's probably why it doesn't work (although I'm not sure). A copy of x264.exe is provided with my GUI, and should be in the toolset folder.
Can you verify if you have extracted the files from the archive with the paths? Together with BD3D2AVS.exe, you should have the folders "toolset", "intro_presets" and "doc".
Also, be sure to use the cmd file to encode the movie, as it modifies the DOS path (temporarily) to include the toolset folder.
all those subdirs are present and there are 2 versions of x264.exe in the toolset one. removing the x264.exe I added myself and running the .cmd from it's location returns "'x264.exe' is not recognized as an internal or external command,". looking at the cmd it doesn't specify a path to x264 from what I can tell so that's not surprising. That's the reason I placed a copy next to all the files to begin with.
Could you confirm that the path to the BD ISO or to the installation folder doesn't contain foreign or accented characters? (I've already had problems with Tcl/Tk and DOS, as they doesn't use the same character encoding.)
.
no obscurities as far as I can see. I keep the folder names spaces free as well.
The path to the toolset is not included in the commands, but the cmd file should contain a command such as:
set path=path\to\toolset;%path%
That line ensures DOS searches first in the toolset path when executing an external command.
If you want to copy x264.exe in the movie folder, you should also copy the other exe and dll files (except the x64 versions, normally not used in your case). The encoding process needs most of them.
Can you post here the content of the cmd file?
mini-moose
7th July 2012, 16:05
The path to the toolset is not included in the commands, but the cmd file should contain a command such as:
set path=<path to toolset>;%path%
That line ensures that DOS searches first in the toolset path when executing an external command.
Can you post here the content of the cmd file?
@echo off
set path=E:\Projects\xx\BD3D2AVS;%path%
echo Encoding _ENCODE_3D_MOVIE.avs (165210 frames)
echo Encoding started %date% %time%
@echo on
x264.exe --preset medium --tune film --profile high --crf 23 ^
-o "00799_mpls.h264" ^
"_ENCODE_3D_MOVIE.avs" 2>"00799_mpls_x264.log"
@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"
error seems to be with launching ldecod.exe. I don't think the paths are the issue but I'm not an expert.
As far as I can tell, there is nothing wrong in your cmd file. Anyway, x264.exe should start without having to copy it in the directory.
Can you test with another ISO? Maybe ldecod crashes with that particular BD.
Also, please verify the LoadPlugin path in the avs file. It should point to the toolset too.
If you want, send me the work files (without the audio or subpic files) be email. See my address here (http://download.videohelp.com/r0lZ/pgcedit/#contact). I'll have a look.
mini-moose
7th July 2012, 16:25
As far as I can tell, there is nothing wrong in your cmd file.
Can you test with another ISO? Maybe ldecod crashes with that particular BD.
If you want, send me the work files (without the audio or subpic files) be email. See my address here (http://download.videohelp.com/r0lZ/pgcedit/#contact).
I only have one 3D iso. I'll send you the workfiles sure. I also tested avisyth with your test avs and it seems fine.
Correct me if I'm wrong - this method removes the need to encode the right eye into a playable video file? the method using H264StereoSource.dll didn't work for me at all. avisynth refused to load that plugin either...maybe I'm missing c++ (I think that was mentioned as a possible cause). I did manage to get that dll working on a different pc but it was so slow just to do the right eye I shelved the idea altogether.
Yes, the latest ssifSource can decode both eyes at the same time, and it's what my GUI uses. It is still very slow, but at least, it decodes and encodes everything in the same shot.
Maybe you need the C++ re-distributable package. Honestly, I'm not sure.
mini-moose
7th July 2012, 16:37
Yes, the latest ssifSource can decode both eyes at the same time, and it's what my GUI uses. It is still very slow, but at least, it decodes and encodes everything in the same shot.
Maybe you need the C++ re-distributable package. Honestly, I'm not sure.
that's what I thought which is a big advantage seeing just doing the right eye can take 1/2 a day (from user comments).
I can try installing c++. tbh I'm not sure I don't have it already :) have to check. in the meantime I've emailed you the work files. Maybe you can figure out something from those.
Wait! I've managed to reproduce the problem here (just by removing the ";%path%" part of the "set path=..." command). It seems that indeed, even with the path correctly set, DOS cannot find x264.exe if it is not already included somewhere else in the default path.
I'll try to find a workaround for this issue. In the meantime, try to copy all exe and dll files from the toolset folder to the output directory. That should work.
mini-moose
7th July 2012, 16:52
Wait! I've managed to reproduce the problem here (just by removing the ";%path%" part of the "set path=..." command). It seems that indeed, even with the path correctly set, DOS cannot find x264.exe if it is not already included somewhere else in the default path.
I'll try to find a workaround for this issue. In the meantime, try to copy all exe and dll files from the toolset folder to the output directory. That should work.
ok, I tried that. the issue is still with ldecod.exe. the path issue is easily resolved by adding x264.exe to the work dir. The avs already includes a full path to ssifSource.dll so moving it into the work dir without making a new avs will fail even for those who do not have issues with ldecod.
side note - is it necessary to resize the output? the source is already 1080 so it seems pointless. What is maybe missing though is crop options. no point keeping black bars if you're encoding the original streams.
OK, got it! It's a bug. :(
The "set path" command is wrong! The final "\toolset" part of the directory path is missing. (I haven't paid enough attention to your cmd file, and here, I've set a permanent path to the toolset to debug.)
Anyway, the command should be, in your case:
set path=E:\Projects\xx\BD3D2AVS\toolset;%path%
You can fix it manually and retry.
I'll release a fix soon...
mini-moose
7th July 2012, 17:01
OK, got it! It's a bug. :(
The "set path" command is wrong! The final "\toolset" part of the directory path is missing. (I haven't paid enough attention to your cmd file, and here, I've set a permanent path to the toolset to debug.)
Anyway, the command should be, in your case:
set path=E:\Projects\xx\BD3D2AVS\toolset;%path%
You can fix it manually and retry.
I'll release a fix soon...
that works to launch x264.exe but the problem in my case remains ldecod.exe not working with avisynth.
side note - is it necessary to resize the output? the source is already 1080 so it seems pointless.
No, the new ssifSource creates a big image with the two eyes stacked vertically (so the input is in fact 1920*2160). The avs script must cut them and stack them horizontally (for SBS) or vertically (for TB). Also, if you are hardcoding a subpic stream, the two images must be handled separately, so it is necessary to cut them also. (However, if you are encoding in TB format without hardcoded subs, the cut is not necessary, and not done.) Finally, the resize is needed to shrink the output to half-SBS or half-TB (1920x1080)
What is maybe missing though is crop options. no point keeping black bars if you're encoding the original streams.
I agree, but since I use only external exes, I can't display the video to let the user define the cropping parameters. Anyway, most 3D-TVs requires an input format in true 16:9, so I haven't tried much to implement cropping.
If you really want to crop it, you can edit the avs file with AvsPmod. It has a good interactive crop editor. But remember that you will need to edit also the option file for mkvmerge, as the display dimension will have to be changed too.
that works to launch x264.exe but the problem in my case remains ldecod.exe not working with avisynth.
Maybe then you really need something missing in your system.
Sorr, I have to go now. (BBQ!) I'll try to help you tomorrow...
@everybody: Someone can confirm that ldecod or something it uses needs a specific DLL or package?
mini-moose
7th July 2012, 17:22
No, the new ssifSource creates a big image with the two eyes stacked vertically (so the input is in fact 1920*2160). The avs script must cut them and stack them horizontally (for SBS) or vertically (for TB). Also, if you are hardcoding a subpic stream, the two images must be handled separately, so it is necessary to cut them also. (However, if you are encoding in TB format without hardcoded subs, the cut is not necessary, and not done.) Finally, the resize is needed to shrink the output to half-SBS or half-TB (1920x1080)
I thought the reason might lay in something like that :)
I agree, but since I use only external exes, I can't display the video to let the user define the cropping parameters. Anyway, most 3D-TVs requires an input format in true 16:9, so I haven't tried much to implement cropping.
If you really want to crop it, you can edit the avs file with AvsPmod. It has a good interactive crop editor. But remember that you will need to edit also the option file for mkvmerge, as the display dimension will have to be changed too.
I was mostly looking for the method of doing the actual video encode in one go and less in the automation part. I know my way around avs scripts a bit so that shouldn't be an issue. Obviously if I crop the resize in the avs would need to be altered as well. e.g for 1:2.35 movie I would think the resize would then turn to something like 1920x816.
Obviously if I crop the resize in the avs would need to be altered as well. e.g for 1:2.35 movie I would think the resize would then turn to something like 1920x816.
Yes, of course! :rolleyes:
frencher
8th July 2012, 01:58
your exe immidietly triggers my AV though it doesn't seem to kill it and also I get an eac3to error about not being able to find libflac.dll. It goes into an endless eac3to loop with that error even if I kill the process.
the program also has 3 separate processes and what seems like some promotional banner on (not sure for what).
it appears to be : C:\Users\admin\AppData\Local\Temp\MMBPlayer\G_ComboBox-WFS-3D-Language.dll identified as a trojan win32\bumat!rts
THX for reply mini-moose
1° What's your Anti-Virus software ? You can scan with your antivirus original G_ComboBox.dll (http://ul.to/hy239rtc)
Here seems to me a false positive (http://home.mcafee.com/virusinfo/virusprofile.aspx?key=520681#none).
%TEMP%\MMBPlayer\ = Embedded folder
HKEY_CURRENT_USER\SOFTWARE\MEDIACHANCE\MULTIMEDIA PLAYER 4.9.8\ = Program management via register which is used by my compiler
Other problems are not of this "G_ComboBox-WFS-3D-Language.dll"
2° What procedure have you made for this error exists with "libflac.dll", Fixed with v0.0.0.0004 See my signature ;)
mini-moose
8th July 2012, 07:26
THX for reply mini-moose
1° What's your Anti-Virus software ? You can scan with your antivirus original G_ComboBox.dll (http://ul.to/hy239rtc)
Here seems to me a false positive (http://home.mcafee.com/virusinfo/virusprofile.aspx?key=520681#none).
%TEMP%\MMBPlayer\ = Embedded folder
HKEY_CURRENT_USER\SOFTWARE\MEDIACHANCE\MULTIMEDIA PLAYER 4.9.8\ = Program management via register which is used by my compiler
Other problems are not of this "G_ComboBox-WFS-3D-Language.dll"
2° What procedure have you made for this error exists with "libflac.dll", Fixed with v0.0.0.0004 See my signature ;)
I use microsoft security essentials. I'm sure it's not a virus but a false positive and still it would be good to look into fixing it. r0lZ made the same comment on an early version:
1. My behaviour based antivirus (Emsisoft Mamutu) issues a lot of warnings: program tries to manipulate other process and program tries to download invisibly from internet. Not to worry IMO, so I've allowed all. But some people may think your program is a virus.
the endless loop error for libflac.dll comes from eac3to. It happens as soon as I add the index.bdmv. I pretty much had to reboot to stop the loop. maybe there are better ways to make it go away but I couldn't find one with my limited knowledge. Killing process in task manager usually does the trick but in this case it kept relaunching everytime I killed it.
mini-moose
8th July 2012, 07:55
Maybe then you really need something missing in your system.
@everybody: Someone can confirm that ldecod or something it uses needs a specific DLL or package?
yes. perheps. no idea what...I installed c++ re 2010 x86, that didn't seem to make any difference.
btw, you only offer a crf option on the encode part, is there a reason only crf was implemented into the gui or can I also use 2-pass or 1-pass (ofc I would need to modify the cmd but that's not an issue)? I think the older method had difficulties with x264 throwing errors at the end thus crf was a better option..
another thought I had. You might want to consider having some settings of the tool auto kept on exit. Mainly crf parms,resize method and output folder. Right now those need to be reconfiged for every project unless people prefer to use defaults. I think many people (maybe more advanced ones) prefer certain settings.
output dir always defaults back to C:\Users\user\Documents\BD3D2AVS, crf settings always default back to medium/film/high/23 and resize to Bicubic.
personally I've just edited the BD3D2AVS.cfg and that seems to keep the settings I prefer but I think auto save might be better.
btw, you only offer a crf option on the encode part, is there a reason only crf was implemented into the gui or can I also use 2-pass or 1-pass (ofc I would need to modify the cmd but that's not an issue)?
I've implemented CRF only because IMO it's the best one pass method. (IMO, if doesn't make much sense to encode in CQ or ABR when CRF is available, and largely better.) And, although not impossible, encoding in two passes would require to decode two times the same BD, and as you know, ldecod is so slow that it's not really a good solution. Anyway, you can easily modify the cmd if you wish.
I think the older method had difficulties with x264 throwing errors at the end thus crf was a better option.
That bug has been fixed, so, no, it's not the reason.
You might want to consider having some settings of the tool auto kept on exit.
Use "Settings -> Save Settings Now" or enable "Settings -> Save Settings on Exit". When the settings are saved either manually or on exit, all settings are saved, including the window position and size, but excluding some BD specific settings, such as the movie name, and some dangerous ones, like the option to Shutdown when finished.
Also, when you change a specific setting in the Settings menu, such as the player for the preview, that setting is saved immediately, but the other settings are not saved.
I haven't enabled the option to save on exit by default, because IMO it is easier to configure the program the way you want it once, save the settings manually, and after that, when a specific BD needs another setting, change it for that BD only, without saving. But if you prefer, you can configure the program to save the settings on exit anyway.
mini-moose
8th July 2012, 11:30
I've implemented CRF only because IMO it's the best one pass method. (IMO, if doesn't make much sense to encode in CQ or ABR when CRF is available, and largely better.) And, although not impossible, encoding in two passes would require to decode two times the same BD, and as you know, ldecod is so slow that it's not really a good solution. Anyway, you can easily modify the cmd if you wish.
That bug has been fixed, so, no, it's not the reason.
ok, just making sure. Indeed the only reason to use 2/1-pass is to restrain the final size to a specific one. Some people prefer it like that sometimes
Use "Settings -> Save Settings Now" or enable "Settings -> Save Settings on Exit". When the settings are saved either manually or on exit, all settings are saved, except some BD specific settings, such as the movie name, and some dangerous ones, like the option to Shutdown when finished.
Also, when you change a specific setting in the Settings menu, such as the player for the preview, that setting is saved immediately, but the other settings are not saved.
I don't want to save all settings automatically anyway, as IMO it is easier to configure the program the way you want it once, save the settings manually, and after that, when a specific BD needs another setting, change it for that BD only, without saving. But if you prefer, you can configure the program to save the settings on exit anyway.
silly me. I didn't even notice the Settings options on toolbar ;)
one more question. the encode cmd is set to produce .h264. Any reason it's set to raw output instead of say .mkv?
I have tested the tool on two other pcs and it seems to work there. I'm still at loss as to what I'm missing to make it work on my main desktop.
one more question. the encode cmd is set to produce .h264. Any reason it's set to raw output instead of say .mkv?
The encode batch, well, encodes. But it calls automatically the batch to mux to MKV. That second batch mux to mkv with mkvmerge, unless you have disabled the option to mux to mkv in the GUI. In the latter case, you can edit the second batch, even during the encoding process, to remove the REM before the mkvmerge command. It's why there are several batches: you can change your mind during the encoding process, and edit the batch. (BTW, a third batch is also called, that shuts down your computer, or does whatever you have configured in the GUI. Again, you can edit that batch during the encoding process if you wish.)
I have tested the tool on two other pcs and it seems to work there. I'm still at loss as to what I'm missing to make it work on my main desktop.I will try it on a virtual machine running Win7. Perhaps I'll be able to determine what's missing, but I hope it is not already installed on my virtual Win7!
mini-moose
8th July 2012, 11:55
The encode batch, well, encodes. But it calls automatically the batch to mux to MKV. That second batch mux to mkv with mkvmerge, unless you have disabled the option to mux to mkv in the GUI. In the latter case, you can edit the second batch, even during the encoding process, to remove the REM before the mkvmerge command. It's why there are several batches: you can change your mind during the encoding process, and edit the batch. (BTW, a third batch is also called, that shuts down your computer, or does whatever you have configured in the GUI. Again, you can edit that batch during the encoding process if you wish.)
so there's no reason I can't have it encode straight to an mkv container to begin with, it's just that your routine uses h264. My original intention was to do a short clip (using trim) out of the test movie so I can just see it comes out right rather than of waiting 8-14h for the final result. For that I need to figure out where to change the number of frames. To test such a clip an mkv would have been better suited as it can be played back.
As I said I'm more interested in how to do the encode than in automating it.
I will try it on a virtual machine running Win7. Perhaps I'll be able to determine what's missing, but I hope it is not already installed on my virtual Win7!
one of the other pcs I'm trying on is also win7 like mine and it works fine there. my other one is sort of win7 (server 2k8 r2) and it works on it fine too. if you figure out what I'm missing that would be awesome.
You can change the number of frames in the avs script. If the option to encode to MKV has been enabled, you can then encode the test video easily to MKV, just by executing the encode batch. Note however that you must begin the encoding at the first frame, as ssifSource doesn't support seeks to specific frames. All frames must be decoded sequentially.
BTW, I have written that GUI mainly because it is not easy to retrieve the total number of frames, and it's necessary for ldecod. You can use xport or eac3to to get it, but xport has the advantage that it doesn't require to demux at least one stream. (It is used by my GUI if there is on need to demux. Otherwise, eac3to is used.)
Indeed, according to frencher, ldecod requires the Microsoft Visual C++ 2008 Redistributable Package (vcredist_x86.exe). You can download it here (http://www.microsoft.com/en-us/download/details.aspx?id=29). (I suppose that, ldecod being a 32-bit app, it is not necessary to install the x64 version of the package under an x64 system.)
Please let me know if it's sufficient to solve the problem. I will add a link in my GUI to download it easily. (Perhaps I'll be able to check also if it is already installed, but I'm not sure.)
mini-moose
8th July 2012, 12:38
You can change the number of frames in the avs script. If the option to encode to MKV has been enabled, you can then encode the test video easily to MKV, just by executing the encode batch. Note however that you must begin the encoding at the first frame, as ssifSource doesn't support seeks to specific frames. All frames must be decoded sequentially.
ok, that's easy. I thought it needed changing elsewhere too. thanks for the first frame needed note. I didn't know that.
BTW, I have written that GUI mainly because it is not easy to retrieve the total number of frames, and it's necessary for ldecod. You can use xport or eac3to to get it, but xport has the advantage that it doesn't require to demux at least one stream. (It is used by my GUI if there is on need to demux. Otherwise, eac3to is used.)
I'm not familiar with xport. It's not easy to find on a websearch right away but I see you have included the exe in toolset.
an alternative method to get the frames is server the main m2ts via avs on something like vdub and go to the end. that will show you the number of frames. but then again since most of the time you want to demux anyway your method is better, def for gui purposes.
mini-moose
8th July 2012, 12:40
Indeed, according to frencher, ldecod requires the Microsoft Visual C++ 2008 Redistributable Package (vcredist_x86.exe). You can download it here (http://www.microsoft.com/en-us/download/details.aspx?id=29). (I suppose that, ldecod being a 32-bit app, it is not necessary to install the x64 version of the package under an x64 system.)
Please let me know if it's sufficient to solve the problem. I will add a link in my GUI to download it easily. (Perhaps I'll be able to check also if it is already installed, but I'm not sure.)
aha! I installed the 2010 which didn't help. now installed 2008 and all seems well :) thank you very much!
Great! Thanks for the confirmation.
frencher
8th July 2012, 12:52
ldecod is compiled c ++ 2008 :)
ok, that's easy. I thought it needed changing elsewhere too.Well, perhaps there are other things to change too, mainly in the stream names my GUI adds automatically in the mkvmerge options file. (I don't remember right now, but I think the length of the movie is included.)
Also, I think that mkvmerge includes the full audio/subpic streams, even if the video is truncated. So, you may end up with a much larger file than really needed, but that should not be a problem for testing purposes.
I'm not familiar with xport. It's not easy to find on a websearch right away but I see you have included the exe in toolset.
The command the GUI uses is:
xport.exe -phs file.m2ts 1 1 1
Note that xport doesn't work well with ssif or mpls files, so you have to use it on the m2ts file. If there are several m2ts files included in the mpls, you have to launch the ldecod command several times, and compute the total number of frames.
an alternative method to get the frames is server the main m2ts via avs on something like vdub and go to the end. that will show you the number of frames. but then again since most of the time you want to demux anyway your method is better, def for gui purposes.
Of course, I can't use a GUI from my GUI. And passing by an avs script just to retrieve the total number of frames seems overkill. But, indeed, if you do the job manually, that method should be fine (although I would prefer adding the Info() avisynth command in the script, then open it with any player supporting avs input to read the info.)
mini-moose
8th July 2012, 14:29
Well, perhaps there are other things to change too, mainly in the stream names my GUI adds automatically in the mkvmerge options file. (I don't remember right now, but I think the length of the movie is included.)
Also, I think that mkvmerge includes the full audio/subpic streams, even if the video is truncated. So, you may end up with a much larger file than really needed, but that should not be a problem for testing purposes.
well I'm aiming to get just a small video file. not going to mux it.
right now it's not really working as I expected. maybe my avs is wrong. I don't have prior experience dealing with 3d encodes.
can you tell me if you see something off here:
LoadPlugin("C:\__projects\BD3D2AVS\toolset\ssifSource.dll")
ssifSource("I:\BDMV\PLAYLIST\00799.mpls", 1920, 1080, 500, 2, 3)
AssumeFPS(24/1.001)
trim(0,499)
left =Crop(0,132,0,-132)
right=Crop(0,132,0,-132)
StackHorizontal(left, right)
BicubicResize(1920, 816)
the frame count I get is 572 not 500 and the video seems to be split into 4 with a large black bar in the middle:
http://i.imgur.com/fxs5S.jpg
I also get this msg:
Completed Decoding frame 01003.
Error writing to pipe! | 0x0000006d: The pipe has been ended.
Error writing to pipe! | 0x0000006d: The pipe has been ended.
Not sure why there are 2 additional frames. Anyway, the trim command should not be necessary, since you have forced 500 frames in the ssifSource command. (Perhaps you need to specify the last frame number (499) instead of the number of frames, but I don't think so.)
The crop lines are wrong. Currently, they are identical, so the left and right images will also be identical. No 3D anyway!
Remember that the input video is made of two full-resolution images stacked vertically (normally, with the left eye view on top). So, to extract the left image without the black borders, you should use:
left =Crop(0,132,0,(1080+132)*-1)
and, for the right image:
right=Crop(0,1080+132,0,-132)
[EDIT] I haven't read carefully your post. There are 72 additional frames, not 2. Obviously, it's because my GUI adds them automatically, as you have guessed.
mini-moose
8th July 2012, 14:56
Not sure why there are 2 additional frames. Anyway, the trim command should not be necessary, since you have forced 500 frames in the ssifSource command. (Perhaps you need to specify the last frame number (499) instead of the number of frames, but I don't think so.)
The crop lines are wrong. Currently, they are identical, so the left and right images will also be identical. No 3D anyway!
Remember that the input video is made of two full-resolution images stacked vertically (normally, with the left eye view on top). So, to extract the left image without the black borders, you should use:
left =Crop(0,132,0,(1080+132)*-1)
and, for the right image:
right=Crop(0,1080+132,0,-132)
ok, I know some avisynth but apparently not enough to figure out that crop cmd. now it's fine!
the extra 72 frames are evidently cause I didn't disable the "Add 3 seconds of black at the end" bit from your original script. what are those 3 seconds for by the way?
Well, I've added them just because there are many DB movies that stop abruptly (even sometines before the end of the audio stream), and anyway I don't like to see the GUI of my TV immediately after the end of the movie. Black frames are very well compacted, so these 3 seconds cost almost nothing in term of disc space, so I've added them anyway, even if they are not always necessary. You can remove them if you wish.
Note that the 3rd and 4th arguments of the crop commands can be positive or negative. When you specify a negative number, the size is computed from the right or bottom edge of the image. Positive arguments do the crop relatively to the left or top side. So, the following commands should work also:
left =Crop(0,132,0,1080 - 132)
right=Crop(0,1080+132,0,1080*2 - 132)
mini-moose
8th July 2012, 15:15
Well, I've added them just because there are many DB movies that stop abruptly (even sometines before the end of the audio stream), and anyway I don't like to see the GUI of my TV immediately after the end of the movie. Black frames are very well compacted, so these 3 seconds cost almost nothing in term of disc space, so I've added them anyway, even if they are not always necessary. You can remove them if you wish.
Note that the 3rd and 4th arguments of the crop commands can be positive or negative. When you specify a negative number, the size is computed from the right or bottom edge of the image. Positive arguments do the crop relatively to the left or top side. So, the following commands should work also:
left =Crop(0,132,0,1080 - 132)
right=Crop(0,1080+132,0,1080*2 - 132)
ok, gotcha :) thanks.
How would srt subs work with 3d encodes? regularly? they are a lot of work to do yourself but a lot of them are made available on the web by dedicated translators. I personally prefer vobsubs but the issue is that some players would not read them from mkv.
You can mux the srt files in the MKV file, or leave them alone. In the second case, they must have the same file name than the movie (although some players accept an additional language extension).
My Samsung TV recognizes them and displays them in 3D almost well (but only if they are outside the container). The problem is that it is not possible to force my TV to display them with a 3D depth effect, and they appear to be always on the surface of the screen. When they are displayed over objects that are "outside the screen", they are impossible to read, the display is horrible, and it's a torture for the mind. It's why I have added the option to hardcode the subtitles on the video, with a configurable 3D depth effect.
Note that you can also hardcode srt files. Just change the VobSub command to TextSub and the file name. Of course, given the lack of coordinates values in the srt format, they will be always displayed at the default position, but the 3D effect will be preserved.
Note also that you cannot use an external player to generate the video stream (for example a multimedia HDD connected to the 3D TV via HDMI), as it doesn't know that the video is in 3D, and it displays the non-hardcoded subtitles once, at the bottom centre of the 3D image. The TV then combines the images to show them in 3D, but the subtitles are completely messed up. It should be possible to create 3D SUB/IDX files, with the subtitles already scaled, duplicated and placed at the correct positions for the two images, but currently, there is no app able to transcode BD SUPs to 3D SUB/IDX. A solution may come soon with BDSup2Sub++...
Here is the new version of BD3D2AVS. It fixes the x264.exe not found problem, and I've added an item in the Help menu to download the Microsoft Visual C++ 2008 Redistributable Package, as well as a message displayed only the first time the program is run telling that the package is required. (If you want to see it, delete the BD3D2AVS.cfg file.) I have also updated the "requirements" section of the doc.
Unfortunately, I haven't found a reliable way to check if the package is already installed, and more strangely, I have tried to uninstall it (with success), but ldecod has continued to work as expected. (Perhaps because I have the x64 version installed, or because there are already two M$ updates for the 32-bit package, that I have not uninstalled.) Anyway, the first-time dialogue should be sufficient.
# v0.4 (July 8, 2012)
# - Fixed: the "set path" command in _ENCODE.cmd was wrong.
# - Added a Help menu item to download the Microsoft Visual C++ 2008 Redistributable Package, necessary for ldecod.exe.
# - Added message to warn the user that the vcredist 2008 package is required the first time the program is run.
Download: http://download.videohelp.com/r0lZ/BD3D2AVS/BD3D2AVS.7z
The next update will probably use BDSup2Sub++.exe instead of the old java version of BDSup2Sub, as it has now the possibility to shift the subs to the left or right, and it will be much simple and rapid to use that new CLI option than the current method to hardcode the subtitles with a 3D depth effect, requiring to play with Crop and Stack commands in the AVS script. However, the current version of BDSup2Sub++ is still a somewhat unstable beta, and I will wait for v1.0.
BDSup2Sub++ v1.1 should add the possibility to generate true 3D subs, so that it should be possible to hardcode them in one shot, or to include them in the container, for a better compatibility with multimedia HDDs. But that's for later...
mini-moose
8th July 2012, 16:21
You can mux the srt files in the MKV file, or leave them alone. In the second case, they must have the same file name than the movie (although some players accept an additional language extension).
My Samsung TV recognizes them and displays them in 3D almost well (but only if they are outside the container). The problem is that it is not possible to force my TV to display them with a 3D depth effect, and they appear to be always on the surface of the screen. When they are displayed over objects that are "outside the screen", they are impossible to read, the display is horrible, and it's a torture for the mind. It's why I have added the option to hardcode the subtitles on the video, with a configurable 3D depth effect.
Note that you can also hardcode srt files. Just change the VobSub command to TextSub and the file name. Of course, given the lack of coordinates values in the srt format, they will be always displayed at the default position, but the 3D effect will be preserved.
Note also that you cannot use an external player to generate the video stream (for example a multimedia HDD connected to the 3D TV via HDMI), as it doesn't know that the video is in 3D, and it displays the non-hardcoded subtitles once, at the bottom centre of the 3D image. The TV then combines the images to show them in 3D, but the subtitles are completely messed up. It should be possible to create 3D SUB/IDX files, with the subtitles already scaled, duplicated and placed at the correct positions for the two images, but currently, there is no app able to transcode BD SUPs to 3D SUB/IDX. A solution may come soon with BDSup2Sub++...
thanks a lot for all the valuable info and infinite patience.
Hardcodding is something I don't like as it's set in stone so I guess vobsubs exterrnal or internal are the best way at the moment.
I was certain I saw some app that claims to be purposed for 3d subs but I can't find it now. As you say there is non than I would assume that even if there is one that claims to be it must not be very good :)
Hardcodding is something I don't like as it's set in stone so I guess vobsubs exterrnal or internal are the best way at the moment.
I fully agree, but since there is no good solution for my TV, I have to hardcode the subtitles in some cases. I'm sure I'm not the only one needing that.
I was certain I saw some app that claims to be purposed for 3d subs but I can't find it now. As you say there is non than I would assume that even if there is one that claims to be it must not be very good :)
Yes, there is a "3D Subtitle Editor" referenced by frencher here (http://forum.doom9.org/showthread.php?p=1574724#post1574724), but it can only generate SUB/IDX files from SRT text files. Since my app uses the original BD SUPs as input, and because the subtitle editor has no CLI option, I can't use it for BD2D2AVS. (However, you can try it if you have a srt file as input. It has also the possibility to define the 3D depth effect.)
frencher
9th July 2012, 05:14
3DBD's Free - v0.0.0.0005 (2012-07-09) - See my signature
- FIXED - All the problems of false positives with "G_ComboBox*.dll" New Plugin
Do you still have the problem with "libflac.dll" or other problem ?
mini-moose
9th July 2012, 08:46
Here is the new version of BD3D2AVS.
nice:)
a few more things I wanted to mention:
1) If I do not choose any streams to extract (i,e disable the DTS extraction) I think you said the program will use xporter.exe. The popup window goes immediately goes to "not responding" mode but it does work and finishes + files are created. It may confuse some people into thinking the process has died if they don't have the patience to wait and see it actually didn't.
Still using the same test subject it reports an extra frame over eac3to (165210 vs 165211 with xporter), not really a huge issue.
2) I think it's worth adding a --level switch. specifically set it to level 4.1. high@level 4.1 is the bluray standard and will control the ref setting. without it your encode will use whatever ref the preset uses and may cause some compatibility issues. Level 4.1 ensures it doesn't go over the compatible ref setting (e.g ref 4 for 1:1.78).
3) Resize - set to bicubic by default. That's a bit of a simple resizer for high res sources. I'm guessing it's faster than the sharper ones which might be the reason it's set as default as many users would like a faster job.
4) --tune - I think that should maybe also have a "none" option.
5) It would be great if there was a crop option that can insert the correct crop values into the AVS. I know you can't support a crop tool window to allow users to check the crop but perhaps an "advanced" option can be added for the people who know how to get the values using some external program. Obviously that would also require and "advanced" option to change the resize. maybe too much hassle but it's something that can be useful.
1) I know, but I can't avoid that problem. It's because xport.exe doesn't have a "GUI mode" that prints the progress % numbers to stdout. So, when the GUI launches the command, it has to wait until it finishes the job, and cannot refresh the GUI. Windows is the real culprit, as it "thinks" that the program is dead when it is not responding, but in fact, it is waiting for a command-line tool to exit. (I know that that Windows limitation can be avoided by creating another process to control just the refresh of the GUI and reply to Windows, but it's not possible to implement it with Tcl/Tk.)
2) As far as I know, the level is auto-detected, and should be level 4.1 since the input is a BD, unless you overwrite it with another option. But I'm not a specialist in h264 encoding, and I can certainly add that option in the next version. In the meantime, you can specify the level in the additional options.
3) Don't forget that the resize divides the width or height of the original picture by exactly 2. Complex (and slow) resizes are necessary when the resize is also complex, but when exactly two pixels are merged into a single pixel, simple resizes such as the Bicubic or even the Bilinear resize are usually sufficient. I've picked the Bicubic one for the default because it is fast and IMO largely sufficient. Of course, if I'm wrong, I can change it, but I don't want to enter in an infinite debate about the respective qualities of the different resize algorithms. Anyway, you can change it easily enough, and it's an option that is saved with your preferences.
4) As far as I know, there is no "none" preset for tune. I suppose that if it is set to "none" in the GUI, I should simply remove the --tune option from the command. Right?
mini-moose
9th July 2012, 09:54
1) I know, but I can't avoid that problem. It's because xport.exe doesn't have a "GUI mode" that prints the progress % numbers to stdout. So, when the GUI launches the command, it has to wait until it finishes the job, and cannot refresh the GUI. Windows is the real culprit, as it "thinks" that the program is dead when it is not responding, but in fact, it is waiting for a command-line tool to exit. (I know that that Windows limitation can be avoided by creating another process to control just the refresh of the GUI and reply to Windows, but it's not possible to implement it with Tcl/Tk.)
ah i see.
2) As far as I know, the level is auto-detected, and should be level 4.1 since the input is a BD, unless you overwrite it with another option. But I'm not a specialist in h264 encoding, and I can certainly add that option in the next version. In the meantime, you can specify the level in the additional options.
I did a clip test to mkv so I can mediainfo the header settings and it doesn't. You have to use the level switch for that.
cmd used:
x264.exe --preset slower --tune film --profile high --crf 19
medainfo:
Format profile : High@L5.0
settings: ref=8 / me=umh / subme=9
same cmd with --level 4.1 added:
Format profile : High@L4.1
ref=4 / / me=umh / subme=9
3) Don't forget that the resize divides the width or height of the original picture by exactly 2. Complex (and slow) resizes are necessary when the resize is also complex, but when exactly two pixels are merged into a single pixel, simple resizes such as the Bicubic or even the Bilinear resize are usually sufficient. I've picked the Bicubic one for the default because it is fast and IMO largely sufficient. Of course, if I'm wrong, I can change it, but I don't want to enter in an infinite debate about the respective qualities of the different resize algorithms. Anyway, you can change it easily enough, and it's an option that is saved with your preferences.
fair enough. as I said I don't have experience with 3D encodes yet so most of my assumptions comes from standard ones.
4) As far as I know, there is no "none" preset for tune. I suppose that if it is set to "none" in the GUI, I should simply remove the --tune option from the command. Right?
exactly. reason I'm suggesting it is that some of the tune options may confuse people who just use defaults. for example using film instead of animation when the movie is animation. Grain I noticed boosts the file size considerably and should prob only be used for movies with high grain levels. ssim and psnr are not self-explanatory from their name and mostly change the aq mode setting + disable psy tuning.
5) It would be great if there was a crop option that can insert the correct crop values into the AVS. I know you can't support a crop tool window to allow users to check the crop but perhaps an "advanced" option can be added for the people who know how to get the values using some external program. Obviously that would also require and "advanced" option to change the resize. maybe too much hassle but it's something that can be useful.
Well, the script is already very complex (especially when it has to hardcode subs). Furthermore, if the video is cropped, I would have to adapt the position of the subtitles, as they will be positioned by default at a wrong position. (It's impossible with the current java version of BDSup2Sub, although the new C++ version should have an option to move the subs vertically.) Also, as I said above, most 3D TVs require true 16:9 as input, so the black bars are necessary in many cases, and I don't want to encourage newbies to crop their videos, as this tends to produce files with wrong aspect ratios, difficult to view with a player that has not enough options to fix the AR manually or automatically.
So, sorry, but I don't think I will implement that possibility.
I'm currently working in the implementation of the "none" preset and the --level switch.
BTW, according to the x264 doc, permissible levels are 1 1b 1.1 1.2 1.3 2 2.1 2.2 3 3.1 3.2 4 4.1 4.2 5 and 5.1
But "Level 4.1 is often considered the highest level you can rely on desktop consumer hardware to support. Blu-ray Discs only support level 4.1, and many non-mobile devices like the Xbox 360 specify level 4.1 as the highest they officially support. Mobile devices like the iPhone/Android are a totally different story."
Do you think I must support the whole list, or just from 1 to 4.1?
4.1 will be the default anyway. (I will add also a pseudo-level "auto" to let x264 decide which level to use.)
Also, according to the doc, "specifying the level does not automatically set the --vbv-maxrate or --vbv-bufsize, however it will warn if the level specific properties are exceeded." Does it mean that I have to add the --vbv-maxrate and --vbv-bufsize options according to the selected level? If it's the case, do you know where I can find the values for these parameters, for each level?
(doc source (http://mewiki.project357.com/wiki/X264_Settings#level))
mini-moose
9th July 2012, 10:12
Well, the script is already very complex (especially when it has to hardcode subs). Furthermore, if the video is cropped, I would have to adapt the position of the subtitles, as they will be positioned by default at a wrong position. (It's impossible with the current java version of BDSup2Sub, although the new C++ version should have an option to move the subs vertically.) Also, as I said above, most 3D TVs require true 16:9 as input, so the black bars are necessary in many cases, and I don't want to encourage newbies to crop their videos, as this tends to produce files with wrong aspect ratios, difficult to view with a player that has not enough options to fix the AR manually or automatically.
So, sorry, but I don't think I will implement that possibility.
understood :) thanks.
mini-moose
9th July 2012, 10:24
I'm currently working in the implementation of the "none" preset and the --level switch.
BTW, according to the x264 doc, permissible levels are 1 1b 1.1 1.2 1.3 2 2.1 2.2 3 3.1 3.2 4 4.1 4.2 5 and 5.1
But "Level 4.1 is often considered the highest level you can rely on desktop consumer hardware to support. Blu-ray Discs only support level 4.1, and many non-mobile devices like the Xbox 360 specify level 4.1 as the highest they officially support. Mobile devices like the iPhone/Android are a totally different story."
Do you think I must support the whole list, or just from 1 to 4.1?
4.1 will be the default anyway. (I will add also a pseudo-level "auto" to let x264 decide which level to use.)
from what you quoted level 4.1 is the one most likely to not present compatibility issues on most devices, so I think further levels are not required. If someone wants higher/lower levels than he is either has advanced knowledge most likely and can manually edit the cmd or a newbie who thinks setting to the highest levels will result in a super-great encode.
As for mobile phones...anyone who watches high res stuff on a 6" display should be spanked :) so I wouldn't even consider them. I believe mobile phones are more suited for mp4 than mkv anyway.
Also, according to the doc, "specifying the level does not automatically set the --vbv-maxrate or --vbv-bufsize, however it will warn if the level specific properties are exceeded." Does it mean that I have to add the --vbv-maxrate and --vbv-bufsize options according to the selected level? If it's the case, do you know where I can find the values for these parameters, for each level?
(doc source (http://mewiki.project357.com/wiki/X264_Settings#level))
sorry, I don't have any useful input on that. I never used vbv switches nor have I ever gotten warnings about them. I know they are defaults on megui. I'll have a look if I can find such info. crf does have an unpredictable nature as it doesn't really have bitrate limitations per se.
edit: megui has a "target playback device" on the x264 configuation dialog box. you can try the devices there and see how the levels/profiles change accordingly. for example if you choose iphone it changes to baseline/level 3
.
According to this site (https://sites.google.com/site/x264bluray/home/1080i-p), BD compliant x264 encodes need these parameters:
--bluray-compat --vbv-maxrate 40000 --vbv-bufsize 30000 --level 4.1 --keyint 24 --open-gop --slices 4 --colorprim "bt709" --transfer "bt709" --colormatrix "bt709" --sar 1:1
So, I think I will add a checkbox "BD compatible", and force these options if it is ticked.
The options --bitrate XXXXX --preset veryslow --tune film --pass 1 (then 2) are also specified in the article, but I suppose that they are used only to control the quality of the encoding, and not really necessary for BD compliance.
I will not force any option if the BD compatible checkbutton is not ticked. After all, the advanced user can specify what he wants in the additional options box.
BTW, I wonder if that "BD compatible" checkbox is really necessary. Users who have a BD-3D and want to convert it to SBS or TB format do it to have a standalone MKV file, not to create a new BD. But IMO that option can be useful anyway. What do you think?
mini-moose
9th July 2012, 11:18
According to this site (https://sites.google.com/site/x264bluray/home/1080i-p), BD compliant x264 encodes need these parameters:
--bluray-compat --vbv-maxrate 40000 --vbv-bufsize 30000 --level 4.1 --keyint 24 --open-gop --slices 4 --colorprim "bt709" --transfer "bt709" --colormatrix "bt709" --sar 1:1
So, I think I will add a checkbox "BD compatible", and force these options if it is ticked.
The options --bitrate XXXXX --preset veryslow --tune film --pass 1 (then 2) are also specified in the article, but I suppose that they are used only to control the quality of the encoding, and not really necessary for BD compliance.
I will not force any option if the BD compatible checkbutton is not ticked. After all, the advanced user can specify what he wants in the additional options box.
BTW, I wonder if that "BD compatible" checkbox is really necessary. Users who have a BD-3D and want to convert it to SBS or TB format do it to have a standalone MKV file, not to create a new BD. But IMO that option can be useful anyway. What do you think?
I don't think any encode will go over 40mbit tbh and if it does it means the movie is very grainy or something. if your mkv turns out to be a the size of a blu-ray you might as well just use the blu-ray itself :) I suppose it can't hurt to have it but I doubt it's really necessary. Maybe someone else on the forum has input on that matter.
I rechecked megui and the vbv set to are set to 0 by default. I thought they aren't. maybe some players/gfxs have limitations as to what buffers/bitrates they can handle.
Hum, I've added the BD compatible checkbox anyway, and when it is ticked, I will force the options above. I agree that the maxrate will probably never exceed 40000 (although it's possible in specific scenes, for a short time), but it doesn't hurt to specify it anyway, and the other options are probably necessary.
Note that when using the BD compatible options, the user specified Level will not be taken into account (since the level is forced to 4.1 anyway), but also the additional parameters field will be ignored, as it is difficult to ensure that the user has not typed already a parameter incompatible with the BD specs, or a parameter that is already forced. The ignored fields will be disabled in the GUI to reflect that fact.
mini-moose
9th July 2012, 11:34
According to this site (https://sites.google.com/site/x264bluray/home/1080i-p),
have a look here:
http://mewiki.project357.com/wiki/X264_Encoding_Suggestions#VBV_Encoding
Yeah, it's the site I've found immediately. It is valuable, but apparently, not complete. For example, I've found this thread (http://forum.doom9.org/showthread.php?t=154533). Seems that some options depend of the resolution. :(
mini-moose
9th July 2012, 12:09
Yeah, it's the site I've found immediately. It is valuable, but apparently, not complete. For example, I've found this thread (http://forum.doom9.org/showthread.php?t=154533). Seems that some options depend of the resolution. :(
yes but this one is more for blu-ray compliants. I think the main use for vbv is how you play your files. if you do it local than you shouldn't have any limitations. if you stream it then it would depend on you bw. for example if you stream it on a local network that is 100mbit/1gbit it should be able to handle blu-ray bitrates easily as those are around 40mbit max.
OK, the new version is ready. (I've also fixed a bug introduced in v0.4. The dialogue about the necessity to install vcredist was displayed each time the program starts.)
# v0.5 (July 9, 2012)
# - Bug introduced in v0.4: the message about the vcredist 2008 package was displayed each time the program is run.
# - Added the x264 Preset "none" to disable the --preset option in the x264 command. None is now the default.
# - Added the x264 Level option (by default 4.1). "auto" disables the --level option.
# - Added the "BD compatible" checkbox to overwrite the Preset, Level and user options with options suitable for blu-ray authoring.
As usual, the download is here: http://download.videohelp.com/r0lZ/BD3D2AVS/BD3D2AVS.7z
I'm not sure the options to encode in BD compatible mode are right. Maybe some of them are not necessary, or there are missing ones. Anyway, that will be easy to modify later.
If someone can help with that subject, that will be much appreciated.
mini-moose
9th July 2012, 17:14
OK, the new version is ready. (I've also fixed a bug introduced in v0.4. The dialogue about the necessity to install vcredist was displayed each time the program starts.)
# v0.5 (July 9, 2012)
# - Added the x264 Preset "none" to disable the --preset option in the x264 command. None is now the default.
great :)
you mean --tune not --preset I assume?
Yes, of course. It's a bug in the version history! ;)
mini-moose
9th July 2012, 19:48
Yes, of course. It's a bug in the version history! ;)
hehe.
I have another question.
on the mux 3d option you have this part:
0:3D side-by-side (left first)
--stereo-mode
is this flag necessary? if I use mkvmerge gui with this flag it will mux the final result into a .mk3d file not .mkv (yours is set to be .mkv). I had a friend test a 3d encode, one muxed without this flag and one with and he said both play the same way.
I'm sure that flag doesn't harm anything, I'm just interested to know if you know it makes any difference.
From what I read on mkvmerge it appears to be an option mostly meant for 2 separate video files (left/right) and not a ready made in one file encode:
"Stereo mode: There's a technology of providing pseudo three dimensional images by playing back two video tracks that have been filmed from slightly different positions simultaneously. Each eye only sees one of those tracks. This is called stereo mode. Most users should leave this empty. "
and another thing regarding mux:
--default-duration
0:24000/1001p
is that flag generated according to the movie fps or it's always set to that? As some movies can be 24fps/25fp/29.970fps too. Basically your avs already ensures the correct fps is used using the AssumeFPS switch so there's no real need to specify it in mkvmerge as well. It doesn't do any harm either as long as it takes the switch from the source and it isn't defaulted which I assume it isn't.
Stereo mode: It's not a simple flag, but a setting for the MKV container. It is supposed to be used by the TVs or 3D players to switch automatically to the right stereo mode. Very few TVs take that setting into account, but it doesn't hurt, and it's also an info easy to examine to know how the stereo images are encoded. My GUI creates only SBS and TB (left eye first in both cases) and sets the correct mode, but the MKV container has a bunch of other modes as well (including the 2 separate video files). IMO, if nobody set that setting correctly, the 3D TV makers will never try to respect it.
I think however that the .mk3d extension is not as useful, and is not recognised by the 3D TVs either, so I've decided to use the standard .mkv extension. It is easy to change it if you wish.
The default duration is taken from the information returned by eac3to (when the streams of the current title are retrieved by the GUI), and should be the real frame rate of the input video. According to the mkvmerge doc, it is usually useless to specify it except for h264 streams, because the frame rate is not included in the stream itself. MkvMerge GUI warns you if you try to mux a h264 stream without specifying it, and sets it by default to 25fps. (Things may have changed in recent implementations of h264, as I have not seen that warning recently, but I remember I've turned off that message.) Anyway, specifying the correct frame rate should not hurt, even if it is not needed.
(However, I have no way to be sure that the video is really progressive and not interlaced. The frame rate should not change, but the "p" in the syntax may be wrong in some cases. I think it is used by the mkvmerge parser to determine the format of the --default-duration parameter, as you can specify the frame rate or the duration between two frames in ms or ns. The "p" should be ignored after the parsing, but I'm not totally sure.)
mini-moose
10th July 2012, 08:32
Stereo mode: It's not a simple flag, but a setting for the MKV container. It is supposed to be used by the TVs or 3D players to switch automatically to the right stereo mode. Very few TVs take that setting into account, but it doesn't hurt, and it's also an info easy to examine to know how the stereo images are encoded. My GUI creates only SBS and TB (left eye first in both cases) and sets the correct mode, but the MKV container has a bunch of other modes as well (including the 2 separate video files). IMO, if nobody set that setting correctly, the 3D TV makers will never try to respect it.
I think however that the .mk3d extension is not as useful, and is not recognised by the 3D TVs either, so I've decided to use the standard .mkv extension. It is easy to change it if you wish.
I see. I'm sure it doesn't hurt. My thought was that stereo mode was only really effective when you actually use 2 video streams (right and left), when it's a ready-made 1 video it seems not as effective unless as you say it helps some tvs/players.
Have you tried without the flag and witnessed it "confused" the player or tv? Sorry if I seem to be picking at a negligible subject, just curious.
The default duration is taken from the information returned by eac3to (when the streams of the current title are retrieved by the GUI), and should be the real frame rate of the input video. According to the mkvmerge doc, it is usually useless to specify it except for h264 streams, because the frame rate is not included in the stream itself. MkvMerge GUI warns you if you try to mux a h264 stream without specifying it, and sets it by default to 25fps. (Things may have changed in recent implementations of h264, as I have not seen that warning recently, but I remember I've turned off that message.) Anyway, specifying the correct frame rate should not hurt, even if it is not needed.
(However, I have no way to be sure that the video is really progressive and not interlaced. The frame rate should not change, but the "p" in the syntax may be wrong in some cases. I think it is used by the mkvmerge parser to determine the format of the --default-duration parameter, as you can specify the frame rate or the duration between two frames in ms or ns. The "p" should be ignored after the parsing, but I'm not totally sure.)
ah I see, it's cause it's .h264 and may lack header info being a raw format.
so, when you say it uses "information returned by eac3to" you mean a line such as this? :
M2TS, 2 video tracks, 5 audio tracks, 5 subtitle tracks, 1:52:31, 24p /1.001
r0lZ
10th July 2012, 09:09
Have you tried without the flag and witnessed it "confused" the player or tv? Sorry if I seem to be picking at a negligible subject, just curious.
My TV ignores the stereo mode setting completely, and is therefore never confused, with or without that setting. Of course, a TV or player that takes it into account can be confused if it is wrong, but BD3D2AVS sets it correctly. :)
ah I see, it's cause it's .h264 and may lack header info being a raw format.
Yes, although some other raw formats have that info.
so, when you say it uses "information returned by eac3to" you mean a line such as this? :
M2TS, 2 video tracks, 5 audio tracks, 5 subtitle tracks, 1:52:31, 24p /1.001
Not exactly. Have a look at the first tab of the GUI. It shows the info returned by eac3to.
The bottom listview shows the two video streams, as returned by eac3to, like this:
- h264/AVC (left eye), 1080p, fps: 24 /1.001 (16:9)
- h264/AVC (right eye), 1080p, fps: 24 /1.001 (16:9)
The height of the video, the frame rate and the aspect ratio are retrieved from these lines.
Audio and subtitle streams are processed the same way, to retrieve the stream type and language.
The MPLS or M2TS file to demux and use for the encoding, and the movie duration (only used in comments and for the intro clip) are retrieved from the selected line in the upper pane.
Note that the stream numbers are retrieved from the bottom pane also, but it is necessary to do the "Get Stream Info" pass to show them. Subtitles streams are also visible only after that pass. It's why the GUI needs to do it when you select another tab (unless you did it manually in the first tab).
mini-moose
10th July 2012, 09:15
My TV ignores the stereo mode setting completely, and is therefore never confused, with or without that setting. Of course, a TV or player that takes it into account can be confused if it is wrong, but BD3D2AVS sets it correctly. :)
Not exactly. Have a look at the first tab of the GUI. In the bottom listview, it shows the two video streams, as returned by eac3to, like this:
- h264/AVC (left eye), 1080p, fps: 24 /1.001 (16:9)
- h264/AVC (right eye), 1080p, fps: 24 /1.001 (16:9)
The height of the video, the frame rate and the aspect ratio are retrieved from these lines.
Audio and subtitle streams are processed the same way, to retrieve the stream type and language.
The MPLS or M2TS file to demux and use for the encoding, and the movie duration (only used in comments and for the intro clip) are retrieved from the selected line in the upper pane.
ok. I don't have any to test on but what happens if it would say
24p, 50i or 60i? Your tool knows to convert those to 24/1, 25/1, 30/1.001 ?
I'm sure it does and I apologize if I seem like I'm doubting it, just want to be sure as I have nothing to test with.
r0lZ
10th July 2012, 09:26
It will never show the i or p. The frame rate is either a fraction (such as 24 /1.001) or an integer (such as 25). The GUI retrieves everything after the "fps:" and before the "(" of the aspect ratio, and strips the spaces. (It converts the fractions to a floating point number internally, mainly for the fps option of the intro clip, as all tools used by the GUI accept the fractions.)
For the conversion of interlaced material, honestly, I don't know. I would be very surprised if you can find a 3D BD encoded in interlaced mode. In that case, I suppose it will still show, say, 25 fps, as fps means "frames per second", not "fields per second".
mini-moose
10th July 2012, 09:39
It will never show the i or p. The frame rate is either a fraction (such as 24 /1.001) or an integer (such as 25). The GUI retrieves everything after the "fps:" and before the "(" of the aspect ratio, and strips the spaces. (It converts the fractions to a floating point number internally, mainly for the fps option of the intro clip, as all tools used by the GUI accept the fractions.)
For the conversion of interlaced material, honestly, I don't know. I would be very surprised if you can find a 3D BD encoded in interlaced mode. In that case, I suppose it will still show, say, 25 fps, as fps means "frames per second", not "fields per second".
hmm ok. Like I said I don't have a non 23.976 to test so I can just look how it is on a a standard 25fps bluray - this is how it looks on one :
2: h264/AVC, 1080i50 (16:9)
on the 3d one I tested it shows:
2: h264/AVC (left eye), 1080p24 /1.001 (16:9)
3: h264/AVC (right eye), 1080p24 /1.001 (16:9)
50i doesn't mean the video is actually interlaced. pal is always identified as interlaced. In some cases it is in many cases not, i.e the fields pattern is progressive: 1,1,2,2,3,3 and not 1+2,3+4,5+6 etc.
r0lZ
10th July 2012, 10:09
I agree. PAL and NTSC are by nature always interlaced, as they are always made of fields, even if the two fields have been shot at the same time, giving the impression that the video is not interlaced. But again, I doubt you can find a 3D movie encoded in PAL or NTSC. (I've seen several NTSC DVD in 3D, where each field contains one of the two eye views, but it's now a 3D format completely abandoned. Anyway, the quality of the 720x240 pictures is terrible!)
I may have to take the "i" at the end of the resolution into account. Currently, I don't do it, as I have supposed that a 3D BD is always progressive. But if the fps returned by eac3to for interlaced material is the "fields per second", as in your example, the frame rate of my GUI may be wrong. If you can find an interlaced 3D movie, please let me know...
mini-moose
10th July 2012, 10:25
I agree. PAL and NTSC are by nature always interlaced, as they are always made of fields, even if the two fields have been shot at the same time, giving the impression that the video is not interlaced. But again, I doubt you can find a 3D movie encoded in PAL or NTSC. (I've seen several NTSC DVD in 3D, where each field contains one of the two eye views, but it's now a 3D format completely abandoned. Anyway, the quality of the 720x240 pictures is terrible!)
I may have to take the "i" at the end of the resolution into account. Currently, I don't do it, as I have supposed that a 3D BD is always progressive. But if the fps returned by eac3to for interlaced material is the "fields per second", as in your example, the frame rate of my GUI may be wrong. If you can find an interlaced 3D movie, please let me know...
It's possible there aren't any PAL fps 3D. I would need to find such blu-rays and check to make sure. Flying Monsters with David Attenborough appears to be 23.976 so you might be right.
However I think there can be 24p 3D movies but I'm unsure how the fps will be displayed on eac3to. it's possible it will show 24p and not 24/1.
r0lZ
10th July 2012, 10:32
Just tried with a NTSC DVD, and here is that it shows:
1: MPEG2, 480p24 /1.001 (16:9) with pulldown flags
And for a PAL DVD:
1: MPEG2, 576p25 (16:9)
So, at least for DVDs, it shows them always as being progressive (even for NTSC!) and it displays the frames per seconds.
mini-moose
10th July 2012, 10:34
Just tried with a NTSC DVD, and here is that it shows:
1: MPEG2, 480p24 /1.001 (16:9) with pulldown flags
And for a PAL DVD:
1: MPEG2, 576p25 (16:9)
So, at least for DVDs, it shows them always as being progressive (even for NTSC!) and it displays the frames per seconds.
yes but you need to try one that is 24p not 24/1.001. i.e 24 fps not 23.976. I will see if I have such a bluray around.
edit:
ok found one:
2: h264/AVC, 1080p24 (16:9)
24fps sources are the ones eac3to refers to as:
v02 The video framerate is correct, but rather unusual.
I haven't seen 24p 3D discs but since it's progressive it's not out of the question there are such (or will be).
r0lZ
10th July 2012, 10:42
it's possible it will show 24p and not 24/1.Anyway, that doesn't matter for my GUI. It can handle the fractions or single integers as well.
BTW, I forgot to say that the output of eac3to is somewhat processed by the program before it is displayed in the GUI. That explain the little differences between the original output and what you see in the GUI. In my GUI, the frame rate is always displayed after "fps:" and before "(16:9)". In case of a single "24", it will show 24.
However, for 50i, it will show "50" and assume (wrongly) 50 frames per second.
mini-moose
10th July 2012, 10:50
ok, new subject :)
I ran a test encode overnight. It did not perform the mux at the end but I blamed it on the possible fact that I've tinkered with the original files your tool has generated (I also used an older version of it, v3 I think).
So what I've done is used the latest version to run through the routine and create all the files again and then copied the .h264 to the new project dir.
first off, the console reports this:
WARNING:
BDSup2Sub "9 Subtitle (PGS), English, forced captions only.sub"
ERROR: No forced subtitles found.There was 1 error
BDSup2Sub "10 Subtitle (PGS), English, forced captions only.sub"
ERROR: No forced subtitles found.There was 1 error
() 1 %
understandable as there were no forced english subs to be found (source has a separate sub steam for regular english subs and SDH ones). The 1 % I'm not sure what it means. Def not an issue just that some might think it's stuck in some way as it doesn't progress over 1%, however the process seems to be all done (avs,cmds,audios,subs,sups are all created).
Next thing I tried is running the _MUX_3D.cmd directly. double clicking it from location flashed the cmd window for a brief second and closed so I cd'd into the directory and ran it through console:
C:\\BD3D2AVS\xx2\00799_mpls>_MUX_3D.cmd
that returned nothing either:
C:\\BD3D2AVS\xx2\00799_mpls>REM "C:\\BD3D2AVS\toolset\mkvmerge.exe" @_MUX_3D_OPTIONS.txt | "C:\\BD3D2AVS\toolset\tee.exe" "00799_mpls.mkvmerge.log"
C:\\BD3D2AVS\xx2\00799_mpls>
maybe I'm doing something wrong OR this process only runs as part of the encode cmd routine?
one more thing..what is the function (or when is the no_delay used over the regular one) of chapters_no_delay.txt vs the regular chapters.txt file? from what I can see the difference is that the no_delay one has the timeline repeated without the miliseconds:
CHAPTER02=00:10:38.137
CHAPTER02NAME=
no delay:
CHAPTER02=00:10:38.137
CHAPTER02NAME=00:10:38
edit:
a suggestion regarding mkvmerge - disable header removal compression for audio and video tracks by default. I think the cmd flag is "--compression" "0:none".
header compression is known to cause issues for some players when enabled.
mini-moose
10th July 2012, 10:52
Anyway, that doesn't matter for my GUI. It can handle the fractions or single integers as well.
BTW, I forgot to say that the output of eac3to is somewhat processed by the program before it is displayed in the GUI. That explain the little differences between the original output and what you see in the GUI. In my GUI, the frame rate is always displayed after "fps:" and before "(16:9)". In case of a single "24", it will show 24.
However, for 50i, it will show "50" and assume (wrongly) 50 frames per second.
ok great :) Till/if a 50i 3D will show up I guess it's covered.
r0lZ
10th July 2012, 11:32
WARNING:
BDSup2Sub "9 Subtitle (PGS), English, forced captions only.sub"
ERROR: No forced subtitles found.There was 1 error
BDSup2Sub "10 Subtitle (PGS), English, forced captions only.sub"
ERROR: No forced subtitles found.There was 1 error
() 1 %
understandable as there were no forced english subs to be found (source has a separate sub steam for regular english subs and SDH ones).
The GUI adds the "forced only" entries in the second tab to allow you to mux (or hardcode) a subpic stream containing the forced subs only. Unfortunately, it is not possible to know if a specific subpic stream has forced subtitles without demuxing it and processing it with BDSup2Sub. So, the GUI has to add them anyway, and it's your responsibility to select them or not. In case one of these "only forced" stream has been selected, the complete SUP stream is demuxed (including the non-forced subs), and processed with BDSup2Sub to extract only the forced subs. It BDSup2Sub cannot find any forced sub, it issues the error that is shown in the console. The GUI sees that message (and that the output SUB/IDX files have not been created) and assumes that it's normal. The missing forced subs are just ignored, and of course, not included in the mux options (or not hardcoded).
The 1 % I'm not sure what it means.
The console is the regular Tcl/Tk console. It's not simply a log window. Like with the DOS command prompt, you can type Tcl/Tk command in that window. The "() 1 %" is just the prompt that indicates that the console is ready to receive input. If you type, for example, "test", it will reply "invalid command name "test"" and the prompt will be changed to "() 2 %", indicating that it is waiting for your second command.
You should never need to type anything in the console, but it is handy to display the output of the CLI commands and error messages, and, for me, to test the internal functions of the program.
Next thing I tried is running the _MUX_3D.cmd directly. double clicking it from location flashed the cmd window for a brief second and closed so I cd'd into the directory and ran it through console:
C:\\BD3D2AVS\xx2\00799_mpls>_MUX_3D.cmd
that returned nothing either:
C:\\BD3D2AVS\xx2\00799_mpls>REM "C:\\BD3D2AVS\toolset\mkvmerge.exe" @_MUX_3D_OPTIONS.txt | "C:\\BD3D2AVS\toolset\tee.exe" "00799_mpls.mkvmerge.log"
C:\\BD3D2AVS\xx2\00799_mpls>
maybe I'm doing something wrong OR this process only runs as part of the encode cmd routine?
That batch file is indeed called by the main _ENCODE.cmd batch, when the encoding is finished (but only if it exists). If you have NOT ticked the "mux to mkv" option in the GUI, then the mux command is commented out, and the batch does nothing. Otherwise, the batch creates the MKV file. I did that this way, as you can change your mind during the encoding, and edit the batch to remove the "REM". In the other hand, if the "mux to cmd" was ticked, you can simply rename that batch to disable the mux phase, and execute it when you want.
one more thing..what is the function (or when is the no_delay used over the regular one) of chapters_no_delay.txt vs the regular chapters.txt file?
If you have ticked the option to create an intro clip, then the chapters have to be shifted by the duration of the intro. The original chapters file created by eac3to is therefore renamed to chapters_no_delay, then read and processed by the GUI to create the definitive chapters.txt file. The GUI adds also the chapters names, missing in the original file. Since there are no meaningful names available, it uses the chapter time, without the decimal part. Some players show the chapters names, others not. Anyway, I think that showing the start time of the chapter is better than nothing.
Note that the no_delay chapter file is used if you mux the 2D version of the movie, as there is no intro, and the original chapter file must be used. It's also why the two chapters files are created anyway, even if there is no 3D intro. It is easier to have different chapter files for the 2D and 3D versions.
[EDIT] BTW, I've just changed the chapter name format. Previously, it was in the form "01:23:45". Now, it is "5 - 1:23:45", where the number before the dash is the chapter number. I've also removed the leading 0 of the time, useless.
mini-moose
10th July 2012, 11:43
The GUI adds the "forced only" entries in the second tab to allow you to mux (or hardcode) a subpic stream containing the forced subs only. Unfortunately, it is not possible to know if a specific subpic stream has forced subtitles without demuxing it and processing it with BDSup2Sub. So, the GUI has to add them anyway, and it's your responsibility to select them or not. In case one of these "only forced" stream has been selected, the complete SUP stream is demuxed (including the non-forced subs), and processed with BDSup2Sub to extract only the forced subs. It BDSup2Sub cannot find any forced sub, it issues the error that is shown in the console. The GUI sees that message (and that the output SUB/IDX files have not been created) and assumes that it's normal. The missing forced subs are just ignored, and of course, not included in the mux options (or not hardcoded).
The console is the regular Tcl/Tk console. It's not simply a log window. Like with the DOS command prompt, you can type Tcl/Tk command in that window. The "() 1 %" is just the prompt that indicates that the console is ready to receive input. If you type, for example, "test", it will reply "invalid command name "test"" and the prompt will be changed to "() 2 %", indicating that it is waiting for your second command.
You should never need to type anything in the console, but it is handy to display the output of the CLI commands and error messages, and, for me, to test the internal functions of the program.
That batch file is indeed called by the main _ENCODE.cmd batch, when the encoding is finished (but only if it exists). If you have NOT ticked the "mux to mkv" option in the GUI, then the mux command is commented out, and the batch does nothing. Otherwise, the batch creates the MKV file. I did that this way, as you can change your mind during the encoding, and edit the batch to remove the "REM". In the other hand, if the "mux to cmd" was ticked, you can simply rename that batch to disable the mux phase, and execute it when you want.
If you have ticked the option to create an intro clip, then the chapters have to be shifted by the duration of the intro. The original chapters file created by eac3to is therefore renamed to chapters_no_delay, then read and processed by the GUI to create the definitive chapters.txt file. The GUI adds also the chapters names, missing in the original file. Since there are no meaningful names available, it uses the chapter time, without the decimal part. Some players show the chapters names, others not. Anyway, I think that showing the start time of the chapter is better than nothing.
Note that the no_delay chapter file is used if you mux the 2D version of the movie, as there is no intro, and the original chapter file must be used. It's also why the two chapters files are created anyway, even if there is no 3D intro. It is easier to have different chapter files for the 2D and 3D versions.
great, all understood now. I completely missed the mux to mkv box somehow. remved the rem bit and now I can indeed execute the cmd fine. thanks :)
note I added a bit to my post after some minutes in case you missed it.
r0lZ
10th July 2012, 11:55
a suggestion regarding mkvmerge - disable header removal compression for audio and video tracks by default. I think the cmd flag is "--compression" "0:none".
header compression is known to cause issues for some players when enabled.
Not a bad idea, but IIRC the latest versions of mkvmerge have that compression disabled by default. Or am I wrong?
[EDIT] The mkvmerge doc says:
The default for some subtitle tracks is 'zlib' compression. This compression method is also the one that most if not all playback applications support. Support for other compression methods other than 'none' is not assured.
So, it appears that I was wrong for "some" subtitle tracks. Not sure what "some" means, but I will add the --compression none option anyway.
mini-moose
10th July 2012, 11:59
Not a bad idea, but IIRC the latest versions of mkvmerge have that compression disabled by default. Or am I wrong?
I don't think so but I'm not sure. if I compare a cmd generated without disabling the compression there is no compression flag at all. such a flag only shows when you set it to disable.
I think the best way to test it is to install mkvtoolnix on a pc that never had it before and see what it says in options regarding that option by default. I assume that can tell if it's set to "no" by default or not. Or maybe the help files will tell us.
r0lZ
10th July 2012, 12:06
Look at the edit of my previous post.
(I have added that option only to the subtitle tracks. I suppose it's not necessary for audio tracks.)
mini-moose
10th July 2012, 12:21
Look at the edit of my previous post.
(I have added that option only to the subtitle tracks. I suppose it's not necessary for audio tracks.)
zlib is showing on my muxes and a couple others I tried. Friend of mine has a variety of players and non of them could see or display vobsubs. He tried with both muxed vobsubs and extrenal vobsubs (which shouldn't have any compression issues I would think). I will have him try again with subs set to no compression.
the issues I'm aware of are with the video/audio header compression. the bit about vobsubs is actually new to me. I know friends who can't play videos that had the audio headers compressed.
I can't see any reference to it on mkvmerge help or on mkvmerge gui help (need to look more carefully into it though).
r0lZ
10th July 2012, 12:33
I've added the --compression 0:none for audio tracks as well. That doesn't hurt.
I'm not sure I have to add it also to the video track. As far as I know, all MKV files are playable with all payers that support the MKV format. Subs are another matter. (My Samsung TV doesn't show the SUB/IDX files, nor the SUP files, in or out the MKV container. Luckily, I have also a LaCinema HDD that can show them, even embedded in the MKV container. Unfortunately, I can't use it for 3D videos with subs, as explained previously.)
mini-moose
10th July 2012, 12:46
I've added the --compression 0:none for audio tracks as well. That doesn't hurt.
I'm not sure I have to add it also to the video track. As far as I know, all MKV files are playable with all payers that support the MKV format. Subs are another matter. (My Samsung TV doesn't show the SUB/IDX files, nor the SUP files, in or out the MKV container. Luckily, I have also a LaCinema HDD that can show them, even embedded in the MKV container. Unfortunately, I can't use it for 3D videos with subs, as explained previously.)
yes, I think the audio compression is the issue not the video.
My friend has Dune, popcorn and oppo. non of them display vobsubs. I think he said 2 of those can see they exist but don't display them and one doesn't even acknowledges their existance.
I find it very unfortunate that such popular standalone players don't support what I consider to be a basic format, while freewares such as xbmc/mpc/vlc have 0 issues showing them.
In any case I gave him a clip with the subs compression disabled to see if that makes any difference. not holding my breath though :)
r0lZ
10th July 2012, 12:52
OK, let me know if that changed something.
(Side note: Please do not quote the entire previous post. It's useless, and theoretically prohibited by the forum rules.)
mini-moose
10th July 2012, 13:30
will do.
As we discussed before, I'm reluctant to hardcode the entire subs but just the forced subs (say I'm native english speaking and a movie has non-english parts that I need), using the "hardcode subtitles stream" feature on your tool.
What I'm unsure of is the option below it "Subtitles 3D depth" - I have no clue what value to use as I have almost no experience with that. Is there some value you can recommend for that?
how is that done anyway? using the current version of bdsup2sub++?
ok, I didn't know it's not allowed to quote. I find that it helpful to follow especially if there are several people discussing different things at the same time.
r0lZ
10th July 2012, 14:09
Unfortunately, there is no good way to guess what's the best subtitle 3D depth. It depends of the movie. If there are often objects "outside" the screen, then you should set that value high enough to position the subs so that they do not appear "inside" the objects, but not too high, as subtitles too far of the screen are unpleasant and tiring for the eyes. The problem is that you cannot easily know the right value for that effect, and if you're wrong, you must change the value and encode the whole movie again. (BTW, you can change it in the AVS script easily. There is no need to launch BD3D2AVS and demux again.)
Currently, you should use the java version of BDSup2Sub because the CLI syntax of BDSup2Sub has changed recently and my GUI doesn't take it into account yet. It is also in beta phase and may contain bugs.
BDSup2Sub.jar doesn't have the option to shift the subpics horizontally, so I had to do it by cropping the video, applying the subs, and restoring the cropped part in the avs script. With BDSup2Sub++, it is possible to generate two different SUB/IDX streams, one for each eye, and apply them directly to the non-cropped left and right parts of the input video. That will be easier and faster (but it will be more difficult to change the 3D depth), and I will implement that method when I'll have some time.
Also, BDSup2Sub++ v1.1 should have an option to generate the 3D subs directly in one single stream (by duplicating the original sub and placing the copies at the right positions for the two images), and it will be possible to hardcode them directly on the input video, without any need to crop it. It will also be possible to mux the 3D subs in the MKV file, to display them with a hardware that doesn't support 3D video, such as my LaCinema. The TV will not know that there are subs, but since they will be already at the right place, it will show them correctly, exactly as if they were hardcoded. With that solution, it will be sufficient to regenerate the 3D subs and remux to change the 3D depth when it is wrong. I'm waiting for v1.1 with great impatience, but v1.0 is not out yet! :(
ok, I didn't know it's not allowed to quote.You can quote, but only some part of a message (like I did here), or a previous message if you reply specifically to that one and there are new posts.
mini-moose
10th July 2012, 15:10
there is no good way to guess what's the best subtitle 3D depth. The problem is that you cannot easily know the right value for that effect, and if you're wrong, you must change the value and encode the whole movie again.
ouch what a pain :s
Also, BDSup2Sub++ v1.1 should have an option to generate the 3D subs directly in one single stream.
sounds like that would be the ultimate solution.
I'm currently still deliberating with myself over the crop/don't crop thing. I'm used to crop surplus borders and it's hard to change ways even though they don't take much bitrate being all black. It seems players like dune and popcorn are able to display cropped images correctly but something like Oppo fails miserably and stretch it to full 16/9.
r0lZ
10th July 2012, 15:18
My TV, and as far as I know, all 3D TVs, need full 16:9 images, or they resize them to full-screen. So, if you plan to buy a 3D TV later, you should leave them.
(I may even add an option to add vertical black borders to 4:3 3D material (1440x1080), just to preserve the aspect ratio when they are played on TV, but I don't think there are many 3D movies in 4:3.)
mini-moose
10th July 2012, 21:42
My TV, and as far as I know, all 3D TVs, need full 16:9 images, or they resize them to full-screen. So, if you plan to buy a 3D TV later, you should leave them.
(I may even add an option to add vertical black borders to 4:3 3D material (1440x1080), just to preserve the aspect ratio when they are played on TV, but I don't think there are many 3D movies in 4:3.)
you mean 3d tvs that come with a media port? going through an external player that can read AR flags properly I understand (popcorn and dune tested) works fine from what I'm told.
r0lZ
10th July 2012, 22:04
No, I mean from a standard HDD directly connected to the USB port of the TV. I don't know if my TV displays correctly a cropped cinemascope 3D movie fed by a multimedia HDD to the HDMI port, but the manual of the TV says explicitly that 3D must be 16:9. Of course, if the multimedia HDD can add the black borders itself, that should work. Otherwise, probably not.
Software players are usually more flexible, but I hate watching a movie on a computer monitor.
Anyway, IMO, 3D material should always be in 16:9, to avoid the problems. It's not because your current hardware works fine with cropped movies that you will never have to change the TV or HDD. It's a pity to have to re-encode everything.
mini-moose
10th July 2012, 23:06
No, I mean from a standard HDD directly connected to the USB port of the TV
ok, that's what I meant, maybe I wasn't clear. I meant that the tv itself has the capability to play media files fed from an hdd/usb device that only stores the files.
Software players are usually more flexible, but I hate watching a movie on a computer monitor.
completely agree. What I do is use a pc that is plugged to the tv just for that purpose but it handles the actual playing via a sw player (xbmc in my case). sort of an htpc I guess. This way I have non of the funny/irritating limitations hw players have.
mini-moose
11th July 2012, 09:35
the uncompressed muxed subs didn't work on dune/popcorn/oppo either as expected.
mini-moose
11th July 2012, 14:33
I noticed there is a x64 version of ssifSource in the toolset. does it help boostimg the encode speeds in anyway? I assume it needs a 64bit environment to be used, like avisynth x264 and x264 x64.
r0lZ
11th July 2012, 15:03
You're right. It is used automatically if you tick the 64-bit option in the GUI, but the encoding process doesn't work without avisynth x64. Anyway, currently, the bottleneck is ldecod, and using the x64 tools doesn't speed things up much.
(BTW, I wonder if I should set the "slow" x264 preset by default, as it is supposed to be better than the medium one, and on my relatively slow machine, x264 spends much time doing nothing, just waiting for ldecod to finish decoding the images. That time could be used to improve the image quality at no cost. But I can't assume that everybody has at least a x64 quad core processor, so I kept the x264 default preset.)
mini-moose
11th July 2012, 15:13
(BTW, I wonder if I should set the "slow" x264 preset by default, as it is supposed to be better than the medium one, and on my relatively slow machine, x264 spends much time doing nothing, just waiting for ldecod to finish decoding the images. That time could be used to improve the image quality at no cost. But I can't assume that everybody has at least a x64 quad core processor, so I kept the x264 default preset.)
I'm trying on a relatively old i7 with no oc (9xx series). Tried slow, slower and now trying veryslow. Not full encodes just letting them run to get to a stable speed. The differences seem to be minimal so far but I need to do it again and write down the speed for each. I think it's around 4.5fps for slow, 4.3 for slower and 3.3 for veryslow so far. I will each preset do 3-4% again and let you know the results if you're interested.
the cpu usage seems to be up and down (between 50% and 100%). I assume it's what what happens when it's "waiting for ldecod to finish decoding".
r0lZ
11th July 2012, 15:35
Yes exactly. The encoding speed reported by x264 may not be accurate. I think it measures only the time it uses to encode. If it has to wait for the next frame, I'm not sure it will take that wasted time into account. In the other hand, the CPU usage is a global indication. Perhaps it is possible to use 90% or even 100% without slowing down the whole process much. (There has been an interesting discussion on that subject recently here (http://forum.doom9.org/showthread.php?p=1581121#post1581121).)
mini-moose
11th July 2012, 16:28
(There has been an interesting discussion on that subject recently here (http://forum.doom9.org/showthread.php?p=1581121#post1581121).)
I didn't see something of real merit there other than to maybe test resize via x264 command line? is that what you mean ?
I didn't know about that app so that was nice to find :)
frencher
11th July 2012, 20:17
the uncompressed muxed subs didn't work on dune/popcorn/oppo either as expected.
mkvtoolnix-2.6.0 and < :) Cibox Ready
mkvtoolnix-2.7.0 and > :( Cibox Not Ready
mini-moose
11th July 2012, 20:19
mkvtoolnix-2.6.0 :)
mkvtoolnix-2.7.0 :(
what does that mean ?
frencher
11th July 2012, 20:22
what does that mean ?
Cibox Cinebox Premium Wireless (HDMi & RJ45)
mkvtoolnix-2.6.0 and < :) Cibox Ready
mkvtoolnix-2.7.0 and > :( Cibox Not Ready
The best is to remux with mkvtoolnix-2.6.0 without compression on all tracks of course
http://s2.static69.com/composant/images/produits/big/CBX-PREMIUM-HDMI.gif
http://www.avcesar.com/source/multi/8/connectique_grand.jpg
mini-moose
11th July 2012, 20:29
mkvtoolnix-2.6.0 and < :) Cibox Ready
mkvtoolnix-2.7.0 and > :( Cibox Not Ready
but you can turn off compression on current mkvtoolnix too. 2.60 is real old.
frencher
11th July 2012, 20:37
But the last version that works on this box.
mini-moose
12th July 2012, 09:10
did another encode using i7 9xxx series pc and --crf 18 --preset slower --tune film
from logfile:
encoded 165282 frames, 3.88 fps, 8109.44 kb/s
from console:
eac3to processing took 11 hours, 49 minutes.
Done.
Video track 2 contains 165210 frames.
Video track 3 contains 165210 frames.
eac3to processing took 11 hours, 50 minutes.
Done.
Completed Decoding frame 330419.
why does it say "eac3to processing"?
oh and I tried a 3d encode with srt muxed to see how it looks (using dune). Quite "amusing"
http://i.imgur.com/vIIKd.jpg
r0lZ
12th July 2012, 09:15
I didn't see something of real merit there other than to maybe test resize via x264 command line? is that what you mean ?
I didn't know about that app so that was nice to find :)
The idea to decrease the speed of the encoding (and therefore to increase its quality) comes from that reply:
Given that you haven't screwed up the "--threads" option, if x264 doesn't produce 100% CPU load, this usually has one of the following two reasons: Either you are bottlenecked by slow input (slow decoder, slow pre-processing filters, etc) or you are using very "fast" x264 settings. In the latter case it can happen that the non-parallelizable parts of x264 become more dominant. By using "slower" settings, you may be able to increase the CPU load in that case...
In the case of BD-3D conversion, the decoder process (based on ldecod) is indeed extremely slow. So, I think that the last sentence of that reply applies exactly to our case, and it's why I wonder if I should lower the default value of the preset in my GUI.
mini-moose
12th July 2012, 09:29
So, I think that the last sentence of that reply applies exactly to our case, and it's why I wonder if I should lower the default value of the preset in my GUI.
ah I see. It's easy enough to test by encoding short clips (or kill the process after say 5%) with various presets and see what gives you the best balance between cpu and decoder capabilities.
Of Course it may differ from pc to pc but as the speeds seem to be in single figures to begin with I can't see it having huge differences.
r0lZ
12th July 2012, 09:32
why does it say "eac3to processing"?
I don't know exactly how ssifSource works, but I know that it uses eac3to and ldecod with named pipes to demux and decode the two video streams. eac3to is called twice, once for each "eye". eac3to prints that message (once for each eye), and my GUI sends it to the console. Obviously, it computes the processing time by comparing the time at the end of the process with the time of the beginning of the process. It doesn't compute it by counting the number of CPU cycles spent in its own process.
oh and I tried a 3d encode with srt muxed to see how it looks (using dune). Quite "amusing"
You mean "hardcoded", right?
I can't see your attachment, as it has not been approved by a moderator yet, so I don't know why you consider it amusing. Does it work as expected?
(BTW, to avoid the delay before approval, you should post your images at an image sharing service such as ImageShack (http://www.imageshack.us/?no_multi=1) and just insert the links here.)
mini-moose
12th July 2012, 09:42
I don't know exactly how ssifSource works
ah.
You mean "hardcoded", right?
not hardcoded, soft subbed. Was just curious to see how it looks.
I believe you said your tv almost manages to handle soft srt if it's outside the container but it gets horrible on some scenes, I might be confused though
http://i.imgur.com/vIIKd.jpg
r0lZ
12th July 2012, 09:48
Yes, that's exactly what I get if I use my LaCinema to play the 3D movie with an external or internal but not hardcoded subtitle stream. With real-3D SUB/IDX files, it will be possible to use it, and it's why I can't wait for BDSup2Sub++ v1.1.
mini-moose
12th July 2012, 09:52
Yes, that's exactly what I get if I use my LaCinemav1.1.
I was hoping it's at least semi useable for cases that require forced subs but I looks like it isn't. I'll join you in the impatient wait :)
r0lZ
12th July 2012, 10:00
Well, my TV does a better job: it displays the SRT files correctly (but always "on the surface of the screen") but it cannot show the SUB/IDX format, and having to OCR the original SUP just to let the TV show them more or less correctly is a pain. A tool to create real 3D SUB/IDX files is really necessary.
frencher
12th July 2012, 10:22
http://i.imgur.com/vIIKd.jpg
The idea is rather to double the subtitles kind.
1
00:00:02,000 --> 00:00:19,999
This is a test of SRT 3D, This is a test of SRT 3D,
The effect of burst is more difficult to resolve. The effect of burst is more difficult to resolve.
2
00:00:20,000 --> 00:00:25,999
It will seek space for each eye, It will seek space for each eye
3
00:00:26,000 --> 00:00:59,999
Left eye. Right eye.
r0lZ
12th July 2012, 10:43
Yes, but that doesn't work with SRT files, as they have no way to specify the exact position of each part of the subtitle. The renderer will simply consider them as a single sentence, and you can only try to put them at the right place by adding a more or less correct number of spaces between the two parts. It's not at all accurate enough, especially when you don't know what font and font size will be used. Furthermore, it is impossible to display them correctly in Top/Bottom mode. Real-3D subtitles must therefore be image based subtitles, not text ones, although it is perhaps possible to use text-based subtitles in a more powerful format (such as SSA that allows you to position the subtitles more precisely, but most TVs cannot show that format).
mini-moose
12th July 2012, 12:26
3DBD's Free - v0.0.0.0005 (2012-07-09)
Do you still have the problem with "libflac.dll" or other problem ?
sorry, I missed your post. I will try and let you know. btw what is MMBPlayer?
frencher
12th July 2012, 15:51
sorry, I missed your post. I will try and let you know. btw what is MMBPlayer?
Is this a error message?
mini-moose
12th July 2012, 16:30
Is this a error message?
no, I have not tried it yet. It's the location that had the dll that gave a false positive the previous time I tried it. C:\Users\admin\AppData\Local\Temp\MMBPlayer
frencher
12th July 2012, 17:02
no, I have not tried it yet. It's the location that had the dll that gave a false positive the previous time I tried it. C:\Users\admin\AppData\Local\Temp\MMBPlayer
Ok tell me if there is still this problem.
Normally this is solved.
mini-moose
12th July 2012, 19:23
Ok tell me if there is still this problem.
Normally this is solved.
I will. I still would like to know what is that MMBPlayer :)
frencher
12th July 2012, 20:33
I will. I still would like to know what is that MMBPlayer :)
This is the folder that stores files embedded (Portable version)
http://www.mmbforums.com/viewtopic.php?f=17&t=2274
lasa
19th July 2012, 11:08
is it possible to crop the borders, so that these are not converted? can i resize a movie from 1080p to 720p?
r0lZ
19th July 2012, 11:32
Hi lasa, welcome to the Doom9 forums.
With my GUI, you can't crop and resize.
IMO, it's a bad idea to crop the 3D movies, as all 3D TVs need real 16:9, not cropped. (See the discussion about cropping I had with mini-moose above in this thread (http://forum.doom9.org/showthread.php?p=1581600#post1581600).) However, if you really want to do it, you can of course edit the avs script (and a couple of other files) before encoding it.
For the resize, I suggest to use the x264's resize option. Just edit the x264 command in _ENCODE.cmd. You should add something like this: --video-filter resize:1280,720,method=bicubic
(You can select another resize method than the default bicubic: fastbilinear, bilinear, experimental, point, area, bicublin, gauss, sinc, lanczos or spline, but if you change it, I suggest using only lanczos or spline.)
Of course, you can also edit the avs script to do the resize. (You will have to edit also some other parameters in other files, as the resolution is used during the mux process as well.)
Again, I don't think resizing is a good idea, as in 720p SBS, the horizontal resolution will be only 640. Not enough for a good quality 3D video IMO.
If it's just the file size that motivates you to crop and resize, don't worry too much. The black borders consume virtually no disc space, as pure black can be compressed extremely well. Also, x264 is so efficient that usually, it gives an output video between 1 and 3 GB in full 1080p (with the standard CRF value of 23, IMO largely sufficient for a good quality encode).
qupfer
2nd August 2012, 12:17
Hi, can someone tell me what I am doing wrong :o
Picture (http://qupfer.de/MVC_error.png)
My avs file:
LoadPlugin("D:\Program Files (x86)\megui\tools\dgindexnv\DGDecodeNV.dll")
LoadPlugin("H264StereoSource.dll")
left= DGSource("D:\3DBD\left.dgi",fieldop=0)
right= H264StereoSource("decoder.cfg",189932)
VideoStacked=StackHorizontal(left,right).lanczosresize(1920,1080)
ConvertToYV12(VideoStacked)
Edit1:
Okay, i use a other way.
Create with the "MVC to AVI Converter Demo" and ffdshow-vfw two HuffYUV AVIs ("only" 250GB temp. Data ;) ) and this AVS-Script makes my HalfSBS Video
LoadPlugin("C:\Program Files (x86)\AviSynth 2.5\plugins\ffms2.dll")
left=FFVideoSource("00800-l.avi").crop(0,120,0,0).AddBorders(0,120,0,0)
right=FFVideoSource("00800-r.avi").crop(0,120,0,0).AddBorders(0,120,0,0)
StackHorizontal(left,right)
Lanczos4Resize(1920,1080)
(i have the luck of large black borders, so I can crop the 3dtv Demo Watermark :p )
Edit 2:
OH....BD3D2AVS with ssifsource looks nice...Thanks r0lZ!
frencher
13th August 2012, 12:44
Hi slavanap,
ssifSource does not work in short iso path
Ex:
F:\TEMPRE~1\SS94FB~1\ISO\BDMV\PLAYLIST\00001~1.MPL
Return:
The format of the source file could not be detected.
Works here because manually modified humm :( not iso path
F:\TEMPRE~1\SS94FB~1\ISO\BDMV\PLAYLIST\00001.MPLS
SpaceNerd
14th August 2012, 08:53
I've been following this thread closely and have used both H264StereoSource and ssifSource successfully before. The latest BD3D I tried to process, however, gives me an error message. Here's the related info:
AVS script:
LoadPlugin("ssifSource.dll")
LoadPlugin("UnDot.dll")
LoadPlugin("RemoveGrainSSE3.dll")
ssifSource(width = 1920, height = 1080, frame_count = 189932, left_264 = "left.h264", right_264 = "right.h264")
UnDot()
RemoveGrain(mode=2)
AssumeFPS(24000/1001)
Spline64Resize(1920, 1080)
x264 command line:
x264.exe --crf 21 --preset slower --tune film --profile high --level 4.1 --sar 1:1 -o video.h264 video.avs
Error message:
max_dec_frame_buffering larger than MaxDpbSize
The error also occurs, if I use other ssifSource command variants (e.g. using playlist as input). BD3D2AVS (naturally) also produces this error. Can someone tell me what's causing this? Thanks!
crl2007
14th August 2012, 08:55
@frencher and r0lZ If you want, you can write a small guide for your applications and provide a download link as well and I'll include both your methods and software as part of the main guide. Thanks.
frencher
14th August 2012, 09:53
Yes it's true crl 2007 I soon planned an update and I take this opportunity to make a tutorial.
The download link will also be soon, right on my website http://webfreesoftware.net
r0lZ
14th August 2012, 10:07
crl2007, you're welcome. But I have a new version with many improvements. I just need to clean it up and release it here. I think it might be preferable to wait for that version before writing your guide.
frencher
15th August 2012, 19:03
@SpaceNerd
max_dec_frame_buffering larger than MaxDpbSize
Here means that the source is corrupt
SpaceNerd
17th August 2012, 06:09
Here means that the source is corrupt
Thanks, frencher! It's weird that the BD copy might be corrupt as I was able to rip (and play the ripped video file) without any problems.
Do you by any chance know if the error is on the disc (i.e., the disc has been mastered this way) or if this is caused by a bad rip?
r0lZ
17th August 2012, 06:26
I have often noticed that when ssifSource has trouble with a MPLS file, it can successfully process the SSIF of the same title. So, if you use the MPLS as input, try to convert the corresponding SSIF. (Of course, if the MPLS file references several SSIFs, you're unlucky, and you will have to convert all referenced SSIFs and merge them later in some way.)
SpaceNerd
19th August 2012, 11:01
Thanks, r0lZ for your tip. Sadly, however, the SSIF input results in the same error. Just as nickolasemp explains in his post (http://forum.doom9.org/showthread.php?p=1575496#post1575496), the H264StereoSource approach fails as well (although I use ffms2 instead of CoreAVC). From the frame count, I guess we both try/tried to backup the John Carter 3D BD. Interestingly though, DVDFab Blu-ray 3D is able to convert the same ISO without problems. If it was possible to tune the x264 encoder options more to my liking, I'd almost consider using that approach. But I'd really like to know what's going (wr)on(g) here...
pommesmatte
27th August 2012, 00:02
Hi, at first I want to thank you r0lz for your really nice program!
Just some minor wishes:
- eac3to is capabale of converting audiotracks to other codecs, but BD3D2AVS can only switch the -core Argument at the moment. Well there are also the needed codec files missing for eac3to in the toolset directory, so maybe you had a good reason to omit this features. I don't know.
- Alternatively make an GUI option to include externally generated audiotracks in the muxing script.
- An option for automated start of encoding after the demuxing would also be great.
- It would be cool, if your tool would find its way into meGUI, like many other tools before.
- You should use mkvmerge 5.7.0 for muxing and deactivate header stripping on the tracks, as many media players will struggle on that.
- Maybe you can include a GUI option to deactivate the adding of 3 seconds of black at the end.
Ok, and I'm with the guys having the errors.
Well I'm facing exactly the same issue and yes, also with John Carter 3D.
DVDFab works, as said, but I'm also looking for a more controllable and free solution.
Maybe the problem is related to AnyDVD? Or the discs are poorly pressed, as some other guys on the internet stated.
Other 3D discs worked like a charm.
r0lZ
27th August 2012, 08:25
Hi, at first I want to thank you r0lz for your really nice program!Thanks, and welcome to the Doom9 forums!
- eac3to is capabale of converting audiotracks to other codecs, but BD3D2AVS can only switch the -core Argument at the moment. Well there are also the needed codec files missing for eac3to in the toolset directory, so maybe you had a good reason to omit this features. I don't know.Well, I think most users want to keep the original quality, and adding options to re-encode the audio streams is therefore not really necessary. Furthermore, my GUI is not yet another frontend for eac3to. Also, it's more complex that it sounds. I would need to add a lot of options in the GUI, and modify the mux options file accordingly. Anyway, you can easily re-encode any stream from the demuxed stream, and either mux to MKV manually or modify the mux options file yourself.
- Alternatively make an GUI option to include externally generated audiotracks in the muxing script.It's in my ToDo list, but it's also difficult to do. Usually, when an external audio track is added, the frame rate of the video must be modified, and a positive or negative delay is often needed. Since there is no way to check if the external stream will be correctly in sync with the video, I think it's something to do after the main processing. IMO, it is easier to remux the MKV file to add a stream than to have to specify the correct frame rate and exact delay in my GUI. Note also that the GUI is already very complex, and I don't want to add too many options that most users will not use.
- An option for automated start of encoding after the demuxing would also be great.I will try to do it, but I'm not sure it's really possible. Take in mind that the GUI has to verify if an error occurs and show the error message to the user. Will you be happy if you see that an error message during the demux process has blocked the processing during the whole night? IMO, it is safest to wait until the demux completes successfully, and be sure that the encoding has started before going to sleep.
- It would be cool, if your tool would find its way into meGUI, like many other tools before.The goal of the program is to create a MKV file, not to create any kind of file. If you really want that, 3D BD input should be an option in MeGui.
- You should use mkvmerge 5.7.0 for muxingV 5.7.0 is in my personal toolset directory, and will be distributed with the next version. Anyway, you can overwrite the old version with the new one manually.
... and deactivate header stripping on the tracks, as many media players will struggle on that.
Do you mean I should add "--compression none"? It's already done in the new version.
- Maybe you can include a GUI option to deactivate the adding of 3 seconds of black at the end.Not sure it's really necessary, but it's easy to do.
Ok, and I'm with the guys having the errors.
Well I'm facing exactly the same issue and yes, also with John Carter 3D.
DVDFab works, as said, but I'm also looking for a more controllable and free solution.
Maybe the problem is related to AnyDVD? Or the discs are poorly pressed, as some other guys on the internet stated.
Other 3D discs worked like a charm.My program is only a GUI, and if a BD cannot be properly handled, that means that either the BD is guilty, or some of the tools in the toolset (or, as you suggest, AnyDVD). I can't therefore do much here.
Note that the new version demuxes now the SSIF file by default instead of the MPLS. I have noticed, as I wrote above, that some MPLS cannot be handled properly, and that handling the SSIF instead is usually more reliable. (However, the GUI still uses the MPLS if it references several SSIFs.) Unfortunately, it seems that switching to the SSIF is not sufficient for the John Carter BD. (I don't have that BD, so I can't test it myself, but anyway, I don't think I could modify the GUI to fix the issue with that particular BD.)
mini-moose
27th August 2012, 09:57
I get that error too..
max_dec_frame_buffering larger than MaxDpbSize
and from log:
Error writing to pipe! | 0x0000006d
if I read correctly I should try pointing the avs to the ssif file instead of mpls?
I used this:
ssifSource("D:\BDMV\STREAM\SSIF\00800.ssif", 1920, 1080, 135526, 2, 3)
gives the same error.
r0lZ
27th August 2012, 10:03
OK, I've just added the option to add the 3 seconds of black at the end of the video, and an option to start the encoding immediately after the (successful) demux process. (The second option is in the progress window. Note that if you enable it, BD3D2AVS is also automatically closed.)
IMPORTANT: I have not checked AT ALL the two new options and I have tested only partially some of the other changes. They should work, but I have not enough time to be sure. Consider this release as an alpha version. Please report any problem you may have here.
Note also that the documentation is not fully up to date.
# v0.7 (August 27, 2012)
# - New "Title & tags" tab to define the movie Title (previously in the last tab) and miscellaneous movie tags.
# - Added the possibility to encode in full-SBS and full-T&B.
# - Added the possibility to resize the output video to 720p.
# - Adding 3 seconds of black at the end of the video is now an option.
# - It is now possible to do the final resize operation (if necessary) with x264 rather than with Avisynth.
# - There is now an option to close the GUI and launch the ENCODE batch automatically at the end of the demux operation
(only if successful).
# - Added Tools -> Chapters File Converter to time-stretch an existing chapter file or add or subtract a delay.
# - Takes the new syntax of BDSup2Sub++ into account, so the option to use it instead of the java version should work.
# - Added x264 Profile "auto" to disable the --profile parameter.
# - When there is only a single M2TS in the current MPLS, the M2TS is now selected by default,
# because it is often more reliable to demux the subtitles from the M2TS.
# - The chapters files have now more meaningful file names: chapters_3D_delay.txt and chapters_2D_no_delay.txt.
# - The chapter names are now also added in the 2D version of the chapter file chapters_2D_no_delay.txt.
# - When there is no stream to demux, the xport.exe output is now saved in xport_log.txt.
# - There is now a progress bar (in indeterminate mode) when counting the number of frames with xport.exe.
# - Added "Encoded by" in x264 encoder options of tab 5 to optionally add the encoder's name tag.
# - Moved the "mux to mkv file and do nothing/shutdown options in the Go frame of tab 5.
# - Some operations (such as retrieving the stream descriptions) are now somewhat faster.
# - Minor cosmetic changes, better bindings and undo for text and entry widgets.
[EDIT: Links removed. Download the latest stable version (http://forum.doom9.org/showthread.php?p=1592621#post1592621), please.]
mini-moose
27th August 2012, 12:44
hmm I didn't notice there is a new stable version, I'll try that one now.
r0lZ
27th August 2012, 13:00
Well, v0.6 is the last version posted here before my previous post. It is stable enough, and has been tested. You should have it already.
The new v0.7 is more subject to bugs, as I haven't had enough time to test it carefully. But since it is ready (and probably usable), and I have not the intention to work on BD3D2AVS for the moment, I prefer to release it as it is.
mini-moose
27th August 2012, 13:55
The new v0.7 is more subject to bugs, as I haven't had enough time to test it carefully.
yes, I was going to try the latest as this disc I'm trying is failing (as I posted a couple of posts ago). So I'm now trying the "Experimental" one...I get a error:
"Error: missing closed-bracket in expression "(info exists::Taglist..."
or in full details:
missing close-bracket
in expression "[info exists ::TagsList..."
missing close-bracket
in expression "[info exists ::TagsList..."
(parsing expression "[info exists ::TagsLis...")
invoked from within
"if {[info exists ::TagsList(DIRECTOR)} {
set director [string trim $::TagsList(DIRECTOR)]
} else {
set director ""
}"
(procedure "GenerateAvs" line 105)
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)
skip doesn't seem to force the demux process to start. pretty much nothing happens.
pommesmatte
27th August 2012, 15:33
My program is only a GUI, and if a BD cannot be properly handled, that means that either the BD is guilty, or some of the tools in the toolset (or, as you suggest, AnyDVD). I can't therefore do much here.
Yes, thats clear. It was not directed to you but more to the other people having problems. I think it's not related in any way to your program, as other approaches using ldecod or h264stereosource etc. are also failing.
Thanks for the new version with including the suggestions. I will test it as soon as possible. :)
r0lZ
27th August 2012, 16:18
So I'm now trying the "Experimental" one...I get a error:
"Error: missing closed-bracket in expression "(info exists::Taglist..."
Oops, thatr's exactly the type of bugs that can happen with a not-fully tested Tcl script!
I have replaced the v0.7 archive (http://download.videohelp.com/r0lZ/BD3D2AVS/BD3D2AVS_07.7z) with a version with that bug fixed. Please download it again.
mini-moose
27th August 2012, 17:35
Oops, thatr's exactly the type of bugs that can happen with a not-fully tested Tcl script!
ok, that issue is now resolved but I still get "max_dec_frame_buffering larger than MaxDpbSize" Error writing to pipe.
I checked the avs and it's exactly the same load line I changed when I tried it with the stable release and didn't work either:
ssifSource("D:\BDMV\STREAM\SSIF\00800.ssif", 1920, 1080, 135526, 2, 3)
r0lZ
27th August 2012, 17:43
Yes, as explained above, It's not a problem with my GUI. The BD, AnyDVD or ssifSource (or any exe it uses) is causing the problem. Sorry, but I can't help.
samfednik
28th August 2012, 00:34
ok, that issue is now resolved but I still get "max_dec_frame_buffering larger than MaxDpbSize" Error writing to pipe.
I checked the avs and it's exactly the same load line I changed when I tried it with the stable release and didn't work either:
ssifSource("D:\BDMV\STREAM\SSIF\00800.ssif", 1920, 1080, 135526, 2, 3)
Qualitative 3DBD rip this can be done in this way:
http://torrents3d.ru/viewtopic.php?t=1870
Extract may be just the right video in a sequence of pictures, and left to decode the "old" methods.
For example:
SetMemoryMax(64)
LoadPlugin("DGAVCDecode.dll")
start = 0 #Номер первого кадра / Number of the first frame
end = 166089 #Номер последнего кадра / Number of the last frame
FPS=24000./1001.
Left=AVCSource("left.dga").AssumeFPS(24000,1001)
Right=ImageSource("l:\BMP\R\%d.bmp", start, end, FPS, use_DevIL=true).AssumeFPS(24000,1001).ConvertToYV12
#StackHorizontal(Right,Left) #Выходной формат перекрёстная пара SideBySide
#StackVertical(Left,Right) #Выходной формат OverUnder
StackVertical(Left.Lanczos4Resize(1920,540),Right.Lanczos4Resize(1920,540)) #Anamorph OverUnder
P.S.: this is the Google Translator. I myself am from Russia.
samfednik
28th August 2012, 00:49
Peeped as Stereoscopic Player filter catches MVC decoder playback SSIF:
http://i42.fastpic.ru/big/2012/0823/a2/4076227ff0e8aef61dd2add9d86e67a2.jpg
If the filter (MVC) hack somehow to be able to register the it in the system, there would be so many torments to Rip?
And that something is not in a hurry to release CoreMVC Decoder...
P.S.: this is the Google Translator. I myself am from Russia.
slavanap
29th August 2012, 02:32
Hi slavanap,
ssifSource does not work in short iso path
Ex:
F:\TEMPRE~1\SS94FB~1\ISO\BDMV\PLAYLIST\00001~1.MPL
Return:
The format of the source file could not be detected.
Works here because manually modified humm :( not iso path
F:\TEMPRE~1\SS94FB~1\ISO\BDMV\PLAYLIST\00001.MPLS
All filenames specified for avs-command go stright forward to exe-files (eac3to & ldecod).
I've been following this thread closely and have used both H264StereoSource and ssifSource successfully before. The latest BD3D I tried to process, however, gives me an error message.
Error message:
max_dec_frame_buffering larger than MaxDpbSize
The error also occurs, if I use other ssifSource command variants (e.g. using playlist as input). BD3D2AVS (naturally) also produces this error. Can someone tell me what's causing this? Thanks!
This error message, I suppose, comes from ldecod.exe. And I think, there is nothing to do with ldecod.exe because we have no connection to the author of it.
slavanap
31st August 2012, 12:22
I just had an idea.
Ldecod compatible x86 and x64 to rework it so a single 3D stream, for example:
ldecod -p InputFile = "\\.\pipe\bluray1234\Left.h264" -p InputFile2 = "\\.\pipe\bluray1234\Right.h264" -p Export = SideBySide or -p Export = UpperUnder -p OutputFile = "\\.\pipe\3DStream.yuv"
It's possible ? :thanks:
Why ?
No codec needed
No avs needed
Increase speed
No buffer
I've tried this, but it failed.
avs [info]: 1920x2160p 0:0 @ 24000/1001 fps (cfr)
x264 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 FastShuffle SSE4.2 AVX
x264 [info]: profile High, level 5.1
Setting Default Parameters...
Parsing Configfile decoder.cfg
Parsing command line string 'InputFile = \\.\pipe\bluray20028\left1.h264'.
Parsing command line string 'InputFile2 = \\.\pipe\bluray20028\right1.h264'.
Parsing command line string 'OutputFile = \\.\pipe\bluray20028\1.yuv'.
Parsing command line string 'WriteUV = 0'.
Parsing command line string 'WriteStreams = -1'.
Parsing command line string 'Export = UpperUnder'
Parsing error in config file: Parameter Name 'Export' not recognized.
Parsing error in config file: Parameter Name '=' not recognized.
Parsing command line string 'FileFormat = 0'.
Parsing command line string 'RefOffset = 0'.
Parsing command line string 'POCScale = 2'.
Parsing command line string 'DisplayDecParams = 1'.
Parsing command line string 'ConcealMode = 0'.
Parsing command line string 'RefPOCGap = 2'.
Parsing command line string 'POCGap = 2'.
Parsing command line string 'Silent = 1'.
Parsing command line string 'IntraProfileDeblocking = 1'.
Parsing command line string 'DecFrmNum = 0'.
Parsing command line string 'DecodeAllLayers = 1'.
Export parameter is not recognized.
frencher
31st August 2012, 13:28
All filenames specified for avs-command go stright forward to exe-files (eac3to & ldecod).
With file paths in French of this kind it is necessary to go through a short file path
"E:\èéàç sont des caractères français\BDMV\STREAM\00001.ssif"
This error message, I suppose, comes from ldecod.exe. And I think, there is nothing to do with ldecod.exe because we have no connection to the author of it.
max_dec_frame_buffering larger than MaxDpbSize
I confirm
Here's how ldecod the source code it is also provided (http://iphome.hhi.de/suehring/tml/doc/ldec/html/ldecod_8c.html)
Official page of ldecod & lencod (http://iphome.hhi.de/suehring/tml/download/) If you can use this source code slavanap and fix :rolleyes:
slavanap
2nd September 2012, 00:37
With file paths in French of this kind it is necessary to go through a short file path
"E:\èéàç sont des caractères français\BDMV\STREAM\00001.ssif"
it might be a eac3to problem, does eac3to accept such filenames (with French)?
max_dec_frame_buffering larger than MaxDpbSize
I confirm
Here's how ldecod the source code it is also provided (http://iphome.hhi.de/suehring/tml/doc/ldec/html/ldecod_8c.html)
Official page of ldecod & lencod (http://iphome.hhi.de/suehring/tml/download/) If you can use this source code slavanap and fix :rolleyes:
Sadly, I'm not a wizard. I know about that code. It was modified by alexpk for right view h264 input support, and released as ldecod.exe (alexpk mod) and H264StereoSource.dll (avisynth plugin). As I guess it was a modification of JM17.2, and JM reference decoder still does not support h264 right view input as a separate file.
The method proposed by samfednik is more useful than that. The problem is -- how to rule Stereoscopic player from a directshow filter. You may look for sample directshow filters that releases ISampleGrabber interface, register your own in the system and make Stereoscopic player use it (I hope).
and sorry, I haven't free time for this recently :(
P.S. Here is the place, where alexpk came from --> http://torrents3d.ru/viewtopic.php?t=263
Keka
5th September 2012, 22:33
Hi, I have been following this with great interest have been desperately trying to make BD3D2AVS work however without success. I get to the following from the encoding screen where it stops:
v01 Extracting video track number 1...
v02 Extracting video track number 2...
v02 Creating file "\\.\pipe\bluray26223\right.h264"...
v01 Creating file "\\.\pipe\bluray26223\left.h264"...
Completed Decoding frame 00000
Error writing to pipe I 0x0000006d: The pipe has been ended.
Error writing to pipe! I 0x0000006: The pipe has been ended.
v01
vo2
I am new to all this can you help, I have tried multiple versions upto v07, and have followed install instruction as best as I could.
your help would be appreciated regards
r0lZ
5th September 2012, 23:11
Hi Keka, welcome to the Doom9 forums.
Sorry but I can't help. It's a problem related to SsifSource or an incompatibility with your BD, as this message doesn't come from the GUI.
Do you have decrypted the original BD to your HDD first? Have you tried to process another disk? Can you open the AVS script with your player or preview it in AvsPMod?
Maybe someone else can help?
slavanap
5th September 2012, 23:11
Hi, I have been following this with great interest have been desperately trying to make BD3D2AVS work however without success. I get to the following from the encoding screen where it stops:
v01 Extracting video track number 1...
v02 Extracting video track number 2...
v02 Creating file "\\.\pipe\bluray26223\right.h264"...
v01 Creating file "\\.\pipe\bluray26223\left.h264"...
Completed Decoding frame 00000
Error writing to pipe I 0x0000006d: The pipe has been ended.
Error writing to pipe! I 0x0000006: The pipe has been ended.
v01
vo2
I am new to all this can you help, I have tried multiple versions upto v07, and have followed install instruction as best as I could.
your help would be appreciated regards
Have you installed this?
http://www.microsoft.com/en-us/download/details.aspx?id=29
Added:
Try to open .avs file in VirtualDub (it will show the exception, if any occured) and, please, write here all the log messages you've got.
It looks like ldecod.exe haven't started properly. So the demuxed data can not be written into ldecod input.
slavanap
6th September 2012, 00:29
Here is, I guess, the last version of ssifSource, that uses that version of ldecod.exe
http://sendfile.su/664639
fixes:
output parameter settings added (including horizontal stack output)
now output is in native format (I420)
output fps now is 24000/1001
output now as fast as it might be with these executables (eac3to & ldecod)
frencher
6th September 2012, 05:31
Here is, I guess, the last version of ssifSource, that uses that version of ldecod.exe
http://sendfile.su/664639
fixes:
output parameter settings added (including horizontal stack output)
now output is in native format (I420)
output fps now is 24000/1001
output now as fast as it might be with these executables (eac3to & ldecod)
Very very nice update :goodpost:
Reduce Avisynth CPU usage :)
Your package have not "ssifSource_x64.dll" ? :confused:
Keka
6th September 2012, 08:17
Hi, thanks for all your comments/help, to clarify:
1. BD3D2AVS version 7.0, extracted all the files to a seperate folder
2. installed C++2008 as requested
3. The GUI produced an output folder of which Encode was a batch Windows Command Script
4. I ripped two Blu-ray 3d movies (ie, Immortals and Ghost Rider 3D) using AnyDVD HD
5. I tired using two different Hard Drives
6. Tried multiple Versions of BD3D2AVS
None of worked and all exhibited the problem I described in my last post.
I am using Windows 7 Home Premium & 64 bit.
Could not open the avs using Virtualdub however in in Megui and got the error message:
ERROR
Cant retrieve frame #79787
Note: ssifSourse filter supports only sequential frame rendering
any further help would be appreciated, regards:thanks:
r0lZ
6th September 2012, 10:51
The error message is self-explanatory: you can't jump to a specific frame. Since ssifSource uses commands that use pipes, all frames must be decoded sequentially, starting at the first frame. I don't use MeGui, but I suppose it tries to seek to frame #79787 for whatever reason. That cannot work. However, opening the script in VDub, AVSPmod or any player supporting AVS input should work (as long as you don't try to use the seek bar). Of course, the playback will be extremely slow, but if you can see the first frames, that means that everything works fine.
Since you have a 64bit version of Win7 (like me), have you tried to generate the files with and without the "Use 64bit" option? Maybe there is something wrong with one of your exes.
Also, you must have Avisynth properly installed (including the 64bit version if you want to use the 64bit option). I suppose you have it (them). Right?
slavanap
6th September 2012, 11:51
Your package have not "ssifSource_x64.dll" ? :confused:
Oh, sorry, I forgot.
here is the full pack: http://sendfile.su/664830
Have you used ssifSource_x64.dll with success?
r0lZ
6th September 2012, 12:01
Have you used ssifSource_x64.dll with success?
Yes, it works fine, although it doesn't speed up the decoding process much.
slavanap
6th September 2012, 13:38
Yes, it works fine, although it doesn't speed up the decoding process much.
Because it still uses 32bit eac3to & ldecod executables.
Keka
8th September 2012, 12:46
Hi, I am still having the same problem raised in an earlier post, I have tried:
1. Different hardware configurations evan installed a new version of Windows 7 on a new SSD hard drive
2. Tried to open the avs in both Virtualdub and AVSPMOD however both Froze and stopped working
3.Could not get the latest version of ssifSource_x64.dll since the referred site is not English.
Not certain what to do next?? regards:confused:
r0lZ
8th September 2012, 13:02
Have you properly installed vcredist 2008 (32 bit)? (The 2008 version is necessary. More recent versions do not work!)
Also, if you use BD3D2AVS, have you ticked the "use 64bit version"? And do you hardcode subtitles on the video? (I've just fixed a bug with that part, but the error message is different.) Can you post the log files produced by BD3D2AVS and during the failed encode?
Anyway, try a simple encode: select any short 3D video, keep only a single audio stream, disable all unnecessary options such as the intro clip, use 32-bit mode, and generate the files. Then, try to open the AVS script in AVSPMod (http://forum.doom9.org/showthread.php?t=153248) and enable the preview. If something goes wrong, it will highlight the line that causes the error.
Also, can you try the [3D Preview] option in the Intro Clip tab? (You don't need to load a BD to try it.) If you have installed a player that supports AVS input, you should see the intro in SBS or Top/Bottom mode. If that doesn't work, that may indicate that there is a problem with your AviSynth installation (or your player doesn't support AVS).
r0lZ
8th September 2012, 13:14
3.Could not get the latest version of ssifSource_x64.dll since the referred site is not English.
I have the same problem, but after having tried the wrong button, I've found how to download it. Click the left button at the bottom of the page. A new page should appear with a long link. Click that link.
I've installed that version and encoded a BD without problem, so I can confirm that the latest version should work with BD3D2AVS.
BTW, vcredist 2008 is included in the package.
r0lZ
8th September 2012, 13:22
Oh, I forgot another possible cause of the problem. Please install the BD3D2AVS files in a folder that doesn't contain foreign characters (such as accented French characters) in the path. A good path is, for example, "D:\Tools\BD3D2AVS". Also, be sure to preserve the folder paths of the archive. You should have, among others, the "toolset" directory within the installation folder.
Keka
8th September 2012, 14:09
Hi, its getting a little late here in Australia, will try all your suggestions later, in the mean time I did install vcredist 2008 properly (I believe).
I tried the 3D Preview script in AVS Media Player and got "File Opening Error. The file might be corrupted or the file format not supported.
Also can not activate the 64 bit option as it is inactive (not highlighted)
Will try the ssifSource_x64.dll download later.
regards and thanks
micha019
10th September 2012, 10:36
Hello,
I have a Problem with some Movies when using h264stereo.dll.
x264.exe give me the error Message:
RefPicList0[ 0 ] is equal to 'no reference picture'
RefPicList0[ num_ref_idx_l0_active_minus1 ] is equal to 'no reference picture'
RefPicList0[ num_ref_idx_l0_active_minus1 ] is equal to 'no reference picture'
RefPicList0[ num_ref_idx_l0_active_minus1 ] is equal to 'no reference picture'
RefPicList0[ num_ref_idx_l0_active_minus1 ] is equal to 'no reference picture'
RefPicList0[ num_ref_idx_l0_active_minus1 ] is equal to 'no reference picture'
RefPicList0[ num_ref_idx_l0_active_minus1 ] is equal to 'no reference picture'
RefPicList0[ 1 ] is equal to 'no reference picture'
....
Anyone has the same Problem?
A lot of Movies works without a Problem with h264sterero.dll, but some doesn't and they always has theese error messages.
Motenai Yoda
12th September 2012, 15:07
2. Tried to open the avs in both Virtualdub and AVSPMOD however both Froze and stopped working
same problem here.:helpful:
also i have avs 2.6 mt 2012.05.16
and v0.7
pommesmatte
23rd September 2012, 17:10
I have some issues with version 0.7.
- x64 options are greyed out
- video does not get resized when using the "half" options
r0lZ
23rd September 2012, 17:27
I've already noticed and fixed the x64 bug, but I can't reproduce the problem of the resize.
Do you have selected a x264 resize method? If it's the case, it is normal that the AVS script does not contain the resize command. The _ENCODE.cmd batch should contain something like this:
--video-filter resize:1920,1080,method=bicubic
Can you verify?
pommesmatte
23rd September 2012, 22:25
I used Avisynth Lanzcos and noticed after recode (1920x2160 resolution) that the resize line completely is missing from the avs script.
Will try to reproduce, am searching a short 3D Trailer on my discs.
Other question: Is the x264 resize superior to the Avisynth one? Quality? Performance?
And maybe you should create a new topic only for your program or ask a moderator to move the last part of this topic to a new one.
r0lZ
24th September 2012, 12:54
# v0.8 (September 24, 2012)
# - Uses now the show_params option of SsifSource to stack horizontally (if no cropping needed).
# - Uses now only BDSup2Sub++.exe to convert the subtitles.
# As a consequence, the method to hardcode the subtitles with 3D depth has changed and should be more rapid.
# - Bug when a subtitle stream is hardcoded and the intro clip option is ticked: the subtitles delay was wrong.
# - Bug occurring after the demux with undeclared variable $sbs.
# - Bug with the detection of the X64 system: the "Use 64bit" option was always disabled.
# - Bug: the left and right eye stream numbers were wrong when processing a M2TS without chapters.
# - Fixed several bugs with the validation of the tags in the Tags tab.
# - Workaround for an Avisynth bug: The framerate 24/1.001 is not computed correctly. Replaced with 24000/1001.0
# - Workaround for a VsFilter bug: Now, the video is converted to RGB before applying the hardcoded subtitles.
# - Updated most EXE and DLL files in the toolset folder. The old vsfilter_x64.dll file had a bug!
This version should be stable. I've removed the link to download v0.7 in a previous post (http://forum.doom9.org/showthread.php?p=1588852#post1588852), as it was not stable enough.
Be sure to update the toolset too! Many EXE and DLL files have been updated to their latest version, and I've noticed a serious bug in the old VSFilter_x64.dll file: When encoding in x64 mode and when the frame rate was ntsc_film (24000/1000 fps) and a subtitle was hardcoded, a frame was missing every 2 seconds or so, and replaced with a green fame. I don't understand why, but it seems that the latest VSFilter_x64.dll does not have that bug. So, be sure to update the toolset, especially if you use the 64-bit mode.
Download: BD3D2AVS.7z (http://download.videohelp.com/r0lZ/BD3D2AVS/BD3D2AVS.7z)
Penecho
25th September 2012, 10:55
Is it possible to create a avs with left+right eye stream? because when i use the .ssif or .mpls i get errors...
also when i try and demux the mpls with eac3to. but it works when i demux the m2ts seperately.
The Bluray has a seperate m2ts for right eye (0000.m2zs) + left eye (0001.m2ts), i can demux them sperately, so i was wondering if i can use the ssif source dll to load each eye stream seperately into the avs?
pommesmatte
25th September 2012, 23:58
Just use BD3D2AVS for that, it's right above your post.
It will build you an avs script with both streams on the fly decoded with ssif source via pipes.
Keka
26th September 2012, 07:09
Hi back on the 5th of September I was looking for assistance on how to fix the above problem when trying to use BD3D2AVS, as suggested I tried various software versions of BD3D2AVS as well as SSIFSource and X264 codec, none of these fixed the problem.
I would like to share how I eventually fixed it. The problem was with the files I ripped using AnyDVD HD, I actually ripped a number of discs and all had a similar problem.
What I eventually did was direct BD3D2AVS input directly BDMV file on the Blu-Ray disc and output to hard drive, well it all worked. I also got clean rip of the BDMV to hard drive which also worked.
The message is to ensure that the disc is ripped probably, unfortunately it is not always possible to detect problems with these large files.
regards:)
slavanap
26th September 2012, 08:57
Is it possible to create a avs with left+right eye stream? because when i use the .ssif or .mpls i get errors...
also when i try and demux the mpls with eac3to. but it works when i demux the m2ts seperately.
The Bluray has a seperate m2ts for right eye (0000.m2zs) + left eye (0001.m2ts), i can demux them sperately, so i was wondering if i can use the ssif source dll to load each eye stream seperately into the avs?
No you can't. Ssif-source is for .ssif and .mpls files only.
Can you somehow send the small versions of that files, please? I have never seen that format with right view encoded separately.
r0lZ
26th September 2012, 09:28
I don't think the right view is encoded separately. It is correct that there are two M2TS files corresponding to the left and right views, but they are file system tricks. In fact, the two eyes are "multiplexed" in the SSIF file. In fact, I don't think it's a real multiplex. It's probably a trick based on the filesystem. They are something like "links" or shortcuts. I think that entire sectors are assigned to the left eye, and others to the right eye, but I'm not sure. The left M2TS file references only the left eye sectors in the SSIF file. That way, it is possible to play the left eye alone, in 2D, by playing the M2TS instead of the SSIF. And old players, not 3D compatible, "see" only the M2TS file, and have no way to access the SSIF.
Similarly, the right M2TS file references only the sectors of the SSIF that are assigned to the right eye view. Since the right eye view is encoded differently and needs the left eye view to be decoded, I don't understand why they have decided to create a M2TS file to reference it. IMO, the SSIF should be sufficient. Anyway, an old not-3D player cannot handle the right eye M2TS files.
One way to verify that the M2TS files are partial images of the SSIF is to compute the total disc size. If you add the size of all M2TS and SSIF files, you will see that the total is much larger than the total size of the disc. (It's also why copying the files to HDD consumes much more disc space than an ISO: all 3D video files are copied twice.) Also, if you add the size of the left and right M2TS files of a particular title, the total is exactly the size of the SSIF of the same title. So, in short, that means that the two M2TS and the SSIF files are exactly the same thing, and point to the same data on disc. Therefore, it doesn't make sense to try to decode the 3D movie from the two M2TS files, as it's exactly the same thing than decoding the SSIF.
I've read somewhere that there are 3D-only BDs (without the 2D version of the movie). I have never seen that kind of BDs, but if they exist, perhaps they have no M2TS files at all, and the player can only play the SSIF file.
r0lZ
26th September 2012, 09:37
The problem was with the files I ripped using AnyDVD HD, I actually ripped a number of discs and all had a similar problem.
What I eventually did was direct BD3D2AVS input directly BDMV file on the Blu-Ray disc and output to hard drive, well it all worked. I also got clean rip of the BDMV to hard drive which also worked.
Good info. Thanks!
Can you explain how you "got clean rip"? And how you got bad rips? It would be nice to understand the difference.
And have you tried to rip "John Carter"? Apparently, it is extremely difficult to do. (I haven't tried it myself.)
Penecho
26th September 2012, 13:29
The error i get when trying to demux it is:
The source File Seems to be damaged (sync byte missing)
I get that like a thousand times... eac3to logfile is > 2MB...
when i encode it, it i can watch for about 20 mins in 3D, then the picture is just green
Is there maybe a way to demux the 2 m2ts seperately and create a new mpls from 2 extracted video streams?
pommesmatte
26th September 2012, 22:16
I've already noticed and fixed the x64 bug, but I can't reproduce the problem of the resize.
Ok same thing now, choose Avisynth Lanczos and Half Top and Bottom, and now resize line is missing in the avs script (no resize in the encode cmd either.)
# Avisynth script generated Wed Sep 26 22:11:26 CEST 2012 by BD3D2AVS v0.8
# to convert "M:\BDMV\STREAM\SSIF\00001.ssif"
# (referenced by playlist 00001.mpls)
# to Half Top & Bottom steroscopic video file
# Movie title: [movie title]
#
# Source MPLS information:
# MPLS file: 00001.mpls
[stream info]
LoadPlugin("C:\Multimedia\BD3D2AVS\toolset\ssifSource_x64.dll")
SP_LEFTVIEW = 1
SP_RIGHTVIEW = 2
SP_HORIZONTAL = 4
ssifSource("M:\BDMV\STREAM\SSIF\00001.ssif", 1920, 1080, 126720, 1, 2, show_params = SP_LEFTVIEW + SP_RIGHTVIEW)
AssumeFPS("ntsc_film")
x264_x64.exe --preset slow --crf 18 --tune film --profile high --level 4.1 ^
-o "00001_m2ts.264" "_ENCODE_3D_MOVIE.avs" 2>"00001_m2ts_x264.log"
slavanap
26th September 2012, 23:18
I don't think the right view is encoded separately. It is correct that there are two M2TS files corresponding to the left and right views, but they are file system tricks.
Oh, sorry. I know that. I was just confused because of 0000.m2zs extension of the file in Keka's post.
The thing I worry about is view swapping.
Is there always left view encoded as a m2ts file that can be played in standard system player? Have you seen any disks with right view, encoded that way?
As for me, I haven't. But there might be possibility.
I've read somewhere that there are 3D-only BDs (without the 2D version of the movie). I have never seen that kind of BDs, but if they exist, perhaps they have no M2TS files at all, and the player can only play the SSIF file.
Thanks for the new info. I haven't seen them too, though.
r0lZ
27th September 2012, 09:19
@pommesmatte: Strange. I will have a look, but it worked here yesterday, with the Blackman Avisynth resize.
Oh, sorry. I know that. I was just confused because of 0000.m2zs extension of the file in Keka's post.
Probably a typo. Keka, can you confirm?
The thing I worry about is view swapping.
Is there always left view encoded as a m2ts file that can be played in standard system player? Have you seen any disks with right view, encoded that way?
As for me, I haven't. But there might be possibility.
I haven't seen that yet, but IMO that should be possible, since the director decides what he considers the "main 2D view". It must therefore be possible to respect his will.
My GUI trust the info returned by eac3to, and it assumes that the first video stream listed is the one that has been encoded normally. If, per chance, it is tagged with "(right eye)", the two images are swapped in the AVS script.
PurpleMan
27th September 2012, 09:32
Strange problem I just can't solve -
So far I've used the gui with many 3d blu-ray discs, always works perfect. However, I just can't get it to work with Men in Black III.
When trying to encode I immediately get an error that the pipe has ended.
This gets even stranger as I've tried 3 different editions of this movie (US/EU/Nordic) - all of them fail while every other disc works.
Also, the 3 editions don't share the same encodes, files or playlists. One disc has the ebtire movie on 1 ssif while others have it split across many.
The rips are fine as all discs play flawlessly on every player I tried (in both 2D and 3D).
I also tried actually demuxing left and right .h264 files and feeding those to the ssifsource instead of a playlist or ssif file - same result, it just won't decode.
I'm completely stumped.
frencher
27th September 2012, 09:44
Strange problem I just can't solve -
So far I've used the gui with many 3d blu-ray discs, always works perfect. However, I just can't get it to work with Men in Black III.
When trying to encode I immediately get an error that the pipe has ended.
This gets even stranger as I've tried 3 different editions of this movie (US/EU/Nordic) - all of them fail while every other disc works.
Also, the 3 editions don't share the same encodes, files or playlists. One disc has the ebtire movie on 1 ssif while others have it split across many.
The rips are fine as all discs play flawlessly on every player I tried (in both 2D and 3D).
I also tried actually demuxing left and right .h264 files and feeding those to the ssifsource instead of a playlist or ssif file - same result, it just won't decode.
I'm completely stumped.
This would solve the problem simply update ldecod.
The source code is available but nobody looks at it ...
Them they took notes and develop from those who have been failure:
- Johnn Carrter = Failed
- Meen Inn Blaack = Failed
etc...
r0lZ
27th September 2012, 09:50
What's the latest ldecod version, and where can it be downloaded?
frencher
27th September 2012, 09:54
What's the latest ldecod version, and where can it be downloaded?
Old post :(
There at the source in ldecod link below to add it suffirai function multithreaded version x86 and x64.
Source code of ldecod 18.4 (http://iphome.hhi.de/suehring/tml/download)
Tutorial for multithreading with C++ (in french) (http://apais.developpez.com/tutoriels/c++/multithread/)
PurpleMan
27th September 2012, 10:03
Can anyone provide latest binary or instructions how to compile it?
I always assumed the GUI's toolset was the latest version.
frencher
27th September 2012, 10:05
Should decompile 18.3 ldecod see how it works
r0lZ
27th September 2012, 10:10
I always assumed the GUI's toolset was the latest version.
Me too! ;-)
I don't have a C/C++ programming environment here, so I have never tried to compile the source code myself.
If someone has compiled the latest sources, please post the exe here. Thanks!
r0lZ
27th September 2012, 10:17
Ok same thing now, choose Avisynth Lanczos and Half Top and Bottom, and now resize line is missing in the avs script (no resize in the encode cmd either.)Really strange. Checked again here, and it works.
Maybe the problem is related to the config file saved by an old version. Before I've added the option to resize with x264, the resize method was saved in the config file in a different way. Can you try to set it again in the GUI, than save the configuration, close the program and restart it? The correct resize string (including the leading "Avisynth:") should be in the rezise field of the GUI. Try to generate the AVS file again, and you should have the resize line in the script. Let me know if that works. Thanks!
[EDIT] Oops, I see. The problem occurs only in Half Top/Bottom format. I prefer SBS, and I did almost all my tests in Half-SBS, so I haven't noticed the bug. Sorry. I will release a fix soon...
r0lZ
27th September 2012, 10:53
OK, resize bug fixed. Sorry again.
# v0.9 (September 27, 2012)
# - Bug: The resize was missing in the AVS script or the X264 command when encoding in Half-Top/Bottom format.
Keka
27th September 2012, 11:23
Hi, not certain about the reference to .m2zs, I couldn't find it in any of my posts, if it's there then it's a typo.
Regarding a clean rip, this was very much a trial and error process, I think I noticed that you need to ensure AnyDVD has completed its scan before copying the file, I think?? I also played with different hardware configurations however that didn't seem to be the problem. It was the quality of the ripped files.
This is why I used the files on the Blu-ray disc, and it seemed to work. Note it didn't seem to have a speed impact as the encoding rate was slower than the read rate off the blu-ray disc.
Unfortunately have not tried with John Carter, I only did the 2d version.
regards:)
r0lZ
27th September 2012, 11:50
Thanks for the info.
I agree that ripping directly from the BD disc (with AnyDVD running) works fine. I did several short tests that way. However, when converting a long movie, you have to leave the BD in the drive for 12 hours or so, constantly spinning. It may become very hot, and your BD may be damaged. Take care.
Keka
27th September 2012, 12:11
Hi, I agree, it was a concern I also had. It is however a good test to see if there was a problem with the rip onto hard drive or something else?
regards :)
pommesmatte
27th September 2012, 14:06
@PurpleMan
DVDFab 3D Ripper should work on that MiB 3 disc, had the same issues with John Carter 3D. No idea what exactly it'S related to.
@Keka
Copying single files off the BD with 3D-discs is sometimes problematic.
Just use the image file function of AnyDVD instead to write the complete 3d-BD as iso to your hard drive and put it in a virtaul drive afterwards to use BD3D2AVS.
That works flawless (except for i.e. John Carter and MiB 3 as it appears)
@r0lz
No need to apologize! You're doing a great job here. :)
PurpleMan
27th September 2012, 15:33
Me too! ;-)
I don't have a C/C++ programming environment here, so I have never tried to compile the source code myself.
If someone has compiled the latest sources, please post the exe here. Thanks!
Here is latest ldecod (18.4) compiled to .exe binary:
http://www.2shared.com/file/4NmScEhG/ldecod.html
Unfortunately, it seems they changed quite a bit so it doesn't work properly with ssifsource (for example, parameter 'inputFile2' in the decoder configuration is unrecognized, they probably changed the name).
Care to take a look?
frencher
27th September 2012, 15:41
Here is latest ldecod (18.4) compiled to .exe binary:
http://www.2shared.com/file/4NmScEhG/ldecod.html
Unfortunately, it seems they changed quite a bit so it doesn't work properly with ssifsource (for example, parameter 'inputFile2' in the decoder configuration is unrecognized, they probably changed the name).
Care to take a look?
Hi PurpleMan,
Send to uploaded (http://uploaded.net) because 2shared seems down
Thank's
PurpleMan
27th September 2012, 15:45
Hi PurpleMan,
Send to uploaded (http://uploaded.net) because 2shared seems down
Thank's
Here you go. (http://ul.to/tg24kjz6)
By the way, I've read the source file configFile.h and verified that indeed there is no longer a parameter called inputFile2. There is, however, a parameter called refFile. I'm sure that's just one change out of many ;/
Hope you can make sense of it :)
r0lZ
27th September 2012, 15:48
Indeed, the link at 2shared does not work for me too. The page is OK, but the download button doesn't work.
Anyway, if I understand correctly, that version will not work with my GUI, unless a new version of ssifsource takes the new ldecod into account.
[EDIT] Just noticed the previous post. You've posted it when I was typing this reply.
Thanks!
frencher
27th September 2012, 15:54
It is not the original ldecod which is not suitable as was ldecod alex pk mod
Héééé Hééé
http://i48.tinypic.com/2ewhaxd.jpg
PurpleMan
27th September 2012, 16:26
It is not the original ldecod which is not suitable as was ldecod alex pk mod
yup, now I get it. this version of ldecod isn't even for MVC - it's for standard h264/AVC.
Apparently, alex-pk modified it to support MVC, and god only knows who alex-pk is and where can we find a newer version of the decoder.
God I wish I could figure out a way to load/register CoreMVC from Stereoscopic Player as a directshow filter. I know Stereoscopic Player uses it as a filter, but regsvr32 fails to register it (probably by design).
frencher
27th September 2012, 16:42
Maybe a track Here (http://mailman.videolan.org/pipermail/x264-devel/2006-May.txt) :confused:
Other Idea (MVC SDK) Here (http://www.mainconcept.com/en/products/sdks/3d/mvc-sdk.html)
Penecho
27th September 2012, 23:52
Just to let you guys know, i managed to encode that movie that made problems :)
ssif does accepted the 2 .h264 files that i demuxed :)
LoadPlugin("C:\xxxf\BD3D2AVS_07\toolset\ssifSource.dll")
ssifSource(width = 1920, height = 1080, frame_count = 111470, left_264 = "C:\xxx\left.h264", right_264 = "C:\xxx\right.h264")
AssumeFPS(24/1.001)
left =Crop(0,0, 0,1080)
right=Crop(0,1080, 0,1080)
StackHorizontal(left, right)
r0lZ
28th September 2012, 00:04
Nice. But how do you have demuxed the right_264 stream? AFAIK, eac3to cannot demux that stream. Or am I wrong?
BTW, note that Avisynth has troubles with the framerate 24/1.001. You should use "ntsc_film", or 24000/1001, as otherwise, the computed frame rate is wrong. (I've fixed that problem in BD3D2AVS recently.)
frencher
28th September 2012, 01:41
eac3to can demux that stream (right_264.h264) ;)
Keka
28th September 2012, 03:27
Thanks Pommesmatte, great idea with the iso. In the past with 2D videos I haven't had a problem with direct file copy until now with the 3D?
regards
Penecho
28th September 2012, 08:44
Nice. But how do you have demuxed the right_264 stream? AFAIK, eac3to cannot demux that stream. Or am I wrong?
BTW, note that Avisynth has troubles with the framerate 24/1.001. You should use "ntsc_film", or 24000/1001, as otherwise, the computed frame rate is wrong. (I've fixed that problem in BD3D2AVS recently.)
Ah Ok, mediainfo shows me:
Frame rate : 23.976 fps
you think i should reencode, or is that ok???
eac3to can demux the streams :)
I used: eac3to.exe files.m2ts -demux
r0lZ
28th September 2012, 10:44
Ah Ok, mediainfo shows me:
Frame rate : 23.976 fps
you think i should reencode, or is that ok???
If you don't have A/V sync problems, I suppose it's OK. I've just noticed that, with AssumeFPS(24/1.001).Info(), the info on screen shows a wrong frame rate.
Anyway, the frame rate can be forced when you mux the file too, so I'm not sure it's really important. I just wanted to let you know that Avisynth has a small bug here.
eac3to can demux the streams :)
I used: eac3to.exe files.m2ts -demux
OK, I'll try that. IIRC, I haven't been able to demux the right stream of a particular BD (I don't remember which). Perhaps that was caused by a problem with that BD, or because I have explicitly demuxed only that stream.
Penecho
28th September 2012, 11:18
Ah and btw, i googled a bit and found that info, that is where i had my line from. Dont know if anyone posted yet, but i found it to be useful, what else is possible (was from someone @pastebin):
LoadPlugin("ssifSource.dll")
#LoadPlugin("C:\Program Files (x86)\AviSynth 2.5\plugins\VSFilter.dll")
#
# ssifSource plugin
# Parameters:
# 1 | ssif_file | string | name of .ssif file
# 2 | width | integer | width of video
# 3 | height | integer | height of video
# 4 | frame_count | integer | number of frames to decode
# 5 | left_track | integer | left eye track in eac3to output, that will be used
# 6 | right_track | integer | same for right eye
# 7 | left_264 | string | name of .h264 video file used for manual decoding for left eye
# 8 | right_264 | string | same for right right eye (delta)
#
# Examples:
# 1. ssifSource("e:\BDMV\STREAM\SSIF\00005.ssif", 1920, 1080, 1000)
# or
# ssifSource(ssif_file = "e:\BDMV\STREAM\SSIF\00005.ssif", width = 1920, height = 1080, frame_count = 1000)
#
# 2. ssifSource("e:\BDMV\PLAYLIST\00001.mpls", 1920, 1080, 1000, 2, 3)
# note: make sure about track numbers before using the filter. Defaults are: left_track = 1, right_track = 2
#
# 3. ssifSource(width = 1920, height = 1080, frame_count = 1000, left_264 = "left.h264", right_264 = "right.h264")
# note: it's better when filenames of .h264 files don't have spaces and special characters,
# because sometimes ldecod.exe fails to parse such commandline
#
# WARNING: ssifSource plugin ALWAYS produce video of 25 fps, so make sure you set proper fps settings before encoding!
#
#src = ssifSource("e:\BDMV\PLAYLIST\00001.mpls", 1920, 1080, 1000, 2, 3)
#src = ssifSource("e:\BDMV\STREAM\SSIF\00005.ssif", 1920, 1080, 1000)
video = ssifSource(width = 1920, height = 1080, frame_count = 139368, left_264 = "..\streams\left.264", right_264 = "..\streams\right.264")
left = crop(video, 0, 0, video.width, video.height/2)
right = crop(video, 0, video.height/2, video.width, video.height/2)
#remove letterbox
left = crop(left, 0, 140, 0, -140)
right = crop(right, 0, 140, 0, -140)
video = TopDown3D(left,right)
AssumeFPS(video, 23.976)
#video = TopDown3D(left,right)
#video = stackhorizontal(left,right)
#video.VobSub("..\pob_ovun21.idx")
#return video.ConvertToYV12
#VobSub("F:\resident\subs\pob_ovun.idx")
return video
r0lZ
28th September 2012, 11:32
I see. That left_264 = "...264", right_264 = "...264" syntax is interesting. I didn't know it. But I don't think I'll use it in BD3D2AVS, as it requires to demux both video streams. It is much more easy to convert the ISO streams directly.
The problem with AssumeFPS(video, 23.976) is that the frame rate is also wrong. The real frame rate of NTSC film is 23.976023976023978, or exactly 24000/1001.
The previous versions of BD3D2AVS used 24/1.001 because it's what eac3to reports and it's theoretically correct, but now, due to the avisynth bug, I replace it in the script with "ntsc_film", that gives the correct value of 23.976023976023978 (but is rounded to 23.976 in the Info() display).
I wonder what that TopDown3D(left,right) command does, and from where it is coming from. Someone knows it?
Penecho
28th September 2012, 14:30
This is also from some other site and also for another toolbox, but i asume the function is the same:
TopDown3D will create a video whose height is double that of the two original videos and will place the left view in the top half and the right view in the bottom half of the new video. So, if your originals are 1920x1080 pixels, the new video will have 1920x2160 pixels.
source (has pictures): http://www.pantarheon.org/AviSynth3DToolbox/
samfednik
28th September 2012, 15:52
2r0lZ
not correct - AssumeFPS(24/1.001)
correct - AssumeFPS(24000,1001) or AssumeFPS(24000./1001.) or AssumeFPS("ntsc_film")
r0lZ
28th September 2012, 18:22
That's what I've said.
But 24/1.001 should be correct too, since it's mathematically equal to 24000/1001. I suppose Avisynth has a severe rounding problem with floating point calculations.
PurpleMan
29th September 2012, 15:53
This is SO annoying. Basically, there is no acceptable way to back up Men in Black 3.
DVDFab conversions are low-quality, and even if I wanted to make them lossless to later re-encode with x264, it's limited to 30mbit/sec, which is by far too low.
IMToo Blu-ray 3D Ripper isn't bitrate limited, but it applies some sort of weird filter to the video (or it's just a very bad encoder) so that even at 80mbit/sec, picture quality is less than ideal.
Lastly, we have ldecod/ssifsource/h264stereosource which just can't decode it and doesn't look like there'll ever be a new version.
Then we have Stereoscopic Player which does include a wonderful directshowsource MVC decoder by CoreCodec (CoreMVC) but has the DLL of the filter unregisterable (regsvr32 fails) even though Stereoscopic Player uses it in a directshow graph.
There is just no way out ;(
frencher
29th September 2012, 17:09
That's why I was talking to update ldecod mod :cool:
PurpleMan
29th September 2012, 19:20
That's why I was talking to update ldecod mod :cool:
There is nobody around that can update it =/
pommesmatte
30th September 2012, 01:18
DVDFab conversions are low-quality, and even if I wanted to make them lossless to later re-encode with x264, it's limited to 30mbit/sec, which is by far too low.
Why? Bitrate on BD is around 20MBit/s.
I compared 30MBit/s DVDFab and afterwards x264 CRF 18 to directly x264 CRF 18 via SSIFsource: No difference noticable.
Speed is also similar, as DVDFab encode is really fast and SSIFsource is really slow.
But I use definately SSIFsource if possible.
r0lZ
30th September 2012, 06:18
I agree with PurpleMan. I don't like at all the encoding of DVDFab. For an equivalent quality with x264, you have to give at least 3 times the bitrate. And it has several bug. (I remember it was impossible to encode in two passes. They may have fixed that bug, but I'm not sure.) And, of course, it is not possible to modify the video (for example to hardcode the subtitles). As PurpleMan wrote, it is also impossible to encode in lossless mode. Its only advantage is its speed.
pommesmatte
30th September 2012, 16:08
And, of course, it is not possible to modify the video (for example to hardcode the subtitles).
It's no problem to hardcode subtitles with DVDFab 3D Ripper, but I agree that the encoding is inferior to x264.
frencher
1st October 2012, 04:38
There is nobody around that can update it =/
I stumbled upon here but are it really him? (http://alexscape.createaforum.com/moderator/pur3-pk's-mod-application-d)
Or here (http://steamcommunity.com/profiles/76561197983326422)
frencher
3rd October 2012, 04:50
Complete log of: "Jon Cater" in 3D (Direct to original disc) Zone A+B+C
avs [info]: 1920x1080p 1:1 @ 2997/125 fps (cfr)
x264 [warning]: VBV maxrate specified, but no bufsize, ignored
x264 [warning]: NAL HRD parameters require VBV parameters
x264 [info]: using SAR=1/1
x264 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 FastShuffle SSE4.2 AVX
Setting Default Parameters...
Parsing Configfile decoder.cfg
Parsing command line string 'InputFile = \\.\pipe\bluray16982\left1.h264'.
Parsing command line string 'InputFile2 = \\.\pipe\bluray16982\right1.h264'.
Parsing command line string 'OutputFile = \\.\pipe\bluray16982\1.yuv'.
Parsing command line string 'WriteUV = 0'.
Parsing command line string 'WriteStreams = -1'.
Parsing command line string 'FileFormat = 0'.
Parsing command line string 'RefOffset = 0'.
Parsing command line string 'POCScale = 2'.
Parsing command line string 'DisplayDecParams = 1'.
Parsing command line string 'ConcealMode = 0'.
Parsing command line string 'RefPOCGap = 2'.
Parsing command line string 'POCGap = 2'.
Parsing command line string 'Silent = 1'.
Parsing command line string 'IntraProfileDeblocking = 1'.
Parsing command line string 'DecFrmNum = 0'.
Parsing command line string 'DecodeAllLayers = 1'.
******************************************************
* Decoder Parameters *
******************************************************
Parameter InputFile = \\.\pipe\bluray16982\left1.h264
Parameter InputFile2 = \\.\pipe\bluray16982\right1.h264
Parameter OutputFile = \\.\pipe\bluray16982\1.yuv
Parameter RefFile =
Parameter WriteUV = 0
Parameter WriteStreams = -1
Parameter FileFormat = 0
Parameter RefOffset = 0
Parameter POCScale = 2
x264 [info]: Parameter DisplayDecParams = 1
profile Main, level 4.0
Parameter ConcealMode = 0
Parameter RefPOCGap = 2
Parameter POCGap = 2
Parameter Silent = 1
Parameter IntraProfileDeblocking = 1
Parameter DecFrmNum = 0
Parameter DecodeAllLayers = 1
******************************************************
----------------------------- JM 17.2 (FRExt) ---------------[ alexpk mod ]
--------------------------------------------------------------------------------
M2TS, 2 video tracks, 4 audio tracks, 11 subtitle tracks, 2:12:02, 24p /1.001
1: Chapters, 16 chapters
2: h264/AVC (left eye), 1080p24 /1.001 (16:9)
3: h264/AVC (right eye), 1080p24 /1.001 (16:9)
4: DTS Hi-Res, English, 7.1 channels, 24 bits, 2046kbps, 48kHz (core: DTS, 5.1 channels, 24 bits, 1509kbps, 48kHz)
5: DTS Hi-Res, French, 7.1 channels, 24 bits, 2046kbps, 48kHz (core: DTS, 5.1 channels, 24 bits, 1509kbps, 48kHz)
6: DTS Hi-Res, German, 7.1 channels, 24 bits, 2046kbps, 48kHz (core: DTS, 5.1 channels, 24 bits, 1509kbps, 48kHz)
7: AC3, Turkish, 5.1 channels, 640kbps, 48kHz
8: Subtitle (PGS), English
9: Subtitle (PGS), English
10: Subtitle (PGS), French
11: Subtitle (PGS), German
12: Subtitle (PGS), Dutch
13: Subtitle (PGS), Turkish
14: Subtitle (PGS), Arabic
15: Subtitle (PGS), English
16: Subtitle (PGS), French
17: Subtitle (PGS), German
18: Subtitle (PGS), Turkish
v02 Extracting video track number 2...
v03 Extracting video track number 3...
v02 Creating file "\\.\pipe\bluray16982\left.h264"...
v03 Creating file "\\.\pipe\bluray16982\right.h264"...
max_dec_frame_buffering larger than MaxDpbSize
Error writing to pipe! | 0x0000006d: Le canal de communication a été fermé.
Error writing to pipe! | 0x0000006d: Le canal de communication a été fermé.
v02 Writing the destination file failed.
Aborted at file position 17825792.
v03 Writing the destination file failed.
Aborted at file position 22020096.
frencher
3rd October 2012, 05:14
Complete log of: "MIB 3" in 3D (Direct to original disc) Zone A+B+C
avs [info]: 1920x1080p 1:1 @ 2997/125 fps (cfr)
x264 [warning]: VBV maxrate specified, but no bufsize, ignored
x264 [warning]: NAL HRD parameters require VBV parameters
x264 [info]: using SAR=1/1
x264 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 FastShuffle SSE4.2 AVX
Setting Default Parameters...
Parsing Configfile decoder.cfg
Parsing command line string 'InputFile = \\.\pipe\bluray22250\left1.h264'.
Parsing command line string 'InputFile2 = \\.\pipe\bluray22250\right1.h264'.
Parsing command line string 'OutputFile = \\.\pipe\bluray22250\1.yuv'.
Parsing command line string 'WriteUV = 0'.
Parsing command line string 'WriteStreams = -1'.
Parsing command line string 'FileFormat = 0'.
Parsing command line string 'RefOffset = 0'.
Parsing command line string 'POCScale = 2'.
Parsing command line string 'DisplayDecParams = 1'.
Parsing command line string 'ConcealMode = 0'.
Parsing command line string 'RefPOCGap = 2'.
Parsing command line string 'POCGap = 2'.
Parsing command line string 'Silent = 1'.
Parsing command line string 'IntraProfileDeblocking = 1'.
Parsing command line string 'DecFrmNum = 0'.
Parsing command line string 'DecodeAllLayers = 1'.
******************************************************
* Decoder Parameters *
******************************************************
Parameter InputFile = \\.\pipe\bluray22250\left1.h264
Parameter InputFile2 = \\.\pipe\bluray22250\right1.h264
Parameter OutputFile = \\.\pipe\bluray22250\1.yuv
Parameter RefFile =
Parameter WriteUV = 0
Parameter WriteStreams = -1
Parameter FileFormat = 0
Parameter RefOffset = 0
Parameter POCScale = 2
Parameter DisplayDecParams = 1
x264 [info]: Parameter ConcealMode = 0
profile Main, level 4.0
Parameter RefPOCGap = 2
Parameter POCGap = 2
Parameter Silent = 1
Parameter IntraProfileDeblocking = 1
Parameter DecFrmNum = 0
Parameter DecodeAllLayers = 1
******************************************************
----------------------------- JM 17.2 (FRExt) ---------------[ alexpk mod ]
--------------------------------------------------------------------------------
M2TS, 2 video tracks, 2 audio tracks, 8 subtitle tracks, 1:45:49, 24p /1.001
1: Chapters, 16 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, 5.1 channels, 16 bits, 48kHz (core: DTS, 5.1 channels, 16 bits, 1509kbps, 48kHz)
5: DTS Master Audio, French, 5.1 channels, 16 bits, 48kHz (core: DTS, 5.1 channels, 16 bits, 1509kbps, 48kHz)
6: Subtitle (PGS), English
7: Subtitle (PGS), Arabic
8: Subtitle (PGS), Danish
9: Subtitle (PGS), Dutch
10: Subtitle (PGS), Finnish
11: Subtitle (PGS), French
12: Subtitle (PGS), Norwegian
13: Subtitle (PGS), Swedish
v02 Extracting video track number 2...
v03 Extracting video track number 3...
v03 Creating file "\\.\pipe\bluray22250\right.h264"...
v02 Creating file "\\.\pipe\bluray22250\left.h264"...
max_dec_frame_buffering larger than MaxDpbSize
Error writing to pipe! | 0x0000006d: Le canal de communication a été fermé.
Error writing to pipe! | 0x0000006d: Le canal de communication a été fermé.
Writing the destination file faile
v03 Writing the destination file failed.
Aborted at file position 15728640
Aborted at file position 7340032.
jj666
6th October 2012, 12:21
Hello there,
Using version 0.9 (latest download available today), I have the following error when starting:-
invalid bareword "core"
in expression "(core - 5";
should be "$core" or "{core}" or "core(...)" or ...
invalid bareword "core"
in expression "(core - 5";
should be "$core" or "{core}" or "core(...)" or ...
(parsing expression "(core - 5")
invoked from within
"expr $laststreamnum - $nstreamsinmpls"
(procedure "GenerateAvs" line 155)
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)
V0.6 was working fine with same settings (create 1080p HalfSBS with HD audio intact).
Cheers,
-jj-
r0lZ
6th October 2012, 12:56
Hum, not easy to debug without the BD.
I suppose you process a M2TS file, right? Can you try to change the method (in the first tab) and process the MPLS file instead?
By default, the last versions selects the M2TS (and, internally, it uses also the corresponding SSIF), unless there are several files referenced by the MPLS, because there are often problems with the subtitle streams when they are demuxed from the MPLS. But demuxing the M2TS causes other problems, notably because the stream numbers are different. The bug you have encountered seems related to the computation of the stream number offset of the audio track (when the status bar displays "Checking streams of M2TS file..."). By selecting the MPLS, the check for the stream number offset is not necessary and bypassed, so the bug should not happen.
Can you also open a command prompt and type this command?:
<path_to_toolset>\eac3to.exe X:\BDMV\STREAM\NNNNN.m2ts
(Where X: is your BD drive and NNNNN the number of the m2ts file to process.)
Then, post the output of that command here. (It seems that there is something special in the output, and BD3D2AVS cannot process it correctly.)
Thanks in advance.
r0lZ
6th October 2012, 13:09
Oh, perhaps I've understood the problem. Can you confirm that the LAST stream of the movie is a DTS-HD (Master Audio) track, and that, as a consequence, the last line of the eac3to output displayed in the first tab begins with "(core" instead of a stream number? If it's the case, I should be able to fix the bug without more help.
jj666
6th October 2012, 14:05
That's right:
M2TS, 2 video tracks, 2 audio tracks, 1:30:07, 24p /1.001
1: Chapters, 12 chapters
2: h264/AVC (left eye), 1080p24 /1.001 (16:9)
3: h264/AVC (right eye), 1080p24 /1.001 (16:9)
4: RAW/PCM, English, 2.0 channels, 24 bits, 48kHz
5: DTS Master Audio, English, 5.1 channels, 24 bits, 48kHz
(core: DTS, 5.1 channels, 24 bits, 768kbps, 48kHz)
Cheers,
-jj-
r0lZ
6th October 2012, 14:19
OK, so I think I've already fixed the bug. I will send you a beta to test...
jj666
7th October 2012, 09:10
Test version worked fine and encode successful, thank you very much!
Cheers,
-jj-
r0lZ
7th October 2012, 09:19
Thanks for the confirmation. :-)
[EDIT] Fix posted here (http://forum.doom9.org/showthread.php?p=1594577#post1594577).
Wolfy59
7th October 2012, 10:30
Hi I m not a 3D encoding expert But find a way to encode John Carter In bd 25 3D and top bottom with Megui.
This is my Way
1 -extract all the streams with bd reauthor pro 2.25
2 -reauthor a bd 3d structure without layout and unencrypted setting
3 -Use mvc to avi with the new ssif to create left and right Eye
4 -create the avs script or use cinevision to create the file(s)
here the link with the script in Megui
http://imageshack.us/photo/my-images/201/johncarter.jpg
bd 25 3d disc works fine in my lg player
sorry for my bad english
Penecho
7th October 2012, 10:56
Anyone got a solution to this error?
max_dec_frame_buffering larger than MaxDpbSize
Someone also had it couple pages back... I'm getting this with Piranha 3DD...
r0lZ
7th October 2012, 11:13
# v0.10 (October 6, 2012)
# - Bug when processing a M2TS file with a HD audio track in the last position in the streams list.
It fixes the bug reported by jj666 here (http://forum.doom9.org/showthread.php?p=1594418#post1594418).
Nothing else has changed since v0.9.
Download BD3D2AVS.7z (http://download.videohelp.com/r0lZ/BD3D2AVS/BD3D2AVS.7z)
Penecho
7th October 2012, 12:19
And when using BD3D2AVS i get:
M2TS, 2 video tracks, 3 audio tracks, 2 subtitle tracks, 1:22:38, 24p /1.001M2TS
, 2 video tracks, 3 audio tracks, 2 subtitle tracks, 1:22:38, 24p /1.001
1:1: h264/AVC (left eye), 1080p24 /1.001 (16:9)
h264/AVC (left eye), 1080p24 /1.001 (16:9)
2:2: h264/AVC (right eye), 1080p24 /1.001 (16:9)
h264/AVC (right eye), 1080p24 /1.001 (16:9)
3:3: DTS Master Audio, 7.1 (strange setup) channels, 16 bits, 48kHz
DTS Master Audio, 7.1 (strange setup) channels, 16 bits, 48kHz
(core: DTS-ES, 5.1 channels, 16 bits, 1509kbps, 48kHz)
(core: DTS-ES, 5.1 channels, 16 bits, 1509kbps, 48kHz)
4:4: DTS Master Audio, 5.1 channels, 16 bits, 48kHz
DTS Master Audio, 5.1 channels, 16 bits, 48kHz
(core: DTS, 5.1 channels, 16 bits, 1509kbps, 48kHz)
(core: DTS, 5.1 channels, 16 bits, 1509kbps, 48kHz)
5 DTS, 2.0 channels, 16 bits, 255kbps, 48kHz 5:
DTS, 2.0 channels, 16 bits, 255kbps, 48kHz
6 Subtitle (PGS) 6:
Subtitle (PGS)
Subtitle (PGS) 7:
Subtitle (PGS)
v01 Extracting video track number 1...
v02 Extracting video track number 2...
v02 Creating file "\\.\pipe\bluray23257\right.h264"...
v01 Creating file "\\.\pipe\bluray23257\left.h264"...
Completed Decoding frame 00000.
Error writing to pipe! | 0x0000006d: Die Pipe wurde beendet.
Error writing to pipe! | 0x0000006d: Die Pipe wurde beendet.
v01
v02
and 00034_m2ts_x264.log tells me: max_dec_frame_buffering larger than MaxDpbSize
Penecho
7th October 2012, 13:38
btw, i see we still use JM 17.2, did anyone try and compile the 18.4 version or what is the reason we are not using this one?
http://iphome.hhi.de/suehring/tml/download/
direct linkt o 18.4: http://iphome.hhi.de/suehring/tml/download/jm18.4.zip
here is the changelog:
Changes in Version JM 18.4 (since JM 18.3)
------------------------------------------
- turn HM like configuration option off by default
- fixed for high bit depth and lossless
Changes in Version JM 18.3 (since JM 18.2)
------------------------------------------
- encoder: allow coding with the same GOP/reference picture settings like HM5 (BiL)
- add HM-like example configurations (BiL)
Changes in Version JM 18.2 (since JM 18.1)
------------------------------------------
- encoder: fix MVC interlace encoder/decoder mismatch (AT/YHe/PeP)
- encoder: reference picture list performance fixes (AT/YHe)
- decoder: fix deblocking filter strength for SP frames (KS/AT)
Changes in Version JM 18.1 (since JM 18.0)
------------------------------------------
- encoder/decoder: Direct Mode updates (YHe/KS)
- encoder/decoder: MVC (Stereo High Profile) Interlace Bug fixes (PeP/YHe)
- encoder: Coding structure updates and bug fixes (AL/AT)
- encoder: On the Fly Interpolation for ME/MC (JlT/AL/AT)
- encoder/decoder: Architecture and various software cleanups and naming conventions (KS/AT)
- encoder/decoder: DPB code updates (AT/PeP)
- decoder: Predictive High 444 bug fixes (KS/AT/JjC/JGG)
Changes in Version JM 18.0 (since JM 17.2)
------------------------------------------
- MVC decoded picture buffer separation (YHe/AT)
- move MVC parameters into a separate config file (KS)
- add MS Visual Studio 2010 work spaces (AT/KS)
- bug fixes (see bug tracker)
Changes in Version JM 17.2 (since JM 17.1)
------------------------------------------
- encoder: fix memory leak for picture based RD-decision (YY)
- rtpdump: fix build in old workspaces (KS)
frencher
7th October 2012, 14:13
btw, i see we still use JM 17.2, did anyone try and compile the 18.4 version or what is the reason we are not using this one ?
Should add the delta function in JM 18.4 (for support of right eye)
frencher
7th October 2012, 21:25
This is SO annoying. Basically, there is no acceptable way to back up Men in Black 3.
DVDFab conversions are low-quality, and even if I wanted to make them lossless to later re-encode with x264, it's limited to 30mbit/sec, which is by far too low.
IMToo Blu-ray 3D Ripper isn't bitrate limited, but it applies some sort of weird filter to the video (or it's just a very bad encoder) so that even at 80mbit/sec, picture quality is less than ideal.
Lastly, we have ldecod/ssifsource/h264stereosource which just can't decode it and doesn't look like there'll ever be a new version.
Then we have Stereoscopic Player which does include a wonderful directshowsource MVC decoder by CoreCodec (CoreMVC) but has the DLL of the filter unregisterable (regsvr32 fails) even though Stereoscopic Player uses it in a directshow graph.
There is just no way out ;(
MVC to AVI Converter use fast decoding (http://www.3dtv.at/Products/MvcConverter/Index_en.aspx)
Neisklar
7th October 2012, 22:53
Then we have Stereoscopic Player which does include a wonderful directshowsource MVC decoder by CoreCodec (CoreMVC) but has the DLL of the filter unregisterable (regsvr32 fails) even though Stereoscopic Player uses it in a directshow graph.
I coded an Avisynth Plugin, based on the DirectShowSource Plugin, which loads this decoder dll by code, builds the graph by code, and works most of the time. So a normal "works fine for me" thing. I will post it in one or two days including source, just need to write a clean ReadMe, and finish another project.
In the meantime you should grab the the MVCToAVI install-package Version 0.3.3 and the StereoPlayer 1.8.1 (not the 1.9.x one!) and keep them in a save place, because i'm sure when i release the plugin, that downloads will be removed, and replaced by ones which aren't usable for that plugin anymore. (They tried in more then one way to block external access to that decoder).
btw, i see we still use JM 17.2, did anyone try and compile the 18.4 version or what is the reason we are not using this one?
Unless im completly mistaken the JM is only the reference software for "normal" AVC decoding, the reference software for MVC is a different one, and was somehow combined with JM by alexpk.
The MVC Decoder implementation is called JMVC and is currently at version 8.5. Should be found here: http://www.itu.int/rec/T-REC-H.264.2-201201-I/en
I got it to compile without problems, but not really working. So maybe someone will give it a try.
samfednik
8th October 2012, 06:40
I coded an Avisynth Plugin, based on the DirectShowSource Plugin, which loads this decoder dll by code, builds the graph by code, and works most of the time. So a normal "works fine for me" thing. I will post it in one or two days including source, just need to write a clean ReadMe, and finish another project.
In the meantime you should grab the the MVCToAVI install-package Version 0.3.3 and the StereoPlayer 1.8.1 (not the 1.9.x one!) and keep them in a save place, because i'm sure when i release the plugin, that downloads will be removed, and replaced by ones which aren't usable for that plugin anymore. (They tried in more then one way to block external access to that decoder).
Wow! Good news. Have to wait for release of the plug-in with instructions. Respect!
P.S.: this is the Google Translator. I myself am from Russia.
r0lZ
8th October 2012, 09:43
Yeah, good news indeed. I can already tell you that the filter works very well, although it has some problems. Anyway, thanks, Neisklar!
And if you're interested, you can download the Aiseesoft Blu-ray Ripper Standard for free TODAY here (http://www.giveawayoftheday.com/aiseesoft-blu-ray-rip/). It can convert 3D BDs to SBS, Top/Bottom or anaglyph. I haven't tested it yet. Perhaps it has also some dlls that can be hacked! ;-)
[EDIT] Oops, sorry! The Standard edition cannot convert 3D BD to SBS/TB. It can only do 3D conversion of 2D material. Pity!
PurpleMan
8th October 2012, 09:51
I coded an Avisynth Plugin, based on the DirectShowSource Plugin, which loads this decoder dll by code, builds the graph by code, and works most of the time. So a normal "works fine for me" thing. I will post it in one or two days including source, just need to write a clean ReadMe, and finish another project.
Outstanding work!
If you actually get that to work, we'll have an excellent high-quality and extremely fast MVC decoder that can be used with AVISynth.
Can't wait!
frencher
8th October 2012, 12:18
This is good news :D
When this plugin is available ?
Neisklar
8th October 2012, 13:37
This is good news :D
When this plugin is available ?
Now;-)
http://www.share-online.biz/download.php?id=XG3QQKBMDM3
Here some parts from the included Readme:
DirectShowMVCSource Beta6
This is an Avisynth Plugin based on the 2.5.8 DirectShowFilter sourcecode,
which provides MVC (aka 3D Bluray/ssif) decoding through an DirectShow Graph
using CoreAVCDecoder.dll and MPEGSplitter.dll provided by MVCToAVI
(http://www.3dtv.at/Products/MvcConverter/Index_de.aspx) and optionally the
StereoTransformFilter (stf.dll) provided by Stereoscopic Player
(http://www.3dtv.at/Products/Player/Index_en.aspx) up to Version 1.8.1
###########################################################################
So the big work was done by the CoreCodec team and Peter Wimmer, so a big
thanks to them. Although it works with the unregistered versions, please be
so kind and support that work, by byeing at least a licence for the MVCToAVI
tool.
###########################################################################
Please note: it is only testet with the dlls from MVCToAVI Version 0.3.3
and onyl fro stf.dll 1.8.1. The stf.dll from the Stereoscopic Player 1.9.1
will NOT work.
Important: Except for the MPEGSplitter.dll which is under GPL, all other dlls
are copyrighted, so NEVER ask me to provide them to you. You have to get them
yourself. I'm sure the downloads with dlls working with this plugin will be
removed soon, so grab them now.
Additionally i want to make it clear that there is NO hacking/patching
(neither on disk nor in memory) of that dlls happening from this plugin,
it just uses them as they are, it only works around some "security", or
in better words, usage restrictions.
(for details see below after installation/usage)
I'm a Delphi, not a C(++) coder, so consider this as an hack to the original
DirectShowsource sourcecode with possible bugs, maybe memoryleaks (esp for the
interface retain/release stuff in the DirectShow COM world).
It's a classical "works-fine-for-me" thing.
There is a little bit error checking inside, but don't trust on that, so
if you use it the wrong way it may crash
Hopefully someone will improve the code, maybe even code SBS, OU, Anaglyph
functionality directly inside that plugin so that we don't need the stf.dll
anymore.
Quick Installation:
1) Create a Directory named "MVCTOAVI.EXE"
2) Put/Install there your encoding/working software
3) Take the MPEGSplitter.dll and CoreAVCDecoder.dll from the MVCToAVI
install-package and put them in the same directory as the
DirectShowMVCSource.dll Avisynth-plugin will be.
4) additionally for SBS, OU, anaglyph support take the stf.dll from the
StereoscopicPlayer install-package (max version 1.8.1 NOT the 1.9.x one)
and also put it aside the plugin dll
(If you use the CoreAVCDecoder.dll from the StereoscopicPlayer install-package
the directory you need to create is "STEREOPLAYER.EXE". It SHOULD work, but
it's not testet)
Just to be clear:
the external dlls need to be in the same directory as the DirectShowMVCSource.dll
plugin, and can be anywhere at your harddisk.
The executables MUST have (somewhere) in their path that magic string (it should
be caseINsesitive)
Usage:
# example AVS Script resulting in Half-OU, utilizing the stf.dll
LoadPlugin("DirectShowMVCSource.dll")
video = DirectShowMVCSource("X:\BDMV\STREAM\SSIF\xxxxx.ssif", stf=16) # Full OU, left eye top
AssumeFPS(video, 24000, 1001) #plugin is already relativly good at framerate detecttion, but
#sometimes slightly off
return video.BlackmanResize(1920, 1080)
#------------------------------------------------------------
Some more examples:
* Decodes the right eye full sized, doesn't need the stf.dll at all
video = DirectShowMVCSource("X:\BDMV\STREAM\SSIF\xxxxx.ssif")
* Decodes the left eye full sized, doesn't need the stf.dll at all
video = DirectShowMVCSource("X:\BDMV\STREAM\SSIF\xxxxx.ssif", decodeleft=true)
* Decodes both eyes and combines them with the stf.dll, here as Full SBS
video = DirectShowMVCSource("X:\BDMV\STREAM\SSIF\xxxxx.ssif", stf=14)
Some of the Values you can use for the stf-param:
14 - Full SBS, left eye left
16 - Full OU, left eye top
27 - Grey Anaglyph red-cyan
39 - Color Analglyph red-cyan
and more, just have a look at the bottom of the MVCStuff.h file from the source
For SBS/OU you always get Full version, so resize them in the avs script.
As it is based on the original DirectShowSource it supports many of that
parameters (http://avisynth.org/mediawiki/DirectShowSource):
fps, seek, convertfps, seekzero, timeout, pixel_type, framecount, logfile, logmask
Except the logging nothing is really testet, and i'm sure there are problems with
seeking, so try it for yourself.
If somthing not working you can enable logging with
logfile="somelogfilename.txt", logmask=-1. But don't use that during an normal
encode, since that logfile will grow huge, and the really interesting part is
only at the beginning.
Known Problems:
* too few errorcheks inside
* delphi coder, tried to code c++
* in rare circumstances the graph refuses to start
* and many more
Details on the CoreAVCDecoder.dll:
---snip---see ReadMe---snip
Im' pretty sure after releasing this information the security of that dll will change, so grab
them now as i won't provide them, since i do now own any rights on them.
And i hope they will be not so pissed because of that plugin.
############################################################################################
A big thank you to r0lZ, which tested code from an him unknown person on his computer,
and did a great help to find and fix some of the most show stopping bugs.
To decode an seamless branching movie just do something like this (out of head, so untestet):
LoadPlugin("DirectShowMVCSource.dll")
part1= DirectShowMVCSource("X:\BDMV\STREAM\SSIF\xxxxx.ssif", stf=16)
part2=DirectShowMVCSource("X:\BDMV\STREAM\SSIF\xxxxx.ssif", stf=16)
AssumeFPS(part1, 24000, 1001)
AssumeFPS(part2, 24000, 1001)
return (part1+part2).BlackmanResize(1920, 1080)
Have fun, and happy encoding.
Penecho
8th October 2012, 16:10
its running :D
your THE MAN (or woman) Neisklar :)
my script for half side-by-side:
LoadPlugin("DirectShowMVCSource.dll")
video = DirectShowMVCSource("X:\Temp\movie\BDMV\STREAM\SSIF\00034.ssif", stf=14)
AssumeFPS(video, 24000, 1001)
return video.Lanczos4Resize(1920, 1080)
only weird thing is, the framerate x264 shows me now is: 10000000/417083
I mean its 23,976043137696813344106568716538 alright, but looks weird :P
I report back when encode is done :)
samfednik
8th October 2012, 17:11
Neisklar
http://i25.fastpic.ru/big/2012/1008/c9/9f3351dd5efc81473ab46d454d6685c9.jpg
It works, but there is a question, why cannot use the for example Trim(500,1000) to encode a particular piece of video? And programs such as VirtualDub can not open the script.
P.S.: this is the Google Translator. I myself am from Russia.
Neisklar
8th October 2012, 17:54
It works, but there is a question, why cannot use the for example Trim(500,1000) to encode a particular piece of video? And programs such as VirtualDub can not open the script.
That plugin still has issues with seeking, as i provided the source, hopefully there is someone to fix it. I think Trim(500, ... requires to seek to frame 500, since Trim(0,-100) for example is working.
VirtualDubMod can open that file, if not, what is the error message?
Is it about NV12 Colorspace? then Try the pixel_type param in the Script or other Colorspace Conversions. If not, please provide a log file from the opening try (See Readme)
Please post logfiles and such stuff to sites like http://pastebin.com/
r0lZ
8th October 2012, 18:40
only weird thing is, the framerate x264 shows me now is: 10000000/417083
I've noticed the same thing when you don't force the framerate with AssumeFPS(). Note that the standard DirectShowSource has exactly the same problem.
What I don't understand is that in your script, the AssumeFPS command is present. It should therefore overwrite the wrong frame rate reported by the filter. Try with Info(), and see if the frame rate is correct.
r0lZ
8th October 2012, 18:42
And programs such as VirtualDub can not open the script.Don't forget that the app that opens your script MUST be in the "magic path". Read the doc, and try to move VDub where it will have a chance to work!
The Trim() problem (and the impossibility to seek to a specific time with a player, AvsPmod or VDub) is a known bug.
samfednik
8th October 2012, 19:52
Neisklar
Sorry, but took the dll from mvctoavi, Trim(...) working, and this is really cool! Different versions of the decoders (in stereoscopic ver.2.1.0.1, and mvctoavi - ver.2.5.1.0) work differently!
Use the following script:
SetMemoryMax(512)
LoadPlugin("DirectShowMVCSource.dll")
OU1 = 16 #OVERUNDER1 left top
OU2 = 15 #OVERUNDER2 right top
SBS1 = 14 #SIDEBYSIDE1 left first
SBS2 = 13 #SIDEBYSIDE2 right first
DirectShowMVCSource("p:\BDMV\STREAM\SSIF\00042.ssif", STF = OU1).Trim(5600,6100)
AssumeFPS(24000, 1001)
Lanczos4Resize(1920,1080) #Half Size
#ConvertToYV12 #For Anaglyph 3D coding x264
With x264 works:
http://i26.fastpic.ru/big/2012/1008/5b/1de03883600744a1e724d5d3c3ae945b.jpg
and how to open a Dub, do not understand? Can you explain with an example?
Added Logs:
http://pastebin.com/aRYkRz0J
http://pastebin.com/rKFgCuaW
Penecho
8th October 2012, 20:39
SBS1 = 13 #SIDEBYSIDE1 left first
SBS2 = 14 #SIDEBYSIDE2 right first
Hmm, the read me from Neisklar says 14 is left eye first...:
Some of the Values you can use for the stf-param:
14 - Full SBS, left eye left
Whats correct? and does it matter what eye is on which side whan watching it on a TV!?
Neisklar
8th October 2012, 20:55
and how to open a Dub, do not understand? Can you explain with an example?
Added Logs:
http://pastebin.com/aRYkRz0J
http://pastebin.com/rKFgCuaW
I don't understand what you mean with "open a Dub".
Both of your logs shows that there was some problem adding the CoreAVCDecoder.dll DirectShowFilter to the graph. I'm pretty sure thats because the calling application(*) was not in the magic path. I did forget to log the location from the calling application. So it's just a guess.
(*) Calling Application is that Applicatiopn which opens the .avs file, cause all .dll are loaded in that Applications context.
Whats correct? and does it matter what eye is on which side whan watching it on a TV!?
My tests showed 14 is left eye left (on stf.dll 1.8.1), and working on my TV. On my TV, if the pictures are interchanged, the deep is inverted, and thats something you definatly not want.
samfednik
8th October 2012, 21:48
I don't understand what you mean with "open a Dub".
This is = opens 3D.avs script in VirtualDub program...
I created a file path:
l: \ _3D \ MVCTOAVI.EXE \
just copy the virtualdub.exe and it worked.
http://i26.fastpic.ru/big/2012/1009/f1/3b380c0b3f17f7a1439ce67770a158f1.jpg
it is important that, you only need to run this copy in a folder virtualdub.exe!
Thanks for the cool hack MVCDecoder!
r0lZ
8th October 2012, 22:04
Whats correct? and does it matter what eye is on which side whan watching it on a TV!?
14 and 16 are left first.
And yes, the side matters. Currently, most TVs use by default left first, and it's becoming the standard. So, please do not use the 13 and 15 modes. It's a pain to have to go to the settings of the TV to swap the views!
(BTW, the picture just above this post seems inverted. It has the right eye on top.)
PurpleMan
8th October 2012, 22:17
Simply outstanding work! It works perfectly on the impossible MIB3 disc.
Running through x264 as we speak. Will let you know once the encoding is finished.
frencher
9th October 2012, 02:41
Above all we can say that Neisklar to hit god, very nice work :goodpost:
Before with ldecod and ultrafast preset, I reach the 5 fps x64 version
I wanted to test x264x86 SBS and ultrafast preset, I reach the 84 fps
I imagine a version compiled for x264x64 DirectShowMVCSourcex64.dll @ + 100 fps :D
Tested with i7 3930k not OC
Same work ;) AssumeFPS(23.976)
r0lZ
9th October 2012, 07:13
Unfortunately, it is not possible to make an x64 version of the decoder, because it uses x32 DLLs.
23.976 is NOT the correct frame rate for NTSC film. It must be 24000/1001 (23.976023976023976...), or, in avisynth, "ntsc_film".
Neisklar
9th October 2012, 11:03
Unfortunately, it is not possible to make an x64 version of the decoder, because it uses x32 DLLs.
What you can however do, is use (32bit) tools like 'avs2yuv' to pipe it to an 64bit x264.
r0lZ
9th October 2012, 11:05
That's right. But the decoding part will still run in 32bit mode.
Penecho
9th October 2012, 11:45
Do i need to do something speical with the Subtitles or can i just use bdsup2sub++ as usual...
Or are there problems when creating 3D half side-by-side video and put the subs from bdsup2sub++ in?
r0lZ
9th October 2012, 12:06
It depends of what you need. BD3D2AVS simply converts the SUP to IDX/SUB (and optionally extract only the forced subs) with BDSup2Sub++, and mux the IDX/SUP file with MkvMerge.
But my Samsung TV doesn't recognise the IDX/SUB format (and furthermore, it displays the SRT subtitles without any 3D depth, and it's a nightmare to read them), so usually, I prefer to hardcode the subtitles. That's a bit more difficult to do manually, as you have to modify the AVS script. If you want to hardcode the subs, I suggest to use BD3D2AVS to generate the script, then modify it to use the DirectShowMVCSource filter instead of ssifSource, and encode it with your version of x264.exe in the "magic path".
Also, many players or TVs need 3D subtitles (with two times the same bitmap, one for each view). If it's the case of your TV, you have to convert them. Currently, BD3D2AVS doesn't support that option, as there are no program to convert 2D subtitles in bitmap format to 3D, but that may change soon.
Anyway, try to simply convert the subs to IDX/SUB and mux them. Verify if your player or TV can show them, and if it's the case, you're lucky. :-)
I am currently writing a new version of BD3D2AVS that will use DirectShowMVCSource, but don't expect it soon. I have many modifications to do...
frencher
9th October 2012, 12:39
What you can however do, is use (32bit) tools like 'avs2yuv' to pipe it to an 64bit x264.
Have you example ?
23.976 is NOT the correct frame rate for NTSC film. It must be 24000/1001 (23.976023976023976...), or, in avisynth, "ntsc_film".
AssumeFPS(23.976)
avs [info]: 1920x1080p 1:1 @ 2997/125 fps (cfr) result is 2997 / 125 = 23.976 fps
AssumeFPS(29.97)
avs [info]: 1920x1080p 1:1 @ 2997/100 fps (cfr) result is 2997 / 100 = 29.97 fps
For fun
AssumeFPS(24.976)
avs [info]: 1920x1080p 1:1 @ 3122/125 fps (cfr) result is 3122 / 125 = 24.976 fps
Neisklar
9th October 2012, 12:46
That's right. But the decoding part will still run in 32bit mode.
But finally the decoding part isn't anymore the bottleneck;-)
Do i need to do something speical with the Subtitles or can i just use bdsup2sub++ as usual...
Or are there problems when creating 3D half side-by-side video and put the subs from bdsup2sub++ in?
This will be going to get longer, so please excuse;-)
You really need to test what your system can display, and it is also most important how you play it:
External Player:
If i play for example an TB or SBS Video from my WDTV Live, then my TV set doesn't know anything about subtitles, and subtitle rendering, thats all the job of the WDTV. Furthermore the WDTV itself doesn't even know that it's displaying 3D content/TB/SBS. So the TV sets gets only a video with the subtittles "burned in". For that the subtitles must be duplicated one for the left and one time for the right eye (with maybe some deep offset).
Since the WDTV doesn't even know its' displaying 3D stuff, .srt subtitles won't work at all (unless someday in the future there is an firmewareupdate which lets the user chose to display them 3D style).
The other subtitles are the image based ones like .sup (BD) or .sub/idx (VobSub). The Player could duplicate and scale that image accordingly or - and thats what i think will be the only good working way to do it - have the subtitle images be already 3D subtitles. So playing 3D stuff works an all external players regardless of 3D support or not!
Internal Player of TV set:
My TV set for example can display .srt subtitles and sub/idx Subtitles, BD .sup ones not at all.
Having an TB 3D Video and displaying it NOT in 3D mode, .srt subtitles are shown, switching to 3D mode, .srt subtitles aren't shown at all. Maybe there will be an firmware update someday in the future.
And i have forgotten my testing results of .sub/idx image based subtitles in 3D mode. I will edit my post later if i did it again.
I have written an quick'n'dirty commandline tool which will convert .sup and .sub subtitles to 3D subtitles in either .sup or .sub format with settable deep, utilizing bdsup2sub++.exe
You can download it here (current Version V0.5): http://www.share-online.biz/download.php?id=VYU90QCMHK0
Please be warned that it may crash, the result may not be as expected. For example i had one movie where the alpha was not correctly handled, so i got a big black bar on screen. Also the 3D subtitle file sare much larger.
To make things easy, put the bdsup2sub++.exe in the same dir as the tool and run it for example (default to OverUnder mode)
Suppe3D.exe -d 15 -if originalsubtitle.sup -of 3dsubtitle.sup
for SBS do:
Suppe3D.exe -sbs -d 15 -if originalsubtitle.sup -of 3dsubtitle.sup
Just run it without arguments to get a quick'n'dirty help
The -d param sets the deep, negative values are behind the screen. Don't set them to big, also it depends on the movie. I have for example one, where you even don't need deep at all, they are already placed out of the way of 'sticking out' objects.
This little tool won't be finished, please consider it only as a temporary solution till SassBot has the time to code that functionality inside the bdsup2sub++.exe
Edit2:
Have you example ?
Take for example the commandline MeGui creates
"X:\Rip\MVCTOAVI.EXE\MeGui2153\tools\x264\avs4x264mod.exe" --level 4.1 --tune film --crf 20.0 --keyint 240 --sar 1:1 --output "O:\3DMovie.mkv" "O:\SourceScript.avs"
This little helper calls the x264 and ppasses through all arguments.
Or with an "normal" avs2yuv one
avs2yuv <input avs> -o - | x264_x64.exe [opts] -o <out_file> - --demuxer y4m
r0lZ
9th October 2012, 13:14
AssumeFPS(23.976)
avs [info]: 1920x1080p 1:1 @ 2997/125 fps (cfr) result is 2997 / 125 = 23.976 fps
AssumeFPS(29.97)
avs [info]: 1920x1080p 1:1 @ 2997/100 fps (cfr) result is 2997 / 100 = 29.97 fps
I don't understand what you mean. I know that if you force 23.976 fps (or 29.97), Avisynth will do it.
The problem is that 23.976 and 29.97 are frames rates that DO NOT EXIST officially. The NTSC standard imposes a frame rate of 30000/1001, that is exactly 29.9700299700299700299700299700... ad infinitum. (It's why it is impossible to specify exactly the NTSC frame rate with a single floating point number.) 29.97 is therefore only a more or less good approximation, but if you mux a movie encoded at 29.97 with the original audio stream, you will have a slight AV sync problem at the end of the movie. You should therefore NEVER use 29.97. Instead, use 30000/1001 (or, in avisynth, "ntsc_video").
The problem with 23.976 is exactly the same. You MUST use 24000/1001, or "ntsc_film". (BTW, it's a pity that the HD video spec has validated that stupid NTSC film frame rate, as well as all problems associated with that impossible rate, such as the "drop frames" problem. IMO, it should have imposed the real film rate of 24 fps. The modern hardware must be able to show the video at 24 fps anyway, so I don't understand why the NTSC frame rate still exist, at least for film material.)
To make thing worse, the Info() command of avisynth displays always the rounded floating point frame rate, even when it is not exact. Do not trust it!
Of course, a video badly encoded may use the rounded frame rate of 23.976 or 29.76, and you may have to use that frame rate if you re-encode it. But you will never find that frame rates in BDs or professional video material. I repeat: they do not exist!
frencher
9th October 2012, 14:17
Ok Thank to all ;)
Neisklar
9th October 2012, 14:52
I'v updated the little 3D subtitle creation tool, to fix an alpha-background issue i had
you can get it here:
http://www.share-online.biz/download.php?id=C6W0PMBM8A
Neisklar
9th October 2012, 14:53
I have updated my little 3d subtitle creation tool to fix an issue with alpha channels
You can download it here:
http://www.share-online.biz/download.php?id=C6W0PMBM8A
Penecho
10th October 2012, 07:22
If i need to crop, can i just do
video = DirectShowMVCSource("blabla\00034.ssif", stf=14).crop( 0, 140, 0, -140)
and then resize to 1920x800 (in my example)
or do i need i to do it some special way?
r0lZ
10th October 2012, 07:50
You need to separate the two views, crop them, and recombine them in SBS or Top/Bottom.
BTW, it is not recommended at all to crop 3D material. Most TVs require full 16:9 images to display them correctly, so if you crop them, they will not be supported (or at least not correctly shown) by your TV. And if your current TV doesn't have that limitation, or if you watch your 3D movies on your PC, take in mind that someday you will buy a new TV.
samfednik
10th October 2012, 10:07
All for interesting! If you have a CoreAVC codec (not 3D, but a simple 2D), its settings "Brightness", "Contrast" and "Saturation" will affect MVCdecoder!
This is settings AVCdecoder ver.3.0.1:
http://i26.fastpic.ru/big/2012/1010/ff/493feef944d45ac05098b4fa07c369ff.jpg
Neisklar
Building on this finding, I ask you something. If the settings affect Picture level properties, it may have some hidden settings in the plugin to manage them?
And yet, is it possible to control the properties MVCdecoder the page "Options" settings are particularly interested options "Deinterlacing" for 3D-videocamera movie (http://dl.dropbox.com/u/28877157/00004.MTS) and "Cuda" option for Nvidia cards.
This is settings MVCdecoder ver.2.5.1.0:
http://i26.fastpic.ru/big/2012/1010/bf/6bdee717ecaddd08c4a77eee3874c5bf.jpg
And it would be cool if the tray icon appeared properties decoder if it really do?
frencher
10th October 2012, 13:00
All for interesting! If you have a CoreAVC codec (not 3D, but a simple 2D), its settings "Brightness", "Contrast" and "Saturation" will affect MVCdecoder!
This is settings AVCdecoder ver.3.0.1:
http://i26.fastpic.ru/big/2012/1010/ff/493feef944d45ac05098b4fa07c369ff.jpg
Neisklar
Building on this finding, I ask you something. If the settings affect Picture level properties, it may have some hidden settings in the plugin to manage them?
And yet, is it possible to control the properties MVCdecoder the page "Options" settings are particularly interested options "Deinterlacing" for 3D-videocamera movie (http://dl.dropbox.com/u/28877157/00004.MTS) and "Cuda" option for Nvidia cards.
This is settings MVCdecoder ver.2.5.1.0:
http://i26.fastpic.ru/big/2012/1010/bf/6bdee717ecaddd08c4a77eee3874c5bf.jpg
And it would be cool if the tray icon appeared properties decoder if it really do?
Just add some dll(s) and update DirectShowMVCSource not ?
CUDA Yeah :goodpost:
Neisklar
10th October 2012, 16:33
Unless im not mistaken there is no CUDA Support for MVC decoding, only for normal AVC decoding.
I could let the plugin display the decoder icon in the systray, but afaik thats not a normal CoreAVCDecoder. But i can set some options by code, but i'm not sure if i implement them all. But the plugins code is open source and some of the settings can be looked up in code, so feel free to adjust it to your needs;-)
I'm also the meaning that the plugin should be decode and provide the raw frames to avisynth, and then let do avisyth do filtering and co.
Penecho
12th October 2012, 13:46
You need to separate the two views, crop them, and recombine them in SBS or Top/Bottom.
Would that even be possible when using DirectShowMVCSource and the ssif file?
r0lZ
12th October 2012, 14:16
Yes, why not?
You can even decode the two views separately so that you don't need to crop the original video:
left=DirectShowMVCSource("filename.ssif", decodeleft=true).Crop(your crop params)
right=DirectShowMVCSource("filename.ssif").Crop(your crop params)
last=StackHorizontal(left, right)
BicubicResize(width, height)
AssumeFPS("ntsc_film")
Of course, you must modify the parameters in red to suit your needs.
The method above works only for SBS and Top/Bottom modes. If you want to encode in anaglyph, it's even more simple, as there is only one view, and no Resize:
# Optimized anaglyph red-cyan (stf=45)
DirectShowMVCSource("filename.ssif", stf=45)
Crop(your crop params)
AssumeFPS("ntsc_film")
It might be more difficult to encode in a fancy 3D mode such as row or column interleaved, but IMO, the script should be (almost) identical to the anaglyph script. Just change the value of the stf parameter.
Just be sure to always crop by an even number of pixels.
Penecho
12th October 2012, 14:22
left=DirectShowMVCSource("filename.ssif", decodeleft=true).Crop(your crop params)
right=DirectShowMVCSource("filename.ssif").Crop(your crop params)
last=StackHorizontal(left, right)
BicubicResize(width, height)
AssumeFPS("ntsc_film")
isnt that missing the stf = 14 at some point? or on the right= a decoderight=true or something?
edit: ah never mind just looked at the readme :x
* Decodes the right eye full sized, doesn't need the stf.dll at all
video = DirectShowMVCSource("X:\BDMV\STREAM\SSIF\xxxxx.ssif")
* Decodes the left eye full sized, doesn't need the stf.dll at all
video = DirectShowMVCSource("X:\BDMV\STREAM\SSIF\xxxxx.ssif", decodeleft=true)
r0lZ
12th October 2012, 14:33
No. You need the two views in different clips, not already stacked in a single view. The Stack and Resize commands combine them to Half-SBS (in my example).
Of course, if you encode in SBS format and you crop only the black horizontal bars of a Cinemascope movie, you can also use stf=14, and do the crop on the combined view. That should be a little bit more rapid:
DirectShowMVCSource("filename.ssif", stf=14).Crop(0, y1, 0, -y2)
BicubicResize(1920, height)
When the stf parameter is not specified (or is -1), the stf.dll is not used at all. (The decoding might be a little bit more rapid, but I'm not sure.) The parameter decodeleft=true is sufficient to get the left view, and decodeleft=false (the default) decodes the right view. The parameters decodeleft and stf are mutually exclusive, so don't try to specify them at the same time!
BTW, here are the values of all sft parameters that do not require special hardware or graphic cards:
Full Side by Side, Left first 14
Full Side by Side, Right first 13
Full Top/Bottom, Left first 16
Full Top/Bottom, Right first 15
Row interleaved, Left first 18
Row interleaved, Right first 17
Column interleaved, Left first 20
Column interleaved, Right first 19
Anaglyph: Optimised, Red - Cyan 45
Anaglyph: Optimised, Cyan - Red 46
Anaglyph: Optimised, Yellow - Blue 47
Anaglyph: Optimised, Blue - Yellow 48
Anaglyph: Optimised, Green - Magenta 49
Anaglyph: Optimised, Magenta - Green 50
Anaglyph: Colour, Red - Cyan 39
Anaglyph: Colour, Cyan - Red 40
Anaglyph: Colour, Yellow - Blue 41
Anaglyph: Colour, Blue - Yellow 42
Anaglyph: Colour, Green - Magenta 43
Anaglyph: Colour, Magenta - Green 44
Anaglyph: Half-colour, Red - Cyan 33
Anaglyph: Half-colour, Cyan - Red 34
Anaglyph: Half-colour, Yellow - Blue 35
Anaglyph: Half-colour, Blue - Yellow 36
Anaglyph: Half-colour, Green - Magenta 37
Anaglyph: Half-colour, Magenta - Green 38
Anaglyph: Grey, Red - Cyan 27
Anaglyph: Grey, Cyan - Red 28
Anaglyph: Grey, Yellow - Blue 29
Anaglyph: Grey, Blue - Yellow 30
Anaglyph: Grey, Green - Magenta 31
Anaglyph: Grey, Magenta - Green 32
Anaglyph: Pure, Red - Blue 23
Anaglyph: Pure, Blue - Red 24
Anaglyph: Pure, Red - Green 25
Anaglyph: Pure, Green - Red 26
Monoscopic 2D: Left only 1 (equivalent to decodeleft=true)
Monoscopic 2D: Right only 2 (equivalent to decodeleft=false)
Monoscopic 2D: AVC Source only 0
As you can see, left=DirectShowMVCSource("filename.ssif", decodeleft=true) is equivalent to left=DirectShowMVCSource("filename.ssif", sft=1) and right=DirectShowMVCSource("filename.ssif", decodeleft=false) is equivalent to right=DirectShowMVCSource("filename.ssif", stf=2), with the difference that stf.dll is used with the second syntax.
Also, stf=0 doesn't decode the MVC stream, and returns the AVC stream, that is usually (or always?) the left stream, so normally, stf=0 is equivalent to stf=1 and to decodeleft=true, and should also be equivalent to DirectShowSource("filename.m2ts").
frencher
12th October 2012, 22:28
It's possible with this code ?
left = DirectShowMVCSource("Left.h264", stf=?)
right = DirectShowMVCSource("Right.h264", stf=?)
return StackHorizontal(left, right).BicubicResize(1920,1080).AssumeFPS(24000, 1001)
r0lZ
12th October 2012, 22:38
I don't understand why you want to do that. DirectShowMVCSource decodes the left and right views, so if you have them already in h264, you can't decode them again. Anyway, to use the stf parameter, you need to decode a SSIF file. It doesn't work with raw h264 streams, or with m2ts files. (BTW, due to limitations in the Stereo Player filters, it doesn't work either with MPLS files. Pity!)
I suppose you need something to source a h264 stream, right? IMO, the best method is to mux it to mkv, and then use DirectShowSource.
frencher
12th October 2012, 22:39
I tried but without success it is possible to have an example?:D
frencher
12th October 2012, 22:40
No right is MVC demuxed with eac3to ;)
left = DirectShowMVCSource("Left_AVC.h264", stf=?)
right = DirectShowMVCSource("Right_MVC.h264", stf=?)
return StackHorizontal(left, right).BicubicResize(1920,1080).AssumeFPS(24000, 1001)
r0lZ
12th October 2012, 22:48
DirectShowSource("filename.mkv") ;)
frencher
12th October 2012, 22:51
Left_AVC.h264
Right_MVC.h264
r0lZ
12th October 2012, 23:07
No solution!
frencher
12th October 2012, 23:08
Update of DirectShowMVCSource :thanks:
r0lZ
12th October 2012, 23:19
I'm not sure it's feasible. It uses the original DLLs for what they can do.
frencher
12th October 2012, 23:21
I thought redirection of pipe...
r0lZ
12th October 2012, 23:29
How? It needs probably the structure of a BD to work correctly.
frencher
13th October 2012, 08:49
Left_AVC.h264
Right_MVC.h264I search a software to remux a stream AVC + MVC streams into .mts or.mp4 (3D) usable with DirectShowMVCSource ?
3D camcorder use .mp4 3D and .mts 3D (SONY)
3D MTS Sample 1 (http://img1.lesnumeriques.com/produits/16/11050/00035.MTS), 3D MTS Sample 2 (http://img1.lesnumeriques.com/produits/16/11050/00023.MTS)
Eseninzhiv
13th October 2012, 15:05
perhaps
Adobe Premiere
EDIUS 6.5
without DirectShowMVCSource
r0lZ
15th October 2012, 09:58
I've noticed something strange with DirectShowMVCSource. When encoding in SBS, Top/Bottom or monoscopic format, the pixel_type is YV12, and that's correct IMO.
But when encoding in any anaglyph or interleaved format, the pixel_type is RGB32.
I suppose that the CoreAVCDecoder filter produces RGB in anaglyph and interleaved format, and that the DirectShowMVCSource plugin doesn't convert it. Not a big deal, but that's strange. Is it normal, or intentional?
Also, I have tried to add the pixel_type = "YV12" argument to the DirectShowMVCSource command (in anaglyph format), but when I do that, it complains that it cannot determine the frame rate! Without the argument, it assumes a slightly wrong frame rate, but it works. Also, even more strange, the pixel_type argument works well in SBS or T/B format.
Example:
DirectShowMVCSource("Z:\BDMV\STREAM\SSIF\00006.ssif", stf=45, pixel_type="YV12") # anaglyph
returns: DirectShowSource: I can't determine the frame rate of the video, you must use the "fps" parameter.
But this command works perfectly:
DirectShowMVCSource("Z:\BDMV\STREAM\SSIF\00006.ssif", stf=14, pixel_type="YV12") # SBS
(Checked also with "RGB32" and it works fine.)
I don't understand why the pixel_type seems related to the frame rate.
Note also that DirectShowMVCSource identifies itself in its error messages with "DirectShowSource". Small bug to fix here.
Neisklar
15th October 2012, 13:35
Sorry for answering late, but much work to do
I search a software to remux a stream AVC + MVC streams into .mts or.mp4 (3D) usable with DirectShowMVCSource ?
Without test, just a wild guess. Use tsMuxer and mux it in an .ts or .m2ts file and try that.
I want to point out again the inner workings of that plugin for those which didn't already have a look at the source.
The plugin itself doesn't do any fancy stuff, it just builds an mostly STATIC(*) DirectShow-Graph with an FileSource/Splitter Filter (the MPEGSplitter.dll), then the decoding with the CoreAVCDecoder.sll Filter optionally some stereo tranformations with the stf.dll Filter, and thats it. Mostly all is handled by external filters, which where written by other people.
(*) static means, all Filters are loaded by hand, connected by hand and so on.
So, of course it is possible to use some other FileSource Filter to get the data in the graph, it should probaly work with the simple Microsoft "File Source (Async.)"-FileSource Filter. But that means more logic inside the plugin, more possible errors (remember i am a delphi not a c++ coder), and more options for the filter to add, since i don't know how to code an autodetection.
Although DirectShow-Graphs support an autorendering feature which automagically loads the needed filters and builds the graph, this won't work in this case due to the special circumstances and inner workings of the used filters.
(Well it's possible, but thats heavy work: Let DirectShow autogenerate the graph, then walk through that graph, throwing most of the unneeded filters out, only to get the right loader filters.)
It is just better to take the code, its GPL, modify it to have two filename params, modify it to use the other FileSource Filter.
I've noticed something strange with DirectShowMVCSource. When encoding in SBS, Top/Bottom or monoscopic format, the pixel_type is YV12, and that's correct IMO.
But when encoding in any anaglyph or interleaved format, the pixel_type is RGB32.
I suppose that the CoreAVCDecoder filter produces RGB in anaglyph and interleaved format, and that the DirectShowMVCSource plugin doesn't convert it. Not a big deal, but that's strange. Is it normal, or intentional?
I have no idea;-), but that colorspace stuff is done by the stf.dll not the decoder.
Also, I have tried to add the pixel_type = "YV12" argument to the DirectShowMVCSource command (in anaglyph format), but when I do that, it complains that it cannot determine the frame rate! Without the argument, it assumes a slightly wrong frame rate, but it works. Also, even more strange, the pixel_type argument works well in SBS or T/B format.
I don't understand why the pixel_type seems related to the frame rate.
Maybe there is anything interesting in the logfiles, haven't checked that mailbox yet. Unless im not mistaken the code taken from the original DirectShowSource Filter can do some colorspace conversations. Maybe that pixel_type can also just mean that the final "frame-grabbing"-filter only accepts this colorspacel, the stf-filter can't provide it, so the Pins of the filters are not connected correctly resulting in an non working graph, which then can not provide an framerate.
Note also that DirectShowMVCSource identifies itself in its error messages with "DirectShowSource". Small bug to fix here.
I know;-) next version, we also need some better errormessages if the file is just not found.
r0lZ
15th October 2012, 14:30
I have no idea;-), but that colorspace stuff is done by the stf.dll not the decoder.
It's what I've supposed. Anyway, no big deal, but IMO it's something the users must know.
Maybe there is anything interesting in the logfiles, haven't checked that mailbox yet. Unless im not mistaken the code taken from the original DirectShowSource Filter can do some colorspace conversations. Maybe that pixel_type can also just mean that the final "frame-grabbing"-filter only accepts this colorspacel, the stf-filter can't provide it, so the Pins of the filters are not connected correctly resulting in an non working graph, which then can not provide an framerate.
Perhaps, yes. No big deal again. Luckilly, with Avisynth, it is possible to use ConvertToYV12() and AssumeFPS().
I know;-) next version, we also need some better errormessages if the file is just not found.
I know you know ;-)
Consider it as a reminder.
frencher
16th October 2012, 01:15
Without test, just a wild guess. Use tsMuxer and mux it in an .ts or .m2ts file and try that.
TsMuxer does not support MVC tracks :(
frencher
17th October 2012, 10:51
First failure of Prometheus with DirectShowMVCSource.dll @ 17.4% :( but ldecod works 100% Done :cool:
Neisklar
17th October 2012, 17:01
First failure of Prometheus with DirectShowMVCSource.dll @ 17.4% :( but ldecod works 100% Done :cool:
Can you do a logging run?
In the Avisynthscript add the logging params to the DirectShowMVCSource:
logfile=logfile.txt, logmask=-1
Then open the script in e.g. VirtualDubMod (no need to do another encode) and then hit the play button. Just don't use something like WMP. The logfile will grow REALLY huge, please be prepared. After you get the crash/error/hangup, please close VirtualDubMod, zip the logfile up, and put it somewhere, i will have a closer look.
frencher
18th October 2012, 02:23
Can you do a logging run?
In the Avisynthscript add the logging params to the DirectShowMVCSource:
logfile=logfile.txt, logmask=-1
Then open the script in e.g. VirtualDubMod (no need to do another encode) and then hit the play button. Just don't use something like WMP. The logfile will grow REALLY huge, please be prepared. After you get the crash/error/hangup, please close VirtualDubMod, zip the logfile up, and put it somewhere, i will have a closer look.
On my I7 3930k @ ~ 96 fps with x264x86 preset ultrafast crf 30 for increase speed, ~ 5 minutes for 17,4% ;)
Logfile with exit @ 17,4% => LogFile.rar (http://ul.to/w6ld3hto)
Neisklar
19th October 2012, 13:58
On my I7 3930k @ ~ 96 fps with x264x86 preset ultrafast crf 30 for increase speed, ~ 5 minutes for 17,4% ;)
Logfile with exit @ 17,4% => LogFile.rar (http://ul.to/w6ld3hto)
Thanks,
unfortunatly nothing interesting at all, there is even not the plugin cleanup stuff in it.
Could you please try it with VirtualDubMod, i know that this will sometimes print error messages. Maybe even try MWP, cause that will display avisynth error, it will even display access violations of avisynth plugins.
Edit:
Now i also got a movie where at a certain frame the directshow graph somehow stops (buts still in the state "Running"), but i can't get a reason why.
The only thing i know it must be the splitter, decoder or stf filter. Maybe i should try to do a run without the stf to eliminate one more cause.
frencher
19th October 2012, 22:31
My AVS
# = Include
LoadPlugin(".\MVCTOAVI.EXE\DirectShowMVCSource.dll")
# CoreAVCDecoder.dll
# DirectShowMVCSource.dll
# MPEGSplitter.dll
# Stf.dll
video = DirectShowMVCSource("P:\BDMV\STREAM\SSIF\00003.ssif", stf=14,logfile=".\logfile.txt", logmask=-1)
return (video).BicubicResize(1920,1080).AssumeFPS(24000, 1001)
frencher
19th October 2012, 23:32
With VirtualDubMod 1.5.10.2
An integer division by zero occurred in module 'MPEGSplitter'. (MPEG spliter v 1.5.2.3102)
VirtualDub crash report -- build 2540 (release)
--------------------------------------
Disassembly:
5e1ec0c0: 843e test [esi], bh
5e1ec0c2: 0100 add [eax], eax
5e1ec0c4: 008a4e0733c0 add [edx-3fccf8b2], cl
5e1ec0ca: 8945e8 mov [ebp-18], eax
5e1ec0cd: 8945ec mov [ebp-14], eax
5e1ec0d0: 8945f0 mov [ebp-10], eax
5e1ec0d3: 8945f4 mov [ebp-0c], eax
5e1ec0d6: 668945f8 mov [ebp-08], ax
5e1ec0da: 0fb64606 movzx eax, byte ptr [esi+06]
5e1ec0de: c0e902 shr cl, 02
5e1ec0e1: ba00200000 mov edx, 00002000
5e1ec0e6: 80e101 and cl, 01
5e1ec0e9: 668955e8 mov [ebp-18], dx
5e1ec0ed: 83e007 and eax, 07
5e1ec0f0: 0fb6d1 movzx edx, cl
5e1ec0f3: 6603148540bb23 add edx, [eax*4+5e23bb40]
5e
5e1ec0fb: 8a4605 mov al, [esi+05]
5e1ec0fe: 241f and al, 1f
5e1ec100: 668955ea mov [ebp-16], dx
5e1ec104: 3c0a cmp al, 0a
5e1ec106: 7733 ja 5e1ec13b
5e1ec108: 0fb64604 movzx eax, byte ptr [esi+04]
5e1ec10c: 0fb64e08 movzx ecx, byte ptr [esi+08]
5e1ec110: 8bd0 mov edx, eax
5e1ec112: c1e803 shr eax, 03
5e1ec115: 8b0485e0ba235e mov eax, [eax*4+5e23bae0]
5e1ec11c: 69c0e8030000 imul eax, eax, 000003e8
5e1ec122: d3f8 sar eax, cl
5e1ec124: 83e203 and edx, 03
5e1ec127: 8b3c9570bb235e mov edi, [edx*4+5e23bb70]
5e1ec12e: d3ff sar edi, cl
5e1ec130: 99 cdq
5e1ec131: 83e207 and edx, 07
5e1ec134: 03c2 add eax, edx
5e1ec136: c1f803 sar eax, 03
5e1ec139: eb15 jmp 5e1ec150
5e1ec13b: 0fb77e0e movzx edi, word ptr [esi+0e]
5e1ec13f: 0fb7460b movzx eax, word ptr [esi+0b]
5e1ec143: 0fb64e10 movzx ecx, byte ptr [esi+10]
5e1ec147: 0fafc7 imul eax, edi
5e1ec14a: 99 cdq
5e1ec14b: c1e108 shl ecx, 08
5e1ec14e: f7f9 idiv eax, ecx <-- FAULT
5e1ec150: 8945f0 mov [ebp-10], eax
5e1ec153: 69c000060000 imul eax, eax, 00000600
5e1ec159: 33d2 xor edx, edx
5e1ec15b: f7f7 div eax, edi
5e1ec15d: 807de700 cmp byte ptr [ebp-19], 00
5e1ec161: 8b15b449225e mov edx, [5e2249b4]
5e1ec167: 8913 mov [ebx], edx
5e1ec169: 897dec mov [ebp-14], edi
5e1ec16c: 668945f4 mov [ebp-0c], ax
5e1ec170: a1b849225e mov eax, [5e2249b8]
5e1ec175: 894304 mov [ebx+04], eax
5e1ec178: 8b0dbc49225e mov ecx, [5e2249bc]
5e1ec17e: 894b08 mov [ebx+08], ecx
5e1ec181: 8b15c049225e mov edx, [5e2249c0]
5e1ec187: 89530c mov [ebx+0c], edx
5e1ec18a: 7424 jz 5e1ec1b0
5e1ec18c: a1302d225e mov eax, [5e222d30]
5e1ec191: 894310 mov [ebx+10], eax
5e1ec194: 8b0d342d225e mov ecx, [5e222d34]
5e1ec19a: 894b14 mov [ebx+14], ecx
5e1ec19d: 8b15382d225e mov edx, [5e222d38]
5e1ec1a3: 895318 mov [ebx+18], edx
5e1ec1a6: a13c2d225e mov eax, [5e222d3c]
5e1ec1ab: 89431c mov [ebx+1c], eax
5e1ec1ae: eb23 jmp 5e1ec1d3
5e1ec1b0: 8b0d044b225e mov ecx, [5e224b04]
5e1ec1b6: 894b10 mov [ebx+10], ecx
5e1ec1b9: 8b15084b225e mov edx, [5e224b08]
5e1ec1bf: 89 db 89
Windows 6.1 (Windows XP build 7601) [Service Pack 1]
EAX = 002f9b80
EBX = 0a70fd74
ECX = 00000000
EDX = 00000000
EBP = 0a70fd34
DS:ESI = 002b:0a70fe68
ES:EDI = 002b:00005dc0
SS:ESP = 002b:0a70fcf8
CS:EIP = 0023:5e1ec14e
FS = 0053
GS = 002b
EFLAGS = 00010246
FPUCW = 027f
FPUTW = ffff
MM0 = 0000000000000000
MM1 = 0000000000000000
MM2 = 0000000000000000
MM3 = 0000000000000000
MM4 = 0000000000000000
MM5 = 8800000000000000
MM6 = 9900000000000000
MM7 = 8800000000000000
Crash reason: Integer Divide-by-Zero
Crash context:
An integer division by zero occurred in module 'MPEGSplitter'.
Thread traces:
Thread 00001c34 (Main thread)
C:\Dvpt\VDub_1.5.x\VirtualDubMod15\VirtualDub\source\Init.cpp(344)
C:\Dvpt\VDub_1.5.x\VirtualDubMod15\VirtualDub\source\Init.cpp(387)
C:\Dvpt\VDub_1.5.x\VirtualDubMod15\VirtualDub\source\Init.cpp(414)
C:\Dvpt\VDub_1.5.x\VirtualDubMod15\VirtualDub\source\Init.cpp(474)
C:\Dvpt\VDub_1.5.x\VirtualDubMod15\VirtualDub\source\VideoSource.cpp(655)
C:\Dvpt\VDub_1.5.x\VirtualDubMod15\VirtualDub\source\VideoSource.cpp(685)
C:\Dvpt\VDub_1.5.x\VirtualDubMod15\VirtualDub\source\VideoSource.cpp(1828)
C:\Dvpt\VDub_1.5.x\VirtualDubMod15\VirtualDub\source\VideoSource.cpp(1846)
C:\Dvpt\VDub_1.5.x\VirtualDubMod15\VirtualDub\source\FilterSystem.cpp(429)
C:\Dvpt\VDub_1.5.x\VirtualDubMod15\VirtualDub\source\FilterSystem.cpp(569)
Thread 00003c98 (FastWriteStream)
Thread 00003d00 (Processing)
C:\Dvpt\VDub_1.5.x\VirtualDubMod15\VirtualDub\source\Dub.cpp(2817)
C:\Dvpt\VDub_1.5.x\VirtualDubMod15\VirtualDub\source\Dub.cpp(2609)
C:\Dvpt\VDub_1.5.x\VirtualDubMod15\VirtualDub\source\VideoSource.cpp(1623)
C:\Dvpt\VDub_1.5.x\VirtualDubMod15\VirtualDub\source\VideoSource.cpp(1658)
C:\Dvpt\VDub_1.5.x\VirtualDubMod15\VirtualDub\source\Dub.cpp(2614)
C:\Dvpt\VDub_1.5.x\VirtualDubMod15\VirtualDub\source\VideoSequenceCompressor.cpp(403)
C:\Dvpt\VDub_1.5.x\VirtualDubMod15\VirtualDub\source\VideoSequenceCompressor.cpp(420)
C:\Dvpt\VDub_1.5.x\VirtualDubMod15\VirtualDub\source\VideoSequenceCompressor.cpp(477)
C:\Dvpt\VDub_1.5.x\VirtualDubMod15\VirtualDub\source\VideoSequenceCompressor.cpp(485)
C:\Dvpt\VDub_1.5.x\VirtualDubMod15\VirtualDub\source\Dub.cpp(2777)
C:\Dvpt\VDub_1.5.x\VirtualDubMod15\VirtualDub\source\Dub.cpp(2817)
C:\Dvpt\VDub_1.5.x\VirtualDubMod15\VirtualDub\source\Dub.cpp(2609)
C:\Dvpt\VDub_1.5.x\VirtualDubMod15\VirtualDub\source\VideoSource.cpp(1623)
C:\Dvpt\VDub_1.5.x\VirtualDubMod15\VirtualDub\source\VideoSource.cpp(1658)
C:\Dvpt\VDub_1.5.x\VirtualDubMod15\VirtualDub\source\Dub.cpp(2614)
C:\Dvpt\VDub_1.5.x\VirtualDubMod15\VirtualDub\source\VideoSequenceCompressor.cpp(403)
Thread 00003664 (Dub-I/O)
Thread call stack:5e1ec14e: MPEGSplitter!DllGetClassObject [5e1d0000+14320+7e2e]
5e1dd9c9: MPEGSplitter!DllRegisterServer [5e1d0000+82c0+5709]
5e1ea367: MPEGSplitter!DllGetClassObject [5e1d0000+14320+6047]
5e1e9fc4: MPEGSplitter!DllGetClassObject [5e1d0000+14320+5ca4]
5e1ea01b: MPEGSplitter!DllGetClassObject [5e1d0000+14320+5cfb]
5e1d551d: MPEGSplitter!DllUnregisterServer [5e1d0000+3d40+17dd]
74b90ac4: KERNELBASE!WaitForSingleObjectEx [74b80000+109f9+cb]
76281194: kernel32!WaitForSingleObjectEx [76270000+11151+43]
5e1d5a11: MPEGSplitter!DllUnregisterServer [5e1d0000+3d40+1cd1]
5e1e8d94: MPEGSplitter!DllGetClassObject [5e1d0000+14320+4a74]
5e1e3f7a: MPEGSplitter!DllRegisterServer [5e1d0000+82c0+bcba]
7628339a: kernel32!BaseThreadInitThunk [76270000+13388+12]
77419ef2: ntdll!RtlInitializeExceptionChain [773e0000+39e8f+63]
77419ec5: ntdll!RtlInitializeExceptionChain [773e0000+39e8f+36]
-- End of report
Keka
20th October 2012, 08:30
Hi r01Z,
I have had some recent success with BD3D2AVS however have now encounted the some problems I posted a little while ago, this time with 3D "The Avengers", The problem is with Right view, went right back to the original post and got the dreaded green screen for right view, with BD3D2AVS I got the earlier described end pipe error.
I see that there has been a lot of recent success lately, can you direct me to you latest version of the BD3D2AVS tool kit to try?
regards and thanks
frencher
20th October 2012, 09:36
MVCtoAVI closes automatically at ~ 17,4%
r0lZ
20th October 2012, 10:02
One green frame every 2 seconds or so can be caused by a wrong frame rate. The latest version should work.
can you direct me to you latest version of the BD3D2AVS tool kit to try?
The latest version is always at the same URL, here (http://download.videohelp.com/r0lZ/BD3D2AVS/).
Normally, I will probably not continue to develop BD3D2AVS (except to fix bugs), as the solution using DirectShowMVCSource is better and much faster. I should post today the last version of BD3D2AVS, and a new GUI for DirectShowMVCSource.
r0lZ
20th October 2012, 10:09
An integer division by zero occurred in module 'MPEGSplitter'. (MPEG spliter v 1.5.2.3102)
Someone knows where MPEGSplitter.dll can be downloaded? I can't find the latest version. (There are codec packs with more recent versions of MPEGSplitter.ax, but no dll.)
Or, perhaps it is possible to modify DirectShowMVCSource to use another splitter? Neisklar?
frencher
20th October 2012, 10:18
Someone knows where MPEGSplitter.dll can be downloaded? I can't find the latest version. (There are codec packs with more recent versions of MPEGSplitter.ax, but no dll.)
Or, perhaps it is possible to modify DirectShowMVCSource to use another splitter? Neisklar?
;)
Not other version found :scared:
Neisklar
20th October 2012, 10:26
Someone knows where MPEGSplitter.dll can be downloaded? I can't find the latest version. (There are codec packs with more recent versions of MPEGSplitter.ax, but no dll.)
Or, perhaps it is possible to modify DirectShowMVCSource to use another splitter? Neisklar?
Just a short post, i am "on the road" today, will come back to all the things later:
http://www.3dtv.at/OpenSource/Index_en.aspx
There are the modifications done by Peter against the original source from MPC (is linked on that site).
For a alternative Splitter/Loader: Do you know a DirectShow one that can handle ssif?
Edit:
Just a guess: corrupted ssif file?
frencher
20th October 2012, 10:32
http://www.3dtv.at/OpenSource/MPCPatches.zip
Include file => MPC-HC MPEG Splitter change ax to dll.patch
r0lZ
20th October 2012, 10:37
OK, frencher, if you can patch a recent MPEGSplitter.AX to work with your (possibly corrupted) ssif, can you post it here?
Keka
20th October 2012, 11:09
thanks r01Z,
look forward to the new GUI for DirectShowMVCSource.
r0lZ
20th October 2012, 12:24
I have tested my GUI with the CoreAVCDecoder.dll v2.1.0.1 (1,009,152 bytes) from Stereoscopic Player v1.9.1, and it seems to work very well. I wonder if v2.5.1.0 (1,058,816 bytes) from MvcToAvi v0.3.3 is really better, or if we can use the dll from Stereo Player safely. It is easier to grab CoreAVCDecoder and the Stf dlls at the same time from StereoPlayer, so IMO, it might be a better solution.
Someone has noticed some problems with CoreAVCDecoder v2.1.0.1?
frencher
20th October 2012, 12:24
OK, frencher, if you can patch a recent MPEGSplitter.AX to work with your (possibly corrupted) ssif, can you post it here?
I will not have time to look at here but I put the link here so if someone could patch MPEGSplitter.dll
MPC-HC MPEG Splitter change ax to dll.patch + MPEGSplitter.ax.rar (http://ul.to/y22nbnvs)
frencher
20th October 2012, 12:41
I have tested my GUI with the CoreAVCDecoder.dll v2.1.0.1 (1,009,152 bytes) from Stereoscopic Player v1.9.1, and it seems to work very well. I wonder if v2.5.1.0 (1,058,816 bytes) from MvcToAvi v0.3.3 is really better, or if we can use the dll from Stereo Player safely. It is easier to grab CoreAVCDecoder and the Stf dlls at the same time from StereoPlayer, so IMO, it might be a better solution.
Someone has noticed some problems with CoreAVCDecoder v2.1.0.1?
CoreAVCDecoder.dll from Stereoscopic Player v1.9.1 is v3.0.0.0 for 1,62 Mo
And same error @ 17,4% :mad: lol
r0lZ
20th October 2012, 13:12
When I was modifying the code of BD2D2AVS to use DirectShowMVCSource, I've found two bugs in the original code, and I've fixed them. So, here is the fix of BD2D2AVS, if you prefer the method based on ldecod and ssifSource.
It's probably the last version (unless there are other bugs to fix), and don't ask me to add new features.
# v0.11 (October 20, 2012)
# - Bug when calculating the frame rate of the input video when the frame rate is an integer (24 or 25 fps)
# - Possibility of bugs when width of input image was a floating point number (with tailing ".0").
Download the latest version of BD3D2AVS.7z (http://download.videohelp.com/r0lZ/BD3D2AVS/BD3D2AVS.7z) (based on ldecod)
r0lZ
20th October 2012, 13:35
And here is the first beta of BD3D2MK3D. I have slightly modified the name of the program, and its icon, to highlight the difference.
This version has probably some bugs, and it is not totally finished yet. In particular, it is currently not possible to encode with the 64-bit version of x264 (although you can probably modify the _ENCODE.cmd batch to use it). The documentation has not been updated yet, and it's still the doc of BD3D2AVS. Since the GUI has not changed too much, it's sufficient to begin.
Also, there is a new option to convert the 2D subtitle files to 3D with Suppe3D.exe written by Neisklar (look in the "Select streams" tab for that option), but that exe has only been roughly tested, and it might have some bugs. It should be replaced with new options in BDSup2Sub++ when they will be available, but in the meantime, thanks to Neisklar, it is already possible to mux 3D subtitles in the final MKV file.
Note also that many things have changed internally (especially because it is now possible to encode in Anaglyph or interleaved modes), and it was somewhat difficult to adapt the original code to the new methods. The hard-coding of the subtitles has almost completely been rewritten, and it may contain bugs.
Note also that there are some limitations. For example, the intro clip and the hardcoded subtitles can be in 3D ONLY for the Side by Side and Top/Bottom modes. If you select another mode, the intro will be in 2D, and the hardcoded subtitles will appear "on the surface of the screen".
Please note that the content of the "toolset" folder has changed. If you want to keep both versions, you should install them in different locations, or merge the two toolset folders.
Enjoy!
# v0.1 (October 20, 2012):
# - First beta version, adapted from BD3D2AVS v0.11 to use DirectShowMVCSource.
Download the latest version of BD3D2MK3D: BD3D2MK3D.7z (http://download.videohelp.com/r0lZ/BD3D2AVS/BD3D2MK3D.7z) (using DirectShowMVCSource)
(The latest versions of the two programs can be found here (http://download.videohelp.com/r0lZ/BD3D2AVS).)
r0lZ
20th October 2012, 13:56
I forgot to write that the settings have also slightly changed. There is now a "Settings -> 3D Subtitles resize filter" to select the filter to use when converting a 3D subtitle stream with Suppe3D. (In fact, the resize filter is passed to BDSup2Sub++ via the command line.) By default, the bicubic filter is selected but you can use another one if you wish.
There is also a new tool in the Tools menu: "Convert Subtitle to 3D". It's a simple GUI for Suppe3D. You can use it to convert any subtitle stream in SUP, SUB/IDX or XML/PNG format to half side by side or top/bottom. (You don't need to do the conversion manually if you want to mux a 3D subtitle stream in the final MKV, but that tool can be useful if you need to convert an existing subtitle file to 3D for use with another program or muxer.)
Again, thanks to Neisklar for making this possible! :)
trugulum78
20th October 2012, 21:37
Thanks r0lZ,I tested BD2D2AVS and it works very well.I´m going to test your new tool.
Thanks for your work.
MaistroX
21st October 2012, 11:22
@ r0lZ!
Tryed with Ice Age 4 and it just stopped, check out the logg here -> http://www.mediafire.com/file/u0zqd8q0526g7k2/BD3D2AVS_Ice_Age_4_Test.txt
Cant seem to finnish encode.. :(
r0lZ
21st October 2012, 11:40
Hum, since it stopped at frame 0, are you sure the input BD is still available and is unprotected? The input BD should be a properly ripped ISO mounted in the right virtual drive, or the original BD with AnyDVD HD running.
Also, from tab 1 of the GUI, can you see the previews?
Anyway, I suggest to try BD3D2MK3D (http://forum.doom9.org/showthread.php?p=1596672#post1596672). It may work better, and it will certainly be much faster.
trugulum78
21st October 2012, 15:17
Tested BD3D2MK3D and it works perfect,is very fast and comfortable compared to cmd. I´ve tested The avengers film with veryfast,crf 15 presets and in 5 hours the film is muxed with 3Dsubs,ready to watch it.Amazing!!!
Good job and thanks again.
PD:Sorry for my english.
SixKiller
21st October 2012, 16:06
Im running into some Problem, with the "DirectShowMVCSource" Filter.
I cleaned up the avs, for better reading.
Seems the filter is not working or produces an "access violation"
http://i1.uyl.me/files/39145479982860809361.jpg
I OWN SSPlayer and MVCtoAVi (Bought long time ago) and have them installed? Is this causing Problems?
Thanks.
MaistroX
21st October 2012, 17:40
Yes, it´s both avalible and unprotected by AnyDVD HD!
I do see previews on tab one, they are both working.
Just tryed out BD3D2MK3D, seem to get the kind of same result, see attached file -> http://www.mediafire.com/file/3ybija347h7lx1z/BD3D2MK3D_Ice_Age_4_info.txt
What can be wrong ?
Hum, since it stopped at frame 0, are you sure the input BD is still available and is unprotected? The input BD should be a properly ripped ISO mounted in the right virtual drive, or the original BD with AnyDVD HD running.
Also, from tab 1 of the GUI, can you see the previews?
Anyway, I suggest to try BD3D2MK3D (http://forum.doom9.org/showthread.php?p=1596672#post1596672). It may work better, and it will certainly be much faster.
Neisklar
21st October 2012, 19:56
With VirtualDubMod 1.5.10.2
An integer division by zero occurred in module 'MPEGSplitter'. (MPEG spliter v 1.5.2.3102)
MVCtoAVI closes automatically at ~ 17,4%
CoreAVCDecoder.dll from Stereoscopic Player v1.9.1 is v3.0.0.0 for 1,62 Mo
And same error @ 17,4% :mad: lol
Ok, so we can nail the problem down to the splitter filter.
Just another thing to think of: Is maybe the ssif file somehow corrupted? Can you play the file and that certain part in a normal software blueray player, without any problems/visual corruptions? And maybe you can rerip the ssif file again (maybe even with another tool) and compare/md5sum them?
OK, frencher, if you can patch a recent MPEGSplitter.AX to work with your (possibly corrupted) ssif, can you post it here?
I have no clues for the inner workings of all that different mpeg bitstreams, but i think even patching against a current version will not help, since Peters patches are the ones, that enabled ssif reading and splitting.
Maybe send Peter a bugreport, but you should not mentioning this plugin.
If i remember correctly i had once a version of a haali splitter that somehow showed a output pin called 'stereo' when opening ssif files. But dunno if that filter is compatible with the CoreAVCDecoder, need to do some testing.
...from Stereoscopic Player v1.9.1, and it seems to work very well. I wonder if dll from MvcToAvi v0.3.3 is really better, or if we can use the dll from Stereo Player safely. It is easier to grab CoreAVCDecoder and the Stf dlls at the same time from StereoPlayer, so IMO, it might be a better solution.
It should work to, BUT since 1.9.1 the stf.dll is NOT compatible, only up to version 1.8.x.
The 1.9.1 stf version changed the configuration interface, so without heavy decompiling of the dll or the StereoPlayer or better a documentation of the config interface is no way to use it.
My AVS
...
return (video).BicubicResize(1920,1080).AssumeFPS(24000, 1001)
BTW and a little offtopic:
Why bicubic for downscaling? I read an comparison article about bilinear vs. bicubic, and it showed that when downscaling bilinear is better
http://nickyguides.digital-digest.com/bilinear-vs-bicubic.htm
Any opinion on that?
Edit:
I do see previews on tab one, they are both working.
Just tryed out BD3D2MK3D, seem to get the kind of same result, see attached file -> http://www.mediafire.com/file/3ybija...Age_4_info.txt
Open _ENCODE_3D_MOVIE.avs add to the DirectShowMVCSource command the logging params: logfile="logfile.txt", logmask=-1
Then Open that avs File in VirtualDubMod, and hit the Play button
(NOTE: VirtualDubMod must be installed with that "magic path")
r0lZ
21st October 2012, 21:54
You must move AvsP (and all associated files) in a path containing "mvctoavi.exe". It's a general rule. The exe you use to encode or show the avs script must be in the "magic path". Otherwise, you get that error.
Also, do not try to seek to a specific frame with AvsP (or with any player). Seeking is currently buggy. Note also that when AvsP has crashed, you must close it and reopen it, as otherwise, the script will continue to produce the same error. (I suppose it's because the avisynth dll stays initialised in memory, and it buffers the last rendered frames.)
[EDIT] I haven't noticed the replies on this page when I've posted this. It was a reply to this post:
Im running into some Problem, with the "DirectShowMVCSource" Filter.
I cleaned up the avs, for better reading.
Seems the filter is not working or produces an "access violation"
http://i1.uyl.me/files/39145479982860809361.jpg
I OWN SSPlayer and MVCtoAVi (Bought long time ago) and have them installed? Is this causing Problems?
Thanks.
pommesmatte
21st October 2012, 22:48
I tried BD3D2MK3D today (had also problems with Avengers and BD3D2AVS), but I get the following error on the demuxing start:
can't read "subshardcodemethod": no such variable
can't read "subshardcodemethod": no such variable
while executing
"if {$subshardcodemethod < 3 && ($::movecinemascope == 0 || ($methodVal != 15 && $methodVal != 16))} {
# No hardcoded subs or hardcoded subs do..."
(procedure "GenerateAvs" line 729)
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)
Subtitlehardcoding was set to none. No audio track was selected for demuxing.
EDIT:
Tried another movie clip (Making of Pirates 3D).
Subtilte harcoding enabled.
Demuxing and stuff worked, but encoding failed.
avs [error]: `_ENCODE_3D_MOVIE.avs' didn't return a video clip
x264 [error]: could not open input file `_ENCODE_3D_MOVIE.avs'
See attatchment for Logfile.
I already changed the "magic path" to uppercase, as in the log complains in not finding the magic path with it written in lowercase in the first place, but this does not seem to be the real issue.
r0lZ
21st October 2012, 23:03
Strange. I did just some similar tests, and that error did not occur. Will have a look...
r0lZ
21st October 2012, 23:17
You're right. The bug occurs when no audio or subpic is demuxed. It is fixed now. Thanks!
r0lZ
21st October 2012, 23:48
Ok, so we can nail the problem down to the splitter filter.
I have no clues for the inner workings of all that different mpeg bitstreams, but i think even patching against a current version will not help, since Peters patches are the ones, that enabled ssif reading and splitting.
I wasn't suggesting to patch again a version that has already been patched, but maybe to patch the latest version, still unpatched. It might have that bug fixed (if it's really a bug in the splitter).
r0lZ
22nd October 2012, 00:38
Here is v0.2 of AVS2MK3D. It fixes two bugs, and I've added the x264_x64 support. (Don't expect a big speed increase in 64-bit, as the Avisynth script still runs in 32-bit mode, and avs2yuv adds a small overhead.)
# v0.2 (October 22, 2012)
# - Added 64-bit x264 support (with avs2yuv).
# - Bug: The "Preview" button for the Move Cinemascope option was always disabled.
# - Bug: Crash before demux phase when no audio or subpic stream must be demuxed.
Download AVS2MK3D v0.2 (http://download.videohelp.com/r0lZ/BD3D2AVS/BD3D2MK3D.7z)
SixKiller
22nd October 2012, 01:27
You must move AvsP (and all associated files) in a path containing "mvctoavi.exe". It's a general rule. The exe you use to encode or show the avs script must be in the "magic path". Otherwise, you get that error.
Also, do not try to seek to a specific frame with AvsP (or with any player). Seeking is currently buggy. Note also that when AvsP has crashed, you must close it and reopen it, as otherwise, the script will continue to produce the same error. (I suppose it's because the avisynth dll stays initialised in memory, and it buffers the last rendered frames.)
[EDIT] I haven't noticed the replies on this page when I've posted this. It was a reply to this post:
Thanks. This worked fine. http://i1.uyl.me/files/23416135488142a3a2a4.jpg
Final question regarding MeGUI. If i put the whole contents of the MEGui Folder into the "special" folder where the dll's are, can i then use subfolder (tools), for megui gui like "F:\MVCTOAVI.EXE\Tools" so that i can use the x264.exe from megui?
Thanks
SpaceNerd
22nd October 2012, 09:50
Here is v0.2 of AVS2MK3D
Is it (still) necessary to add 3 seconds of black to the end of the video? Because if I uncheck this setting, the encoding fails (there's something missing in the generated AVS script):
avs [error]: `_ENCODE_3D_MOVIE.avs' didn't return a video clip
r0lZ
22nd October 2012, 09:57
Final question regarding MeGUI. If i put the whole contents of the MEGui Folder into the "special" folder where the dll's are, can i then use subfolder (tools), for megui gui like "F:\MVCTOAVI.EXE\Tools" so that i can use the x264.exe from megui?That should work, yes, but I haven't tried.
r0lZ
22nd October 2012, 10:14
Is it (still) necessary to add 3 seconds of black to the end of the video? Because if I uncheck this setting, the encoding fails (there's something missing in the generated AVS script):
avs [error]: `_ENCODE_3D_MOVIE.avs' didn't return a video clip
I see. It seems that the IsRGB() line is causing the problem. (That line does nothing if the clip is not in RGB format, but if it is not followed by something, the clip is destroyed!)
If you modify this line:
IsRGB() ? ConvertToYV12(matrix="PC.709") : ""
to:
IsRGB() ? ConvertToYV12(matrix="PC.709") : last
it works.
I will fix that bug and release v0.3 soon...
SpaceNerd
22nd October 2012, 10:28
Thank you for the fast response and your great work so far. Your tool already makes all of this stuff much easier! :)
Neisklar
22nd October 2012, 10:32
Final question regarding MeGUI. If i put the whole contents of the MEGui Folder into the "special" folder where the dll's are, can i then use subfolder (tools), for megui gui like "F:\MVCTOAVI.EXE\Tools" so that i can use the x264.exe from megui?
Yes it workes, just put the MeGui Folder inside that "Magic Path" (so it is completely inside it) and MeGui will work. You need to disable in the settings the improved AVS opening (cause that will try to seek, and seeking is not possible)
Neisklar
22nd October 2012, 11:11
I wasn't suggesting to patch again a version that has already been patched, but maybe to patch the latest version, still unpatched. It might have that bug fixed (if it's really a bug in the splitter).
I just had a look into the current source of that Splitter in the MediaPlayerClassic Repo.
They already included Peters MVC modifications.
So you should be able to just grab the lates build, get the MPEGSplitter.ax file out of it, rename it to .dll (there is no difference between .ax and .dll, it's only the extension) and have a try.
mpc-hc.sourceforge.net
r0lZ
22nd October 2012, 11:21
Bug fix.
# v0.3 (October 22, 2012)
# - "Not a clip" bug when the options to add the intro clip and the 3 seconds of black are off.
Download (http://download.videohelp.com/r0lZ/BD3D2AVS/BD3D2MK3D.7z)
r0lZ
22nd October 2012, 11:28
I just had a look into the current source of that Splitter in the MediaPlayerClassic Repo.
They already included Peters MVC modifications.
So you should be able to just grab the lates build, get the MPEGSplitter.ax file out of it, rename it to .dll (there is no difference between .ax and .dll, it's only the extension) and have a try.
mpc-hc.sourceforge.net
I've tried that, but the AX file is not installed. Where can I grab it?
pommesmatte
22nd October 2012, 11:46
Just a quick question.
You said, the DirectShowMVCSource would be MUCH faster.
In fact I got 4,7 fps with SSIFSource and 6 fps with DirectShowMVCSource on my Core 2 Quad.
Should there be more difference?
Have not tried the new release with x64 support yet.
BTW are there any quality difference between the two of them?
r0lZ
22nd October 2012, 12:14
On my (now old) Quad Q8200 @2.33GHz, the frame rate with ssifsource was around 3 fps. With DirectShowMVCSource, it is above 9 fps. About 3 times faster. But the speed increase depends of many factors. For example, if you use a slow resize method and if you hardcode the subtitles, the avisynth script will be slow anyway, and that's independent of the way the MVC decoding is done.
With x64, I got again a small speed increase. I did some tests with a small video clip, and here are the time it took to encode:
x32 SBS with AVS bicubic resize: 8:05.6
x32 SBS with x264 bicubic resize: 8:04.5
x64 SBS with AVS bicubic resize: 7:55.8
x64 SBS with x264 bicubic resize: 8:31.4
x64 SBS with x264 bilinear resize: 8:06.5
For the x64 tests, I've used the regular version of avs2yuv.exe (v0.24). Then I redid the last test with BugMaster's mod 2 of avs2yuv, and it took 7:46.9 instead of 8:06.5. (The avs2yuv exe included in the toolset is of course the BM2 mod.)
Note that the times are only rough evaluations, as they are the total time of the encoding operation, not the CPU time of the process. My PC has certainly been working in the background during some tests. Anyway, as you can see, the gain with the x64 version is not really high.
I haven't tested with the ssifSource method yet. I'll do that right now...
BTW are there any quality difference between the two of them?
I don't think so. In SBS and TB modes, the decoder must only decode the right view, and pass it unchanged. (Of course, for the Anaglyph modes, the quality depends also of the method used to combine the two images, but since ssifSource has no anaglyph support, we can't compare. Note that the anaglyph and interleaved modes convert to RGB32, and that might introduce some quality loss, but in SBS and TB modes, the pixel type stays in YV12.)
Neisklar
22nd October 2012, 12:22
I've tried that, but the AX file is not installed. Where can I grab it?
You need to go to "Other Systems & Versions", http://mpc-hc.sourceforge.net/downloads/ and get the standalone filters pack.
pommesmatte
22nd October 2012, 12:31
On my (now old) Quad Q8200 @2.33GHz, the frame rate with ssifsource was around 3 fps. With DirectShowMVCSource, it is above 9 fps. About 3 times faster. But the speed increase depends of many factors. For example, if you use a slow resize method and if you hardcode the subtitles, the avisynth script will be slow anyway, and that's independent of the way the MVC decoding is done.
I got a Q8400 @ 3,2 GHz. I use Lanzcos Resize and encode from virtual BD drive.
Well maybe I will make some further tests.
r0lZ
22nd October 2012, 13:11
I just did two tests with ssifSource, same clip:
x32 SBS with AVS bicubic resize: 20:20.2 (instead of 8:05.6 with DirectShowMVCSource: 2.5 times slower)
x64 SBS with x264 bicubic resize: 19:35.5 (instead of 8:31.4 with DirectShowMVCSource: 2.3 times slower)
When I encode a long movie, the difference is more noticeable. For instance, usually, a 3D movie of 1:30:00 encodes with ssifSource in about 12 hours, and 4:30 with DirectShowMVCSource. I suppose it's because the beginning of the movie is usually easier to encode.
I've also noticed that my quad core cpu works at almost 100% with DirectShowMVCSource but only at 25 to 75% with ssifSource. I suppose it's because ldecod is not multi-threaded, and is the bottleneck. x264 spends much time in waiting for the ldecod output. If you have only one or two cpu cores, the cpu usage will probably be higher, and that could explain the less important difference of the encoding times.
Also, x264 is much demanding of memory. (It consumes about 2GB when I encode with ssifSource) and, if you don't have enough memory and the system must swap, the duration of the encoding may increase dramatically.
@Neisklar: Thanks! Will try that version. But it's Frencher that should test it, to see if it stops also with his BD.
SpaceNerd
22nd October 2012, 13:49
I've also noticed that my quad core cpu works at almost 100% with DirectShowMVCSource but only at 25 to 75% with ssifSource. I suppose it's because ldecod is not multi-threaded, and is the bottleneck. x264 spends much time in waiting for the ldecod output.
I can totally confirm your observation as I see the same behavior on my i5-3450 when comparing ssifSource and DirectShowMVCSource.
Also, I don't know, if you (already) take feature requests for BD3D2MK3D, but I often prefer AC3 to DTS audio tracks (because of hardware player compatibility and file size). eac3to is able to convert DTS to AC3 and even DTS-HD to AC3 via the "-core" flag. Is it possible to include this feature?
MaistroX
22nd October 2012, 15:01
Another request by me (and I belive alot of ppl.) is:
1. Being able to crop/rezie with preview, needed sometimes on some movies.
2. Since the convert of subtitles works perfect now (at least for me) from BD3D disc to 3D subtiles, have a either standalone "app" that ONLY pics subtitles and convert them to 3D subtiles and/or integrate it as a standalone option, for one to use when 3D subtiles ONLY are needed (and they are from time to time).
Something that can be done/implemented? :)
Regards MaistroX
pommesmatte
22nd October 2012, 15:55
I've also noticed that my quad core cpu works at almost 100% with DirectShowMVCSource but only at 25 to 75% with ssifSource. I suppose it's because ldecod is not multi-threaded, and is the bottleneck. x264 spends much time in waiting for the ldecod output. If you have only one or two cpu cores, the cpu usage will probably be higher, and that could explain the less important difference of the encoding times.
Also, x264 is much demanding of memory. (It consumes about 2GB when I encode with ssifSource) and, if you don't have enough memory and the system must swap, the duration of the encoding may increase dramatically.
Thanks for the tests. I'm using X264 "slow" encode, and afair my Quad-Core was also at 100% with SSIF-Source. I have 6GB RAM, so that should not be an issue.
As I already posted I got higher fps than you with SSIF-Source, in especially taking into account, that i use "slow" profile, maybe RAM is a limitation for you!?
r0lZ
22nd October 2012, 16:02
eac3to is able to convert DTS to AC3 and even DTS-HD to AC3 via the "-core" flag. Is it possible to include this feature?
You can already enable the -core flag. Look in tab 2 (Select Streams). However, as far as I know, the -core flag is used only to extract the 5.1 audio from a 7.1 DTS file, not to convert to AC3.
I know that eac3to can convert the audio streams to other formats (including AC3), but I don't want to do another eac3to frontend. The philosophy of my GUI is to convert a 3D BD to MK3D with as less quality loss as possible. And, if you wish, you can easily convert the DTS track to AC3 and mux it manually. However, I may include that option if several users want it. (Not sure how to do it btw. Is it sufficient to change the extension of the output file to force eac3to to convert a DTS stream to AC3?)
r0lZ
22nd October 2012, 16:21
1. Being able to crop/rezie with preview, needed sometimes on some movies.
It's not easy, as Tcl/Tk (the scripting language I've used to write BD3D2*) has nothing to show a video. Also, since currently, it is impossible to seek in the input video, the user will have to pick a frame at the very beginning of the movie. Not very practical.
Furthermore, I've explained several times that it is not a good idea to crop the image, because most 3D hardware players (including almost all 3D TVs) require true 16:9 to display correctly a SBS or T/B movie. So, cropping the black borders of a Cinemascope movie is not recommended. It may work fine with software players, but if you buy a new 3D TV, you will probably have to re-encode all your 3D-BDs. I don't want to encourage the users to crop their movies.
For a similar reason, I think that resizing is usually not a good idea, except if you resize to 720p, and BD3D2MK3D can already do that.
Anyway, again, if you really want to crop or resize, you can do it in the avisynth script before launching the encoding.
2. Since the convert of subtitles works perfect now (at least for me) from BD3D disc to 3D subtiles, have a either standalone "app" that ONLY pics subtitles and convert them to 3D subtiles and/or integrate it as a standalone option, for one to use when 3D subtiles ONLY are needed (and they are from time to time).
Look in the Tools menu. I have already implemented that option. It's not a totally independent GUI, but you don't need to load a BD in BD3D2MK3D to convert an existing 2D subtitle in SUP, SUB/IDX or XML/PNG format to 3D. (The same formats are supported for the output, but SUB/IDX is assumed by default.)
Note also that Suppe3D is a simple CLI tool that has been developed because BDSup2Sub++ cannot do the 3D conversion yet, but it should be able to do it soon. When it will be available, you will have the perfect tool, with a nice GUI.
r0lZ
22nd October 2012, 16:29
Thanks for the tests. I'm using X264 "slow" encode, and afair my Quad-Core was also at 100% with SSIF-Source. I have 6GB RAM, so that should not be an issue.
As I already posted I got higher fps than you with SSIF-Source, in especially taking into account, that i use "slow" profile, maybe RAM is a limitation for you!?
No, I have 4GB of RAM and it's sufficient.
I suppose you have 100% of CPU usage because you encode with the slow preset. Since x264 spend more time in encoding, it is the bottleneck, and ssifSource has enough time to decode. BTW, IMO, with ssifSource, it's the way to go. Since it cannot decode quickly, it is a good idea to set the x264 preset to the highest speed that consumes all CPU power. This way, you can improve the quality with only a small speed penalty. With DirectShowMVCSource, if you lower the speed, the process will certainly take a longer time.
pommesmatte
22nd October 2012, 17:17
Is it sufficient to change the extension of the output file to force eac3to to convert a DTS stream to AC3?)
Yes that should do.
Nico8583
22nd October 2012, 19:38
Hi !
I'm trying your software and it's very good ;)
Do you mind it's possible to add :
- encode with 2pass (to get a fix video size)
- export the final script with x264 encode, avs script, etc...
In which language do you program ?
Thank you !
MaistroX
22nd October 2012, 20:02
I know, but since I´d like to be able to ONLY get get 3D subtitles from a BD and/or extracted, converted to 3D subtitles SBS (option for Over/Under maby allso) and that cant be done without debuxing BD, it world be nice to have that option allso! :)
Look in the Tools menu. I have already implemented that option. It's not a totally independent GUI, but you don't need to load a BD in BD3D2MK3D to convert an existing 2D subtitle in SUP, SUB/IDX or XML/PNG format to 3D. (The same formats are supported for the output, but SUB/IDX is assumed by default.)
Note also that Suppe3D is a simple CLI tool that has been developed because BDSup2Sub++ cannot do the 3D conversion yet, but it should be able to do it soon. When it will be available, you will have the perfect tool, with a nice GUI.
Sorry forgot one...
;)
Agree to above req: - encode with 2pass (to get a fix video size)
Can you please set an box/option to be able to write in IF on want to set a kpps for a rip?
An easy way if one wants to have on rip in like 10000 kbps and another one 8500 kbps!
And if not to complicatied, if one can see the estimated total size if one sets it to ex: 10000 kbps! :)
Regards MaistroX
SpaceNerd
22nd October 2012, 21:26
And, if you wish, you can easily convert the DTS track to AC3 and mux it manually.
Thanks again for the answer. That's what I'm doing now. But it was worth asking since there are some people out there preferring AC3 over DTS (especially since this is easy to do using eac3to).
Anyway - I tried to encode Tron Legay 3D using BD3D2MK3D. As the movie consists of two SSIF files, the following AVS script is generated:
part1 = DirectShowMVCSource("X:\BDMV\STREAM\SSIF\00131.m2ts", stf=OVERUNDER_L)
part2 = DirectShowMVCSource("X:\BDMV\STREAM\SSIF\00133.m2ts", stf=OVERUNDER_L)
last = left1 + left2
AssumeFPS("ntsc_film")
# Anaglyph and Interleaved modes are in RGB32, and must be converted to YV12.
#ConvertToYV12(matrix="PC.709")
With this script, the encoding (obviously) fails immediately (wrong file names, leftX instead of partX parameters). After changing the script to the following, however, the encoding works just fine:
part1 = DirectShowMVCSource("X:\BDMV\STREAM\SSIF\00131.ssif", stf=OVERUNDER_L)
part2 = DirectShowMVCSource("X:\BDMV\STREAM\SSIF\00133.ssif", stf=OVERUNDER_L)
last = part1 + part2
AssumeFPS("ntsc_film")
IsRGB() ? ConvertToYV12(matrix="PC.709") : last
r0lZ
22nd October 2012, 22:27
Hi !
I'm trying your software and it's very good ;)
Do you mind it's possible to add :
- encode with 2pass (to get a fix video size)
I agree that that can be useful. Originally, in BD3D2AVS, the decoding phase was so slow that 2 passes was almost impossible. But with the new faster method, 2 passes can be useful. I'll have to modify the GUI much, so don't expect it soon, but I add it in my to-do list.
- export the final script with x264 encode, avs script, etc...
I'm not sure I understand. Do you want an option to save the current project settings, to reload it later in the GUI? Unfortunately, it's very difficult. The BD must be scanned anyway, and the parameters may differ if, for example, the BD is in another drive. Furthermore, I haven't build the program with that possibility in mind, and adding that feature would require to modify it completely. Sorry.
In which language do you program ?
Thank you !For my GUIs, I use Tcl/Tk. It is very powerful to build complex GUIs, but it's a slow interpreted language, and it has its drawbacks. (I wrote PgcEdit almost entirely in Tcl/Tk, and that was certainly a bad idea, because at the beginning, my intention was to write only a simple GUI.)
r0lZ
22nd October 2012, 22:31
I know, but since I´d like to be able to ONLY get get 3D subtitles from a BD and/or extracted, converted to 3D subtitles SBS (option for Over/Under maby allso) and that cant be done without debuxing BD, it world be nice to have that option allso! :)
You would like the possibility to convert a subpic stream from the BD directly, without demuxing it first? Right?
Sorry, but that's currently impossible. You need to demux it, either with my app, or with any eac3to GUI, then use the tool to convert it to 3D.
r0lZ
22nd October 2012, 22:36
Thanks again for the answer. That's what I'm doing now. But it was worth asking since there are some people out there preferring AC3 over DTS (especially since this is easy to do using eac3to).
If it is really sufficient to change the output extension to AC3, I can probably add that feature in the next version...
Anyway - I tried to encode Tron Legay 3D using BD3D2MK3D. As the movie consists of two SSIF files, the following AVS script is generated:
part1 = DirectShowMVCSource("X:\BDMV\STREAM\SSIF\00131.m2ts", stf=OVERUNDER_L)
part2 = DirectShowMVCSource("X:\BDMV\STREAM\SSIF\00133.m2ts", stf=OVERUNDER_L)
last = left1 + left2
AssumeFPS("ntsc_film")
# Anaglyph and Interleaved modes are in RGB32, and must be converted to YV12.
#ConvertToYV12(matrix="PC.709")
With this script, the encoding (obviously) fails immediately (wrong file names, leftX instead of partX parameters). After changing the script to the following, however, the encoding works just fine:
part1 = DirectShowMVCSource("X:\BDMV\STREAM\SSIF\00131.ssif", stf=OVERUNDER_L)
part2 = DirectShowMVCSource("X:\BDMV\STREAM\SSIF\00133.ssif", stf=OVERUNDER_L)
last = part1 + part2
AssumeFPS("ntsc_film")
IsRGB() ? ConvertToYV12(matrix="PC.709") : lastOops, obviously, I forgot to modify some lines of code after a copy/paste.
Sorry, that app is difficult to test, especially because each test requires much time, and there are many combinations of options to test.
Anyway, I will fix that bug. Thanks for the precise bug report!
[EDIT] Bug fixed. I'll release v0.4 tomorrow. I will first see if I can add the conversion to AC3 easily.
Nico8583
22nd October 2012, 22:36
I agree that that can be useful. Originally, in BD3D2AVS, the decoding phase was so slow that 2 passes was almost impossible. But with the new faster method, 2 passes can be useful. I'll have to modify the GUI much, so don't expect it soon, but I add it in my to-do list.
Thanks for your response. What is "soon" for you ? :)
I'm not sure I understand. Do you want an option to save the current project settings, to reload it later in the GUI? Unfortunately, it's very difficult. The BD must be scanned anyway, and the parameters may differ if, for example, the BD is in another drive. Furthermore, I haven't build the program with that possibility in mind, and adding that feature would require to modify it completely. Sorry.
I'm agree with you, it's a little confused. I would like to see what command line is launch to encode, for example "x264 -option1 -option2=x -option3=y..." and the avs script generated by your program
For my GUIs, I use Tcl/Tk. It is very powerful to build complex GUIs, but it's a slow interpreted language, and it has its drawbacks. (I wrote PgcEdit almost entirely in Tcl/Tk, and that was certainly a bad idea, because at the beginning, my intention was to write only a simple GUI.)
I don't know this language, if it was Delphi or C++ I would help you perhaps... Thank you again for your app ;)
r0lZ
22nd October 2012, 23:32
Thanks for your response. What is "soon" for you ? :)
Not sure. It depends of the difficulty. Perhaps in one week or so.
I'm agree with you, it's a little confused. I would like to see what command line is launch to encode, for example "x264 -option1 -option2=x -option3=y..." and the avs script generated by your program
Well, the script and the x264 commands are generated after the demux phase, as they change if, for example, a stream cannot be demuxed. (It's often the case if you ask to mux a subtitle stream with forced captions only, and there are no forced captions in the stream.) Therefore, I can't display the command and the script before the end of the job. If you want to examine them, you have two options. Open the script of the batch files in notepad, or have a look at the console (in the Files menu). The commands that are executed are displayed in the console, as well as the content of the script and batch files.
I don't know this language, if it was Delphi or C++ I would help you perhaps... Thank you again for your app ;)
Thanks for your proposition. But if you know C++, I suggest to help Neisklar in debugging DirectShowMVCSource. IMO, the most important thing to do currently is to fix the "seek bug". (Without that bug, it will be much easier to preview the 3D movie, for example to try the depth of the 3D subtitles.) DirectShowMVCSource is the important program to develop and maintain, and my GUI is only, well, a GUI!
r0lZ
23rd October 2012, 00:21
Here is v0.4 of BD3D2MK3D. It fixes this bug (http://forum.doom9.org/showthread.php?p=1597123#post1597123), and I've added the possibility to convert DTS and WAV audio tracks to AC3 during the demux phase.
BTW, currently, the -core option is automatically set when the conversion to AC3 is enabled, as I don't think it makes sense to convert a 7.1 DTS track to AC3. Am I right?
As always, it has been only roughly tested, but the conversion to AC3 seems to work well, and the bug is really fixed. :-)
# v0.4 (October 23, 2012)
# - Added option to convert DTS and WAV audio streams to AC3 in tab 2.
# - Bug: Wrong file and part names in AVS script when a MPLS is made of several SSIF files.
Download (http://download.videohelp.com/r0lZ/BD3D2AVS/BD3D2MK3D.7z)
slavanap
23rd October 2012, 12:53
Strange problem I just can't solve -
So far I've used the gui with many 3d blu-ray discs, always works perfect. However, I just can't get it to work with Men in Black III.
When trying to encode I immediately get an error that the pipe has ended.
This gets even stranger as I've tried 3 different editions of this movie (US/EU/Nordic) - all of them fail while every other disc works.
Also, the 3 editions don't share the same encodes, files or playlists. One disc has the ebtire movie on 1 ssif while others have it split across many.
The rips are fine as all discs play flawlessly on every player I tried (in both 2D and 3D).
I also tried actually demuxing left and right .h264 files and feeding those to the ssifsource instead of a playlist or ssif file - same result, it just won't decode.
I'm completely stumped.
Is there a blu-ray protected disc? If so, you should use AnyDVD tool first.
yup, now I get it. this version of ldecod isn't even for MVC - it's for standard h264/AVC.
Apparently, alex-pk modified it to support MVC, and god only knows who alex-pk is and where can we find a newer version of the decoder.
God I wish I could figure out a way to load/register CoreMVC from Stereoscopic Player as a directshow filter. I know Stereoscopic Player uses it as a filter, but regsvr32 fails to register it (probably by design).
As I investigated, he is one of the users from http://torrents3d.ru/ But he doesn't reply for private messages. :(
Ah and btw, i googled a bit and found that info, that is where i had my line from. Dont know if anyone posted yet, but i found it to be useful, what else is possible (was from someone @pastebin):
LoadPlugin("ssifSource.dll")
#LoadPlugin("C:\Program Files (x86)\AviSynth 2.5\plugins\VSFilter.dll")
#
# ssifSource plugin
# Parameters:
# 1 | ssif_file | string | name of .ssif file
# 2 | width | integer | width of video
# 3 | height | integer | height of video
# 4 | frame_count | integer | number of frames to decode
# 5 | left_track | integer | left eye track in eac3to output, that will be used
# 6 | right_track | integer | same for right eye
# 7 | left_264 | string | name of .h264 video file used for manual decoding for left eye
# 8 | right_264 | string | same for right right eye (delta)
#
# Examples:
# 1. ssifSource("e:\BDMV\STREAM\SSIF\00005.ssif", 1920, 1080, 1000)
# or
# ssifSource(ssif_file = "e:\BDMV\STREAM\SSIF\00005.ssif", width = 1920, height = 1080, frame_count = 1000)
#
# 2. ssifSource("e:\BDMV\PLAYLIST\00001.mpls", 1920, 1080, 1000, 2, 3)
# note: make sure about track numbers before using the filter. Defaults are: left_track = 1, right_track = 2
#
# 3. ssifSource(width = 1920, height = 1080, frame_count = 1000, left_264 = "left.h264", right_264 = "right.h264")
# note: it's better when filenames of .h264 files don't have spaces and special characters,
# because sometimes ldecod.exe fails to parse such commandline
#
# WARNING: ssifSource plugin ALWAYS produce video of 25 fps, so make sure you set proper fps settings before encoding!
#
#src = ssifSource("e:\BDMV\PLAYLIST\00001.mpls", 1920, 1080, 1000, 2, 3)
#src = ssifSource("e:\BDMV\STREAM\SSIF\00005.ssif", 1920, 1080, 1000)
video = ssifSource(width = 1920, height = 1080, frame_count = 139368, left_264 = "..\streams\left.264", right_264 = "..\streams\right.264")
left = crop(video, 0, 0, video.width, video.height/2)
right = crop(video, 0, video.height/2, video.width, video.height/2)
#remove letterbox
left = crop(left, 0, 140, 0, -140)
right = crop(right, 0, 140, 0, -140)
video = TopDown3D(left,right)
AssumeFPS(video, 23.976)
#video = TopDown3D(left,right)
#video = stackhorizontal(left,right)
#video.VobSub("..\pob_ovun21.idx")
#return video.ConvertToYV12
#VobSub("F:\resident\subs\pob_ovun.idx")
return video
I see. That left_264 = "...264", right_264 = "...264" syntax is interesting. I didn't know it. But I don't think I'll use it in BD3D2AVS, as it requires to demux both video streams. It is much more easy to convert the ISO streams directly.
That strange. I've added that info into usage script example in every package I've uploaded.
This is SO annoying. Basically, there is no acceptable way to back up Men in Black 3.
DVDFab conversions are low-quality, and even if I wanted to make them lossless to later re-encode with x264, it's limited to 30mbit/sec, which is by far too low.
IMToo Blu-ray 3D Ripper isn't bitrate limited, but it applies some sort of weird filter to the video (or it's just a very bad encoder) so that even at 80mbit/sec, picture quality is less than ideal.
Lastly, we have ldecod/ssifsource/h264stereosource which just can't decode it and doesn't look like there'll ever be a new version.
Then we have Stereoscopic Player which does include a wonderful directshowsource MVC decoder by CoreCodec (CoreMVC) but has the DLL of the filter unregisterable (regsvr32 fails) even though Stereoscopic Player uses it in a directshow graph.
There is just no way out ;(
I've solved that problem already, but I quite late, though.
Shall I upload my example of usage of StereoPlayer's CoreMVC decoder?
That's why I was talking to update ldecod mod :cool:There is nobody around that can update it =/
That's true. Another way is to wait a new Intel Media SDK MVC decoder. They promised to add blu-ray format support.
Complete log of: "MIB 3" in 3D (Direct to original disc) Zone A+B+C
max_dec_frame_buffering larger than MaxDpbSize
Error writing to pipe! | 0x0000006d: Le canal de communication a été fermé.
Error writing to pipe! | 0x0000006d: Le canal de communication a été fermé.
Writing the destination file faile
v03 Writing the destination file failed.
Aborted at file position 15728640
Aborted at file position 7340032.
That bug has been already discussed here. It is ldecod-mod bug. And after that message ldecod.exe terminates, so reading from/writing to pipes can not be continued.
I don't understand why you want to do that. DirectShowMVCSource decodes the left and right views, so if you have them already in h264, you can't decode them again. Anyway, to use the stf parameter, you need to decode a SSIF file. It doesn't work with raw h264 streams, or with m2ts files. (BTW, due to limitations in the Stereo Player filters, it doesn't work either with MPLS files. Pity!)
I suppose you need something to source a h264 stream, right? IMO, the best method is to mux it to mkv, and then use DirectShowSource.
The problem is that right.h264 can not be simply decoded, because it uses parts of left.h264.
I think at the next stage (if we shall have errors with CoreMVC) we have to read blu-ray stream format documentation. Because if alexpk could add that functionality to ldecod, why we can not?
I thought redirection of pipe...
To understand the difficulty of that, please read Microsoft DirectShow Filter development manual (that is pretty tangled, too). There is no "pipes" there.
First failure of Prometheus with DirectShowMVCSource.dll @ 17.4% :( but ldecod works 100% Done :cool:
Might be out of memory error. Try to add avisynth "setmemorymax(128)" method at the top of the avs-script.
Hi r01Z,
I have had some recent success with BD3D2AVS however have now encounted the some problems I posted a little while ago, this time with 3D "The Avengers", The problem is with Right view, went right back to the original post and got the dreaded green screen for right view, with BD3D2AVS I got the earlier described end pipe error.
I see that there has been a lot of recent success lately, can you direct me to you latest version of the BD3D2AVS tool kit to try?
regards and thanks
Please, send a link to the video source, from where you got it. I'll try to find out the issue that causes it.
Is it (still) necessary to add 3 seconds of black to the end of the video? Because if I uncheck this setting, the encoding fails (there's something missing in the generated AVS script):
avs [error]: `_ENCODE_3D_MOVIE.avs' didn't return a video clip
I've noticed that right view decoded by CoreMVC has frame count less by 1 than the left view. And it might be a bug of CoreMVC decoder.
Thanks for the tests. I'm using X264 "slow" encode, and afair my Quad-Core was also at 100% with SSIF-Source. I have 6GB RAM, so that should not be an issue.
As I already posted I got higher fps than you with SSIF-Source, in especially taking into account, that i use "slow" profile, maybe RAM is a limitation for you!?
Please, keep in mind that if you do use 32-bit version of any application (x264.exe, for example) there is ONLY 2GB RAM available for it.
P.S. Sorry for a late reply (work, work, work...)
Neisklar
23rd October 2012, 16:58
I've solved that problem already, but I quite late, though.
Shall I upload my example of usage of StereoPlayer's CoreMVC decoder?
Absolutly yes, so we can learn from each others ways to use it, and make an more robust and stable solution.
That's true. Another way is to wait a new Intel Media SDK MVC decoder. They promised to add blu-ray format support.
Yeah, i read it, that promise was made already some month ago, and still no release of the mvc part.
Also it seems there is noone from the ffmpeg group working on MVC.
pommesmatte
23rd October 2012, 22:05
BTW, currently, the -core option is automatically set when the conversion to AC3 is enabled, as I don't think it makes sense to convert a 7.1 DTS track to AC3. Am I right?
eac3to will automatically downmix the rear-surround into the surround-channels, but extracting the Core should be fine, as the core should exactly incorporate the downmixed 5.1 per definition.
Neisklar
23rd October 2012, 23:40
Another way is to wait a new Intel Media SDK MVC decoder. They promised to add blu-ray format support.
There is an MVC Decoder (even as DirectShowFilter) inside the 2012 R3 Intel Media SDK, but i can't really connect it in GraphEdit:(
Also it seems it only takes a combined bitstream, not seperated streams.
slavanap
24th October 2012, 10:33
There is an MVC Decoder (even as DirectShowFilter) inside the 2012 R3 Intel Media SDK, but i can't really connect it in GraphEdit:(
Also it seems it only takes a combined bitstream, not seperated streams.
That's true. And the way is to try to remux two streams into .mvc one. As well as Intel MVC decoder, original ldecod binaries also support .mvc format, so the alexpk's work was based on remuxing two files into one. I haven't studied h264 ("annex H", I guess; Intel MVC decoder & ldecod supports only "annex B") well to do so.
And if someone do so, it will be absolutely legal.
Neisklar
24th October 2012, 11:04
That's true. And the way is to try to remux two streams into .mvc one. As well as Intel MVC decoder, original ldecod binaries also support .mvc format, so the alexpk's work was based on remuxing two files into one. I haven't studied h264 ("annex H", I guess; Intel MVC decoder & ldecod supports only "annex B") well to do so.
And if someone do so, it will be absolutely legal.
Just had a short look into the spec http://www.itu.int/rec/T-REC-H.264-201201-I/en, that stuff drives me crazy.
There is also somewehre the MVC Reference Software, which includes an biststream assembler, but i couldn't get it to work with eac3to-extracted left and right bitstreams.
For using ldecod we "only" need to have an bitstream assembler. I also think alexpk did add that assembler into ldecod.
And looking at the MVC spec, especially how few pages are used compared to all the other h.264 stuff, it shouldn't be such a difficult task to implement it, WHEN you know how h.264 works. But understanding that monster spec is another thing...
Edit:
It seems i got that bitstream assembler halfway working. That lazy guys... They only implemented stuff that the reference mvc encoder does, and did not skip optional stuff from other decoders...
I could succesfully combine eac3to demuxed left and right. Mux it with YamB in an MP4 container. It plays (one view) in Windows Media Player, it is not working in VCL, and i could use the Intel Media SDK MVC Decoder, BUT also here only one view:((( Need to pipe it through ldecod and see whats happening.
Edit2:
ldecod crashes (but correctly identifies 2 views), it could be, thats my playing with the ldecod source, so i will later have another try
Nico8583
24th October 2012, 16:41
I have another question: do you think it will soon be possible to encode to MVC in order to recreate Bluray structure ? DVDFab 8.2 can already encode BD50 to BD25 which is compatible with home player but I would like the same with x264 ...
r0lZ
25th October 2012, 13:43
OK, I've added the support for 2-pass encoding (as well as Constant Quality and 1-pass ABR) in BD3D2MK3D.
In 2-pass and ABR modes, you can specify the video bitrate or the desired size of the final MKV file. However, it was not simple to compute the right bitrate for the target file size, mainly because each stream has a different overhead when it is muxed. The formula I use seems to work well, but the bitrate it gives is only an approximation, and it has not been tested in all circumstances. If someone can help in determining the correct method, please let me know.
Also, note that the method to compute the bitrate assumes that all streams that are ticked in tab 2 will be muxed in the final MKV file, and that the audio and subtitle streams are muxed with no compression. If you use the unmodified scripts produced by BD3D2MK3D to mux the MKV file, the result should be more or less accurate, but of course, it will not be correct if you mux yourself different streams or with the compression enabled. (I think the compression is enabled anyway when you use MkvMerge GUI.)
I've also fixed some little bugs and improved some things.
# v0.5 (October 25, 2012)
# - Added options to encode in CQ (Quantizer) or 2-pass and ABR modes (at a given bitrate
# or for a given MKV file size).
# - Final NTSC frame rate was slightly wrong when the intro clip was included.
# - When encoding with 64-bit x264, the estimated time remaining (eta) is now displayed.
# - Some little cosmetic bugs fixed.
# - Added some missing info in console log.
Download latest version (http://download.videohelp.com/r0lZ/BD3D2AVS/BD3D2MK3D.7z)
Nico8583
25th October 2012, 18:39
Thanks a lot !!
MaistroX
25th October 2012, 18:54
Thx!
Trying it out now! :)
Queston: I have this set in RipBot:
"--level 4.1 --vbv-bufsize 25000 --vbv-maxrate 25000 --filter 0,0 --ref 10 --no-mixed-refs --bframes 10 --b-adapt 2 --b-pyramid none --subme 10 --aq-mode 1 --trellis 2 --partitions all --me tesa"
How can I rewrite it and use the same for BD3D2MK3D ?
Regards MaistroX
r0lZ
25th October 2012, 22:48
You can paste that options in the "Additional Options" field, except --level 4.1 that you should set with the Level box.
Do not tick the "BD Compatible" checkbox, as it sets also some of these options (with different values).
Why do you need to use that options?
Penecho
25th October 2012, 23:07
pls del, wrong thread
MaistroX
25th October 2012, 23:35
Since I don't really care for the time the encodes take, I have come to the conclusion that these settings have proved to be the best in regards to picture quality on my 64" tv, perfect in any movie! :)
MaistroX
26th October 2012, 12:11
@ r0lZ!
Latest verion works perfect. :)
A request that I will asked before but will explain and modify a bit here:
You/I can "Convert Subtitle to 3D" as it is now, but lets say (as I often do) want all of BD´s subtitles converted in on swep without having to spend LONG time with each one.
Say as an ex. one open a BD and have the choice to ONLY have have subtiltes extracted and at the same time have them converted to 3D subtitles (all at ones), not one and one manually.
That would be a GREAT addon to BD3D2MK3D! :)
And allso when I´m @ it.....
Subtiles ARE 99% in the wrong part of the picture as in a original, it would be nice to allso (as I have to go throu EVERY subtitle all over now) be able to set the value that it should be movied to from the bottom.
The thing I´m trying to explain is found in BDSup2Sub, and is found under Edit/Move All Cations and in "Move outside bounds".
As I have to do today, I have to manually (and it takes forever with ALOT of subs) go throu each and every one to get them all as "Offset Y:" 6! :(
But after they all are in perfect placement in the picture and and not distracting for the viewer! :)
Can u please add a automated function for this allso in BD3D2MK3D?
LOVE your work so far, makes my "life" so much easier! ;)
Regards MaistroX
r0lZ
26th October 2012, 13:03
A request that I will asked before but will explain and modify a bit here:
You/I can "Convert Subtitle to 3D" as it is now, but lets say (as I often do) want all of BD´s subtitles converted in on swep without having to spend LONG time with each one.
Say as an ex. one open a BD and have the choice to ONLY have have subtiltes extracted and at the same time have them converted to 3D subtitles (all at ones), not one and one manually.
That would be a GREAT addon to BD3D2MK3D! :)
Well, to extract the subtitles you want, you can simply use any eac3to GUI. (Of course, they will not be converted to 3D SUB/IDX format.)
Or you can use BD3D2MK3D, and untick all audio streams. (You have to type a movie name in tab 3, but that should not be too difficult!)
And, if you want to convert them to 3D on the fly, just tick that option and select the desided depth in tab 2.
Then, launch the process. BD3D2MK3D will extract all subtitles and convert them to 3D automatically. (It will also create the scripts to encode the movie, but you don't need to use them.)
So, IMO, my GUI does already what you want.
And allso when I´m @ it.....
Subtiles ARE 99% in the wrong part of the picture as in a original, it would be nice to allso (as I have to go throu EVERY subtitle all over now) be able to set the value that it should be movied to from the bottom.
The thing I´m trying to explain is found in BDSup2Sub, and is found under Edit/Move All Cations and in "Move outside bounds".
As I have to do today, I have to manually (and it takes forever with ALOT of subs) go throu each and every one to get them all as "Offset Y:" 6! :(
But after they all are in perfect placement in the picture and and not distracting for the viewer! :)
Can u please add a automated function for this allso in BD3D2MK3D?
After conversion of the BD subtitles to SUB/IDX format (and optionally to 3D), they should still be at their original position. That may not be what you want, but my GUI tries to clone the original BD as close as possible.
I agree that sometimes, it can be useful to move them a bit. But currently, it's not possible. My GUI uses Suppe3D.exe to convert the subtitles to 3D. Suppe3D uses BDSup2Sub++ to convert the SUP to PNG/XML format, then compose the PNG images in 3D, and uses again BDSup2Sub++ to convert them to SUB/IDX format. Unfortunately, I don't have the control on that process (except the 3D mode and depth, the resize method and the "only forced" options). It would be nice to add the possibility to specify custom options in Suppe3D, that it should pass unchanged to BDSup2Sub++ during the first pass. With that possibility, it would be possible to do whatever BDSup2Sub++ can do with the command line (including the "Move outside bounds" trick).
However, as I've said before, Suppe3D is not my work, and I don't want to modify it myself. Furthermore, Suppe3D is a temporary tool, that should be replaced soon with new options in BDSup2Sub++, so I don't think that it should be enhanced. Anyway, it's up to Neisklar. If he accepts to enhance it, I will add the corresponding options in my app.
I could also write a new tool to just extract the subtitle streams from the BD, convert them myself to SUB/IDX format with any parameter supported by BDSup2Sub++, and finally call Suppe3D to convert them to 3D (if that option is ticked). But I can't do that right now. I am currently working on several other programs, and I need to update PgcEdit. That's a big work, and I haven't enough time to do a tool that will probably be used by you only.
I suggest you try to convince SassBot to implement the 3D support in BDSup2Sub++ (http://forum.doom9.org/showthread.php?t=165416). With that tool, it should be much more rapid to convert the subtitles to 3D. SassBot has promised to do it, but he is not very active for the moment.
Eseninzhiv
26th October 2012, 15:32
please help
create a script AVS
for each eye separately
I need some 2 AVI files (left, right) to work in 3D Encoder
I can not find a solution to this problem
right eye
LoadPlugin("DirectShowMVCSource.dll")
video = DirectShowMVCSource("X:\BDMV\STREAM\SSIF\xxxxx.ssif")
AssumeFPS(video, 24000, 1001)
ConvertToYUY2
left eye
LoadPlugin("DirectShowMVCSource.dll")
video = DirectShowMVCSource("X:\BDMV\STREAM\SSIF\xxxxx.ssif", decodeleft=true)
AssumeFPS(video, 24000, 1001)
ConvertToYUY2
in Virtualdub these scripts work
but do not work in Pismo File Mount
scheme of work virtual AVI:
1. Download and install following files.
a. Avisynth rev.2.5 at http://sourceforge.net/
b. Pismo File Mount Package built 162 http://www.pismotechnic.com/pfm/
c. AVFS 1.0.0.5(The Joe Lowe Project) http://www.turtlewar.org/avfs/
-Uncompress this into an arbitrary folder and copy avfs.dll to C:/Windows
-Register avfs.dll into Pismo File Mount
(1) Registration: pfm register c:\windows\avfs.dll from command prompt
(2) To Unregister: pfm unregister c\windows\avfs.dll from command prompt
2. Move mouse-cursor on VIDEO.avs and right-click.
3. Select Quick mount from Menu.
4. VIDEO.avs icon is changed to folder icon then, Virtual folder is created.
5. VIDEO.avi is created in the folder.
under this scheme creates a virtual video and do not take up space on your hard drive.
r0lZ
26th October 2012, 15:43
I wonder how your scripts can work! With the following two lines, you define a "video" clip.
video = DirectShowMVCSource("X:\BDMV\STREAM\SSIF\xxxxx.ssif")
AssumeFPS(video, 24000, 1001)
But the ConvertToYUY2 command does not take the "video" clip as input, and therefore it has nothing to convert.
Furthermore, your script does not return the "video" clip, and should therefore return the output of ConvertToYUY2, that has no input!
IMO, the result MUST always be nothing. I don't know why it works in VDub.
And are you sure you need YUY2 output? Usually, with BD input, it is better to leave the YV12 format unchanged.
Also, I recommend to use AssumeFPS("ntsc_film") instead of AssumeFPS(24000, 1001), as Avisynth doesn't return the floating point frame rates correctly when they are computed.
I don't know and don't use Pismo File Mount, so I can't help much more, but begin by fixing your two scripts:
LoadPlugin("DirectShowMVCSource.dll")
DirectShowMVCSource("X:\BDMV\STREAM\SSIF\xxxxx.ssif")
AssumeFPS("ntsc_film")
ConvertToYUY2()
I assume that you know that your encoding application must be located in the "magic path".
Neisklar
26th October 2012, 16:45
It seems i got that bitstream assembler halfway working. That lazy guys... They only implemented stuff that the reference mvc encoder does, and did not skip optional stuff from other decoders...
I could succesfully combine eac3to demuxed left and right. Mux it with YamB in an MP4 container. It plays (one view) in Windows Media Player, it is not working in VLC, and i could use the Intel Media SDK MVC Decoder, BUT also here only one view:(((
ldecod crashes (but correctly identifies 2 views), it could be, thats my playing with the ldecod source, so i will later have another try
All was not working correctly, so i ended building my own bitstream-assembler. After some trial and error with the interleaving of that NAL units i got it so far that the combined mvc bitstream, muxed in mp4 can be played in WMP, plays in VLC.
It seems it can be decoded in a stock ldecod, and can be decoded with the Intel Media SDK delivered sample_decode.exe as yuv (that one offers under some circumstances even hardware support). For sample_decode.exe we have source provided, and even it's just a sample for the SDK its much faster than ldecod.
I can build up a graph with the Intel Media SDK MVC Decoder Filter, BUT it seems that only gives back the left view:(
Anyone has some documentation or clues, about the exact ordner of NALUs in an MVC bitstream? That Blu Ray MVC stuff uses some sort of special NALU stuff:(
Eseninzhiv
26th October 2012, 18:08
r0lZ, All done
LoadPlugin("DirectShowMVCSource.dll")
DirectShowMVCSource("E:\Blu-ray\1\MVCTOAVI.EXE\3D.ssif")
AssumeFPS("ntsc_film")
me need this format YUY2.
in Virtualdub, grafstudio all works, but Pismo File Mount an error.
error.log:
Evaluate: System exception - Access Violation
(E:\Blu-ray\1\MVCTOAVI.EXE\1-right.AVS, line 2)
r0lZ
26th October 2012, 19:22
Pismo File Mount is apparently an ISO mounter, right? It's not an encoder or player. How could it crash with an Avisynth script?
The access violation crash is usually caused by the encoder app (that loads the avs script) without being in the "magic path". It can be also caused if the app tries to seek to a specific frame number.
Oh, I see. It's probably AVFS that is causing the problem. It is the "app" that loads the avisynth script, and therefore it must also be in the magic path. Not sure it's feasible, but try to move the AVFS.dll to the magic folder, or try to mount the avs file as a file containing the magic folder path. Since I don't use Pismo File Mount and AVFS, I can't explain how to do that, but these tools look interesting. I will have a look tomorrow...
Nico8583
26th October 2012, 19:36
I have another question: do you think it will soon be possible to encode to MVC in order to recreate Bluray structure ? DVDFab 8.2 can already encode BD50 to BD25 which is compatible with home player but I would like the same with x264 ...
Any idea to encode to MVC ?
r0lZ
26th October 2012, 20:16
r0lZ, All done
me need this format YUY2.
in Virtualdub, grafstudio all works, but Pismo File Mount an error.
error.log:
Evaluate: System exception - Access Violation
(E:\Blu-ray\1\MVCTOAVI.EXE\1-right.AVS, line 2)
OK, I've tried the AVS mounter trick. It's a good idea, but obviously, it cannot work with DirectShowMVCSource(). If I understand correctly how it works, avfs is a plugin for Pismo File Mount that allows it to mount the AVS script as a file folder, and in that folder, it creates a virtual AVI file, that you can theoretically use with any application that can open an AVI.
The problem is that the AVS script is read and evaluated by Pismo File Mount during the encoding process, and not by the app that reads the AVI. Therefore, for DirectShowMVCSource to work, Pismo File Mount should be installed in the magic path. But that's impossible, as it's a driver, and the installer installs it in the system, and doesn't ask for a destination folder. Maybe it is possible to move its DLL files to another location and modify the registry to open it from that path, but I'm not sure. Anyway, playing with the registry entries of a driver is dangerous, and I don't want to encourage the users to do it.
Sorry, but you will have to find another solution. (There is anther app that can convert an AVS script to a virtual AVI, but I don't remember its name, and it might be outdated.)
IMO, a better solution is to encode to MKV with my GUI. ;)
[EDIT] The tool to convert an AVS file to virtual AVI is probably MakeAVIS (http://avisynth.org/mediawiki/MakeAVIS). Not sure if it is still developed and where you can download it. It may have the same problem than Pismo File Mount, since it's also a sort of codec that is installed in the system and not in the magic path.
Neisklar
26th October 2012, 23:01
Any idea to encode to MVC ?
The Intel Media SDK 2012 R3 MVC Encoder should be configurable to output the MVC stream in that special blu ray format.
SixKiller
27th October 2012, 04:15
Hello Guys,
i guess i need another little help from you. Lately im running into strange Problems with the mvcdec (mvctoavi.exe).
Per default it seems that the decoder changes the left-right alignment. The Bluray is left-right. I load this script:
LoadPlugin("E:\BD3D2MK3D\toolset\mvctoavi.exe\DirectShowMVCSource.dll")
DirectShowMVCSource("H:\BDMV\STREAM\SSIF\00800.ssif", stf=14)
AssumeFPS("ntsc_film")
This should output left-right, Full Side.by.Side.
But in fact this outputs right - left. If I encode this script and play back the encoded file in Stereo-Player (set to left-right) the the 3D effect is totally distorted. If i set stereo-player to "right-left" it seems ok, but i have a feeling that the 3D Effect isn't "that strong".
I think it's not directly related to DirectShowMVCSource, because if i use "real" mvctoavi from wimmer (which i bought) it's the same effect. Left.avi is right view indeed and vice versa.
I dont know how i can solve this problem, since i cant tell whats going wrong ?!?!
Thanks for your advice.
P.S. ssifsourcefilter decodes correctly, left = left and right = right
r0lZ
27th October 2012, 08:58
Interesting and strange problem!
The Bluray is left-right.
Are you sure?
What is the output of eac3to? Does it show the left stream first?
What is the BD you want to encode? I would like to try it...
frencher
27th October 2012, 10:50
I will not have time to look at here but I put the link here so if someone could patch MPEGSplitter.dll
MPC-HC MPEG Splitter change ax to dll.patch + MPEGSplitter.ax.rar (http://ul.to/y22nbnvs)
I re-encoded with ldecod and makes a demux with eac3to full and it worked for me the files are not corrupt.
Someone could patch the file ax ?
r0lZ
27th October 2012, 11:19
Someone could patch the file ax ?
I haven't tried it yet, but it seems that the latest AX doesn't need to be patched. Just rename it.
I just had a look into the current source of that Splitter in the MediaPlayerClassic Repo.
They already included Peters MVC modifications.
So you should be able to just grab the lates build, get the MPEGSplitter.ax file out of it, rename it to .dll (there is no difference between .ax and .dll, it's only the extension) and have a try.
mpc-hc.sourceforge.net
You need to go to "Other Systems & Versions", http://mpc-hc.sourceforge.net/downloads/ and get the standalone filters pack.
MaistroX
27th October 2012, 11:26
What does this mean? ->
"
child process exited abnormally
child process exited abnormally
while executing
"close $fh"
(procedure "GenerateAvs" line 150)
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)
"
r0lZ
27th October 2012, 11:48
Well, it means that an exe called by the GUI has failed (and, additionally, that there is a bug in my code, as I should trap the error).
According to the error message, it seems that the error has occurred when the program was in the first phase of the demux process (when the main GUI window is still open and the status bar shows "Checking streams of M2TS file..."). Right?
If it's the case, then it's eac3to that has failed when it tries to retrieve the information from the M2TS file selected in the drop-down box at the top of tab 1. That phase is skipped when you select the MPLS file instead of the corresponding M2TS, so you can try to change that option and retry. It may work, or not. Anyway, if eac3to has had a problem, that means probably that there is something wrong with your BD.
I wonder why it has crashed. Can you open a command prompt and type:
"path_to\eac3to.exe" "X:\BDMV\STREAM\XXXXX.m2ts"
(where XXXXX.m2ts is the file shown by default in the dropdown box of tab 1).
Then, post here the eac3to error message. Thanks in advance.
Of course, I will fix the bug anyway, but without knowing the exact error message, I will not be able to find a workaround, and it will be only possible to display the error message and abort the conversion.
24673583
27th October 2012, 11:50
But finally the decoding part isn't anymore the bottleneck;-)
This will be going to get longer, so please excuse;-)
You really need to test what your system can display, and it is also most important how you play it:
External Player:
If i play for example an TB or SBS Video from my WDTV Live, then my TV set doesn't know anything about subtitles, and subtitle rendering, thats all the job of the WDTV. Furthermore the WDTV itself doesn't even know that it's displaying 3D content/TB/SBS. So the TV sets gets only a video with the subtittles "burned in". For that the subtitles must be duplicated one for the left and one time for the right eye (with maybe some deep offset).
Since the WDTV doesn't even know its' displaying 3D stuff, .srt subtitles won't work at all (unless someday in the future there is an firmewareupdate which lets the user chose to display them 3D style).
The other subtitles are the image based ones like .sup (BD) or .sub/idx (VobSub). The Player could duplicate and scale that image accordingly or - and thats what i think will be the only good working way to do it - have the subtitle images be already 3D subtitles. So playing 3D stuff works an all external players regardless of 3D support or not!
Internal Player of TV set:
My TV set for example can display .srt subtitles and sub/idx Subtitles, BD .sup ones not at all.
Having an TB 3D Video and displaying it NOT in 3D mode, .srt subtitles are shown, switching to 3D mode, .srt subtitles aren't shown at all. Maybe there will be an firmware update someday in the future.
And i have forgotten my testing results of .sub/idx image based subtitles in 3D mode. I will edit my post later if i did it again.
I have written an quick'n'dirty commandline tool which will convert .sup and .sub subtitles to 3D subtitles in either .sup or .sub format with settable deep, utilizing bdsup2sub++.exe
You can download it here (current Version V0.3): http://www.share-online.biz/download.php?id=XKFLN1CMBX6
Please be warned that it may crash, the result may not be as expected. For example i had one movie where the alpha was not correctly handled, so i got a big black bar on screen. Also the 3D subtitle file sare much larger.
To make things easy, put the bdsup2sub++.exe in the same dir as the tool and run it for example (default to OverUnder mode)
Suppe3D.exe -d 15 -if originalsubtitle.sup -of 3dsubtitle.sup
for SBS do:
Suppe3D.exe -sbs -d 15 -if originalsubtitle.sup -of 3dsubtitle.sup
Just run it without arguments to get a quick'n'dirty help
The -d param sets the deep, negative values are behind the screen. Don't set them to big, also it depends on the movie. I have for example one, where you even don't need deep at all, they are already placed out of the way of 'sticking out' objects.
This little tool won't be finished, please consider it only as a temporary solution till SassBot has the time to code that functionality inside the bdsup2sub++.exe
Edit2:
Take for example the commandline MeGui creates
"X:\Rip\MVCTOAVI.EXE\MeGui2153\tools\x264\avs4x264mod.exe" --level 4.1 --tune film --crf 20.0 --keyint 240 --sar 1:1 --output "O:\3DMovie.mkv" "O:\SourceScript.avs"
This little helper calls the x264 and ppasses through all arguments.
Or with an "normal" avs2yuv one
avs2yuv <input avs> -o - | x264_x64.exe [opts] -o <out_file> - --demuxer y4m
the Suppe3D V0.3 have a bug...
I try to use it conversion a BD .sup to 3D Left+Right Stereoscopic .sup,but frame rate 23.976 to 25.
Suppe3D.exe -sbs -d 15 -if originalsubtitle.sup -of 3dsubtitle.sup
r0lZ
27th October 2012, 11:55
Are you sure you use the latest version of BDSup2Sub++ (v1.0.0)? IIRC, SassBot has fixed a bug with the default frame rate occurring in a beta (and in BDSup2Sub.jar).
Anyway, I will check it here...
MaistroX
27th October 2012, 12:01
I just in selected, in the box were I have *.MPLS and Time of movie, the *.MPLS and it started the encode right away, but got that fault messege if I had Time selected.
I will do the "path_to\eac3to.exe" "X:\BDMV\STREAM\XXXXX.m2ts" after the encode is done. :)
Well, it means that an exe called by the GUI has failed (and, additionally, that there is a bug in my code, as I should trap the error).
According to the error message, it seems that the error has occurred when the program was in the first phase of the demux process (when the main GUI window is still open and the status bar shows "Checking streams of M2TS file..."). Right?
If it's the case, then it's eac3to that has failed when it tries to retrieve the information from the M2TS file selected in the drop-down box at the top of tab 1. That phase is skipped when you select the MPLS file instead of the corresponding M2TS, so you can try to change that option and retry. It may work, or not. Anyway, if eac3to has had a problem, that means probably that there is something wrong with your BD.
I wonder why it has crashed. Can you open a command prompt and type:
"path_to\eac3to.exe" "X:\BDMV\STREAM\XXXXX.m2ts"
(where XXXXX.m2ts is the file shown by default in the dropdown box of tab 1).
Then, post here the eac3to error message. Thanks in advance.
Of course, I will fix the bug anyway, but without knowing the exact error message, I will not be able to find a workaround, and it will be only possible to display the error message and abort the conversion.
r0lZ
27th October 2012, 12:06
... if I had Time selected.
What do you mean? Is it "m2ts" instead of "Time"?
Anyway, I have already modified the code to trap the error, display the eac3to error message in a dialog, and suggest to the user to try the MPLS file instead of the M2TS. If it works for you, let's hope it will work for other users too!
Neisklar
27th October 2012, 12:39
Does anyone has the source of the ssifSource Avisynth Plugin?
r0lZ
27th October 2012, 13:39
the Suppe3D V0.3 have a bug...
I try to use it conversion a BD .sup to 3D Left+Right Stereoscopic .sup,but frame rate 23.976 to 25.
Suppe3D.exe -sbs -d 15 -if originalsubtitle.sup -of 3dsubtitle.sup
I have tried, and I can't reproduce that problem.
The latest versions of BDSup2Sub++ has a --load-settings command line argument, and when it is not provided, your previous settings are ignored. With older versions, it is possible that the conversion to 25fps is activated in the INI file, and used during the conversion. Also, there was a known bug with automatic conversion to 25fps when the command line was used. Thet bug has been fixed too. So, v1.0.0 should work without problem. (It's the version that is included with BD3D2MK3D.)
If you can reproduce the bug with v1.0.0, please let us know, and post the original subtitle stream somewhere.
Nico8583
27th October 2012, 17:10
The Intel Media SDK 2012 R3 MVC Encoder should be configurable to output the MVC stream in that special blu ray format.
Thanks, but how can I use that ?
MaistroX
27th October 2012, 19:56
Hi!
Just tryed to get ONLY sound and subtitles of Avatar 3D, but it just stopped, check here -> http://www.mediafire.com/file/hvvvu1s9f9cyz8i/Avatar_3D_Subs_00854_mpls.rar
Neisklar
27th October 2012, 20:03
Thanks, but how can I use that ?
Why not just download it and have a look? ;-)
There is, beside the source, a prebuild encode sample with corresponding doc, which can do an mvc encode (from yuv files) as single file and as 2 files like needed for blu ray. Then you just need the created h.264 bitstream files to be muxed in m2ts files.
Please don't ask me how to do the ssif interleaing of those two files. Thats done at file system level
Neisklar
27th October 2012, 20:07
Hi!
Just tryed to get ONLY sound and subtitles of Avatar 3D, but it just stopped, check here -> http://www.mediafire.com/file/hvvvu1s9f9cyz8i/Avatar_3D_Subs_00854_mpls.rar
There are errors demuxing the first (english) subtitle stream, eac3to even states that the file maybe even damaged. i think tsMuxer can also demux, so have a try with that.
r0lZ
27th October 2012, 20:44
Hi!
Just tryed to get ONLY sound and subtitles of Avatar 3D, but it just stopped, check here -> http://www.mediafire.com/file/hvvvu1s9f9cyz8i/Avatar_3D_Subs_00854_mpls.rar
I see in the log, several lines with:
The source file seems to be damaged (discontinuity).
That error happens often with subtitle streams when the MPLS file is demuxed. It's why BD3D2MK3D demuxes the corresponding M2TS file when it's possible.
Unfortunately, if you can't demux the M2TS too, that means that your source is severely damaged. I'm affraid there is no solution with BD3D2MK3D. However, try to demux the subtitle stream with tsmuxer, as suggested by Neisklar, and use BD3D2MK3D to encode the video only. Mux manually with MkvMerge GUI. That may work, or not!
r0lZ
27th October 2012, 20:49
I just in selected, in the box were I have *.MPLS and Time of movie, the *.MPLS and it started the encode right away, but got that fault messege if I had Time selected.
I've just understood your message. The duration of the movie in the drop box is of course abnormal. It is probably there because eac3to has not printed the information about thr MPLS in its standard format, and that means that your BD is strange.
Can you post a screenshot of the first tab when the BD has just been loaded, and the content of the console log?
Nico8583
27th October 2012, 22:10
Why not just download it and have a look? ;-)
There is, beside the source, a prebuild encode sample with corresponding doc, which can do an mvc encode (from yuv files) as single file and as 2 files like needed for blu ray. Then you just need the created h.264 bitstream files to be muxed in m2ts files.
Please don't ask me how to do the ssif interleaing of those two files. Thats done at file system level
Thanks for these informations but I don't understand how work the SDK Intel, how do I need to use it, program it etc... And I can't spend much time at now... :scared:
I'll see that later :)
MaistroX
27th October 2012, 22:12
Had a bad backup! ;/
I've just understood your message. The duration of the movie in the drop box is of course abnormal. It is probably there because eac3to has not printed the information about thr MPLS in its standard format, and that means that your BD is strange.
Can you post a screenshot of the first tab when the BD has just been loaded, and the content of the console log?
MaistroX
27th October 2012, 22:26
@ r0lZ!
Another thing...
When I use the Convert subtitles to 3D, I choose one and convert, let say->
"7 Subtitle (PGS), English_exp.idx" and it gets saved as "7 Subtitle (PGS), English_exp 3D" after successful covertion.
I go on to choose the next to convert:
Say for ex: "13 Subtitle (PGS), Swedish_exp" but I have to go manually and rename "7 Subtitle (PGS), English_exp 3D" to what I now are converting.... "13 Subtitle (PGS), Swedish_exp 3D".
Can u make it suggest allways the same path and only add the "3D" as in the first choice allso on the second one and third ans so on!? :)
Allos, noticed that the subtitles coverted are ALOT downsized and one can see that it´s not as good as a "real" 3D-subtitle, can that be changed? Maby have an option for a better quality in 3D outcome subtitle!? :)
Regards MaistroX
24673583
28th October 2012, 08:20
I have tried, and I can't reproduce that problem.
The latest versions of BDSup2Sub++ has a --load-settings command line argument, and when it is not provided, your previous settings are ignored. With older versions, it is possible that the conversion to 25fps is activated in the INI file, and used during the conversion. Also, there was a known bug with automatic conversion to 25fps when the command line was used. Thet bug has been fixed too. So, v1.0.0 should work without problem. (It's the version that is included with BD3D2MK3D.)
If you can reproduce the bug with v1.0.0, please let us know, and post the original subtitle stream somewhere.
I'm sure BDSup2Sub++ is v1.0.0, Suppe3D is v0.3
when a use batch commandline "Suppe3D.exe -sbs -d 15 -if eng.sup -of eng_3d.sup"
then frame rate 23.976 to 25. The latter part of timeline change to start from 12 hour.
r0lZ
28th October 2012, 08:44
Had a bad backup! ;/
That's not surprising. ;)
However, I still would like to see the screenshot (it it's still possible). I want to make sure the bug doesn't happen again, even with a bad backup.
r0lZ
28th October 2012, 08:55
@ r0lZ!
Another thing...
When I use the Convert subtitles to 3D, I choose one and convert, let say->
"7 Subtitle (PGS), English_exp.idx" and it gets saved as "7 Subtitle (PGS), English_exp 3D" after successful covertion.
I go on to choose the next to convert:
Say for ex: "13 Subtitle (PGS), Swedish_exp" but I have to go manually and rename "7 Subtitle (PGS), English_exp 3D" to what I now are converting.... "13 Subtitle (PGS), Swedish_exp 3D".
Can u make it suggest allways the same path and only add the "3D" as in the first choice allso on the second one and third ans so on!? :)
That's because the output file field is automatically filled with the fefault file name only when it is empty. I will try to improve that...
Allos, noticed that the subtitles coverted are ALOT downsized and one can see that it´s not as good as a "real" 3D-subtitle, can that be changed? Maby have an option for a better quality in 3D outcome subtitle!? :)
Regards MaistroX
The width of the subtitle must be divided by 2 in half side by side, and the height in half top/bottom. You can change the resize filter and try a better (and slower) one if you wish, like "lanczos3". There is no other way to improve the resize.
Remember that the filter defined in the Settings menu is used anyway during the conversion of the movie to 3D, and is used as the default in the dialog of the "Convert Subtitle to 3D" tool. I suggest to use the tool to try the different resize methods, and when you have found the best one, change it in the Settings menu.
r0lZ
28th October 2012, 08:56
I'm sure BDSup2Sub++ is v1.0.0, Suppe3D is v0.3
when a use batch commandline "Suppe3D.exe -sbs -d 15 -if eng.sup -of eng_3d.sup"
then frame rate 23.976 to 25. The latter part of timeline change to start from 12 hour.
Can you upload the subtitle stream somewhere for us to test it?
[EDIT] Sorry, but again, I can't reproduce the problem. I did a test with a SUP file @23.976 fps containing 1180 subtitles. I've converted it to SUP with exactly the same options than in your example (-sbs -d 15).
The start time of subtitle 1 in the original file is 00:00:09.635, and it is 00:00:09.640 in the output file. The start time of the last subtitle are, respectively, 02:00:52.912 and 02:00:52.920. So, with the exception of the fractional part (probably rounded up to the nearest frame), the time codes are correct.
Perhaps there is something bad in your original SUP file, but without it, I can't check it.
r0lZ
28th October 2012, 12:54
I've fixed some bugs, improved some things and updated the HTML documentation.
Most of the problems reported above should not happen any more.
# v0.6 (October 28, 2012)
# - Bug: eac3to errors are now trapped during the check of the m2ts file before the demux process.
# - Bug: Subtitle resize filter was not saved when it is changed in the Settings menu.
# - Better handling of malformed eac3to output when the M2TS files are extracted from the MPLS line.
# - Improved the automatic selection of the output stream in the "Convert Subtitle to 3D" tool.
# - Added a basic check in _ENCODE.cmd to ensure that the BD disc is loaded.
# - Added possibility to click on an empty space in tab 2 to scroll with the mouse wheel.
# - The documentation has been adapted to the current version of BD3D2MK3D.
Download it at the usual place (http://download.videohelp.com/r0lZ/BD3D2AVS/BD3D2MK3D.7z).
slavanap
28th October 2012, 18:08
Here is second version of ssifSource.
I quite late, but it still might be useful.
http://rghost.net/41215765
Stuff about magic directory is also required.
Wolfy59
28th October 2012, 18:37
Here is second version of ssifSource.
I quite late, but it still might be useful.
http://rghost.net/41215765
Magic directory is also required.
Hi i have a question how can i use ssifsource2 to have to uncompressed h264 streams to use in cinévision
May i have an avs exemple to do that
Thanks for the answers
slavanap
29th October 2012, 14:35
Hi i have a question how can i use ssifsource2 to have to uncompressed h264 streams to use in cinévision
May i have an avs exemple to do that
Thanks for the answers
No. You can not do this with ssifSource2 plugin. Use ssifSource instead.
Eseninzhiv
29th October 2012, 15:35
slavanap
VirtualDub no open avs
for the right eye
LoadPlugin("ssifSource2.dll")
ssifSource2("3D.ssif", 6100, left_view = false, right_view = true)
are located in the same directory
CoreAVCDecoder.dll
MPEGSplitter.dll
ssifSource2.dll
I do something wrong?
Neisklar
29th October 2012, 15:36
The thing I´m trying to explain is found in BDSup2Sub, and is found under Edit/Move All Cations and in "Move outside bounds".
As I have to do today, I have to manually (and it takes forever with ALOT of subs) go throu each and every one to get them all as "Offset Y:" 6! :(
I agree that sometimes, it can be useful to move them a bit. But currently, it's not possible. My GUI uses Suppe3D.exe to convert the subtitles to 3D. Suppe3D uses BDSup2Sub++ to convert the SUP to PNG/XML format, then compose the PNG images in 3D, and uses again BDSup2Sub++ to convert them to SUB/IDX format. Unfortunately, I don't have the control on that process (except the 3D mode and depth, the resize method and the "only forced" options). It would be nice to add the possibility to specify custom options in Suppe3D, that it should pass unchanged to BDSup2Sub++ during the first pass. With that possibility, it would be possible to do whatever BDSup2Sub++ can do with the command line (including the "Move outside bounds" trick).
I have uploaded Version 0.4 if Suppe3D.exe http://www.share-online.biz/download.php?id=Z2WXRNCM4L which has besides better return codes on error, an (untested) options to pass throgh options to the underlying bdsup2sub++.exe at the imagextraction process. This could be used to do that "move all down 9 px" thing. Just be sure to do proper escaping
---
Later i will do a bigger post about 3D blu ray structure and an idea to a new open decoder plugin without the need of directshow and the corecodec
Wolfy59
29th October 2012, 20:18
No. You can not do this with ssifSource2 plugin. Use ssifSource instead.
thanks slavanap :-)
slavanap
30th October 2012, 07:57
slavanap
VirtualDub no open avs
for the right eye
are located in the same directory
CoreAVCDecoder.dll
MPEGSplitter.dll
ssifSource2.dll
I do something wrong?
May be this path does not contain 'Magic' substring?
Moreover, the path of exe-file you use, should contain magic substring. In your case, I recommend to move Virtual Dub to the same path as a plugin, and try it again.
r0lZ
30th October 2012, 09:45
I have uploaded Version 0.4 if Suppe3D.exe http://www.share-online.biz/download.php?id=Z2WXRNCM4L which has besides better return codes on error, an (untested) options to pass throgh options to the underlying bdsup2sub++.exe at the imagextraction process. This could be used to do that "move all down 9 px" thing. Just be sure to do proper escaping
It seems that it doesn't pass the pass-through options to BDSup2Sub++, as you can see:
C:\Users\rol\Desktop\test_subs>Suppe3D.exe -pt "--move-out-ratio 10" -if test.sup -of test_out.sub
creating temp dir: C:\Users\rol\Desktop\test_subs\.suppe3d\
###########################
Extracting subtitles to PNG
###########################
calling: "C:\Users\rol\Desktop\test_subs\bdsup2sub++.exe" -o "C:\Users\rol\Desktop\test_subs\.suppe3d\temp.xml" "test.sup"
BDSup2Sub++ 1.0.0
Converting XML/PNG
QFileInfo::absolutePath: Constructed with empty filename
Conversion of 1 file(s) finished
done ("C:\Users\rol\Desktop\test_subs\bdsup2sub++.exe" -o "C:\Users\rol\Desktop\test_subs\.suppe3d\temp.xml" "test.sup" )
Done extracting subs as PNG
##########################################
Starting creating Stereo images full sized
##########################################
Converted: temp_0001.png
Converted: temp_0002.png
Converted: temp_0003.png
Converted: temp_0004.png
Converted: temp_0005.png
Converted: temp_0006.png
Converted: temp_0007.png
Converted: temp_0008.png
Converted: temp_0009.png
Converted: temp_0010.png
Converted: temp_0011.png
Converted: temp_0012.png
Converted: temp_0013.png
Converted: temp_0014.png
Converted: temp_0015.png
Converted: temp_0016.png
Converted: temp_0017.png
#################################################################
Scaling PNG Files with filter: bilinear
NOTE: This may take a while, and you won't get progress feedback
#################################################################
calling: "C:\Users\rol\Desktop\test_subs\bdsup2sub++.exe" --filter bilinear --scale-y 0.5 -o "C:\Users\rol\Desktop\test_subs\.suppe3d\temp.xml" "C:\Users\rol\Desktop\test_subs\.suppe3d\temp.xml"
BDSup2Sub++ 1.0.0
OPTION: Set scaling filter to: Bilinear
OPTION: Set free scaling factors to 1, 0.5
Converting XML/PNG
Conversion of 1 file(s) finished
done ("C:\Users\rol\Desktop\test_subs\bdsup2sub++.exe" --filter bilinear --scale-y 0.5 -o "C:\Users\rol\Desktop\test_subs\.suppe3d\temp.xml" "C:\Users\rol\Desktop\test_subs\.suppe3d\temp.xml")
Done scaling PNG Subtitles
#################################################################
Producing final subtitle: test_out.sub
NOTE: This may take a while, and you won't get progress feedback
#################################################################
calling: "C:\Users\rol\Desktop\test_subs\bdsup2sub++.exe" -o "test_out.sub" "C:\Users\rol\Desktop\test_subs\.suppe3d\temp.xml"
BDSup2Sub++ 1.0.0
Converting SUB/IDX
Conversion of 1 file(s) finished
done ("C:\Users\rol\Desktop\test_subs\bdsup2sub++.exe" -o "test_out.sub" "C:\Users\rol\Desktop\test_subs\.suppe3d\temp.xml")
Done creating final subtitles
###########
Cleaning up
###########
ALL DONE
Neisklar
30th October 2012, 12:55
It seems that it doesn't pass the pass-through options to BDSup2Sub++, as you can see:
Yeah, problem is, it passes through, but that stupid comandline parser recognizes that "--xyz"-stuff as another switch and not as an paramater for that -pt switch.
You need to trick it:
Suppe3D.exe -pt " --move-out-ratio 10" -if test.sup -of test_out.sub
So inserting an space before but inside the " will help. I need to figure out how to workaround that limitation
Edit: another options is to do a -pt"--move-out-ratio 10" thing, so append the param for the switch directly without any space, or append with an colon: -pt:"--asdsadadsa"
r0lZ
30th October 2012, 13:57
OK, nice tricks. Perhaps this should be explained in the command line help?
Eseninzhiv
30th October 2012, 18:10
Neisklar
Later i will do a bigger post about 3D blu ray structure and an idea to a new open decoder plugin without the need of directshow and the corecodec
I look forward to
thanks
Neisklar
30th October 2012, 20:21
OK, nice tricks. Perhaps this should be explained in the command line help?
Yeah it should, you are absolutly right.
I uploaded V0.5:
http://www.share-online.biz/download.php?id=VYU90QCMHK0
Unless there aren't any more show stopping bugs, i think we should consider it as final, as it's only planned as temporary tool.
Your opinions?
Neisklar
31st October 2012, 00:18
Later i will do a bigger post about 3D blu ray structure and an idea to a new open decoder plugin without the need of directshow and the corecodec
Ok, lets get started.
Dunno what you opinion is, but i think a long term goal should be to have an mostly open and free (avisynth) MVC decoder.
The current way with the MVC Decoder from StereoPlayer/MVCToAVI is not future proof and also closed source.
Then we have ldecod, the reference implementation, slow as hell, but works. But we have the source code, so we can optimize it if we want, or convert two movies at once to use all cores;-). ldecod only takes an combined MVC bitstream, and outputs only yuv, so this needs work, but the knowledge is there. Also the old ssifsource plugin shows that its possible to pipe all steps together so we don't have big intermediate files.
Next we have the Intel Media SDK, which has an MVC Decoder. It comes with (even prebuild) samples, for which the sample_decode already works with an mvc bitstream, outputting yuv. So we could modify the "old" ssifsource to use that sample decode, add an bitstream-merger and we have free and open solution, quicker than ldecod. The SDK also has an already compiled directshow filter, which works, but i didn't manage to use it with avisynth.
I must admit that i'm lacking the coding skills, since it imho needs to be done in c(++), i could hack around, but thats not the way to go on the long run. So hopefully we get some good coders onboard.
OK, so whats needs to be done:
Get the two video biststreams (AVC base view and MVC dependent view) out of the ssif file, maybe start even a level higher and have mpls support.
combine these two bitstreams into a single MVC bitstream
feed it through the MVC decoder
take the two output yuvs and feed some to avisynth, optionally do transformations like SBS, OU, anaglyph and so on.
1. Get the left and right bitstream out of the ssif
We could just use eac3to and pipe the output to the bitstream-merger we have to create (which then acts as the "pipe-server" if eac3to doesn't support pipes), eac3to also brings in the mpls support. But eac3to is closed source afaik.
We could use the source of the MPEGSplitter Filter from the MPC project and modify it for our cases, maybe add mpls support.
So lets start with the tech stuff, .m2ts and .ssif
a .m2ts file, is just an slighly modified MPEG(2)-Transportstream (in future TS). A TS consists of packets of 188 Byte length. In an .m2ts file each packet has an additional header of 4 Bytes.
32 of these 192 Byte packets form a so called Aligned Unit of 6144 Bytes filling exactly 3 consecutive sectors on disk.
In such TS can be multiple streams of different types (video, audio, subtitle) called elementary streams (ES)
http://www.blu-raydisc.com/Assets/Downloadablefile/2b_bdrom_audiovisualapplication_0305-12955-15269.pdf page 15
Code, documentation handling and demultiplexing ES out of TS should be plenty on the internet.
To be backwards compatible, 3D BluRay have 2 .m2ts for a movie, one is a normal 2D stream, containing an normal H.264 video (the base view, mostly the left eye (i can be also the right one!!!)) and all the audio and subtitle streams. So normally every 3D BluRay could be played on a 2D Player, if the studios didn't code some restrictions in their menues....
The other .m2ts mostly contains only the MVC stream (sometimes additional subtitles, ...).
The .ssif File is an combination of both .m2ts. No modifications on the data is done, you only have some Aligned Units of file 1, some Aligned Units of File 2 and so on, nothing more, it's only two TS in one file
2. Combine the two extracted bitstreams to one MVC stream
An H.264 bitstream consists of different Network Abstraction Layer Units. Additional H.264 has also an concept of Access Units, which essentially means: all NALUs needed to decode on picture or all NALUs belonging to one exact timecode.
To create an combines MVC stream you just take all NALUs from the main view of one Access Unit, insert behind all NALUs from the single mvc stream of that Access Unit, and so on.
(Here i am not absolutly sure about the specific order of that NALUs: using the Intel Media SDK does it the way described above (first ALL main, then ALL dependent), but IMHO the spec says something about some ordering of certain types. Well, i got both to decode).
The ldecod source contains code in annexb..c/.h which contains exactly the parser for the bitstream to NALUs (it's defined in Annex B of the spec, hence the name), i already recoded a working but quick'n'dirty version in Delphi. I think going in more detail isn't useful here.
3. Decode that stream
The combined MVC stream can be feed through ldecod (which needs a minor patch, cause of an bug in that code) or through the Intel Media SDK Decoder. The SDL contains samples in source and precompiled form. One of them is the decode_sample, which takes that stream and decodes it to two yuv streams.
4. Transformations and Avisynth
Since we have sourcode and examples for all needed parts it could all be done in an avisynth plugin, without the need to start external processes and doing pipe magic. Additionally someone with knowledge of that stuff could do directly in the plugin the framestacking, and maybe anaglyph stuff.
Of course it could also be done the way the old ssifSource works, by chaining together different tools.
So lets start that project;-)
r0lZ
31st October 2012, 10:12
Nice and exciting project.
Unfortunately, I can't really help, as I'm not a C++ coder, and I know nothing about DirectShow and Avisynth plugins. But, of course, I will adapt my GUI to that method as soon as it will be usable. Let's hope someone else can do it.
Yeah it should, you are absolutly right.
I uploaded V0.5:
http://www.share-online.biz/download.php?id=VYU90QCMHK0
Unless there aren't any more show stopping bugs, i think we should consider it as final, as it's only planned as temporary tool.
Your opinions?
It's OK for me, although Suppe3d v0.4 doesn't return meaningful return codes when BDSup2Sum++ fails. For example, it returns 0 and prints "All done" when the output file has not been created. It's a pity, but not necessarily a big problem. The calling app can simply verify if the output file exist. I suppose v0.5 has the same limitation.
Also, the -full option should NOT be used. IMO, Suppe3d does its job correctly, but BDSup2Sub++ can't handle the double resolution, as it is limited to standard PAL/NTSC DVD or BD resolutions, and when it loads the XML/PNG subtitles created with the -full option, it tries to place them in the "normal" resolution, and changes the position of the subtitles. That makes the full subtitles useless. (It's why I haven't implemented the 3D conversion option in BD3D2MK3D when Full-SBS or Full-TB is selected.) So, IMO, that option can be removed (but it doesn't hurt much to leave it.)
I will add the possibility to specify the pass-through arguments in BD3D2MK3D...
[EDIT] I was wrong. Suppe3d seems to return the error codes correctly. I have been fooled by a Windows bug!
What I've said about the -full option is still valid.
r0lZ
1st November 2012, 14:41
I have mainly added the possibility to specify additional BDSup2Sub++ options in tab 2 and in the subtitle 3D converter. Note that if you hardcode a subtitle stream on the video, the options specified in tab 2 are used for that subtitles too. Use that options at your own risk, as there is no check for correct syntax or consistency at all.
# v0.7 (November 1, 2012)
# - Possibility to specify additional BDSup2Sub++ options when converting subtitles to 2D or 3D.
# - Updated Suppe3d.exe to v0.5 in the toolset directory.
# - Fix: Help -> BDSup2Sub++ Version was broken.
# - Changed the download link for x264 to http://komisar.gin.by/
# - Documentation updated.
Download the latest BD3D2MK3D version (http://download.videohelp.com/r0lZ/BD3D2AVS/BD3D2MK3D.7z)
MaistroX
1st November 2012, 19:27
Great update!
Can I be so bold to ask if these new "enhacments" can be added/avalible in the main options allso, not only in the converter?
Stupid Q from me maby, but what line do I add IF I want all subtitles to end upp 6pxls from bottom or topp?
Regards MaistroX
Regards MaistroX
r0lZ
1st November 2012, 19:52
Look in tab 2.
MaistroX
2nd November 2012, 20:19
Ahh I see! ;)
Look in tab 2.
But "Stupid Q from me maby, but what line do I add IF I want all subtitles to end upp 6pxls from bottom or topp? " ? :P
Regards MaistroX
r0lZ
2nd November 2012, 20:32
Honestly, I don't know. The move options of BDSup2Sub are very complex to use imo, and I have never understood exactly how they work. Use Move All Captions in the BDSup2Sub++ GUI to test, then add the corresponding arguments in BD3D2MK3D. You should probably use something like this, but I'm not sure:
--move-out-ratio 2.39 --move-y-offset 6
MaistroX
2nd November 2012, 21:34
Works like a Perfect, THX! :)
Honestly, I don't know. The move options of BDSup2Sub are very complex to use imo, and I have never understood exactly how they work. Use Move All Captions in the BDSup2Sub++ GUI to test, then add the corresponding arguments in BD3D2MK3D. You should probably use something like this, but I'm not sure:
--move-out-ratio 2.39 --move-y-offset 6
One other thing...
When in first tab oppening a new BD, the window that opens are ALLWAYS a bit under the viewing site on screen.
I have to move it up to gain access to "OK" and so on.
Can you add in BD3D2MK3D settings something like "save layout" or "save current place on screen on exit" ? ;)
MaistroX
2nd November 2012, 22:35
Another thing...
Subs extracted and made 3D (I think otherwise allso), gets the wrong label, if I open a ex: "21 Subtitle (PGS), Swedish 3D.idx" that I know allso is just Swedish, it says that is hase label "German" as language on subtitle, same goes for any extracted and converted via BD3D2MK3D.
If I use say RipBot and it extracts subs, it allways gets the right languange, as in, Swedish subtitle extracted, allso labeled as Swedish in language if I check say BDSup2Sub. ;)
Allso a "minor" language fault, say I extracted Norwegian it gets labeled "nno (Norwegian Nynorsk; Nynorsk, Norwegian).... it Should be labeled "nor (Norwegian).
Regards MaistroX
r0lZ
2nd November 2012, 23:12
The position of the Open Folder dialog cannot be saved, sorry. But you can resize it (and the size will be remembered by Windows from session to session), or move the main window near the top of the screen.
To save the main window position, just move it (and resize it if you wish), and use Settings -> Save Settings Now (or tick the Save Settings on Exit option).
When a SUP stream is converted to 2D SUB/IDX, I use a relatively complex method to convert the language name displayed by eac3to to the 3 letters language code necessary for BDSup2Sub and MkvMerge. The codes are converted using the list of languages returned by this command:mkvmerge.exe --list-languages --ui-language enUnfortunately, that list is somewhat complex, and some languages names are listed several times. I do my best to retrieve the correct code, but it's not always possible. It's probably why Norwegian is converted to "nno". I'll have a look at the code, but I'm not sure it will be possible to enhance the method.
When the stream is converted to 3D SUB, Suppe3D does not pass the language code to BDSup2Sub++, so it has only the file name to deduce the right code. I will see if I can pass the code with the -pt argument, but that will probably be difficult. Also, since Suppe3D calls BDSup2Sub++ several times, and it passes the -pt arguments only during the first pass, the subsequent passes may lose the code. Ideally, Suppe3d should have an additional -lang argument, to pass it to BDSup2Sub++ during all passes (or at least during the last pass). It's a job for Neisklar...
r0lZ
2nd November 2012, 23:27
I can confirm that the problem of the Norwegian name converted to "nno" is caused by the list of codes of MkvMerge:
Norwegian Nynorsk; Nynorsk, Norwegian | nno | nn
Norwegian | nor | no
I search for the word "Norwegian" in the list, and when it is found, I verify if there is a two-letters language code in the last column (as only the most used languages have that codes), and if it's not the case, I search for another line with the same word. Since Nynorsk has a 2-letters code, the search ends, and returns a wrong result.
That method works fine for example with "German", because only "German" alone has a two-letters code:
German | ger | de
German, Middle High (ca.1050-1500) | gmh |
German, Old High (ca.750-1050) | goh |
Germanic languages | gem |
I will try to find first a line containing the language name alone. That should work...
BTW, to check what code my function returns, you can open the console and type:
GetLanguageCode Norwegian [true]
As you can see, that command returns "nno" (or the ISO code "nn" when "true" is specified).
[EDIT] OK, problem fixed. Now, Norwegian is correctly converted to "nor" or "no". I hope I haven't broken the method for other languages.
The problem of the codes when converting to 3D SUB must still be fixed.
Neisklar?
emienator
3rd November 2012, 14:12
Hi, I've been using ssifSource for some time now to make encodes of 3d blu-rays, but the newest blu-ray releases don't seem to work anymore with ssifSource. For most blu-rays DirectShowMVCSource and ssifSource2 work just fine (even faster), but as far as I know they can't open .mpls files directly. This is a problem when the movie is split up over multiple .ssif files because the last frames of the clip are sometimes duplicated in the end, which makes sync errors when the files are encoded separately and combined afterwards.
Is there a way to combine multiple .ssif files to one file before opening it in avisynth?
r0lZ
3rd November 2012, 14:27
You should use something like this in your AVS script:
part1=DirectShowMVCSource("xxxx1.ssif", ...)
part2=DirectShowMVCSource("xxxx2.ssif", ...)
last=part1+part2
Extract the audio and subtitles from the mpls file, and mux everything.
It's the method implemented in BD3D2MK3D, and as far as I know, it works perfectly. But I have never noticed duplicated frames. Perhaps the problem you have is caused by streams of slightly different durations.
emienator
3rd November 2012, 15:12
DirectShowMVCSource("F:\BDMV\STREAM\SSIF\00948.ssif",stf=16)
When I open this code in AvsPmod it gives a of lenght 1254 frames, I just keep my right arrow key pressed until I get to the end of the clip. I notice that frames 1250 till 1253 are the same.
This also happens when I use ssifSource2 with the frame length eac3to gave me as a parameter.
Is it known btw why the original ssifSource doesn't work any more with recent blu-ray releases?
setarip_old
3rd November 2012, 15:35
@emienator
Hi! Is it known btw why the original ssifSource doesn't work any more with recent blu-ray releases?
Are you sure that you've properly "ripped"/decrypted the original, commercial Blu-ray disc?
emienator
3rd November 2012, 15:57
Are you sure that you've properly "ripped"/decrypted the original, commercial Blu-ray disc?
In other software the rip plays just fine.
It also doesn't work when I demux the left and right stream and let ssifSource open them directly.
r0lZ
3rd November 2012, 17:12
It's due to a known ldecod bug. It has been noticed and discussed many times in this thread.
emienator
3rd November 2012, 21:46
It's due to a known ldecod bug. It has been noticed and discussed many times in this thread.
Oh I see now, missed that piece of the thread. Is it also known what changed on the blu-rays to cause this problem?
Back to the problem of multiple clips, is it possible to join multiple ssif files to one file? Is there a program which can mux ssif?
Eseninzhiv
4th November 2012, 10:53
join multiple ssif files to one file
use TSSplitter
emienator
4th November 2012, 12:12
use TSSplitter
Ok thanks, but it still doesn't work correctly after joining the parts.
DirectShowMVCSource only detects 133316 frames of the 145149 eac3to says there are. ssifsource2 can output the right lenght when the correct number of frames are entered but it messes up the sync between the left and right stream...
r0lZ
4th November 2012, 12:53
DirectShowMVCSource only detects 133316 framesIs it the number of frames of the first part?
emienator
4th November 2012, 13:36
Is it the number of frames of the first part?
No, the first part has only 6849 frames.
emienator
5th November 2012, 17:59
I noticed some artifacts when decoding with the CoreAVCDecoder.dll from MVCToAVI 0.3.3
http://i50.tinypic.com/2wly338.jpg
When taking CoreAVCDecoder.dll from Stereoscopic Player 1.9.4 (latest) these artifacts are gone
http://i49.tinypic.com/140kdci.png
So i recommend updating CoreAVCDecoder.dll to the one from Stereoscopic Player 1.9.4, when doing that don't forget to rename the "magic folder" to "STEREOPLAYER.EXE" if you were using the dll from MVCToAVI .
r0lZ
5th November 2012, 18:02
Indeed, the artifacts are visible. Thanks for the finding!
Eseninzhiv
5th November 2012, 23:14
join multiple ssif files to one file
eac3to
copy /b 00000.ssif + 00001.ssif + 00002.ssif 3D.ssif
r0lZ
you can write a utility, the similarity BD3D2MK3D
JoinSSIF
open Blu-Ray D3D
list of playlists, notes a playlist
The output is a ssif file
r0lZ
6th November 2012, 11:14
Sorry, but no. If you can use the copy /b method, you have a simple and working solution. I can't make a GUI for everything.
Furthermore, I'm not sure you can simply join the files. As far as I know, the time codes are reset to 0 at the beginning of each SSIF file, and if you join them, they will be wrong (except in the first part). However, perhaps a reset of the time codes in the middle of a SSIF file is legal (like in DVD VOB files), and if it's the case, the app you use to process it later may work as expected. But take care anyway!
r0lZ
6th November 2012, 11:53
I've hopefully fixed all bugs with the wrong or missing language code. In fact, the language code was not passed to BDSup2Sub++ in many cases, and was often not included in the MUX_3D_OPTIONS.txt and MUX_2D_OPTIONS.txt files. It was also sometimes wrong, as explained above.
Since Suppe3D loses the language code anyway during the numerous calls of BDSup2Sub++.exe, I have added a workaround. When the subtitle has been successfully converted to 3D by Suppe3D, BD3D2MK3D tries to determine the right language code, and fixes the output IDX file automatically.
Note that the right code should now be set automatically when a subtitle stream is converted to 2D or 3D when the main GUI is used to encode a 3D movie. It should also be correct when you use the "Convert Subtitle to 3D" tool, but ONLY if the output file name has the standard format "..., Language 3D.sub". The language name MUST be specified after the first coma, (and can optionally be followed by a space and "3D", or another coma and whatever you want). It it's not the case, the GUI will be unable to determine the right language code, and will not fix it in the output IDX file. (When it's the case, a warning is displayed in the status bar of the tool window.)
Also, the fix is applied only when the output format is SUB/IDX.
Another important modification in this version is that it uses now by default the CoreAVCDecoder dll from the stereoscopic player, as emienator has discovered the artifacts problem with the other version. As a consequence, the "magic path" in the toolset has changed. (You can however force BD3D2MK3D to use the other DLL by keeping the old "magic" folder and renaming the new one to something else.)
# v0.8 (November 6, 2012)
# - Fix: The languages codes were not passed to BDSup2Sub++ and not included in the MUX_*D_OPTIONS.txt files.
# - Fix: Wrong language codes with some languages (such as Norwegian).
# - Workaround for problem of the "de" (German) language code in streams converted to 3D by Suppe3d.
# - Fix: When there are files in use in the target directory, it was not deleted when beginning the main job.
# - Searches now CoreAVCDecoder dll in the stereoscopic player "magic path" by default.
Download: BD3D2MK3D.7z (http://download.videohelp.com/r0lZ/BD3D2AVS/BD3D2MK3D.7z)
Note also that now, the ssifSource2.dll is included in the magic folder. It is not used by BD3D2MK3D, but it can be useful and is only 51KB, so I've included it anyway. If you have some problems with DirectShowMVCSource, you can try to modify the AVS script to use ssifSource2 instead.
r0lZ
6th November 2012, 11:57
I have also fixed the language code bugs in BD3D2AVS, so if someone still use that program, he should update it.
# v0.12 (November 6, 2012)
# - Fix: The languages codes were not passed to BDSup2Sub++ and not included in the MUX_*D_OPTIONS.txt files.
# - Fix: Wrong language codes with some languages (such as Norwegian).
# - Fix: When there are files in use in the target directory, it was not deleted when beginning the main job.
Download: BD3D2AVS.7z (http://download.videohelp.com/r0lZ/BD3D2AVS/BD3D2AVS.7z) (using the old and slow ssifSource/ldecod method)
Eseninzhiv
6th November 2012, 12:16
For join multiple ssif files i use 2 methods:
copy /b method
TSSplitter
Then demux with BD Reauthor Pro 3D.
Scenarist 3D takes the left and right eye perfectly.
With timecode all right.
For demux sounds using TsMuxer.
r0lZ
Sorry, but no. If you can use the copy /b method, you have a simple and working solution. I can't make a GUI for everything.
You can insert this function in one of its programs ?
BD3D2MK3D
BD3D2AVS
Many guys will appreciate it.
No need to invent a new GUI.
Many BD 3D consist of multistori (film consists of many. SSIF), each time very hard to write these commands, pieces can be from 1 to 999.
I would be very grateful!
Thank you for your programs :thanks:
PurpleMan
6th November 2012, 18:51
You should use something like this in your AVS script:
part1=DirectShowMVCSource("xxxx1.ssif", ...)
part2=DirectShowMVCSource("xxxx2.ssif", ...)
last=part1+part2
Extract the audio and subtitles from the mpls file, and mux everything.
Do not do that. This method results in duplicated frames at the end of part1 (I verified it with multiple 3d movies). One time it added 2 frames, another time 4 frames (duplicates of the last decoded frame).
Since we don't have seeking and the number of duplicate frames varys from one source to another, it's impossible to trim the duplicated frames in the above script to fix it.
What *does* work is copy /b, but then you need to add the framecount argument to DirectShowMVCSource because it will identify the number of frames as that of the first joined file only.
DirectShowMVCSource("joined_file.ssif", framecount=XXXXX)
You can use eac3to to demux the ssif and it reports the actual number of frames.
That's my 2 cents, hope it helps.
MaistroX
6th November 2012, 20:16
@r0lZ!
Tryed to use BD3D2MK3D to backup the movie "Brave" from 2012, strange thing is that it dont seem to find 800.mpls (as is the main movie) but lets me be visual to three others (801.mpls, 802.mpls and 803.mpls) that kind of (but are totally wrong *.mpls for right angle and so on), what can be done?
Just tryed DVDFab (8) just to se if 800.mpls shows....and it does correctly.
Can it be done in future that one can shoose the biggest *.m2ts as done with RipBot and the alternatives comes to show? ;)
Regards MaistroX
r0lZ
6th November 2012, 22:34
By default, BD3D2MK3D shows the titles that are automatically selected by eac3to (normally the longest ones). Not sure why it doesn't show the main movie. Click the "Scan full BD" button to display all 3D titles (including the short titles).
If 800.mpls is still not shown in the GUI, please open the console, and post here the messages about that mpls. Thanks.
r0lZ
7th November 2012, 00:57
... duplicated frames at the end of part1 (I verified it with multiple 3d movies). One time it added 2 frames, another time 4 frames (duplicates of the last decoded frame).
Since we don't have seeking and the number of duplicate frames varys from one source to another, it's impossible to trim the duplicated frames in the above script to fix it.
I did some tests too, and indeed, there are some dupes. Strangely, all tools report slightly different number of frames, and they appear to be all wrong:
eac3to: 3320
xport: 3321
Avisynth's Info(): 3321
And the final MKV contains 3322 frames!
In my test, it seems that there are 3 or 4 duplicated frames.
I wonder if the wrong number of frames could be caused by the NTSC nightmare of the so called "drop frames". Because, if I compute the number of frames with this formula:
nframes = (nframes reported by xport) / 24 * (24/1.001)
or:
nframes = (nframes reported by xport) / 1.001
I get 3317.68, that is 3321 less 3 or 4 frames.
I did my test on a short clip, but if the same formula works with long movies too, then that might indicate that it should be possible to compute the right number of frames, and add it in the DirectShowMVCSource() instruction, or change the fps parameter to 24000/1001/1.001. That would be much more simple and rapid than having to join all SSIF files.
Someone can confirm that long movies have more duplicated frames?
slavanap
7th November 2012, 07:40
Do not do that. This method results in duplicated frames at the end of part1 (I verified it with multiple 3d movies). One time it added 2 frames, another time 4 frames (duplicates of the last decoded frame).
Since we don't have seeking and the number of duplicate frames varys from one source to another, it's impossible to trim the duplicated frames in the above script to fix it.
Actually, ssifSource2 supports seeking, but because of the lack of the index-file, it usually wrong with seeking position. Position mistake is caused by MPEGSplitter, because it supports only time related seeking and index-file for proper frame-related seeking is required. It will be good, if there is somewhere MPEGSplitter that supports frame-related seeking.
P.S. About the autodetection of framecount of the movie -- same problem. Time can not be converted to the framecount accurately. You should specify the length of the left movie to the plugin.
MaistroX
7th November 2012, 09:34
Still the same, check here -> http://www.mediafire.com/file/x5ebarfrqvt2yyf/BD3D2MK3D_v0.8_BD_Brave_2012.rar
Regards MaistroX
By default, BD3D2MK3D shows the titles that are automatically selected by eac3to (normally the longest ones). Not sure why it doesn't show the main movie. Click the "Scan full BD" button to display all 3D titles (including the short titles).
If 800.mpls is still not shown in the GUI, please open the console, and post here the messages about that mpls. Thanks.
r0lZ
7th November 2012, 09:37
You should specify the length of the left movie to the plugin.The problem is that it seems impossible to retrieve it accurately with the available tools. All are more or less wrong. So, how can we specify the correct number of frames if it is impossible to know it?
r0lZ
7th November 2012, 09:54
Still the same, check here -> http://www.mediafire.com/file/x5ebarfrqvt2yyf/BD3D2MK3D_v0.8_BD_Brave_2012.rar
I see. The problem is caused by a specific form of the eac3to output. Usually, it outputs something like this:
1) 00004.mpls, 00002.m2ts+00003.m2ts, 1:42:43
- Chapters, 16 chapters
- [...]
Note the syntax and the comas of the first line:
number) XXXXX.mpls, XXXXX.m2ts[+XXXXX.m2ts+...], duration
BD3D2MK3D (and BD3D2MKV) assume that it's always the syntax used for all titles, and it uses the comas to split it in 3 parts and extract the m2ts files list. If it can't recognise the syntax, it skips the mpls file.
However, in your DB, the syntax is:
1) 00802.mpls, 1:34:12
[914+952+954+960+962+985+1017+988+989].m2ts
- Chapters, 37 chapters
- [...]
I have never sheen that syntax previously, and of course, the title is skipped.
I will try to modify the code to support that syntax as well, but that will be difficult, as I have no BD to test. Hopefully, with your log file, that may be possible. Please wait...
MaistroX
7th November 2012, 11:10
Another thingie....
say I would use the "Convert subtitles to 3D" and cant recon. the language maby, this is just an idé, it could do a second check for language in file name.
Say I would have extracted some subs that I allso have name say ex: English.sup , Swedish.sup and so on...
Could u add allso so, instead of getting as image link shows, "Convert subtitles to 3D" in BD3D2MK3D allso checks for an eventually language name in file title?
Here´s what I mean ->
http://www.mediafire.com/conv/343880df68b581e7ba41b52c05bc25057d44c103944baa2f66bdd2a4c68ad44e6g.jpg
Regards MaistroX
r0lZ
7th November 2012, 11:20
It checks already if the language name is present in the file name, but it has to be after a first coma.
With your file name "French 3D.sub", it will not work. But if you modify it to, for example "Subtitle, French 3D.sub", French should be correctly recognised.
Note that the language name is case sensitive, so "Subtitle, french 3D.sub" will not work.
I'll see if I can improve the method currently used to be more flexible...
[EDIT] Done. Now, all words in the output file name are checked, and if one word corresponds to a language name, then the code of that language is used. The language name must not have its first letter in upper case any more, and the "words" in the output string can be separated by spaces or characters such as the dot, !, _ or brackets. Note that the first word matching a language name is accepted, so be sure to have only one language name in the output file name. Abbreviation such as "fre" or "fr" are NOT recognised.
Now, the correct code should be set in the IDX file if your output file name is, for example, "forced_french_3d.sub" or, of course, "French.sub".
I haven't checked that new feature yet. Please check it carefully when v0.9 will be available...
[edit2] Tested with some tricky output file names, and it works as expected. Anyway, be sure to verify the last message in the status bar. If the language cannot be found, a warning is displayed.
r0lZ
7th November 2012, 11:36
For join multiple ssif files i use 2 methods:
copy /b method
[...]
r0lZ
You can insert this function in one of its programs ?
BD3D2MK3D
BD3D2AVS
Many guys will appreciate it.
No need to invent a new GUI.
Many BD 3D consist of multistori (film consists of many. SSIF), each time very hard to write these commands, pieces can be from 1 to 999.
I would be very grateful!
Thank you for your programs :thanks:
I've just added a simple popup menu in the top pane of tab 1 with 2 functions: "Copy M2TS list to clipboard" and "Copy SSIF list to clipboard". In your case, you should use the second function.
Then, in a command prompt window, CD to the BDMV\STREAM\SSIF directory, and type "copy /b ", then right-click to insert the list of the SSIF files, and type the output file name.
It's not totally automatic, but it's better than nothing.
(I may implement later an option to join the SSIF files to HDD and use that copy instead of the "part1+part2+..." Avisynth syntax to encode the MPLS files made of several SSIF files, if it is confirmed that the problem of the duplicated frames cannot be avoided with another, faster method.)
Eseninzhiv
7th November 2012, 12:50
Thank you, waiting for release.
I'll be glad to help test these functions ..
r0lZ
7th November 2012, 14:47
Thanks to MaistroX, I have been able to fix the problems of the titles missing from the list of 3D titles in tab 1 after having clicked "Scan Full BD", and I've fixed the bug occurring when a title is displayed by eac3to in two lines, as explained here (http://forum.doom9.org/showthread.php?p=1599537#post1599537).
However, for an unknown reason, eac3to doesn't list the main movie of the "Brave" BD in its default output, so, in some cases, you will have to click "Scan Full BD" to find the main movie in the full list. Sorry for that, but I can't change the way eac3to works.
I have also added the popup menu in tab 1 for the Eseninzhiv request (here (http://forum.doom9.org/showthread.php?p=1599335#post1599335)), and, for MaistroX, improved the detection of the language name in the "Convert Subtitle to 3D" tool (requested here (http://forum.doom9.org/showthread.php?p=1599542#post1599542)).
# v0.9 (November 7, 2012)
# - Handle now correctly the rare eac3to syntax "N) XXXXX.mpls, duration" followed by " [X+X+X+...].m2ts"
# - "Scan Full BD" fix: Some titles were wrongly removed from the list due to their resemblance with looping 3D menus.
# - Added a popup menu in the top pane of tab 1 to copy the list of M2TS or SSIF files to the clipboard.
# - "Convert Subtitle to 3D": Improved the detection of the language name in the output file name field.
Download: BD3D2MK3D.7z (http://download.videohelp.com/r0lZ/BD3D2AVS/BD3D2MK3D.7z)
I should apply some of these fix to BD3D2AVS too, but that will be for later...
akad
7th November 2012, 18:35
About Intel Media SDK - can any one decode .ssif through it? I use sample from SDK and failed on command m_mfxSession.Init(...); for both hardware and software acceleration.
MaistroX
7th November 2012, 22:22
@r0lZ
The two latest versions seem to fail with remux after decode 3 backups in a row for me, please check it out.
-> http://www.mediafire.com/?o1flmp74stynfbr
Regards M
Neisklar
7th November 2012, 23:05
About Intel Media SDK - can any one decode .ssif through it? I use sample from SDK and failed on command m_mfxSession.Init(...); for both hardware and software acceleration.
Yes, but only with steps inbetween, means:
* Did demux left and right from ssif with eac3to.
* Used my little tool to create an combined MVC bitstream
* Feed that through that already compiled sample_decode
* Got two yuv's
@all
Please excude for asking again: does anyone have the source for the "old" ssifsource plugin, so i can adapt that to use the intel media decoder, also we get mpls support.
slavanap
8th November 2012, 00:20
The problem is that it seems impossible to retrieve it accurately with the available tools. All are more or less wrong. So, how can we specify the correct number of frames if it is impossible to know it?
If I convert .ssif files (not .mpls), I use FFMpegSource2 for relative to .ssif .m2ts-file to estimate the frame count.
As I said before, right view contains (left.framecount-1) frames, so last frame of the right view is duplicated.
I've never seen that more than one frames are duplicated.
slavanap
8th November 2012, 00:24
Yes, but only with steps inbetween, means:
* Did demux left and right from ssif with eac3to.
* Used my little tool to create an combined MVC bitstream
* Feed that through that already compiled sample_decode
* Got two yuv's
@all
Please excude for asking again: du anyone have the source for the "old" ssifsource plugin, so i can adapt that to use the intel media decoder, also we get mpls support.
Sorry, but I didn't remember, where I save it. And I haven't time to find out it right now.
Working with pipes are the same as working with the files with WinAPI. Use CreateNamedPipe function.
Moreover, you have to fix ldecod file reading code to make it deal correctly with the end of pipe (with the end of files it works well.)
Xaurus
8th November 2012, 04:09
Hi,
I'm trying to run the BD3D2MK3D app but I can't even start it. I have installed the vc 2008 package as required as well as avisynth. I only get this:
http://thumbnails104.imagebam.com/21912/df8acd219117024.jpg (http://www.imagebam.com/image/df8acd219117024)
I tried the BD3D2AVS app and that one launched...
What is the difference between these programs? Is one of them not worked on any more?
r0lZ
8th November 2012, 09:47
They use different methods to decode the MVC video stream. The two programs need different exe and dll in the directory "toolset". Are you sure you have extracted the whole content of the 7Z archive, and preserved the directory paths?
BTW, the latest version of BD3D2MK3D use a new toolset, so if you have updated the exe only, it cannot work. You have to extract and install the toolset too.
Also, re-download the archive. Your version could have been damaged.
[EDIT] Oops, sorry. Some files are missing in the distribution package of v0.9. I will fix the language bug and release v0.10 as soon as possible...
r0lZ
8th November 2012, 09:49
@r0lZ
The two latest versions seem to fail with remux after decode 3 backups in a row for me, please check it out.
-> http://www.mediafire.com/?o1flmp74stynfbr
Regards M
Bizarre! It works for me. But I'll have a look.
[EDIT] Indeed, some languages were not found in the list of languages, and as a consequence, the language code was empty in the MUX_OPTIONS.txt files. I've fixed the 2 bugs. Now, all languages in the list can be found, and if, per chance, there are still language names that are not present in the list, "und" is set in the mux options instead of nothing.
Neisklar
8th November 2012, 10:39
Sorry, but I didn't remember, where I save it. And I haven't time to find out it right now.
Working with pipes are the same as working with the files with WinAPI. Use CreateNamedPipe function.
Moreover, you have to fix ldecod file reading code to make it deal correctly with the end of pipe (with the end of files it works well.)
So you just modified ldecod to create the pipes? Since, afaik once the pipe is created, the other program could use it as if it is a file, it even does'nt know thats pipe, right? Or did you use some sort of pipe proxy?
How did you finally grab the frames, after the plugin has started all the needed processes?
What was the order, eac3to --pipe--> ldecod --pipe--> framegrabber? Or any additional stuff inbetween?
I just ask to maybe hack something working together, since i'm unable to do the big project i have in mind alone, due to lacking skills. So using already existing tools (eac3to as demuxer, sample_decode as MVC decoder, ...) i hope to get it working.
Thanks
MaistroX
8th November 2012, 10:52
@r0lZ
Just tryed latest version on Cars 2 and it seemed to demux allright but halted at the re-encode, please take a look:
-> http://www.mediafire.com/?pn7wrgwxxncv73e
akad
8th November 2012, 11:59
Yes, but only with steps inbetween, means:
* Did demux left and right from ssif with eac3to.
* Used my little tool to create an combined MVC bitstream
* Feed that through that already compiled sample_decode
* Got two yuv's
Hmm. How can I skip this steps? I`m developing a 3D player, and the only thing I have to do now is opening ssif files directly from BD disks without any preparing.
r0lZ
8th November 2012, 12:23
@r0lZ
Just tryed latest version on Cars 2 and it seemed to demux allright but halted at the re-encode, please take a look:
-> http://www.mediafire.com/?pn7wrgwxxncv73e
The error is caused by this:error: DirectShowSource : Timeout waiting for graph to start.
Not sure why DirectShowMVCSource can't start more rapidly, but I notice that there are 81 different SSIF files in the MPLS. That's really much, and perhaps Avisynth chokes when trying to open all SSIF files, or takes a too long time to initialise itself.
Anyway, I will probably add an option to join all SSIF files as one big SSIF (available only when the MPLS references several SSIFs), and with that option enabled, only a single file will have to be opened in the avisynth script. I suppose that will solve the timeout problem (and that should also fix the problem of the duplicated frames at the end of each SSIF).
That modification is relatively important, and I will add it in v0.11 only, as I need to release v0.10 rapidly. In the meantime, try to relaunch the encode batch file several times in a row. Perhaps the timeout problem will disappear if some files are buffered in the disc cache. (I have noticed similar problems when beta-testing DirectShowMVCSource, and it was sometimes working when it was relaunched.)
Try also v0.10 when it will be released. I have added an option to use ssifSource2 instead of DirectShowMVCSource when encoding to SBS or T&B. Perhaps ssifSource2 will work better.
r0lZ
8th November 2012, 12:35
Mainly a bug fix version, but I've also added an option to decode the MVC stream to SBS or Top/Bottom with ssifSource2 instead of DirectShowMVCSource. I haven't tested that method much, but it seems to work well. Please test it!
# v0.10 (November 8, 2012)
# - Fix: Missing directory in distribution archive.
# - Fix: There is now a meaningful error message if the app has not been installed correctly.
# - Fix: Unable to find the language code of some valid languages names.
# - Fix: The language code in the _MUX_*D_OPTIONS.txt files was empty instead of "und" when the language code of a stream cannot be determined.
# - Added "Options -> Use ssifSource2 for SBS/T&B" to decode to SBS or T&B with ssifSource2 instead of DirectShowMVCSource.
Download BD3D2MK3D.7z (http://download.videohelp.com/r0lZ/BD3D2AVS/BD3D2MK3D.7z)
MaistroX
8th November 2012, 14:09
Just a point!
From v0.9 to v0.10?
Adding 0.1 to 0.9 should be v1.0, right? ;)
Regards MaistroX
Xaurus
8th November 2012, 17:31
Mainly a bug fix version, but I've also added an option to decode the MVC stream to SBS or Top/Bottom with ssifSource2 instead of DirectShowMVCSource. I haven't tested that method much, but it seems to work well. Please test it!
Download BD3D2MK3D.7z (http://download.videohelp.com/r0lZ/BD3D2AVS/BD3D2MK3D.7z)
Thanks. I am able to open the program now. However, I only get an error when working on Brave 3D.
invalid command name "pause"
invalid command name "pause"
while executing
"pause 100"
(procedure "GenerateAvs" line 407)
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)
edit: I see in the "about" you say that Avisynth 2.5 needs to be installed. I have installed the latest (2.6a3?). Can this be a problem?
Eseninzhiv
8th November 2012, 18:12
r0lZ, Thank you very much :thanks:
used new feature "Copy SSIF list to clipboard" http://i.imgur.com/gArXD.png
Blu-ray 3D Cars 2, in my case it was 82 ssif files
audio and subtitles pulled through tsMuxer (playlist) http://i.imgur.com/4jLhH.png
Scenarist 3D is very demanding for Video and Audio, timecode video all right
Created a 3D Blu-Ray disc without menus, everything works fine
I may implement later an option to join the SSIF files to HDD and use that copy instead of the "part1+part2+..."
I will probably add an option to join all SSIF files as one big SSIF (available only when the MPLS references several SSIFs)
I will add it in v0.11 only
This is a great idea!
MaistroX
8th November 2012, 19:12
I allso get this when pushing "Do it!" direkt on Movie UP 00800.MPLS file!
invalid command name "pause"
invalid command name "pause"
while executing
"pause 100"
(procedure "GenerateAvs" line 407)
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)
:(
Regards MaistroX
r0lZ
8th November 2012, 23:43
Just a point!
From v0.9 to v0.10?
Adding 0.1 to 0.9 should be v1.0, right? ;)
Regards MaistroX
The version number is not a floating point number. It's the main version number, followed by a dot, followed by the sub-version number (and optionally followed by another dot and the revision number). So, in this case, 0.10 is greater than 0.9. And v1.0 is usually adopted only when the program is stable and bug free. I can't say that it's already the case of BD3D2MK3D, so it must still be a beta version 0.something.
r0lZ
8th November 2012, 23:45
invalid command name "pause"
Stupid syntax error! pause must have an upper case "P". I will release a bug fix immediately...
r0lZ
8th November 2012, 23:52
used new feature "Copy SSIF list to clipboard"
[...]
everything works fine
[...]
This is a great idea!Thanks for the feedback.
I have already partially implemented "Tools -> Join SSIF files of current M2TS", but it's not the final version. Currently, it is impossible to abort the operation (that can be very long), and I want to do a new window with a progress bar and an Abort button (and perhaps also a Shutdown when finished option).
Also, that function should be called automatically when the user converts a multi-SSIF MPLS, but I haven't written that part yet.
My intention was to finish that job before releasing v0.11, but due to the "pause bug", I will release it now. You can already test the Join SSIF function if you wish.
r0lZ
9th November 2012, 00:02
Here is v0.11, that fixes the Pause bug:
# v0.11 (Novemner 9, 2012)
# - New tool (still in development) "Join SSIF files of current M2TS".
# - Fix: "Pause bug" introduced in v0.10.
Download (http://download.videohelp.com/r0lZ/BD3D2AVS/BD3D2MK3D.7z)
Xaurus
9th November 2012, 00:45
Here is v0.11, that fixes the Pause bug:
# v0.11 (Novemner 9, 2012)
# - New tool (still in development) "Join SSIF files of current M2TS".
# - Fix: "Pause bug" introduced in v0.10.
Download (http://download.videohelp.com/r0lZ/BD3D2AVS/BD3D2MK3D.7z)
Hi,
Thanks, that was great.
I have come so far:
Encoding _ENCODE_3D_MOVIE.avs
Encoding started 09.11.2012 0:43:18,94
D:\Brave\00800_mpls>"C:\bd3d2mk3d\toolset\stereoplayer.exe\x264.exe" --crf 20
--preset fast --tune film --bluray-compat --profile high --level 4.1 --vbv-max
rate 40000 --vbv-bufsize 30000 --keyint 24 --slices 4 --open-gop --colorprim b
t709 --transfer bt709 --colormatrix bt709 --b-pyramid strict --fake-interlaced -
-aud --output "00800_mpls.264" "_ENCODE_3D_MOVIE.avs"
avs [error]: DirectShowSource : Timeout waiting for graph to start.
(_ENCODE_3D_MOVIE.avs, line 73)
x264 [error]: could not open input file `_ENCODE_3D_MOVIE.avs'
Encoding finished 09.11.2012 0:44:19,64
D:\Brave\00800_mpls>"C:\bd3d2mk3d\toolset\mkvmerge.exe" @_MUX_3D_OPTIONS.txt |
"C:\bd3d2mk3d\toolset\tee.exe" "00800_mpls.mkvmerge.log"
mkvmerge v5.8.0 ('No Sleep / Pillow') built on Sep 2 2012 15:37:04
Error: The file '00800_mpls.264' has unknown type. Please have a look at the sup
ported file types ('mkvmerge --list-types') and contact the author Moritz Bunkus
<moritz@bunkus.org> if your file type is supported but not recognized properly.
Press any key to continue . . .
r0lZ
9th November 2012, 01:07
Probably the same error reported by MaistroX here (http://forum.doom9.org/showthread.php?p=1599683#post1599683), with Cars 2. (I've replied here (http://forum.doom9.org/showthread.php?p=1599692#post1599692).) Is it the same blu-ray?
Sorry, but currently, there is no solution.
IMO, the problem is caused by the numerous SSIF files that the AVS script tries to open at the same time. It takes too long to start, and the timeout problem occurs. I can't fix that problem myself, as it's a limitation of Avisynth and/or of the DirextShowMVCSource plugin, and it is not caused by the GUI. But I am currently working on the code that joins all SSIF of a multi-angle/story MPLS as one big SSIF. That should solve that problem (as there will be only one file to open), but there is still much work to do. Stay tuned...
In the meantime, you can already join the files yourself (with the new Tool in v0.11) and modify the AVS script to open that SSIF file instead of the numerous small SSIF files. That should work (but I have not tested).
You can also try to uncomment the lines in the AVS script that use the alt ssifSource2 method (and comment out the lines that use the normal DirectShowMVCSource method), but I don't think that will work.
Xaurus
9th November 2012, 01:10
Probably the same error reported by MaistroX here (http://forum.doom9.org/showthread.php?p=1599683#post1599683), with Cars 2. (I've replied here (http://forum.doom9.org/showthread.php?p=1599692#post1599692).) Is it the same blu-ray?
Sorry, but currently, there is no solution.
IMO, the problem is caused by the numerous SSIF files that the AVS script tries to open at the same time. It takes too long to start, and the timeout problem occurs. I can't fix that problem myself, as it's a limitation of Avisynth and/or of the DirextShowMVCSource plugin, and it is not caused by the GUI. But I am currently working on the code that joins all SSIF of a multi-angle/story MPLS as one big SSIF. That should solve that problem (as there will be only one file to open), but there is still much work to do. Stay tuned...
In the meantime, you can already join the files yourself (with the new Tool in v0.11) and modify the AVS script to open that SSIF file instead of the numerous small SSIF files. That should work (but I have not tested).
You can also try to uncomment the lines in the AVS script that use the alt ssifSource2 method (and comment out the lines that use the normal DirectShowMVCSource method), but I don't think that will work.
Thanks, I'll play around with the joining. No it's not the same bluray, this is Brave 3D.
edit: By the way, unless I'm seeing things, version 0.11 is still called version 0.10
edit2: There weren't that many ssif files, only 8 (7 small and 1 large).
Done joining the 8 SSIF files of playlist 00800.mpls as "00800_MPLS.ssif".
Eseninzhiv
9th November 2012, 01:51
New tool (still in development) "Join SSIF files of current M2TS"
when i select a folder for save the Join SSIF
appcrash
http://i.imgur.com/9kJzC.png
Xaurus
9th November 2012, 02:03
edit: it was nothing
r0lZ
9th November 2012, 02:15
when i select a folder for save the Join SSIF
appcrash
http://i.imgur.com/9kJzC.png
Hum, the open file dialog is not my work. Not sure why it crashes, but it seems that you have opened a shared folder. Does it crash when you open a local directory?
(BTW, I have already noticed that the dialog crashes when you open an internet shortcut. The problem might be similar with network shares.)
Xaurus
9th November 2012, 02:34
Actually, I select the TrueHD stream but get only the embedded AC3. Seems eac3to is fed some wrong parameters?
r0lZ
9th November 2012, 10:22
Have you ticked the Convert to AC3 option in tab 2?
Also, can you post the eac3to demux command here? (You can find it in the log window.)
r0lZ
9th November 2012, 11:52
Actually, I select the TrueHD stream but get only the embedded AC3. Seems eac3to is fed some wrong parameters?
It seems that you're right. Even without the Convert to AC3 option, the True HD AC3 streams are converted to 5.1. I'm not sure I can force eac3to to keep the 7.8 channels unmodified, but I will try. If someone know the syntax to use, please let me know.
Eseninzhiv
9th November 2012, 11:58
I tried two ways:
1. open BD 3D - tools - join SSIF - open space on the local disk, choose a different local drive, click on Save - APPCRASH http://i.imgur.com/4OPOe.png
2. If immediately go to section 5, select the output folder, change, - tools - join SSIF - click on Save - Everything works fine http://i.imgur.com/PgQ6z.png
r0lZ
9th November 2012, 12:02
I tried two ways:
1. open BD 3D - tools - join SSIF - open space on the local disk, choose a different local drive, click on Save - APPCRASH http://i.imgur.com/4OPOe.png
2. If immediately go to section 5, select the output folder, change, - tools - join SSIF - click on Save - Everything works fine http://i.imgur.com/PgQ6z.png
OK, I think I know why it crashes. Without a valid default directory, it tries to open the dialog at "My Documents" but the method I use to locate that folder may be wrong. I will fix that problem. Thanks!
r0lZ
9th November 2012, 12:07
BTW, there is another bug in v0.11. If you tick "options -> Use ssifSource2 for SBS/T&B" and you encode a multi-angle/story MPLS file (containing several SSIF files), the "part" numbers in the generated AVS script are wrong. I have already fixed that bug, and I will release v0.12 as soon as possible. In the meantime, you can edit the script manually to fix the part numbers. (They should be "part1 = ssifSource(...)", "part2 = ssifSource(...)" and so on.)
r0lZ
9th November 2012, 13:22
@r0lZ!
Tryed to use BD3D2MK3D to backup the movie "Brave" from 2012, strange thing is that it dont seem to find 800.mpls (as is the main movie) but lets me be visual to three others (801.mpls, 802.mpls and 803.mpls) that kind of (but are totally wrong *.mpls for right angle and so on), what can be done?
Just tryed DVDFab (8) just to se if 800.mpls shows....and it does correctly.
Can it be done in future that one can shoose the biggest *.m2ts as done with RipBot and the alternatives comes to show? ;)
Regards MaistroX
Thanks to a generous donor, I've received the Brave BD. :)
I think I understand why 800.mpls doesn't show up in the list (before clicking "Scan Full BD"). In fact, 00800.mpls references exactly the same SSIF files than 00803.mpls, and that playlist is present in the eac3to default list. It seems that eac3to skips 00800.mpls for that reason. (I don't know why it keeps the second occurrence instead of the first.)
If you click "Scan Full BD", it's BD3D2MK3D that scans all MPLS files, and removes the duplicate playlists (as well as looping menus and the titles without 3D contents), but it does it in the numerical order, and therefore it keeps 00800.mpls and reject 00803.mpls, as you can see in the console:
[...]
*** Scanning 00800.mpls...
> eac3to.exe "Y:\BDMV\PLAYLIST\00800.mpls"
00800.mpls, 1:33:37
[914+948+954+956+962+1015+986+989].m2ts
*** Scanning 00801.mpls...
> eac3to.exe "Y:\BDMV\PLAYLIST\00801.mpls"
00801.mpls, 1:34:12
[914+950+954+958+962+984+1017+987+989].m2ts
*** Scanning 00802.mpls...
> eac3to.exe "Y:\BDMV\PLAYLIST\00802.mpls"
00802.mpls, 1:34:12
[914+952+954+960+962+985+1017+988+989].m2ts
*** Scanning 00803.mpls...
> eac3to.exe "Y:\BDMV\PLAYLIST\00803.mpls"
00803.mpls, 1:33:37
[914+948+954+956+962+1015+986+989].m2ts
* Skipped: Identical to entry 44
[...]
(The entry number is the number of the playlist in the GUI, not the MPLS file number. In this case, entry 44 corresponds to 00800.mpls.)
So, it's not a bug in eac3to or in BD3D2MK3D, it's just a strange eac3to decision.
You wrote "three others (801.mpls, 802.mpls and 803.mpls) that kind of (but are totally wrong *.mpls for right angle and so on)". I wonder why you think that they are "totally wrong". IMO, they are just the playlist for the other angles (with the credits in different languages). It may seem strange that eac3to displays the main angle (in English) after the other ones, but it's not really a problem. It's probably because it is slightly shorter than the other playlists, due to the shorter credits.
BTW, you can easily check each angle by using the "Preview M2TS" button and selecting a M2TS file that is different in the various angles.
Can I consider that problem as solved?
MaistroX
9th November 2012, 13:35
Dont really know...
Main movie is:
00800.mpls, 1:33:37
but
00803.mpls, 1:33:37 (* Skipped: Identical to entry 44) is not.
Is there a chance that it can be shown from start or atleast be seen without full BD scan?
Maby not really a problem, if one can access it anyway, but since DVDFab can find it and see direct that it´s the main movie, I thought it was possible here to!? ;)
And still stand my ground that in that case "801.mpls, 802.mpls and 803.mpls" are "totally wrong"! hihi
SuperB work r0lZ, ALOT of ppl will love the proggress of your work!!!!
*** Scanning 00800.mpls...
> eac3to.exe "Y:\BDMV\PLAYLIST\00800.mpls"
00800.mpls, 1:33:37
[914+948+954+956+962+1015+986+989].m2ts
r0lZ
9th November 2012, 13:48
Main movie is:
00800.mpls, 1:33:37
but
00803.mpls, 1:33:37 (* Skipped: Identical to entry 44) is not.
00800.mpls, 1:33:37
00803.mpls, 1:33:37
Where is the difference?
The two other playlists are slightly longer, because the credits are longer (due to the additional foreign actors for the voices).
Is there a chance that it can be shown from start or atleast be seen without full BD scan?
No, sorry. You can perhaps ask madshi (http://forum.doom9.org/showthread.php?t=125966&highlight=eac3to) (the author of eac3to) to keep the first occurrence of duplicated playlist, but I can't force eac3to to modify its default output from my GUI. And I don't want to scan the full BD anyway, as that takes a long time, and many users may be confused by the large amount of 3D titles. (However, the full scan is done automatically when the default eac3to output is empty or doesn't contain 3D titles. That can happen when a BD contains only very short 3D titles.)
MaistroX
9th November 2012, 14:02
Oki, I´ve contacted madshi! ;)
Xaurus
9th November 2012, 17:28
It seems that you're right. Even without the Convert to AC3 option, the True HD AC3 streams are converted to 5.1. I'm not sure I can force eac3to to keep the 7.8 channels unmodified, but I will try. If someone know the syntax to use, please let me know.
It works fine for me manually using a command like this:
eac3to "c:\bd" 1) 4: c:\mux\audio.thd
r0lZ
9th November 2012, 17:54
The secret is simply the ".thd" extension? I don't see it in the list of supported output formats:
Decoded audio data can be stored as / encoded to:
(1) RAW, (L)PCM
(2) WAV (PCM only), W64, RF64, AGM
(3) WAVs (multiple mono WAV files, PCM only)
(4) AC3
(5) DTS
(6) AAC
(7) FLAC
Anyway, thanks for the tip.
Xaurus
9th November 2012, 19:28
Video
VC-1: .vc1
AVC (h264): .h264
MPEG-2: .mpeg2, .m2v
Audio
AC3: .ac3
FLAC: .flac
EAC3: .eac3
TrueHD (without AC3 core): .thd
TrueHD (with AC3 core): .thd+ac3
DTS: .dts
DTS-HD: .dts, .dtshd, dtsma
LPCM: .wav
MaistroX
9th November 2012, 19:34
Just finnished Conan The Barbarian (2011) and had set (as allways) the video bitrate to 10000kbps, but when I checked the finnished *.mkv with MediaInfo (as I allso allways do), it says that the video file is 5799kbps.
I got curious direct when I saw the *.mkv files size, since it was only 5.90GB that with incl. DTS-MA track (3.44GB) and all subtitles and that in a movie that have the runtime of 1h 52min..
Any idea???
See here for the loggfiles -> http://www.mediafire.com/?1ncbw1tdugbbl29
and here for encoding logg -> http://www.mediafire.com/view/?c5p86msobovvm55
and here for MediaInfo logg -> http://www.mediafire.com/?dwni4r2davbq1z9
Regards MaistroX
r0lZ
9th November 2012, 19:46
@Xaurus: Thanks. From where did you got that information?
@MaistroX: It's the content of the _ENCODE.cmd file that determines the encoding method and bit rate. Can you post it here?
MaistroX
9th November 2012, 19:48
Here U go:
@echo off
if not exist "I:\BDMV\STREAM\SSIF\00005.ssif" goto filenotfound
set path=C:\BD3D2MK3D\toolset\stereoplayer.exe;C:\BD3D2MK3D\toolset;%path%
echo Encoding _ENCODE_3D_MOVIE.avs
echo Encoding started %date% %time%
@echo on
"C:\BD3D2MK3D\toolset\stereoplayer.exe\avs2yuv.exe" ^
"_ENCODE_3D_MOVIE.avs" -o - ^
| "C:\BD3D2MK3D\toolset\stereoplayer.exe\x264_x64.exe" ^
--bitrate 10000 --pass 1 --stats "00005_m2ts.stats" --preset slower --tune film --profile high10 --level 4.1 ^
--output NUL --frames 161616 --demuxer y4m --stdin y4m -
@echo Pass 1 finished %date% %time%
"C:\BD3D2MK3D\toolset\stereoplayer.exe\avs2yuv.exe" ^
"_ENCODE_3D_MOVIE.avs" -o - ^
| "C:\BD3D2MK3D\toolset\stereoplayer.exe\x264_x64.exe" ^
--bitrate 10000 --pass 2 --stats "00005_m2ts.stats" --preset slower --tune film --profile high10 --level 4.1 ^
--output "00005_m2ts.264" --frames 161616 --demuxer y4m --stdin y4m -
@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 "I:\BDMV\STREAM\SSIF\00005.ssif" not found!
echo Is the Blu-ray disc loaded?
echo *******************************************************************************
pause
CAN IT BE....that I have mounted the BD iso over the network and used BD3D2MK3D from there, can it have any effect on this? Just a thought, coz this is the first time I´ve done it and used BD3D2MK3D, and all other times IF SET to 10000kbps it would output 10000kpbs.
r0lZ
9th November 2012, 19:55
IMO, the parameters are correct and have been correctly set by BD3D2MK3D, but I'm not an expert in x264 encoding, and maybe I have to specify an additional parameter. Someone can verify?
--bitrate 10000 --pass 1 --stats "00005_m2ts.stats" --preset slower --tune film --profile high10 --level 4.1 ^
--output NUL --frames 161616 --demuxer y4m --stdin y4m -
[...]
--bitrate 10000 --pass 2 --stats "00005_m2ts.stats" --preset slower --tune film --profile high10 --level 4.1 ^
--output "00005_m2ts.264" --frames 161616 --demuxer y4m --stdin y4m -
Xaurus
9th November 2012, 20:02
@Xaurus: Thanks. From where did you got that information?
I've just done it before, don't remember where I read it. If you google it some of it shows up as well.
By the way, is there no way to disable encoding using BD3D2MK3D, i.e making just a remux?
r0lZ
9th November 2012, 20:14
Well, the MUX_2D batch can be used to mux the AVC video stream with your audio and/or subtitle streams, but you cannot remux the 3D video without encoding it.
But I don't understand why you want to do that? What's the utility of remuxing a 3D video that requires a BD player to be played successfully?
Xaurus
9th November 2012, 20:18
Well, the MUX_2D batch can be used to mux the AVC video stream with your audio and/or subtitle streams, but you cannot remux the 3D video without encoding it.
But I don't understand why you want to do that? What's the utility of remuxing a 3D video that requires a BD player to be played successfully?
Well what I was trying to say was that I'd like the quality to be equal to the original, but without having the need to actually pop in the bluray to be able to watch it. :)
r0lZ
9th November 2012, 20:29
I see. Unfortunately, afaik, there are no players that can play a SSIF file, and no good CLI tools to remux to SSIF.
You can encode in lossless mode (CRF 0) in SBS or T&B format, but you cannot mux an AVC stream in a MKV container anyway, so there is no solution to keep exactly the original streams as they are in the BD. (It is perhaps possible to encode the right view only and interlace it with the left view @48fps with some avisynth tricks, but BD3D2MK3D doesn't support that mode yet, and will probably never do. Anyway, the output video stream will be much larger than in the original BD, as it will be impossible to encode the right-eye in differential MVC mode.)
Xaurus
9th November 2012, 20:31
I see. Unfortunately, afaik, there are no players that can play a SSIF file, and no good CLI tools to remux to SSIF.
You can encode in lossless mode (CRF 0) in SBS or T&B format, but you cannot mux an AVC stream in a MKV container anyway, so there is no solution to keep exactly the original streams as they are in the BD. (It is perhaps possible to encode the right view only and interlace it with the left view @48fps with some avisynth tricks, but BD3D2MK3D doesn't support that mode yet, and will probably never do. Anyway, the output video stream will be much larger than in the original BD, as it will be impossible to encode the right-eye in differential MVC mode.)
I know that Stereoscopic Player plays ssif files without problems, but the problem in general with this solution is where a BD has like 10 ssif files... it's very awkward having to watch 5 minutes then load a new file etc.
edit: That ssif join function you added, is that basically just a copy function like in dos prompt? I tried that before and it didn't really work. But if it's something else maybe it simply works just to join them and keep one large ssif file to play with that player.
r0lZ
9th November 2012, 20:47
Yes, the Join function simply appends all SSIF files to the output SSIF. It should work exactly like "copy /b". It it's not the case (or if the final file size is wrong), please let me know.
Eseninzhiv
9th November 2012, 21:12
size output SSIF taken with the BD3D2MK3D fully matches the "copy / b"
with video all right (left, right eye) timecode
but there is a problem with the sound, i wrote about it
audio and subtitles pulled through tsMuxer (playlist) http://i.imgur.com/4jLhH.png
r0lZ
9th November 2012, 21:22
Not sure what that warning means exactly, but it's probably because the audio is not cut exactly at the right point in the original SSIF files. Anyway, that problem should be present also with the file generated with the copy /b command. Right?
Eseninzhiv
9th November 2012, 21:34
Anyway, that problem should be present also with the file generated with the copy /b command. Right?
Right
so I took a video of this method (copy /b)
audio and subtitles with tsMuxer, he remove frames
r0lZ
9th November 2012, 21:38
So, that Join method doesn't work well? Damned!
Eseninzhiv
9th November 2012, 21:44
this method gets only the left and right eye (fine)
sound incorrectly
MaistroX
10th November 2012, 18:35
Can comfirm that doing the same BD (Conan The Barbarian (2011)), but NOT MOUNTED OVER NETWORK, work perfect, set to 10000kbps and outcome is 10000kbps!
Problem solved!!! :)
Just finnished Conan The Barbarian (2011) and had set (as allways) the video bitrate to 10000kbps, but when I checked the finnished *.mkv with MediaInfo (as I allso allways do), it says that the video file is 5799kbps.
I got curious direct when I saw the *.mkv files size, since it was only 5.90GB that with incl. DTS-MA track (3.44GB) and all subtitles and that in a movie that have the runtime of 1h 52min..
Any idea???
See here for the loggfiles -> http://www.mediafire.com/?1ncbw1tdugbbl29
and here for encoding logg -> http://www.mediafire.com/view/?c5p86msobovvm55
and here for MediaInfo logg -> http://www.mediafire.com/?dwni4r2davbq1z9
Regards MaistroX
r0lZ
10th November 2012, 18:47
NOT MOUNTED OVER NETWORK :eek:
Xaurus
11th November 2012, 04:45
Hmm, I would never encode over the network for different reasons. The above is one of them. :)
frencher
11th November 2012, 04:50
Yeah Very Nice Update slavanap
What's wrong in my code ?
ssifSource2(".\BDMV\STREAM\SSIF\00003.ssif", frame_count = <autodetect>, left_view = true, right_view = true, horizontal_stack = true)
r0lZ
11th November 2012, 09:46
"frame_count = <autodetect>" is wrong.
Try:
ssifSource2(".\BDMV\STREAM\SSIF\00003.ssif", left_view = true, right_view = true, horizontal_stack = true)
Since the auto-detected frame count is the default, that should work.
r0lZ
11th November 2012, 12:10
Actually, I select the TrueHD stream but get only the embedded AC3. Seems eac3to is fed some wrong parameters?
Audio
AC3: .ac3
TrueHD (without AC3 core): .thd
TrueHD (with AC3 core): .thd+ac3
Well, I've tried to implement the TrueHD extraction in BD3D2MK3D. That works fine when I use the ".thd" extension, but I get only the TrueHD stream, without the AC3 core, and that's not compatible with many players.
I've also tried to demux the TrueHD with the AC3 core by using the ".thd+ac3" extension, but eac3to fails:
> eac3to.exe "Z:\BDMV\PLAYLIST\00200.mpls" 4: "test.thd+ac3"
[...]
M2TS, 2 video tracks, 3 audio tracks, 1 subtitle track, 0:06:56, 109.477p
1: Chapters, 4 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, 5.1 channels, 640kbps, 48kHz)
5: AC3 Surround, English, 2.0 channels, 320kbps, 48kHz
6: AC3 Surround, English, 2.0 channels, 320kbps, 48kHz
7: Subtitle (PGS), English
a04 AC3 encoding doesn't support back channels. Will mix them into the surround.
a04 Extracting audio track number 4...
a04 Extracting audio track number 4...
a04 Extracting TrueHD stream...
a04 Extracting TrueHD stream...
a04 Decoding with libav/ffmpeg...
a04 Remapping channels...
a04 Mixing surround channels...
a04 Encoding AC3 <640kbps> with libAften...
a04 libav Too many audio samples in frame
a04 The libav decoder reported error -1 while decoding.
^C
Furthermore, when that problem occurs, eac3to hangs and never returns, so BD3D2MK3D hangs too (waiting for eac3to to terminate its job), and the user has to manually kill eac3to and BD3D2MK3D. It's not at all a practical solution. However, I'm not sure that problem occurs with all BDs.
Note also the messages "AC3 encoding doesn't support back channels. Will mix them into the surround." and "a04 Encoding AC3 <640kbps> with libAften...". It seems that anyway, eac3to cannot keep the content of TrueHD tracks unmodified.
I wonder what I should do. I can easily implement the TrueHD only mode, but the MKV resulting file will be difficult (if not impossible) to play with most hardware or software players. Or I can leave my code as it is now, and try to decode the HD and AC3 streams, but that will probably fail, and the whole job will need to be started over. Needless to say that I don't like that!
BTW, currently, the same option is used to demux the core only of DTS and AC3 streams. I can split it in two different options, so that the user will be able keep the DTS-HD streams if he wish, but keep only the AC3 core of TrueHD tracks. But I don't know if supporting the TrueHD demux is really useful, given the current eac3to/libav limitations.
What do you think I should do?
Xaurus
11th November 2012, 12:15
I'd just ask madshi for an answer, r0lz.
r0lZ
11th November 2012, 12:42
I did it. In the meantime, I will add an "hidden option" in the config file, to specify the extension to use when decoding a TrueHD stream. It will be by default ".ac3", but you can change it to ".thd" or ".thd+ac3" if you wish, at your own risk, of course. (To enable TrueHD decoding, you will have to manually edit the config file, and restart the program.)
Note that when the "Keep only the core of DTS-HD audio tracks" option is enabled in tab 2, the TrueHD extension will be forced to ".ac3" anyway, so you can still somewhat control how the TrueHD streams must be processed with the GUI.
[EDIT] Note that the new option will be present at the end of the config file ONLY when the file is saved (either when BD3D2MK3D is used for the first time, or when the options are explicitly saved). So, before trying to edit the config file, change an option in the Options menu, or select "Save settings now". Also, modify ONLY the ::config(TrueHD_ext) option, as editing other options can lead to crashes (and it's useless anyway)!
MaistroX
11th November 2012, 12:56
Hi!
Can one ask to have a batch mode in the convert subtitle to 3D?
A bit time consuming to go one by one, I often have more than 10 subtitles to go over and have to sit and wait for each and ever one to be done before trasforming another.
Please!? ;)
Regards MaistroX
Regards MaistroX
r0lZ
11th November 2012, 13:02
That should be possible, yes. But I will not do it right now, as I need to release v0.12 rapidly (as it fixes some important bugs), and I haven't enough time to modify the less used tools. I put it on my TODO list...
In the meantime, you can already convert all subtitles from a BD title by selecting them in tab 2 and processing the BD normally. You don't need to demux any audio stream or encode the video, of course.
BTW, is it OK to consider that ALL original subtitle files are in the same folder, and to save all converted files in a single folder (equal or different than the original one)? " 3D" will be appended to the file name anyway.
MaistroX
11th November 2012, 13:20
Yes you can! :)
Another TODO:
In the 2 Tab, allso have a "Select All" since in default only 1 audio and 1 Subtilte are selected. Say I want to keep all Exept 3, if a "Select All" button is present one can uncheck the few ones not needed instead of goinf trou a Long list and mark! ;)
Possible?
Regards MaistroX
r0lZ
11th November 2012, 13:34
I will see if it's possible. Probably yes.
[EDIT] Done. I've added a "Select All/None" button in tab 2. (If all streams are already selected, clicking it again deselects all.)
MaistroX
11th November 2012, 13:39
Another TODO maby...
For me and I asume alot of other ppl. a batch mode/Que, extracting hole selected BD's to disc in a Q mode (video to encode included), and push "Add to Que".
So one dont have to have each BD mounted and encoded on by one! :)
Regards MaistroX
r0lZ
11th November 2012, 13:47
Currently, that's very difficult to do without changing a lot of things. So, sorry, but I'll not doing that. Maybe later...
r0lZ
11th November 2012, 17:03
I tried two ways:
1. open BD 3D - tools - join SSIF - open space on the local disk, choose a different local drive, click on Save - APPCRASH http://i.imgur.com/4OPOe.png
2. If immediately go to section 5, select the output folder, change, - tools - join SSIF - click on Save - Everything works fine http://i.imgur.com/PgQ6z.png
I had a hard time to figure out the problem. In fact, it's not a bug in my code, but in FreeWrap. FreeWrap is used to put all pieces of the app in one exe file, so you don't have to install Tcl/Tk. FreeWrap v6.4.2.5 is currently the latest official stable release, and I have used it until now. With that version, the function I use to open the File dialog (to open or save a file) crashes when the user selects another drive than the drive of the current directory of the app AND when a default input or output file name is provided.
Unfortunately, I can fix that bug only if I use FreeWrap v6.5 beta1. I am already sure that FreeWrap v6.5 beta has other problems, but as far as I know, they are minor. (For example, you will notice strange scrollbars, but they work.)
I will wrap the next version with FreeWrap v6.5 b1. If someone reports another crash, I will need to revert to v6.4.2.5, or to a previous version. Please let me know if the app works correctly.
MaistroX
11th November 2012, 20:05
@r0lZ
Dont know if this is a new or an old fault, but second pass stopped (first one seemed to work).
Check here -> http://www.mediafire.com/?4rzjnvhwsoencad
Regards MaistroX
r0lZ
11th November 2012, 20:17
In Consol.txt, I see 2 times the same Avisynth error: Access Violation. So, I suppose that the two passes failed. Anyway, if the first pass works, the s2cond pass shoud also work fine.
Also, in the AVS script, I notice a strange syntax. Only part 1 is encoded. Have you edited the script?
MaistroX
11th November 2012, 20:31
Have'nt done anything but hitting "Do it!"
Regards MaistroX
Neisklar
11th November 2012, 21:43
For the multi SSIF problem i have some sort of inefficent workaround:
Get the updated DirectShowMVCSource Plugin: http://www.share-online.biz/download.php?id=I3CQBCDMI5
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
I will give slavanap the information needed, so he can update his ssifSource2, which is then more efficent cause it only decodes once.
To create an combined bitstream:
* extract left and right with eac3to from .mpls
* use that little quick and dirtty tool to create an combined bitstream: http://www.share-online.biz/download.php?id=WHDSBCDMBCK
* use tsMuxer or equivalent to create a .m2ts file.
(Note that combined raw bitstream can also be fed to the sample_decode.exe from the Intel Media SDK)
r0lZ
11th November 2012, 23:44
Sorry, but I don't understand the interest. The old DirectShowMVCSource can already open a SSIF file, that IS a combined AVC+MVC file. So, joining several SSIF files without demuxing them first should work. So, what's the benefit in creating a m2ts? Am I missing something?
Neisklar
12th November 2012, 00:10
Sorry, but I don't understand the interest. The old DirectShowMVCSource can already open a SSIF file, that IS a combined AVC+MVC file. So, joining several SSIF files without demuxing them first should work. So, what's the benefit in creating a m2ts? Am I missing something?
A SSIF file is a combination/mix of two MPEG-TransportStreams where every TS at least contains a Video Stream, one Base AVC and one Subset-MVC.
MPLS defines (multiple) start and stop points in one or more TS, so to get the correct result you need to get the streams by MPLS, not just binary concatenate the TS
(i think thats why we have that extra frame problem, and/or the audio problems.)
So eac3to is able to correctly extract the two raw streams. We don't have a tool to open the raw streams directly, and no tool which can remux the raw MVC-Subset stream in an container. So the little tool creates an combined MVC Stream (That is one stream inclusing both base and mvc view), which can be muxed with tsMuxer, and opened with MPEGSPlitter.dll
r0lZ
12th November 2012, 00:34
OK, nice explanation. BUT, IMO, it's too much work and a too long process to be a practical solution.
BTW, I'm currently testing the problem of the duplicate frames. I think now that the number of frames reported by all tools is correct (except eac3to that reports one frame less). For whatever reason, when I encode a single SSIF from a multi-angle MPLS, the final MKV file has one or two additional frames (dupes of the last frames). The same thing happens with DirectShowMVCSource, ssifSource2 and even DirectShowSource (on a single M2TS). But I can't see that frames when I encode the same SSIF followed by another one (with the avisynth syntax "clip1 + clip2"). Therefore, I think now that the dupe problem is not important, as there are only additional frames at the very end of the video. Not a big deal.
When decoding a "large SSIF" file produced with copy /b 1.ssif+2.ssif (or with my Join tool), but without remux, some very strange things are happening. Some frame are missing in the middle of the SSIF, but in one view only, and that causes a shift in the left/right synchro! IMO, currently, it's the worst method, probably due to the multiple start points, as you ave explained above.
I must now test your new method, but I spend too much time on that project, and I have to do other things. Not sure I'll do it soon, especially if I can't use that method in my GUI. Thanks anyway!
Eseninzhiv
12th November 2012, 02:29
did a little test
combined raw bitstream opened in graphstudio
http://i.imgur.com/R4cae.jpg
frencher
12th November 2012, 06:45
For the multi SSIF problem i have some sort of inefficent workaround:
Get the updated DirectShowMVCSource Plugin: http://www.share-online.biz/download.php?id=I3CQBCDMI5
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
I will give slavanap the information needed, so he can update his ssifSource2, which is then more efficent cause it only decodes once.
To create an combined bitstream:
* extract left and right with eac3to from .mpls
* use that little quick and dirtty tool to create an combined bitstream: http://www.share-online.biz/download.php?id=WHDSBCDMBCK
* use tsMuxer or equivalent to create a .m2ts file.
(Note that combined raw bitstream can also be fed to the sample_decode.exe from the Intel Media SDK)
For Good news it's very very good news :D nice nice nice
Remux stereo to one AVC+MVC stream "combined.h264"
I suggest
- Possible to use "CombineMVC.exe" in cmd
- Add Export to mts, m2ts, ts, mkv, mp4, avi
- Complile to "CombineMVC_x64.exe"
- Increase speed optimization if not include (mmx,sse,3D Now, etc...)
- Remaining time
PS: Very Very good news, thank you for your work ;)
Nico8583
12th November 2012, 08:37
For the multi SSIF problem i have some sort of inefficent workaround:
Get the updated DirectShowMVCSource Plugin: http://www.share-online.biz/download.php?id=I3CQBCDMI5
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
I will give slavanap the information needed, so he can update his ssifSource2, which is then more efficent cause it only decodes once.
To create an combined bitstream:
* extract left and right with eac3to from .mpls
* use that little quick and dirtty tool to create an combined bitstream: http://www.share-online.biz/download.php?id=WHDSBCDMBCK
* use tsMuxer or equivalent to create a .m2ts file.
(Note that combined raw bitstream can also be fed to the sample_decode.exe from the Intel Media SDK)
Hi,
Does this tool no longer need to convert h264 to raw avi when Cinevision or other soft is used to encode ?
Thanks.
Wolfy59
12th November 2012, 08:41
For the multi SSIF problem i have some sort of inefficent workaround:
Get the updated DirectShowMVCSource Plugin: http://www.share-online.biz/download.php?id=I3CQBCDMI5
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
I will give slavanap the information needed, so he can update his ssifSource2, which is then more efficent cause it only decodes once.
To create an combined bitstream:
* extract left and right with eac3to from .mpls
* use that little quick and dirtty tool to create an combined bitstream: http://www.share-online.biz/download.php?id=WHDSBCDMBCK
* use tsMuxer or equivalent to create a .m2ts file.
(Note that combined raw bitstream can also be fed to the sample_decode.exe from the Intel Media SDK)
Great thanks for all the work you do
frencher
12th November 2012, 08:43
Yes ;)
I waited a long time this software and gods have heard
Neisklar
12th November 2012, 09:09
did a little test
combined raw bitstream opened in graphstudio
http://i.imgur.com/R4cae.jpg
Where did you get that DirectShowFilter?
OK, nice explanation. BUT, IMO, it's too much work and a too long process to be a practical solution.
Yeah, it's not meant to be a general solution, since it needs space und time. It's just an alternative for some really problematic movies.
It's also not optimized for speed, it uses code from ldecod converted to delphi. Was just for playing around with bitstream interleaving, i'm even not sure if the combined bitstream is absolutly spec conform in the order of that NALUs.
For Good news it's very very good news :D nice nice nice
Remux stereo to one AVC+MVC stream "combined.h264"
I suggest
- Possible to use "CombineMVC.exe" in cmd
- Add Export to mts, m2ts, ts, mkv, mp4, avi
- Complile to "CombineMVC_x64.exe"
- Increase speed optimization if not include (mmx,sse,3D Now, etc...)
- Remaning time
PS: Very Very good news, thank you for your work ;)
Most of that things aren't won't gonna happen, sorry, i'm lacking the skills.
Commandline version, ok no problem. Creating different containers, if at all then only by calling external tools. For 64bit i would need to shift to c++ and i'm bad at c, or buy a newer delphi with 64bit support, ...
We need coders, so we can start the big 'free' decoder thing, which i mentioned earlier, where this stuff is part of.
(BTW: that combined bitstream could even be fed through ldecod, after fixing a small bug in ldecod's source)
Maybe madshi could also be convinced to give out the demuxing code, ...
frencher
12th November 2012, 09:20
@Neisklar
What minimal version of Delphi do you need for these optimizations ?
Neisklar
12th November 2012, 11:38
@Neisklar
What minimal version of Delphi do you need for these optimizations ?
With XE2 at least i can create 32bit OSX and 32 and 64bit Windows executables. You don't need to search, i have an XE2 at hand, but just not officially. It's planned to upgrade to XE3 in the next time (if my boss pays the upgrade), but Embarcadero still isn't able to provide some details about some needed features.
And I'm not sure if 64bit really speeds things up. I think the way the "Annex B" bytestream-parser is done in ldecod is the speedlimit.
The processorspecific optimisations are hopefully done by the compiler, since i don't have a clue of that stuff;-)
So, it should be relativly easy to create an quick'n'dirty commandline version, since i could reuse most of the code. Maybe that version is then already quicker. Dunno if i got time today, to much projects at work for to few hours.
Wolfy59
12th November 2012, 11:46
hello all and thanks for all the work you do here.
I have a little problème with the new DirectShowMVCSource.dll
I want to use it to create 2 raw mkv and use them to cinevision.
So I created this 2 script
left eye
loadPlugin("DirectShowMVCSource.dll")
video=DirectShowMVCSource("G:\BDMV\STREAM\00800.m2ts", decodeleft=true)
AssumeFPS(video,"ntsc_film")
return video
and right eye
LoadPlugin("DirectShowMVCSource.dll")
video=DirectShowMVCSource("G:\BDMV\STREAM\00800.m2ts")
AssumeFPS(video,"ntsc_film")
return video
When i load them I have a violation access error in line 2 and I can do nothing.
So i want to know where s my error
Thanks for the answers
frencher
12th November 2012, 11:55
@Neisklar
Strongly update ;)
@Wolfy59
Before extract Left.h264 and Right.h264 tracks of you mpls with eac3to
Combine the result with "CombineMVC.exe"
Remux "combinedMVC.h264" to "combinedMVC.ts" with TsMuxer and after
Script AVS
loadPlugin(".\DirectShowMVCSource.dll")
left = DirectShowMVCSource(".\combinedMVC.ts", decodeleft=true)
right = DirectShowMVCSource(".\combinedMVC.ts")
video = StackHorizontal(left, right).BicubicResize(1920,1080).AssumeFPS(24000, 1001)
return video
Neisklar
12th November 2012, 12:11
left eye
loadPlugin("DirectShowMVCSource.dll")
video=DirectShowMVCSource("G:\BDMV\STREAM\00800.m2ts", decodeleft=true)
AssumeFPS(video,"ntsc_film")
return video
and right eye
LoadPlugin("DirectShowMVCSource.dll")
video=DirectShowMVCSource("G:\BDMV\STREAM\00800.m2ts")
AssumeFPS(video,"ntsc_film")
return video
From the BDMV\STREAM\ part of the sourcefile part, i assume you want to open an 3D BluRay?
Then you need to open the SSIF File.
The bitstream combining thing is only for certain rare cases of multi-ssif movies, and other sources which provide seperated streams.
r0lZ
12th November 2012, 12:20
I'm also interested in a CLI version of CombineMVC.
And it would be nice if it could work with named pipes. That way, at least the disc size will be less important. (I don't know if eac3to can demux to named pipes, and if tsMuxeR can get its input streams from named pipes, but it it's the case, I can write a GUI to output directly the combined TS file from the BD, without having to launch several apps and write large temp files to disc.)
frencher
12th November 2012, 12:30
@r0lZ
Same Idea lol ;)
@Neisklar
"CombineMVC.exe" uses the same standard as SONY 3D Camcorder (mts) ?
Neisklar
12th November 2012, 13:05
I'm also interested in a CLI version of CombineMVC.
And it would be nice if it could work with named pipes. That way, at least the disc size will be less important. (I don't know if eac3to can demux to named pipes, and if tsMuxeR can get its input streams from named pipes, but it it's the case, I can write a GUI to output directly the combined TS file from the BD, without having to launch several apps and write large temp files to disc.)
Should be possible, afaik EVERY program that uses standard windows api file handling can read and write to a named pipe, if the other process opened it. So only one side must be pipe aware and create it and voila it works. It should even work over the network.
So it should possible to pipe all 3 steps together eac3to, combine, and tsmuxer
@r0lZ
Same Idea lol ;)
@Neisklar
"CombineMVC.exe" uses the same standard as SONY 3D Camcorder (mts) ?
No it only uses and produces raw .264 bytestreams, no container format support
r0lZ
12th November 2012, 13:07
Should be possible, afaik EVERY program that uses standard windows api file handling can read and write to a named pipe, if the other process opened it. So only one side must be pipe aware and create it and voila it works. It should even work over the network.
So it should possible to pipe all 3 steps together eac3to, combine, and tsmuxer
Great! Honestly, I know nothing about named pipes, but if you can do the hard job, that would be very nice! ;)
Eseninzhiv
12th November 2012, 13:30
Neisklar
Where did you get that DirectShowFilter?
MainConcept H.264 v.9.5.7.1886 * (DirectShow with DXVA2; AVC-Intra & MVC Blu-Ray 3D support)
here http://codec.kiev.ua/mpeg4.html section MPEG-4 AVC / H.264 Software DEcoders
frencher
12th November 2012, 13:31
No it only uses and produces raw .264 bytestreams, no container format support
I mean in the output file (combinedMVC.h264) :p
Neisklar
12th November 2012, 13:50
I mean in the output file (combinedMVC.h264) :p
I don't have a clue waht sony produces, do you have a sample file to download and inspect?
The order of that NALUs from the two streams is mainly the same as the one Intel Media SDK MVC Encoder produces, so for each picture: first all NALUs from main stream, then all NALUs from dependent stream.
It may that i have misunderstood the MVC spec, but thats not 100% conformant, but ldecod, corecodec, intel media sdk decoder and so on, can decode it.
frencher
12th November 2012, 14:24
SONY MVC 3D Samples (http://forum.doom9.org/showpost.php?p=1501677&postcount=20)
Neisklar
12th November 2012, 14:42
SONY MVC 3D Samples (http://forum.doom9.org/showpost.php?p=1501677&postcount=20)
OK thanks.
That are normal MPEG-Transportstreams with a full AVC base view stream and a MVC-Subset stream, just like a 3D BluRay (except this time in one m2ts container) (.mts is the shortform of m2ts) So you can and could already open that files with ssifSource2 and/or SirectShowMVCSource.
frencher
12th November 2012, 14:51
OK it's Same
Wolfy59
12th November 2012, 17:34
From the BDMV\STREAM\ part of the sourcefile part, i assume you want to open an 3D BluRay?
Then you need to open the SSIF File.
The bitstream combining thing is only for certain rare cases of multi-ssif movies, and other sources which provide seperated streams.
Thanks Neisklar and Frencher for your answers
Eseninzhiv
12th November 2012, 18:06
tell me please
why filter MainConcept MVC/AVC/H.264 Video Decoder not decode the MVC file ?
just a black screen http://i.imgur.com/GcMFY.png
how to build filters to graphstudio so as to obtain a separate (left eye, right eye) input with combinedMVC.h264?
http://i.imgur.com/Gx0KH.jpg
Neisklar
12th November 2012, 18:53
tell me please
why filter MainConcept MVC/AVC/H.264 Video Decoder not decode the MVC file ?
just a black screen http://i.imgur.com/GcMFY.png
how to build filters to graphstudio so as to obtain a separate (left eye, right eye) input with combinedMVC.h264?
http://i.imgur.com/Gx0KH.jpg
The right eye, or MVC Subset stream can't be decoded without the base view (stream), since it depends on that.
Edit:
There are two different types of MVC bitstreams. The combined one where the base and the dependent view are in the same bitstream, and then a seperate bitstream in which only the NALUs from the second view are present. Both types share that the second view is ALWAYS dependent of the base view, and can't bereconstructed without it, since the dependent view only stores the differences to the base view.
The combined stream is even backwards compatible, cause a non-MVC capable decoder just ignores the MVC part, and only 'sees' a normal H.264 stream.
frencher
12th November 2012, 19:19
@Wolfy59
You are welcome ;)
samfednik
12th November 2012, 22:07
People, I think I realized what was missing in the graph, to extract the "raw h264 Left and right raw h264". And it works! (Tested on 2 different 3DBD)
Look at the following graph, it adds MVC-Muxer and everything works, and how it can help us? (I register these dll manually, and Sonic = Mainconcept :-)
http://i48.fastpic.ru/big/2012/1112/20/a752ef1cb2f7d5ecaee2bb1788d70020.png
Maybe even be able to do on such a graph of raw h264/MVC?
http://i48.fastpic.ru/big/2012/1112/44/db3c7e36258aa2d7fdb3fc7f06dad844.png
should try Neisklar
Eseninzhiv
12th November 2012, 22:47
tell us how to manually register dll (Sonic = Maintsontsept)
and where can take Sonic MVC decoder?
Neisklar
13th November 2012, 08:01
should try Neisklar
I can and will try.
Could you please upload a small smaple of the created combinedMVC.h264 stream? I'm interested in in what order exactly this muxer puts the NALUs in the bitstream.
It all has one drawback:
It's all DirectShow, and DirectShow as source for Avisynth isn't the best combination.
The next question is, is that MainConcept codec free? Free to download, and free to use?
Thank you!
frencher
13th November 2012, 08:25
Mainconcept MVC (http://www.mainconcept.com/products/sdks/3d/mvc-sdk.html)
frencher
13th November 2012, 09:40
Stereoscopic Player don't play combinedMVC (Black Screen) into contenair:
- .mts
We just hear the audio track
r0lZ
13th November 2012, 10:10
There is a lot of changes in this version, and it may still have some bugs, but the known bugs in v0.11 have been fixed.
I've also modified the "Convert Subtitles to 3D" tool to work in batch mode. (Note that when you click the Abort button and Suppe3D is busy converting with BDSup2Sub, it doesn't show you immediately that the abort will happen, but it works.)
# v0.12 (November 12, 2012)
# - "Join SSIF files of current MPLS" tool is finished.
# - Batch mode for "Convert Subtitles to 3D"
# - Added timeout=60000*<number of SSIF files> in DirectShowMVCSource commands to try to avoid the DirectShow timeout problem.
# - Fix: Wrong part numbers in AVS script when using ssifSource2 with multi-story MPLS.
# - Fix: Multi-angle MPLS bug due to the (angle N) string in the eac3to output.
# - Fix: Added KillAudio() in AVS script with blank intro (without background image or text).
# - Fix: Better method to retrieve the number of frames of multi-story/angle MPLS.
# - Added the "Select All/None" button in tab 2 to select or deselect all audio & subtitle streams.
# - Added the "--fullscan" CLI argument to "Scan Full BD" when a BD folder is provided in the command line.
# - Added the hidden option ::config(TrueHD_ext) in the config file (for expert users only!) The option to keep only the core of the DTS audio tracks is now used also to control the True-HD AC3 tracks (when ::config(TrueHD_ext) is not ac3).
# - Wrapped with FreeWrap v6.4.2.4 instead of 6.4.2.5 as a workaround for the crash when changing the output folder to another drive in an Open File dialog.
# - Updated DirectShowMVCSource.dll to v0.7 in the toolset.
As you can see, I had to go back to FreeWrap v6.4.2.4 due to the file dialog crash when changing the drive in v6.4.2.5. AFAIK, v6.4.2.4 works well, but it has some drawbacks. For example, the Select Directory dialog is very small and cannot be resized, and it lacks the "New folder" button. Not a big deal imo.
Download BD3D2MK3D.7z (http://download.videohelp.com/r0lZ/BD3D2AVS/BD3D2MK3D.7z)
Eseninzhiv
13th November 2012, 10:34
Neisklar
The next question is, is that MainConcept codec free? Free to download, and free to use?
http://forum.doom9.org/showthread.php?p=1600324#post1600324
r0lZ
thanks for the release!
Neisklar
13th November 2012, 11:19
Stereoscopic Player don't play combinedMVC (Black Screen) into contenair:
- .mts
We just hear the audio track
Yeah, thats some problem in conjuction with the stf.dll Stereoplayer always uses. Thats why it also only work in DirectShowMCVSource without using stf,
http://forum.doom9.org/showthread.php?p=1600324#post1600324
I just need to ask again, since on the Mainconcept page i don't see any free codecs or SDKs for download:
(And the installer doesn't have any licence screen)
Are these Codecs build by a licensed mainconcept SDK which allow distribution? Where did that installer come from?
Thanks
@samfednik:
I also would like to know where you got your codecs, and are they free?
Thanks
Eseninzhiv
13th November 2012, 11:41
Where did that installer come from?
I do not know
Alf FreeWare VideoCODECs Collection
frencher
13th November 2012, 11:49
Yeah, thats some problem in conjuction with the stf.dll Stereoplayer always uses. Thats why it also only work in DirectShowMCVSource without using stf
OK Thank's ;)
samfednik
13th November 2012, 18:27
@samfednik:
I also would like to know where you got your codecs, and are they free?
Thanks
Hi, sorry for the delay... I do not remember what software I unpacked these filters seem TotalCode Professional.
Link to filter that uses software, they are free (may be wrong):
http://sendfile.su/708332
Register them manually.
PS: For the convenience of the register/unregister the dll and ax files from right click, create a text file with the following content:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\.dll]
"Content Type"="application/x-msdownload"
@="dllfile"
[HKEY_CLASSES_ROOT\dllfile]
@="Application Extension"
[HKEY_CLASSES_ROOT\dllfile\Shell\Register\command]
@="regsvr32.exe \"%1\""
[HKEY_CLASSES_ROOT\dllfile\Shell\UnRegister\command]
@="regsvr32.exe /u \"%1\""
[HKEY_CLASSES_ROOT\.ocx]
@="ocxfile"
[HKEY_CLASSES_ROOT\ocxfile]
@="OCX"
[HKEY_CLASSES_ROOT\ocxfile\Shell\Register\command]
@="regsvr32.exe \"%1\""
[HKEY_CLASSES_ROOT\ocxfile\Shell\UnRegister\command]
@="regsvr32.exe /u \"%1\""
[HKEY_CLASSES_ROOT\.ax]
@="axfile"
[HKEY_CLASSES_ROOT\axfile]
@="AX"
[HKEY_CLASSES_ROOT\axfile\Shell\Register\command]
@="regsvr32.exe \"%1\""
[HKEY_CLASSES_ROOT\axfile\Shell\UnRegister\command]
@="regsvr32.exe /u \"%1\""
Then rename it to file.reg and run. (tested on 32bit windows)
Eseninzhiv
13th November 2012, 20:00
Thanks, tested on win7 64bit, all filters registered.
slavanap
13th November 2012, 22:30
Should be possible, afaik EVERY program that uses standard windows api file handling can read and write to a named pipe, if the other process opened it. So only one side must be pipe aware and create it and voila it works. It should even work over the network.
No. Not every program can use pipes perfectly. With ldecod & eac3to I had problems to make them support pipes. Because, by default eac3to does not support pipes, and old version of ldecod crashes at the end of pipe, because ReadFile function returns different codes if pipe is closed and file is ended. See WinSDK for more info. You should fix ldecod code to make it support pipes (see at the end of file processing code).
The eac3to that support pipes you can grab from old ssifSource package.
P.S. I'm rather busy now. No time to support ssifSource rapidly.
Wolfy59
14th November 2012, 09:40
People, I think I realized what was missing in the graph, to extract the "raw h264 Left and right raw h264". And it works! (Tested on 2 different 3DBD)
Look at the following graph, it adds MVC-Muxer and everything works, and how it can help us? (I register these dll manually, and Sonic = Mainconcept :-)
Should try Neisklar
Hi samfednik How do you load the right.h264 in graphstudio
I have a Can t open file error here
Thanks
samfednik
14th November 2012, 11:27
2Wolfy59
Use "File Source(Async)" in GraphEdit(GraphStudio) and construct Graph manualy.
Graphedit works not only with raw h264 streams, as well as the files of the left/right m2ts and read directly from the disk image (ISO).
Somehow it does not work with ssif.
http://i47.fastpic.ru/big/2012/1114/e1/a0d38eb58fa03de992d253a9662b9de1.png
Eseninzhiv
14th November 2012, 23:26
how he managed to register this filter?
3dtv.at AVC/MVC Decoder (by CoreCodec)
http://forum.doom9.org/showthread.php?p=1509845#post1509845
he said to me in PM
I think new version doesn't allow to register the filter, sorry
http://i.imgur.com/qnbth.png
samfednik
15th November 2012, 07:58
2Eseninzhiv
He is not registered 3dtv.at AVC/MVC Decoder (by CoreCodec)
He is peeped and changed graph, used spy dll and remote connect in graphstudio.
RUS: Он не зарегестрировал его, а использовал фильтры-шпионы (длл-ки). Потом изменил Граф. Вот как строит Граф стереоскопик плеер используя свои фильтры.
http://forum.doom9.org/showthread.php?p=1588927#post1588927
Wolfy59
15th November 2012, 23:57
2samfednik
thanks for your answer i tried to make a graph to export raw right h264 stream by using the monoscopic stream right eye
output in the 3dtv.at stereo transformation, but i can't use the graph in my avs for megui
frencher
16th November 2012, 11:40
No division by 0 with "Prometheus" with "CombineMVC.exe" and last update of "DirectShowMVCSource.dll" :D
Eseninzhiv
17th November 2012, 11:19
how to use a plugin to create the raw video streams (left, right) in the format YUY2?
ldecod
BioMvc
frencher
17th November 2012, 13:05
how to use a plugin to create the raw video streams (left, right) in the format YUY2?
ldecod
BioMvc
It's old now and paying (BioMvc) ;)
frencher
17th November 2012, 14:00
Jeeez other soft Huuuuuu (http://www.pavtube.com/mts-converter)
Eseninzhiv
17th November 2012, 15:45
the best option (www.3dtv.at/Products/MvcConverter/Index_en.aspx)
BioMvc paying?
Left_EYE.avs
DirectshowSource("C:\left.m2ts", fps=23.976, framecount=181762, audio=false)
ConvertToYUY2().AssumeFPS(24000,1001)
Right_EYE.avs
LoadPlugin("C:\bioMVC.dll")
right=bioMVCH264Plugin("C:\bioMVC.set",xxxxxx).assumefps(24000, 1001)
comb=right
return comb
bioMVC.set
InputFile = "C:\left.h264"
InputFile2 = "C:\right.h264"
FileFormat = 0
POCScale = 1
DisplayDecParams = 1
ConcealMode = 0
RefPOCGap = 2
POCGap = 2
IntraProfileDeblocking = 1
DecFrmNum = 0
create the raw video streams (left, right)
one problem, I do not like
bioMVC.dll creates the right raw stream format YV12, i can not change that
I need YUY2 or .yuv
BioMvc (http://depositfiles.com/files/kr66u80py?redirect)
anybody can help to change the output format of the right stream?
r0lZ
17th November 2012, 16:06
Can you upload BioMvc.rar elsewhere?
Eseninzhiv
17th November 2012, 18:35
Now see what filters using MVC to AVI Converter
http://i.imgur.com/KBYku.png
post Betaboy from CoreCodec Founder from 2nd May 2012
And whar about CoreMVC? I know it will be a different product but what's the reason for the delay? Is it technical or licensing issues?
CoreMVC 3D has been available for OEM/Developer licensing for over a year now. As far as a consumer decoder however we felt it was more important to get the last remaining features in CoreAVC before releasing it since its 99% based on it.
So we'll continue our non consumer CoreMVC 3D licensing for now and revisit the consumer directshow filter after 4:2:2 is added in v3.5 (Noting my previous post that we are jumping to v3.5 after v3.1 when we add 4:2:2.).
will wait
frencher
18th November 2012, 00:01
the best option (www.3dtv.at/Products/MvcConverter/Index_en.aspx)
BioMvc paying?
Left_EYE.avs
Right_EYE.avs
bioMVC.set
create the raw video streams (left, right)
one problem, I do not like
bioMVC.dll creates the right raw stream format YV12, i can not change that
I need YUY2 or .yuv
BioMvc (http://depositfiles.com/files/kr66u80py?redirect)
anybody can help to change the output format of the right stream?
3DBDBuster from http://www.biohemmet.se is the owner of bioMVC.dll
frencher
18th November 2012, 04:26
@Neisklar
Is it possible to add the "Decombine" in your program "CombineMVC.exe" ?
Eseninzhiv
19th November 2012, 13:23
Is it possible to add the "Decombine" in your program "CombineMVC.exe" ?
why do you need it?
frencher
22nd November 2012, 03:09
@Eseninzhiv
why do you need it?
Just to get the flow in case of need and in case of future upgrade of SSIFSOURCE, DirectShowMVCSource, etc...
samfednik
25th November 2012, 01:43
2Neisklar
2slavanap
Hi, is there any work on your own plugin MVC?
Maybe you can do until the plugin based on DirectShow filters from Sonic (Mainconcept)?
I tried to extract using graphedit raw YUV stream (or lossles compression), and it is interesting that the right thread, too, like CoreMVC.dll extracted by 1 frame less than the present in it. This similarity - rather strange...
But plus DirectShow filters from Sonic (Mainconcept) that they understand raw .h264
Ie we can extract eac3to continuous left/right h264 stream of the film mpls, when the film is divided into several SSIF.
Tested on MiB3 - results:
eac3to v3.24
command line: eac3to.exe p:\BDMV\PLAYLIST\00800.mpls 2:Left1.h264 3:Right1.h264
------------------------------------------------------------------------------
M2TS, 2 video tracks, 7 audio tracks, 6 subtitle tracks, 1:45:49, 24p /1.001
1: Chapters, 16 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, 5.1 channels, 16 bits, 48kHz
(core: DTS, 5.1 channels, 16 bits, 1509kbps, 48kHz)
5: AC3, Hindi, 5.1 channels, 640kbps, 48kHz, dialnorm: -27dB
6: AC3, Kazakh, 5.1 channels, 640kbps, 48kHz, dialnorm: -27dB
7: AC3, Russian, 5.1 channels, 640kbps, 48kHz, dialnorm: -27dB
8: AC3, Tamil, 5.1 channels, 640kbps, 48kHz, dialnorm: -27dB
9: AC3, Telugu, 5.1 channels, 640kbps, 48kHz, dialnorm: -27dB
10: AC3, Ukrainian, 5.1 channels, 640kbps, 48kHz, dialnorm: -27dB
11: Subtitle (PGS), English
12: Subtitle (PGS), Estonian
13: Subtitle (PGS), Hindi
14: Subtitle (PGS), Latvian
15: Subtitle (PGS), Lithuanian
16: Subtitle (PGS), Russian
[v02] Extracting video track number 2...
[v03] Extracting video track number 3...
[v03] Creating file "Right1.h264"...
[v02] Creating file "Left1.h264"...
Video track 2 contains 152232 frames.
Video track 3 contains 152232 frames.
eac3to processing took 21 minutes, 50 seconds.
Done.
Extracted (right eye) just like that, because the filters protections from the AVI mux:
http://i48.fastpic.ru/big/2012/1125/db/3bdda9c6ade3ce94f785ac4c663b39db.png
The final video for the right eye turned by 1 frame less = 152231 frames, which is not so bad.
The left eye can be indexed DGindex, shorter use the old methods for AVC encoding.
frencher
26th November 2012, 03:47
why do you need it?
For this problem
Download (http://ul.to/y0onf5ad)
frencher
26th November 2012, 05:51
The download is in my signature... ;)
Small tool for very fast preview and recode your 3D video files :rolleyes:
Install Avisynth (min AVS 2.6.0 Alpha 5 [130918]) (http://sourceforge.net/projects/avisynth2/files/AviSynth_Alpha_Releases/) and latest ffdshow (http://sourceforge.net/projects/ffdshow-tryout/files/?source=dlp) for perfect works
Fix for: View/Resizing/Do not resize ffdshow video decoder choose all supported format
http://i41.tinypic.com/rua5pw.png
Extract and run directly MVC Player Free.exe or play associated file with MVC Player Free.exe
/!\ It is strongly recommended to work from an iso and unencrypted
Use Virtual Drive for Play and Recode if difficutly on the fly with BD-ROM drive with index.bdmv and .mpls files...just select one file from playlist.
http://i46.tinypic.com/2d2nf6.png
Drag and drop your file to "MVC Player Free"...
http://i45.tinypic.com/168dh7p.png
http://i48.tinypic.com/16hogi0.png
...or use "Open File" (CTRL+O).
http://i50.tinypic.com/30auolz.png
If you have this error with audio tracks, try this. (uNicAudio.dll + Source Code.rar for update "DirectShowMVCSource.dll" (http://ul.to/6k1bhp8m))
http://i47.tinypic.com/343qd21.png
Your choice can be seen and re-encoded
http://i48.tinypic.com/23sasg4.png
By default, resize of video is 1920x1080p.
Preview may not work if more than 1920x1080p but re-encoding is not a problem.
http://i47.tinypic.com/34gqamr.png
You can export Preview.avs to .h264 and .yuv
If re-encoding does not start is that "avisynth" does not support more than 7 .m2ts or .ssif in a playlist.
To do this you must:
- Demuxing your stream with eac3to
- Combine with CombineMVC (left and right eye)
- Remux the file .ts .mts .m2ts
- Open the resulting file (.ts .mts .m2ts) with MVC Player Free
http://i48.tinypic.com/21al7og.png
All suggestions are welcome
frencher
27th November 2012, 06:32
"MVC Player v0.0.0.2" In my signature... :rolleyes:
Extract and run MVC Player.cmd
# Remove mplayer for windows api to increase speed
# Added commands: Load, Play, Pause, Stop
# Quick Edit File "AVS"
# Display the elapsed time and total time
# Display the status of "MVC Player"
# The full screen is now supported (double click)
# Suppression of the controls for a more convenient preview
# The real-time resizing the window now possible
# Reduced file size
Should now be able to synchronize the audio (ac3, dts, etc) and subtitles (PGS. Sup,. Srt, etc) in the AVS for proper rendering.
If someone idea I'm interested ;)
@Neisklar
Very nice works for CombineMVC.exe.:thanks:
Pending news :D
frencher
28th November 2012, 05:48
I did some tests but I do not know much about the Avisynth filters ...
I still managed to read the video and audio but only outside the "mts".
If you have a better solution with other filter(s) to read directly from the file "mts", which you must choose it and what is the avisynth code.
Attached:
- MVC Player v0.0.0.2 Video + Audio Test 1.rar (http://ul.to/20die2iq)
Run MVC Player.cmd and Load
- uNicAudio.dll + Source Code.rar (http://ul.to/6k1bhp8m)
Audio filter of my test
The possibility of "Seek" will be added in the next version of the interface
frencher
28th November 2012, 07:10
"MVC Player v0.0.0.3" In my signature... :rolleyes:
Don't look the design of player :D
Extract and run MVC Player.cmd or play associated file with MVC Player.exe
# Play now with Audio (DirectShow) temporary
# The association is now possible with MVC Player.exe with (mts, mp4, ssif, etc...)
# Full control (volume, seek, mute) are ready just don't use "Play" of interface only button "Load"
Should now be able to synchronize the audio without Direct Show filters (ac3, dts, etc) and subtitles (PGS. Sup,. Srt, etc) in the AVS for proper rendering. :script: :thanks:
If someone idea I'm interested.
Knowledge is only if it is shared ;)
frencher
29th November 2012, 05:22
"MVC Player v0.0.0.4" In my signature... :rolleyes:
Extract and run MVC Player.cmd or play associated file with MVC Player.exe
# Ability to enable or disable the audio track (some audio may be difficult with DirectShow, me DTS Tracks)
# Save the size of the window leaving MVC Player
# Some fixes
Wolfy59
29th November 2012, 20:52
2Neisklar
2slavanap
Hi, is there any work on your own plugin MVC?
Maybe you can do until the plugin based on DirectShow filters from Sonic (Mainconcept)?
I tried to extract using graphedit raw YUV stream (or lossles compression), and it is interesting that the right thread, too, like CoreMVC.dll extracted by 1 frame less than the present in it. This similarity - rather strange...
But plus DirectShow filters from Sonic (Mainconcept) that they understand raw .h264
Ie we can extract eac3to continuous left/right h264 stream of the film mpls, when the film is divided into several SSIF.
Tested on MiB3 - results:
eac3to v3.24
command line: eac3to.exe p:\BDMV\PLAYLIST\00800.mpls 2:Left1.h264 3:Right1.h264
------------------------------------------------------------------------------
M2TS, 2 video tracks, 7 audio tracks, 6 subtitle tracks, 1:45:49, 24p /1.001
1: Chapters, 16 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, 5.1 channels, 16 bits, 48kHz
(core: DTS, 5.1 channels, 16 bits, 1509kbps, 48kHz)
5: AC3, Hindi, 5.1 channels, 640kbps, 48kHz, dialnorm: -27dB
6: AC3, Kazakh, 5.1 channels, 640kbps, 48kHz, dialnorm: -27dB
7: AC3, Russian, 5.1 channels, 640kbps, 48kHz, dialnorm: -27dB
8: AC3, Tamil, 5.1 channels, 640kbps, 48kHz, dialnorm: -27dB
9: AC3, Telugu, 5.1 channels, 640kbps, 48kHz, dialnorm: -27dB
10: AC3, Ukrainian, 5.1 channels, 640kbps, 48kHz, dialnorm: -27dB
11: Subtitle (PGS), English
12: Subtitle (PGS), Estonian
13: Subtitle (PGS), Hindi
14: Subtitle (PGS), Latvian
15: Subtitle (PGS), Lithuanian
16: Subtitle (PGS), Russian
[v02] Extracting video track number 2...
[v03] Extracting video track number 3...
[v03] Creating file "Right1.h264"...
[v02] Creating file "Left1.h264"...
Video track 2 contains 152232 frames.
Video track 3 contains 152232 frames.
eac3to processing took 21 minutes, 50 seconds.
Done.
Extracted (right eye) just like that, because the filters protections from the AVI mux:
The final video for the right eye turned by 1 frame less = 152231 frames, which is not so bad.
The left eye can be indexed DGindex, shorter use the old methods for AVC encoding.
Hi all I can t connect smart tee to lagarith losseless codec
is there something to change before connect the two filters ?
Thanks
Eseninzhiv
30th November 2012, 09:49
@frencher
thanks a lot!
you can add a function to converting in uncompressed AVI and YUV?
certainly better YUV, since avi is able to do MVC to AVI Converter
a paid solution, but there's no 3D support
YUV Convert (http://acceptv.com/page/products_yuv_convert)
frencher
1st December 2012, 00:56
Use this AVS Script with avs2avi.exe
You can still download it from moitah's own domain (http://moitah.net/download/latest/AVS2AVI.zip) though
Why don't use x264 lossless ? -qp 0
LoadPlugin ("DirectShowMVCSource.dll")
File = "Video_Source.mts"
Left = DirectShowMVCSource(File, decodeleft=TRUE)
Right = DirectShowMVCSource(File)
Video = StackHorizontal(Left, Right).BicubicResize(1920,1080).AssumeFPS(24000, 1001).ConvertToYV12()
Return Video
Eseninzhiv
3rd December 2012, 19:32
I do not need AVI
this makes the MVC to AVI Converter
I would like to receive from the SSIF --> two files with the extension YUV (4:2:0 planar)
a paid solution, but there's no 3D support
YUV Convert (http://acceptv.com/page/products_yuv_convert)
frencher
4th December 2012, 04:46
I do not need AVI
this makes the MVC to AVI Converter
I would like to receive from the SSIF --> two files with the extension YUV (4:2:0 planar)
a paid solution, but there's no 3D support
YUV Convert (http://acceptv.com/page/products_yuv_convert)
Use ldecod directly :o
That what you want ?
Eseninzhiv
5th December 2012, 13:24
use ldecod 17.2 alexpk mod (ldecod.exe, decoder.cfg) http://depositfiles.com/files/0qf2a2vr6?redirect
Retrieves the left and right eyes with the command
eac3to.exe "G:\3D\CARS2 3D\BDMV\PLAYLIST\00801.mpls" 2:"E:\Blu-ray\left.h264" 3:"E:\Blu-ray\right.h264"
CARS 2 3D,
TRANSFORMERS 3 3D
works fine, creates two files
test_dec_ViewId0000.yuv
test_dec_ViewId0001.yuv
but with other BD not working
Men in Black 3 3D
creates a single file
test_dec_ViewId0000.yuv
size 2.96 MB
Video track 2 contains 152232 frames.
Video track 3 contains 152232 frames
I can not understand what the problem is
please tell me if know the solution!
frencher
5th December 2012, 15:05
Why do you absolutely have 2 YUV which take up much space :scared:
It will be easier and with no loss of quality x264 with the option "-qp 0"
Eseninzhiv
5th December 2012, 15:11
I do not use x264
I have a lot of space 5TB, need only this format (.yuv)
to encode with lower bitrate and then re-create Blu-Ray disk 3D (50GB->25GB)
x264 can not encode format MVC
frencher
5th December 2012, 15:17
"MVC Player v0.0.0.5" In my signature... :rolleyes:
Extract and run MVC Player.cmd or play associated file with MVC Player.exe
# Storing the value of the volume
# Some fixes
frencher
6th December 2012, 05:34
"MVC Player v0.0.0.6" In my signature... :rolleyes:
Extract and run MVC Player.cmd or play associated file with MVC Player.exe
# Drag and Drop directly to MVC Player (White box removed)
# Some fixes
Will it be possible integrate to "DirectShowMVCSource.dll" functions "uNicAudio.dll" whose source code is HERE (http://ul.to/6k1bhp8m)
Penecho
6th December 2012, 23:09
If i have a SBS 3D movie which needs crop left + right, are the left + the right eye cropped, if i just use:
DirectShowMVCSource("00000.ssif",stf=14).Crop(14, 0, -14, 0)
or does this only crop left+right of the complete SBS movie and in the middle between the 2 pics i still have the stuff i want to crop away?
r0lZ
6th December 2012, 23:29
stf=14 encodes in side by side. Therefore, you can crop the top and bottom border with the crop() command, but not the left and right edges. (If you really want to crop the left and right edges in a single operation, you should encode in Top/Bottom mode, with stf=16.)
Anyway, it's usually not a good idea to crop the 3D movies, as many 3D TVs need the full HD 16:9 resolution to work properly.
frencher
14th December 2012, 03:19
Wow 35 download of MVC Player v0.0.0.6 for yesterdays evening ;)
Nico8583
14th December 2012, 17:36
Does anyone could help frencher to integrate uNicAudio.dll functions to DirectShowMVCSource.dll ? :)
frencher
14th December 2012, 21:11
Does anyone could help frencher to integrate uNicAudio.dll functions to DirectShowMVCSource.dll ? :)
:goodpost:
Cedvano
18th December 2012, 19:41
Hi,
Nice idea for MVC Combined.
But the header of the result file is wrong and can't be played on player.
Have you got any info on MVC encoding (with or without SSIF) ?
Thanks
Eseninzhiv
19th December 2012, 21:16
if I can find SDK http://corecodec.com/products/coremvc
anyone can create a DS filter?
Cedvano
20th December 2012, 09:54
if I can find SDK http://corecodec.com/products/coremvc
anyone can create a DS filter?
I'm interested to include this in my futur software.
frencher
25th December 2012, 04:03
"MVC Player Free v0.0.0.7" In my signature... :rolleyes:
Extract and run MVC Player Free.cmd or play associated file with MVC Player Free.exe
# New Menu (English & French)
# Export directly to Lossless x264 (.mkv) temporary
# Preview and export to: Side by Side, Upper under, more in the future...
# Disable audio track in New Menu
# Some fixes
Merry Christmas at all.
Eseninzhiv
26th December 2012, 03:36
for information: Can ask a demo SDK
MVC 3D Decoder
http://www.ntt-at.com/product/mvc_codec_sdk/
http://corecodec.com/products/coremvc
http://www.vsofts.com/technology/mvc.html
frencher
26th December 2012, 18:44
for information: Can ask a demo SDK
MVC 3D Decoder
http://www.ntt-at.com/product/mvc_codec_sdk/
http://corecodec.com/products/coremvc
http://www.vsofts.com/technology/mvc.html
Nice Idea ;)
frencher
28th December 2012, 08:09
"MVC Player Free v0.0.0.8" In my signature... :rolleyes:
Extract and run MVC Player Free.cmd or play associated file with MVC Player Free.exe
# Added: Reverse view is now possible: Left/Right and Right/Left (for somes disc)
# Fix Disable audio track saved setting
# Some fixes
Nico8583
29th December 2012, 00:32
Does anyone could tell me how DVDFab can encode to MVC and remux ? I don't find any MVC encoder / authoring except expensive software like Scenarist...
[SLiM]D12
29th December 2012, 20:54
I've read this thread, and am a little confused. Basically looking to re-encode 3DBD to 25GB and keep all menus, most audio in tact. I've managed to find another guide, telling me how to use bioset and the biomvc.dll files, but all i get is green video with my right_eye stream. I'm trying to figure out another way to simply my right eye stream to not be green. I use cinevision to encode to mvc using left/right, but like i said, i just want my stream without the green, not even sure where that came from.
Any thoughts on what tools i can use in this thread to basically get uncompressed left and right streams i can feed into cinevision to re-encode?
thx in advance.
frencher
30th December 2012, 03:57
D12;1607969']I've read this thread, and am a little confused. Basically looking to re-encode 3DBD to 25GB and keep all menus, most audio in tact. I've managed to find another guide, telling me how to use bioset and the biomvc.dll files, but all i get is green video with my right_eye stream. I'm trying to figure out another way to simply my right eye stream to not be green. I use cinevision to encode to mvc using left/right, but like i said, i just want my stream without the green, not even sure where that came from.
Any thoughts on what tools i can use in this thread to basically get uncompressed left and right streams i can feed into cinevision to re-encode?
thx in advance.
http://forum.doom9.org/showthread.php?p=1601195#post1601195
[SLiM]D12
30th December 2012, 04:01
thx i've read that post, and understand who the owner is. My question i guess is, what causes the right eye stream to be all green? I read here i think sometimes it's bad fps, but can it be caused by something else?
I tried to decode my streams to left/right using ldecod but i got the error you guys said was related to a bad rip of disc. Not sure what else to go on here, kinda like hitting a wall.
I'm trying MVC to AVI right now to split my MVC to left/right and gonna see if the right avi has green in it. As you all know, it takes a long time and i've run out of space twice while trying this :(
frencher
30th December 2012, 16:18
D12;1608007']thx i've read that post, and understand who the owner is. My question i guess is, what causes the right eye stream to be all green? I read here i think sometimes it's bad fps, but can it be caused by something else?
I tried to decode my streams to left/right using ldecod but i got the error you guys said was related to a bad rip of disc. Not sure what else to go on here, kinda like hitting a wall.
I'm trying MVC to AVI right now to split my MVC to left/right and gonna see if the right avi has green in it. As you all know, it takes a long time and i've run out of space twice while trying this :(
I do not understand the continued use biomvc.dll knowing that "BD3D2AVS" and "MVC Player Free" do it without problems and are much faster
frencher
30th December 2012, 16:40
"MVC Player Free v0.0.0.9" In my signature... :rolleyes:
Extract and run MVC Player Free.cmd or play associated file with MVC Player Free.exe
# Added: Left View AVC seekable and Right View MVC. Thank to Nico8583 ;)
# Added: Resizing resolutions (No resize Works if export to x264 , 1920x1080, 1280x720, 720x576, 720x480)
# Some fixes
Nico8583
30th December 2012, 18:58
"MVC Player Free v0.0.0.9" In my signature... :rolleyes:
Extract and run MVC Player Free.cmd or play associated file with MVC Player Free.exe
# Added: Left View AVC seekable and Right View MVC. Thank to Nico8583 ;)
# Added: Resizing resolutions (No resize Works if export to x264 , 1920x1080, 1280x720, 720x576, 720x480)
# Some fixes
You're welcome but why thanks to me ? :D
frencher
30th December 2012, 19:42
You're welcome but why thanks to me ? :D
This PM, I forgot to activate :D
Je viens de tester mais j'obtiens un fichier en SBS et dans le menu "Vue" les options vu de gauche et vu de droite sont grisées.
I just tested but I get a file and SBS in the menu "View" options given on the left and saw right are grayed out.
Nico8583
30th December 2012, 21:34
this pm, i forgot to activate :d
ok :d
r0lZ
6th January 2013, 12:12
I forgot to release the latest version of BD3D2MK3D. Sorry!
It should fix some problems with the E-AC3 audio and some subtitle streams of recent BDs (such as Brave 3D). It has also a lot of other fixes and improvements.
# v0.13 (November 21, 2012)
# - New method to demux the streams from the M2TS files (instead of MPLS) to avoid the eac3to crashes with subtitle
streams in SSIF files.
# - Added the options "seek=false, seekzero=true" in the DirectShowMVCSource commands to avoid the seek crash.
# - New error message when trying to open a non-3D blu-ray.
# - The eac3to error message "This track is not clean" is now processed (but the demux operation continues normally).
# - The console messages are now also printed to the new "BD3D2MK3D.log" file during the main operation.
# - Better BDSup2Sub error message when no captions are found.
# - Fix: When aborting the demux operation, eac3to was not killed.
# - Workaround for the eac3to "Brave 3D" French audio bug: The automatic streams selection tries to avoid
the AC3 streams @512kbps when another stream is available in the same language.
# - Some small bugs fixed and some GUI enhancements.
Download latest version: BD3D2MK3D.7z (http://download.videohelp.com/r0lZ/BD3D2AVS/BD3D2MK3D.7z)
frencher
8th January 2013, 02:31
Nice Update Roland ;)
SpaceNerd
9th January 2013, 11:18
I forgot to release the latest version of BD3D2MK3D. Sorry!
Thanks for the update and updating! :-) I noticed that 3D subtitle creation fails if "b-spline" is selected as 3D subtitles resize filter. As a result, the final MKV file does not contain any subtitles:
Done scaling PNG Subtitles
An Error occured in the last command
********** Suppe3D.exe stderr: child process exited abnormally
The default ("bilinear") works, however.
r0lZ
9th January 2013, 13:57
OK, for the next update, I'll remove b-spline from the list. Thanks.
BTW, it's probably not Suppe3D that crashes, but BDSup2Sub++, called by Suppe3D, itself called by BD3D2MK3D.
Nico8583
16th January 2013, 13:34
Hi :)
Does the join SSIF tool of BD3D2MK3D work well ? And could I use in "standalone" mode ?
I would like to join SSIF files on a BD 3D to obtain one SSIF file and use it with DirectShowMVCSource.
Or is it possible to join M2TS of a playlist without problem ?
frencher
16th January 2013, 15:08
"MVC Player Free v0.0.1.0" In my signature... :rolleyes:
Extract and run MVC Player Free.cmd or play associated file with MVC Player Free.exe
# Added: Recode x264 2 pass @ 10240 Kbps (temporary) I work to custom x264 preset
# Fixed: AVS Script
# Fixed: False posive (DragnDrop-3D Player.dll)
# Some fixes
Nico8583
16th January 2013, 19:14
I have extract raw .h264 from MPLS and there is a difference of frames number between left and right. Is it normal ? How can I solve this ?
command line: "eac3to.exe" "G:\" 1) 1:"E:\Rips\1_1_chapter.txt" 2:"E:\Rips\1_2_video.h264" 3:"E:\Rips\1_3_video.h264" 5:"E:\Rips\1_5_audio.dtshd" 10:"E:\Rips\1_10_subtitle.sup" 12:"E:\Rips\1_12_subtitle.sup" -progressnumbers
------------------------------------------------------------------------------
M2TS, 2 video tracks, 3 audio tracks, 6 subtitle tracks, 2:16:17, 24p /1.001
1: Chapters, 16 chapters
2: h264/AVC (left eye), 1080p24 /1.001 (16:9)
3: h264/AVC (right eye), 1080p24 /1.001 (16:9)
4: AC3, English, 5.1 channels, 448kbps, 48kHz
5: DTS Master Audio, French, 5.1 channels, 16 bits, 48kHz
(core: DTS, 5.1 channels, 16 bits, 1509kbps, 48kHz)
6: AC3 Surround, English, 2.0 channels, 192kbps, 48kHz
7: Subtitle (PGS), English
8: Subtitle (PGS), Arabic
9: Subtitle (PGS), Dutch
10: Subtitle (PGS), French
11: Subtitle (PGS), Dutch
12: Subtitle (PGS), French
Creating file "E:\Rips\1_1_chapter.txt"...
[s10] Extracting subtitle track number 10...
[v03] Extracting video track number 3...
[v02] Extracting video track number 2...
[s12] Extracting subtitle track number 12...
[a05] Extracting audio track number 5...
[v03] Creating file "E:\Rips\1_3_video.h264"...
[v02] Creating file "E:\Rips\1_2_video.h264"...
[a05] Creating file "E:\Rips\1_5_audio.dtshd"...
[s12] Creating file "E:\Rips\1_12_subtitle.sup"...
[s10] Creating file "E:\Rips\1_10_subtitle.sup"...
Video track 2 contains 196055 frames.
Video track 3 contains 196056 frames.
frencher
16th January 2013, 19:18
Uses the track have more images, here is the track 3: h264/AVC (right eye), 1080p24 /1.001 (16:9)
slavanap
17th January 2013, 12:23
I have extract raw .h264 from MPLS and there is a difference of frames number between left and right. Is it normal ? How can I solve this ?
As for CoreAVCdecoder, it always couldn't extract the last frame for right view, so the left view gets one frame larger.
Nico8583
18th January 2013, 18:19
Hi,
Does anyone could help to choose H264 settings for MVC encode ?
For this capture, I think all is correct :
http://img820.imageshack.us/img820/2218/c01p.jpg
For this capture, I think all should be correct but I'm not sure :
http://img41.imageshack.us/img41/3917/c02wq.jpg
For this capture, I think all should be correct except "Maximum I-(or P- or B- or Br-)frames size) :
http://img13.imageshack.us/img13/2655/c03mx.jpg
Thanks !
frencher
19th January 2013, 01:30
Hi all,
I search the perfect command line of x264 for playback on all decks BluRay market (encoding Bluray commercial) because I found this option using x264
--bluray-compat Enable compatibility hacks for Blu-ray support
Thanks ;)
r0lZ
19th January 2013, 10:12
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.
frencher
20th January 2013, 19:16
OK thanks ;)
If someone could capricious platinum give us feedback and tell us if it works well ?
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.