View Full Version : AVStoDVD Support Thread
Sir Didymus
19th June 2016, 22:48
Hello, Mister XY.
Regarding BM, you are working outside of the perimeter of its intended usage & OS environment. Furthermore my knowledge about wine is almost insignificant. However let me try to give some help at the best of my possibilities...
First of all you should understand the purpose of BM, as a background information. BatchMux is simply a "compiler"; it creates one authoring "program" (e.g. the MuxMan mxp script file) from the directives and instructions provided by AVS2DVD. Of course, in order to be consistent (and to work properly), this mxp script is referencing and needs a series of inputs (the authoring assets). After creating the mxp script, BM tries to launch MuxMan, by feeding it with the just created mxp script file. OK? That's all! :-)
Now, some hints.
1. BM does not need external libreries. To check BM is properly working, you may want to simply launch it FROM A CONSOLE window. After simply typing "BatchMux.exe", it should produce a basic help screen, both under Windows and in wine.
2. During the testing, obviously, it is important to work by instructing AVS2DVD to leave all temporary assets and temporary files in the working directories; otherwise these files are deleted at the end of the AVS2DVD session.
3. From your log file it seems to me that BM operates correctly until the step of creating the mxp file. After obeying to the recommendation of the step 2 above, could you please confirm that the file "Z:\home\thomas\DVD\Temp\DVD_MuxMan.mxp" exists? If so, you can open it with a text editor to get a look at the MuxMan script file... :-)
4. From your log file, BM reports that the preparation of the mxp script file was completed: "Completed preparation of --> MUXMAN SCRIPT", so I am almost sure that the step 3 above was carried out OK in the wine environment.
5. To launch MuxMan, in the the very final steps of the BM code, an OS call similar to "system ("Start /WAIT MuxMan.exe")" is executed, so IN MY UNDERSTANDING, two possibilities exist: or the system call executed by BM is failing under wine, or the system call is working, but MuxMan itself is not working in wine. For sure MuxMan did not start at all in your reported testing session, since it did not produce any log file, as reported in the log line: "BatchMux: ERROR opening Log File Z:\home\thomas\DVD\Temp\DVD_MuxMan.log".
6. Please carry our this test under wine: manually launch MuxMan (simply double click on it). The graphic GUI of MuxMan should start. If so, you please can do: File --> Load Project and open the mxp script file of the step 3. If you simply hit then "Start", you should be able to create manually, with a single click, the whole DVD!!!
OK?
Cheers,
SD
Mister XY
20th June 2016, 04:51
This is the mxp script.
Section=Settings
{
Destination Folder=Z:\home\thomas\DVD\DVD_3\VIDEO_TS
Item=Palette
{
Name=DefaultPalette
Color 0=0, 0, 255
Color 1=255, 0, 0
Color 2=0, 0, 0
Color 3=255, 255, 255
Color 4=0, 255, 0
Color 5=255, 0, 255
Color 6=255, 255, 0
Color 7=0, 125, 125
Color 8=125, 125, 125
Color 9=225, 225, 225
Color 10=125, 0, 0
Color 11=0, 125, 0
Color 12=0, 0, 125
Color 13=222, 0, 255
Color 14=222, 125, 0
Color 15=125, 0, 125
}
}
Section=Content
{
Item=Segment
{
Name=Seg1
Display Mode=Only Letterbox
Item=Video Stream
{
Standard=PAL
Item=Video Play
{
File=Z:\home\thomas\DVD\DVD_3_Film.m2v
}
}
Item=Audio Stream
{
Stream Number=1
Language=de
Language Extension=1
Delay=0
Item=Audio Play
{
File=Z:\home\thomas\DVD\DVD_3_Film_1.ac3
}
}
Item=Scene List
{
Item=Scene
{
Name=Seg1_Scn1
Scene Time=00:00:00:00
Uop=00000000
}
}
}
}
Section=Navigation
{
Item=First PGC
{
Name=FP
Item=Pre Commands
{
mov GPRM0, 1
JumpSS TitleMenu
}
}
Item=VMG
{
Item=Language
{
Name=VMG_Lu1
Item=PGC
{
Name=VMG_Lu1_Pgc1
Menu ID=Title Menu
Item=Pre Commands
{
if ( GPRM0 == 1 ) GoTo 2
JumpTT VTS01_Ttn1
}
}
}
}
Item=VTS01
{
Item=Language
{
Name=VTSM01_Lu1
Item=PGC
{
Name=VTSM01_Lu1_Pgc1
Menu ID=Root Menu
Item=Pre Commands
{
JumpSS VMG_Lu1_Pgc1
}
}
}
Item=Title
{
Name=VTS01_Ttn1
Item=PGC
{
Name=VTS01_Ttn1_Pgc1
Menu ID=Title Entry
Item=Post Commands
{
Exit
}
Item=Program List
{
Item=Program
{
Name=VTS01_Ttn1_Pgc1_Pg1
Item=Cell
{
Name=VTS01_Ttn1_Pgc1_Cell1
Linked Scene=Seg1_Scn1
}
}
}
}
Item=Part of Title List
{
Item=VTS01_Ttn1_Pgc1_Pg1
}
}
}
}
6. Please carry our this test under wine: manually launch MuxMan (simply double click on it). The graphic GUI of MuxMan should start. If so, you please can do: File --> Load Project and open the mxp script file of the step 3. If you simply hit then "Start", you should be able to create manually, with a single click, the whole DVD!!!
This run
For sure MuxMan did not start at all in your reported testing session, since it did not produce any log file, as reported in the log line: "BatchMux: ERROR opening Log File Z:\home\thomas\DVD\Temp\DVD_MuxMan.log".
And yes, muxman did not start via avs2dvd.
I also have change the standard app from mono to wine. After this, muxman starts.
Sir Didymus
20th June 2016, 10:14
This run
That's great! At least you have a way (dirty, but working) to produce your DVD under wine... :-)
My conclusion is then that the piece of code, within BM, where the "system()" OS call is attempted, is not working in wine. :(
May I ask what happens, under wine, if you type in a console window the command "Start /WAIT MuxMan.exe"?
Edit. Hum... What do you mean with "After this, muxman starts"?!? Everything works now via avs2dvd? If so, yuppi! & forget my comments just above...
Mister XY
20th June 2016, 19:37
No no muxman starts as solo app, not in avstodvd.
In an wine terminal it's start with "Start muxman" and with "wait muxman" i get an message, that wait is for batch.
Sir Didymus
20th June 2016, 22:35
So, you confirm that in a wine terminal, if you type: "Start muxman" the MuxMan GUI starts, and if you type "Start /WAIT muxman" it gives an error instead?
If this is the case, frankly speaking, I am definitely non in favour of providing support to this case... The /WAIT argument is quite important for the Start command... What shall I do if it is not implemented in its full form in wine?
Of course, in principle, the whole spawning mechanism adopted by BM could be changed, in order to avoid using the Start command. The idea could be to create a batch file, with the MuxMan C/L arguments and to launch this new batch file by means a different "system" call from within the code of BM.
The point is that this change would be just beneficial to improve the compatibility with the wine envinonment, at the risk of introducing issues for other users running AVS2DVD in the Windows environment...
Mhhh, I don't think it's a good idea to implement things in this way... Especially considering that you already have a working solution to complete manually the authoring session...
Sorry,
SD
Mister XY
21st June 2016, 06:27
ah, you mean i must type "Start /wait muxman". i have think i must test with "start muxman" or "wait muxman".
If i start with "start /wait muxman" Muxman starts.
Sir Didymus
21st June 2016, 10:27
Could you try this?
http://www10.zippyshare.com/v/rGVzWdp0/file.html
It is a snippet of code doing this:
#include <stdio.h>
#include <process.h>
main()
{
int ret = 0;
printf ("Test1 - Using \"system()\" OS call\n");
printf (" - TP1 - before executing MuxMan...\n");
ret = system ("MuxMan.exe");
printf (" - TP2 - after executing MuxMan; \"system()\" --> %d\n", ret);
}
Put the test1.exe in the same folder where MuxMan is located, and launch it from a console windows, as shown in attached images 1, 2 and 3. Is MuxMan starting?
Mister XY
21st June 2016, 17:53
it's look like fine. See the atachment.
Sir Didymus
21st June 2016, 18:22
This is very strange !?!?
Sorry, we can not see the direct attachments in the replies until they are approved by some mod, but this is not relevant anyhow. What you say is indeed very clear and very strange.
Well, let see...
:sly:
The executable of BM acts exactly like the snippet of code in my previous post.
So, you can do another test, if you wish...
In the program folder of AVS2DVD there should exist one file named BatchMux.exe.
In the temporary files assets ("Z:\home\thomas\DVD\Temp") there should exist one initialization file named "DVD_BatchMux.ini".
Please copy BatchMux.exe into this directory, and then, from a console window, type "BatchMux.exe -arglist DVD_BatchMux.ini".
Is MuxMan starting?
Maybe some privileges should be attributed to the executable BatchMux.exe? What about changing the standard app from mono to wine also for BM?
Mister XY
21st June 2016, 20:02
No, MuxMan is not starting.
I will test do edit the ini file.
edit: i have also edit the path to muxman, and nothing happend.
BatchMux has also open with wine.
Sir Didymus
21st June 2016, 21:21
Well, at this point I have little hope on the matter. Having no access to a linux machine, I can not do any test on my own to replicate the issue and to further thinking on how to solve it. Sorry...
:(
manolito
22nd June 2016, 00:15
@Mister XY
As it seems Wine gives you a lot of trouble running AVStoDVD under Linux, have you tried running it in a VM with a Win7 installation? Sounds cleaner to me...
Cheers
manolito
Mister XY
22nd June 2016, 07:23
The reason is, i want go away from windows to use Linux :-). But i see is not so stable. I have also Windows 10 as first os and Linux Mint as second. So i have the option to use it under Windows.
manolito
8th July 2016, 16:09
Again an updated version of my A2D plugins:
Only the FFmpeg VBR plugin has changed this time. It fixes an undersize tendency for 1-pass VBR, and it now has an option to use Mplex instead of FFmpeg for multiplexing.
Background:
I have never been too happy with FFmpeg's muxing capabilities. But now I also get audio sync problems in some situations. FFmpeg always muxes the audio tracks into the MPG file with a -40ms delay. The MPG itself plays fine, even after repacking it into an MKV container there are no sync problems.
But after transcoding such a file to AVC/AAC (I use StaxRip for this) I do get an audio sync problem. MediaInfo reports this -40ms delay, and StaxRip feels that it must correct the delay. If you override the delay correction manually, everything is cool again.
Instead of digging deeper into this FFmpeg peculiarity, I decided to ditch FFmpeg for muxing altogether. Mplex IMO is more reliable anyways (of course it can't touch MuxMan), and it does not add an audio delay.
I included an older version which still works under WinXP using a non-SSE2 CPU. You can of course replace it with a more current version if your CPU supports it (DVDStyler comes with a much newer version).
Download link:
http://www31.zippyshare.com/v/3F9AcVNv/file.html
Just uploaded a newer version which is made for the current AVStoDVD_285_Alpha161027. I highly recommend to use this Alpha version, it has many improvements and is very stable.
http://www28.zippyshare.com/v/YKGhbfmL/file.html
Cheers
manolito
//EDIT//
After toying around a little bit with the FFmpeg muxing parameters I found the culprit for this stupid -40ms audio delay. It is the "-f vob" parameter ("-f dvd" has the same issue). Replacing this parameter with "-f mpeg" or omitting it altogether results in a muxed MPEG2 file without any audio delay. According to the FFmpeg docs the "-f mpeg" parameter is only for MPEG1 program streams while "-f vob" is for MPEG2 program streams.
Whatever, I will use Mplex from now on...
manolito
9th July 2016, 16:51
@MrC
Quick question for the developer:
What is the safest way to detect if FFmpeg is used for muxing?
A2D now uses FFmpeg for so many tasks, it is hard to keep track of all the possible parameters.
Right now I just check for the "-f vob" parameter in the command line in the hope that this parameter is only used for muxing. But I am not 100% sure if this is true (or if this could change in the future).
I see two other possibilities. First I can check for the "+genpts" parameter, and second I can check if the input parameter "-i" is used more than once. I believe that A2D only issues FFmpeg command lines with just 1 input file, with the only exception when muxing is requested.
I already tested the last possibiliy, so far I could not break it. What do you think?
Cheers
manolito
//EDIT//
Alright, I just went ahead and modified the plugin so it now detects if more than two input files are specified in the command line. Seems to be the safest way to me...
I also revamped the forced VBR modes. The forced modes for 1-pass and 2-pass VBR modes now include HQ modes, and these modes will now override any HQ settings made in AVStoDVD itself.
Example:
In the AVStoDVD preferences the user has specified to use FFmpeg in HQ mode. If in the plugin settings (ff_vbr.ini) a VBR mode with normal quality is forced (value=1) then the HQ setting made in the A2D preferences will be ignored. Seems more logical to me...
Download link in the previous post, please redownload...
Cheers
manolito
@manolito
there are only 2 places where FFmpeg is called to do muxing:
- during process encoding when selected output is 'Muxed MPEG2 File'
- when DVD Menu Full Preview option is activated in Menu Editor
nothing more ;) "-f vob" is called both time and only for those 2 times.
There is an old issue related to FFmpeg muxing: when muxing a WAV audio, output MPG file has the audio track messed up. I had reported this issue to the developers many years ago, but there was no fix.
What about mplex? Do you get problems to mux WAV audio?
;)
Bye
thescrapyard
23rd July 2016, 10:55
Just a minor request :
If I install the very latest release of avisynth+ over a previous install of avisynth 2.6.0.5, AVStoDVD complains AviSynth is not installed and reports the avisynth.dll as 0.1.0
If I install the first release of avisynth+ then AVStoDVD correctly reports the avisynth.dll as 2.6.x.x and runs as normal
If I now manually overwrite the avisynth.dll with the latest avisynth+ r2076, it once again complains the avisynth.dll is 0.1.0
I'm assuming this is down to the version of avisynth.dll being updated to take into account the current progress on the MT issues and various other issues that avisynth+ had in the past so as not to confuse matters
The problem is now that AVStoDVD won't run unless it detects avisynth.dll as 2.6.x.x
Is there anyway that this can be changed so that as long as the avisynth.dll is detected it doesn't matter what version is returned. This should fix the incorrect version errors and allow me to try out the updated avisynth+, which can be quite a bit faster that avisynth as plugins and external plugins have been updated and quite a few issues fixed and also MT mode runs as default without using a patched avisynth as I have in the past to squeeze as much as I can out of the encoding
I've pointed this issue out on the avisynth+ forums as well, but removing the version checks of avisynth.dll should stop the incompatibility error
Thanks for all your continuing hard work
@thescrapyard
wait, if the AviSynth release check routine reports "0.1.0", then A2D will give you just a warning. Just ignore the warning and go ahead. Instead there is a show stop when AviSynth.dll is not found from the path taken from "HKEY_LOCAL_MACHINE\SOFTWARE\AviSynth" registy key.
Which is your case?
;)
Bye
thescrapyard
24th July 2016, 08:12
@thescrapyard
wait, if the AviSynth release check routine reports "0.1.0", then A2D will give you just a warning. Just ignore the warning and go ahead. Instead there is a show stop when AviSynth.dll is not found from the path taken from "HKEY_LOCAL_MACHINE\SOFTWARE\AviSynth" registy key.
Which is your case?
;)
Bye
I'll have to do a bit more testing and recreate the steps I took, but its working now. I uninstalled avisynth+, reinstalled avisynth and then manually copied the avisynth+ r2076 overwriting the avisynth.dll
That appears to have worked, but some reason if you install avisynth, then avisynth+ so that everything now uses avisynth+ thats when it all goes wrong. Maybe pointers are being changed that wrere being checked but now don't exists. I had this issue in the past and can't remember how I fixed it
I'll try again when I've a bit more time and try seeing if pointers have been changed after installing avisynth+
manolito
26th July 2016, 12:19
Hi MrC and thanks for the detailed reply...
And sorry for the delay, I just came back from my annual motorcycle trip. This year it was northern Italy and Switzerland. We stayed in Domodossola for some days and did the Swiss Alpes from there (Furka, Nufenen, Gotthard, Grimsel and Susten).
@manolito
there are only 2 places where FFmpeg is called to do muxing:
- during process encoding when selected output is 'Muxed MPEG2 File'
- when DVD Menu Full Preview option is activated in Menu Editor
nothing more ;) "-f vob" is called both time and only for those 2 times.
There is an old issue related to FFmpeg muxing: when muxing a WAV audio, output MPG file has the audio track messed up. I had reported this issue to the developers many years ago, but there was no fix.
What about mplex? Do you get problems to mux WAV audio?
;)
Bye
So just checking for "-f vob" would be sufficient, thanks for the info. I think for now I will leave it as it is (checking for more than one input file) until I or someone else finds a problem...
For me the FFmpeg muxing problem is not the broken WAV muxing, it is the delay it introduces. Take DVD compliant audio and video streams and mux them once using FFmpeg and then using Mplex or Imago. Then feed the resulting files to MediaInfo. Only the file muxed with FFmpeg will show a -40 ms delay.
Mplex cannot mux WAV files directly.
Mplex cannot directly mux WAV files, they must be converted to
LPCM first. This can be done with eac3to:
eac3to.exe input.wav output.lpcm
(Note: The extension has to be .lpcm, .pcm will not work with Mplex)
The command line for muxing should look like this:
Mplex.exe -f 8 -o output.mpg input.m2v input.lpcm
Cheers
manolito
Thanks manolito for the reply.
I agree that FFmpeg should be dropped for mpg muxing.
I have noticed that Mplex can handle properly ac3 and mp2. Very interesting the workaround for wav (intermediate conversion to pcm). I'm wondering if wav>pcm can be performed only by eac3to or also FFmpeg is capable. I would be not so happy to include eac3to to A2D package just for this purpose...
Will check.
;)
Bye
manolito
27th July 2016, 19:31
Did some googling and found that FFmpeg can convert WAV to RAW, but you need to specify bit depth, big or little endian and signed or unsigned. And mainly I have no idea if RAW is the same as LPCM...
Cheers
manolito
RAW should be PCM without header.
If I remember correctly Wavi can output RAW PCM. Have to check if Wavi RAW can be accepted by Mplex.
;)
Bye
MrC
16th October 2016, 16:09
New 2.8.5 alpha release is out (https://sourceforge.net/projects/avstodvd/files/avstodvd_alpha_beta/AVStoDVD%202.8.5%20Alpha%20161014/).
Change log:
- Some bugs fixed
- Added 'IVTC' option (Inverse Video Telecine routine for hard-telecined NTSC source) to 'Edit Title'/'AviSynth' section
- Added TIVTC plugins package to implement IVTC (TFM.TDecimate)
- Added tooltips to 'Edit Title'/'AviSynth' options
- Substituted FFmpeg with Mplex for MPEG2 muxing
- Refactored wave PCM audio stream retaining
- Forced selection of Full-D1 resolution when using FFmpeg and high bitrates (6500+) to avoid padding
- FFMpegSource plugin updated to release 2.22 (r1103 C plugin)
Most of new features are inclusions of the several and valid mods by manolito. Unfortunately I have had very few time to carefully debug those new feats. I guess the bravest of you will help with the usual competency.
;)
Bye
manolito
17th October 2016, 02:29
Hi MrC and thanks a lot for the new version... :thanks:
To be honest I was afraid that you had stopped working on AVStoDVD, the last version came out half a year ago. The forum was also very quiet, so I guessed that the days of converting stuff to DVD were numbered.
But I was wrong. Almost 60 downloads within a few hours after the announcement, that's not bad. I will start testing later tonight.
Do you have download URLs to some hard telecined clips?
And another question about this:
- Forced selection of Full-D1 resolution when using FFmpeg and high bitrates (6500+) to avoid padding
This is of course one of the possible workarounds. The other one is to limit the CBR bitrate for VCD resolutions to 7190 kbps or 6330 kbps (for NTSC). This is how my FF_VBR plugin does it, and I probably prefer this to upscaling a source with a frame size equal or smaller than VCD.
Thanks again and cheers
manolito
manolito
17th October 2016, 05:07
Alright, here are my first quick test results:
The forced Full D1 selection does not work right now because the resize parameters do not correctly appear in the AVS script. The script still has a resize command which resizes to VCD.
The Mplex version which comes with the Alpha does not work on my WinXP Non-SSE2 computer. I have a different compile of the same version which does (comes with the latest version of my FF_VBR plugin).
The Mplex parameters are questionable IMO. The -f 3 parameter should not be used for target files which later may be authored to DVD. Use -f 8 instead (MPEG2 with DVD Nav Packs). And the LPCM parameters cannot be used for muxing WAV files, the WAV has to be converted to LPCM first. If you do not do this, the -L parameters are useless.
The ffms2 C-Plugin integration works well. This will probably be the last version which works under XP, qyot27 has stopped compiling ffms2 C-Plugins. I believe that the file "ffms2.avsi" is not required in the A2D\Lib folder as it never gets called.
And of course I will start translating the new tool tips for the German language files, just give me a day or two...
Cheers
manolito
manolito
17th October 2016, 12:07
Creating an MPEG2 file with PCM audio actually works well. The FFMpeg command to convert a WAV file to LPCM actually works (I never got it to work so far), and Mplex happily muxes this LPCM audio. Still I think that "-f 3" should be replaced by "-f 8". I hex edited the A2D executable to do just this, and the results were beautiful.
Still I have questions about detecting hard telecined sources. How can you tell if a 29.97 source is truely interlaced, or if it is hard telecined? Does MediaInfo tell you the difference?
Cheers
manolito
manolito
18th October 2016, 05:29
Spent the last couple of hours with the new IVTC feature, here is what I found:
First of all I could not find any hard telecined sample clips for download, so I made some myself... :D
How can you tell if a 29.97 source is truely interlaced, or if it is hard telecined?
The answer is simple, A2D does not make any attempt to detect hard pulldown automatically. The IVTC checkbox becomes active whenever the source has a frame rate of 29.97 fps and is flagged as interlaced.
So it is the responsibility of the user to make sure that the source is really hard telecined before using the IVTC option. I am not aware of any automatic method for this, which means that the user must step through the source frame by frame and make sure that there is a constant 3:2 pulldown pattern. Using IVTC on truly interlaced content will lead to catastrophic results.
I noticed that when a standard conversion to PAL is done at the same time, the fps change behavior is not consistent. Right now A2D always uses a hard fps change command (like ChangeFPS) to bring up the rate to 25 fps. IMO it should behave like it does for a 23.976 progressive source file, and this is use either PAL speedup (if the checkbox is ticked) or use DGPullown.
Cheers
manolito
manolito
18th October 2016, 06:52
As promised, here come the updated parts of the German language file:
350000 AviSynth
350001 AviSynth Script Editieren
350010 Automatisch erstellen
350110 Beschneiden
350111 Überflüssige Pixel von den Bildern abschneiden
350120 Vertikale Größenänderung
350121 Vergrößern/Reduzieren des Seitenverhältnisses
350130 Trimmen
350131 Einen Teilbereich des Videos auswählen
350140 Ein-/Ausblenden
350141 Lineares Blenden zu Schwarz am Beginn und am Ende
350150 Info anzeigen
350151 Überlagern des Videos mit den Clip-Eigenschaften
350210 Tweak
350211 Justieren von Farbton, Sättigung, Helligkeit und Kontrast des Videos
350220 ColorMatrix
350221 Colorimetrie-Umwandlung unter Benutzung unterschiedlicher Koeffizienten
350310 DeBlock
350311 Block-Artefakte aus den Bildern entfernen
350320 De-Interlace
350321 Interlaced Video zu Progressive umwandeln
350330 Schärfen
350331 Die Bildkanten schärfen. Negative Werte machen das Bild unschärfer
350340 MSharpen
350341 Schärft die Ränder ohne das Bildrauschen zu verstärken
350350 HQDN3D
350351 Entfernt hochfrequentes Bildrauschen, minimiert Blending-Artefakte
350360 IVTC
350361 Macht Video-Telecine rückgängig, um die Original 24 fps progressiven Bilder wiederherzustellen
350410 Audio-Verstärkung
350411 Audio-Lautstärke um gewählten Wert verändern
350420 Audio-Verzögerung
350421 Einen zeitlichen Versatz zwischen Audio und Video einstellen
Please note that the tool tip for Audio Delay does not get displayed by the current Alpha (same for English language file).
Cheers
manolito
MrC
19th October 2016, 10:28
Thanks manolito for the extensive testing of the new features. You have been my saviour so many times... :)
FFmpeg padding with VCD: I agree with your suggestion. The method to alter the max bitrate instead of the resolution is more elegant and effective.
Mplex: ok I will put -f 8 instead of -f 3, even if Muxman does not complain if I use -f 3. I will also grab the release from your plugin to support non-SSE2 cpu. Is that release a special compiled one or just an older release?
IVTC: I have found no "auto" way to detect if a NTSC source is hard telecined or truly interlaced, so the checkbox becomes available (not greyed out) if the source is NTSC interlaced. Then the user has the responsibility to check the IVTC option to definitively activate the reverse telecine function.
Interlaced PAL to NTSC conversion: AFAI remember, pulldown or PAL speedup should be applied only to progressive sources. I have to check.
Thanks a lot for the German translation too! Good job!
;)
Bye
MrC
19th October 2016, 10:35
The other one is to limit the CBR bitrate for VCD resolutions to 7190 kbps or 6330 kbps (for NTSC). This is how my FF_VBR plugin does it
How did you come out with 7190 (PAL) and 6330 (NTSC) values? Theoretical or empirical?
;)
Bye
manolito
19th October 2016, 14:56
How did you come out with 7190 (PAL) and 6330 (NTSC) values? Theoretical or empirical?
;)
Bye
It was not me, it was qyot27 who made the effort to determine these thresholds. See here:
http://forum.doom9.org/showthread.php?p=1705060#post1705060
For muxing with Mplex, the -f 8 option for MPEG2 muxing seems to be the universal method which is used by just everyone. It does matter if for example you take the muxed MPEG2 file and import it into another software like DVDStyler which uses DVDAuthor to create the DVD. DVDAuthor will fail if the source MPEG2 does not have DVD NavPacks.
And for the Mplex version, this is a long story, I have to go back a long way...
My first encounter with Mplex was with good old DVD2SVCD, and the (modified) Mplex version which came with it had a strong tendency to cause stuttering. (Which eventually led to my collaboration with Sir Didymus to create BatchMux for DVD2SVCD).
But later versions of Mplex got rid of the stuttering, and the version I am using comes from DVDForger 0.61 Alpha by Alvarez (the man who created WAVI). You can still find it at Videohelp. The next version from DVDForger 0.62 Alpha did not work any more on my machine. Looks like you are shipping this version with the current Alpha, it shows the same version info, but it is a little bigger.
For the IVTC feature:
Interlaced PAL to NTSC conversion...AFAI remember, pulldown or PAL speedup should be applied only to progressive sources.
We are talking about NTSC to PAL conversion here. And after a successful IVTC you will have just this: A progressive 23.976 source. So PAL speedup (or soft pulldown by DGPulldown) will be just what the doctor ordered...
//EDIT//
I believe that pulldown via DGPulldown can indeed only be used for progressive sources, but PAL speedup should work no matter if the source is progressive or interlaced.
Cheers
manolito
manolito
20th October 2016, 06:30
Contrary to what qyot27 posted a little while ago he did just publish a new version of his ffms2 C-Plugin:
Get it here:
http://forum.doom9.org/showthread.php?p=1783312#post1783312
Tested it extensively under AVStoDVD, works perfectly even with my old WinXP Non-SSE2 computer. Just replace the file "ffms2.dll" (use the x32 version) in the "AVStoDVD\Lib" folder with the new version.
Cheers
manolito
MrC
21st October 2016, 15:43
@manolito
bitrate caps for NTSC and PAL: my bad, it was documented in this thread... thanks anyway...
Mplex for non SSE2: I would like to include the non SSE2 executable, but switch to it only if needed. What is the error message you get on your P3 system when you use the newer mplex.exe?
NTSC to PAL conversion when NTSC is telecined: you are right, the pulldown/speedup approach would be much more appropriate. Will implement it.
New FFMS2 C plugin: great! thanks to you and qyot27
;)
Bye
manolito
21st October 2016, 17:27
Mplex for non SSE2: I would like to include the non SSE2 executable, but switch to it only if needed. What is the error message you get on your P3 system when you use the newer mplex.exe?
Hi MrC,
there is no error message when using the newer version of Mplex.exe (size 165 KB), it just does not create a muxed file. The older version (size 151 KB) has no problems.
Both versions display exactly the same version info:
mjpegtools mplex-2 version 1.9.0 (2.2.7)
So I have my doubts if the newer version really uses SSE2 commands. My guess is that the person who compiled the newer version used a newer compiler version which defaulted to SSE2 output. If this person had just changed one compiler option, the newer version would probably work perfectly on non-SSE2 machines.
It should be easy to test for you if I am right (I obviously cannot test it on my non-SSE2 Coppermine CPU):
Take a longer source file and mux it using both Mplex versions and note the time for the multiplexing. If the muxing times are the same or close then using the newer version would be useless.
Cheers
manolito
manolito
22nd October 2016, 09:24
I bit the bullet and did my own muxing tests using 3 different versions of Mplex. And I was quite surprised by the results... :devil:
Test bed:
ThinkPad T410, Core i5 CPU, Win7 64-bit
Latest AVStoDVD 2.85 Alpha
Mplex versions:
1. Version 1.9.0 (2.2.7), size 151 KB, the version which works without SSE2
2. Version 1.9.0 (2.2.7), size 165 KB, the version which comes with the latest A2D Alpha and does not work without SSE2
3. Version 2.1.0 (2.2.7), the version which comes with the latest 32-bit version of DVDStyler. It also needs SSE2, and it is a shared build which needs 2 external libraries. Download it here: http://www99.zippyshare.com/v/I4vwyd2r/file.html
Source file:
A full 3 and a half hour DVD with 2 audio tracks (Woodstock Director's cut)
I rebooted the computer before every muxing test to exclude any possible caching effects. The muxing times were as follows:
1. 3 min 45 sec
2. 4 min 08 sec
3. 4 min 45 sec
I repeated the tests several times because I had a hard time believing this, but the muxing times were constant in every test.
I also compared the resulting MPEG2 files, they had exactly the same size for every version of Mplex.exe. I believe (without testing this) that the results were bit identical.
Conclusion:
The oldest Mplex version (size 151 KB) was by far the fastest one. Absolutely no need to upgrade to a newer Mplex version to achieve better speed. Enabling SSE2 in the compiler settings has nothing but adverse effects in this case.
This is a clear example that the attitude of some people in this forum (to look down on others who still use older hardware and older Operating Systems) is not justified. In many cases if a newer software version does not work any longer under WinXP or on a CPU without SSE2 support the reasons are not technical at all. Mostly it is just the laziness of the developer who cannot bring himself to toggle a couple of compiler switches. And of course there's also a couple of developers who seem to be on a mission to eradicate older OSs or hardware. Evangelists...
Alright, enough ranting for today...
Cheers
manolito
MrC
31st October 2016, 13:49
Thanks manolito for the extensive testing and reporting. That's very useful.
I have prepared a new 2.8.5 Alpha (https://sourceforge.net/projects/avstodvd/files/avstodvd_alpha_beta/AVStoDVD%202.8.5%20Alpha%20161027/), receiving some of the inputs.
Cumulative change log from 2.8.4:
- Some bugs fixed
- Added 'IVTC' option (Inverse Video Telecine routine for hard-telecined NTSC source) to 'Edit Title'/'AviSynth' section
- Added TIVTC plugins package to implement IVTC (TFM.TDecimate)
- Added tooltips to 'Edit Title'/'AviSynth' options
- Added video avg bitrate cap (7100 for PAL, 6300 for NTSC) when VCD resolution and FFmpeg are selected to avoid padding
- Substituted FFmpeg with Mplex for MPEG2 muxing
- Refactored wave PCM audio stream retaining
- FFMpegSource plugin updated to release 2.22 (r1103 C plugin)
Thanks
;)
Bye
manolito
31st October 2016, 21:25
Thanks for the new build, just gave it a short test run, looks good... :)
The bitrate cap for FFmpeg VCD frame sizes works well (even though it is not really necessary for the FFmpeg version which comes with A2D).
The latest ffms2 r1140 plugin did not make it into this release yet.
And pasting the updated German language part into the existing file caused a missing line break, here is the complete file:
http://www98.zippyshare.com/v/ja9RWenF/file.html
Thanks again and Cheers
manolito
JuMe
2nd November 2016, 09:59
MrC, thank you for the new alpha-version of your software.
IVTC: I have found no "auto" way to detect if a NTSC source is hard telecined or truly interlaced, so the checkbox becomes available (not greyed out) if the source is NTSC interlaced. Then the user has the responsibility to check the IVTC option to definitively activate the reverse telecine function.
MeGUI uses detection script described here: http://avisynth.nl/index.php/Interlace_detection
I have tested MeGUI with a couple of hard-telecined DVDs, and the detection worked fine.
The script should also be able to detect frame-repetition, but I haven’t tested that.
JuMe
manolito
3rd November 2016, 15:52
Hi MrC,
just found an issue which only happens in FFmpeg Safe Mode when using a source file with 4:2:2 chroma subsampling. Please have a look here:
https://sourceforge.net/p/dvdstyler/discussion/318795/thread/19525d5b/#9da1
FFmpeg will create an m2v file with 4:2:2 subsampling which is not DVD compliant. To avoid this the command line for FFmpeg Safe Mode must contain the parameter "-pix_fmt yuv420p".
In normal modes (using AviSynth) there is no problem because the source is always converted to YV12.
Cheers
manolito
Mister XY
13th November 2016, 09:55
Hello, is it possible to encode via GPU?
manolito
13th November 2016, 17:04
Hello, is it possible to encode via GPU?
Yes, it should be possible - if you have a supported CPU... :sly:
HCenc does NOT support GPU accelerated encoding, but current FFmpeg versions do support Intel QSV (Quick Sync Video) encoding.
If you have a newer Intel CPU and a current version of FFmpeg then you can modify the FFmpeg command line to enable the QSV MPEG2 encoder. (You have to specify "-vcodec mpeg2_qsv")
Here is a White Paper from Intel about QSV and FFmpeg:
http://www.intel.de/content/dam/www/public/emea/xe/en/documents/white-papers/quicksync-video-ffmpeg-install-valid.pdf
Keep in mind that the encoding quality will generally be worse when using QSV compared to software encoding.
Cheers
manolito
manolito
16th November 2016, 22:41
A heads up for folks who like to use the newest versions of FFmpeg with AVStoDVD:
Starting around end of July 2016, shortly before version 3.1.2 was published, the FFmpeg devs changed the way FFmpeg interacts with AviSynth (again). In AVStoDVD this results in a crash as soon as FFmpeg starts its thing.
Luckily the workaround is pretty easy: All you need to do is add the path to the "AVStoDVD\Lib" folder to your path variable. The file "A2DSource.avsi" in this folder loads a couple of AviSynth plugins, but with current FFmpeg versions this plugin loading fails. Unless you add this Lib folder to your path.
Of course there is also the question how much sense it makes under AVStoDVD to always use the latest FFmpeg versions. I have no idea if anybody still works on the MPEG2 encoder, for the last year or so I could not see any differences in encoding quality using different FFmpeg versions.
Cheers
manolito
manolito
18th November 2016, 18:48
New version of my AVStoDVD plugins, had to modify the FFmpeg_VBR plugin for the latest AVStoDVD_285_Alpha161027.
Download link in this post:
http://forum.doom9.org/showthread.php?p=1773293#post1773293
Cheers
manolito
MrC
20th November 2016, 18:23
@Mister XY
in addition to manolito's hints, I would add that LAV Filters lets you to decode using your GPU capability. Usually it does not lead to improve encoding time, but you will have your CPU free for other tasks, and your CPU fan much more silent...
@manolito
thanks for highlighting the FFmpeg 4:2:2 chroma subsampling issue. I will add the "-pix_fmt yuv420p" flag to FFmpeg safe mode in the next release.
Thanks also for the suggestion how to use the more recent FFmpeg releases with A2D.
And thanks also for the updated FFmpeg VBR plugin!
2.8.5 Final should be released before Xmas.
;)
Bye
manolito
10th December 2016, 15:08
This is for the folks who would like to use motion protected FPS conversion, but feel that MotionProtectedFPS causes too many artifacts:
Forum member johnmeyer just published a script which is based on MVTools V2, and IMO this script produces results which are vastly superior to MotionProtectedFPS. If you want to check it out, download it here:
http://www13.zippyshare.com/v/SprGa0oX/file.html
After copying the files into your "AviSynth\plugins" folder, all you have to do is edit your AviSynth script within AVStoDVD and replace your FPS conversion command with "jm_fps(fps)".
Example:
The script generated by AVStoDVD has the command "ChangeFPS(25)" in it.
Uncheck the "automatic" option and replace "ChangeFPS(25)" with "jm_fps(25)".
There is one catch:
This script requests frames in a non-linear fashion. DirectShowSource is not too good at this, so you should force FFmpegSource for video if you want to use this script. (or use DSS2Mod - ask me how to do this if you are interested)
//Edit//
Actually there is another catch: It is sloooow... Speed is about 25% of MotionProtectedFPS.
Cheers
manolito
Mister XY
15th December 2016, 21:30
@Mister XY
in addition to manolito's hints, I would add that LAV Filters lets you to decode using your GPU capability. Usually it does not lead to improve encoding time, but you will have your CPU free for other tasks, and your CPU fan much more silent...
@manolito
thanks for highlighting the FFmpeg 4:2:2 chroma subsampling issue. I will add the "-pix_fmt yuv420p" flag to FFmpeg safe mode in the next release.
Thanks also for the suggestion how to use the more recent FFmpeg releases with A2D.
And thanks also for the updated FFmpeg VBR plugin!
2.8.5 Final should be released before Xmas.
;)
Bye
i will be wait for this new version :-)
MrC
23rd December 2016, 22:05
Release 2.8.5 final is available to download (https://sourceforge.net/projects/avstodvd/files/avstodvd/AVStoDVD%202.8.5/)
Merry Xmas to you all.
;)
Bye
manolito
24th December 2016, 01:28
Thanks MrC for this nice Xmas present... :thanks:
Everything works perfectly here, maybe users should update ffms2 with the latest version from here:
http://forum.doom9.org/showthread.php?p=1783312#post1783312
And the German language file still has a missing line break, the correct file is here:
http://www98.zippyshare.com/v/ja9RWenF/file.html
I also updated my plugins for the new version, I removed the chroma subsampling workaround for ffmpeg safe mode. Get it here:
http://www103.zippyshare.com/v/zEBA4BcR/file.html
Thanks again, Merry Xmas and a Happy New Year...
manolito
manolito
24th December 2016, 10:45
Well, I did find a bug with the new audio speedup command for FFmpeg safe mode: :devil:
1. For a 24fps -> 25fps speedup the command -filter:a "atempo=1,0427" is added. This crashes FFmpeg, you need to use a decimal point instead of a comma. (My system locale is set to standard German) Also, shouldn't the factor be 1.0417?
2. The speedup command must not be used if FFmpeg Safe Mode is also used for video. In this case (without AviSynth) the video does not get sped up, DGPulldown is used instead. So the audio should not have a speedup command, too.
Cheers
manolito
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.