Log in

View Full Version : AVStoDVD Support Thread


Pages : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 [51] 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68

dsmbr
15th April 2014, 16:53
Hi dsmbr and welcome to the forum!

The log you posted looks OK to me. Hard to tell what causes your sync problem without a sample source file... :rolleyes: Too huge to upload, maybe I can split the file.

Things you can try:Under Preferences->AviSynth you can force to use FFmpegsource for video and audio instead of A2DSource. And under Audio you should also try to force reencoding the audio (untick "Keep DVD compliant audio tracks"). I will.

The second part of your post should not have anything to do with sync problems. The guide is about hardware assisted decoding and playback of HD files. If you have installed ffdshow on your computer, AVStoDVD uses it in conjunction with DirectShowSource. And ffdshow has DXVA support for several years now, you must probably activate it in the ffdshow video setup. But for video conversion the difference in speed is rather small because encoding is normally the bottleneck, not decoding. I just wanted to give a hint why I had LAV Filters/Video/Audio installed. The mentioned tutorial doesn't even use ffdshow. I installed it in addition to use the RAW-filter for the SmoothVideo Project (SVP). I was confused why HCenc is calling ffdshow.

If you do not make any progress with your sync problem, you should try if you can reproduce it with a very short file, and then you can upload the file somewhere. Like I said, I'll try to.

@dsmbr

in addition to manolito' suggestions, could you also check with 'Codecs'/'Build DirectShow Filters Graph' what filters your system is using to split and decode the MKV file?

;)

Bye LAV-Video/Audio.

manolito
16th April 2014, 06:27
Using LAV instead of ffdshow does not cause problems in my experience. AVStoDVD can correct ffdshow's mixer settings at runtime (to fix channel assignment), and you will lose this feature when using LAV Audio. The other ffdshow setting which gets corrected by AVStoDVD is enabling decoding for raw audio and video. But AFAIK LAV supports raw material out of the box.

My setup right now is using ffdshow only for audio and LAV Splitter and LAV Video. And for better frame accuracy I replaced DirectShowSource with DSS2 mod.

If your sync problem has anything to do with the missing frame accuracy of DirectShowSource then your new conversion forcing FFmpegSource should be fine. In my case the sync problem went away when I either used FFmpegSource, or when I deactivated audio normalization (Preferences->Audio) using DirectShowSource.



Cheers
manolito

dsmbr
16th April 2014, 18:16
And for better frame accuracy I replaced DirectShowSource with DSS2 mod. If your sync problem has anything to do with the missing frame accuracy of DirectShowSource then your new conversion forcing FFmpegSource should be fine. In my case the sync problem went away when I either used FFmpegSource, or when I deactivated audio normalization (Preferences->Audio) using DirectShowSource. That's my problem. I wouldn't even know how to switch source/splitter-filters.

Switching to FFmpegSource is not so easy either. Do I have to change anything within the ffdshow-video/audio/raw-options?

manolito
17th April 2014, 08:56
Yes, it can get a little confusing if you are new to video conversion. AVStoDVD is basically very easy to use, but at the same time it is powerful enough to allow advanced users to tweak a lot of settings.

In your case the first thing you should do is to replace DirectShowSource based source filters (ffdshow or LAV Filters) with FFmpegsource. FFmpegSource is normally frame accurate while seeking, DirectShowSource is not. This will show you if DirectShowSource is to blame for your sync problem.

FFmpegSource has nothing to do with ffdshow. If you use FFmpegSource all ffdshow settings are irrelevant.

To force FFmpegsource all you have to do is click on "Preferences -> AviSynth". In this window you see that for video and audio the "A2DSource" source filter is selected by default. Change both of them to "FFmpegsource". Next select the Audio tab and deactivate the option "Keep compliant audio". This will ensure that your source audio will get reencoded (otherwise it will just be demuxed from the source and used as it is).

Now click OK, load your source and make the conversion. And let us know if the sync problem still persists.



Cheers
manolito

dsmbr
17th April 2014, 15:24
Did seem to work, but now the colors are a bit washed out. I think this happens during the colorspace-conversion. Duh.

This is very frustrating. AVStoDVD was my preferred choice since it's using very good (or even the best?) tools for every single job.

manolito
17th April 2014, 18:57
You are right, AVStoDVD does use very good tools for the job, but for best results a little user effort may be required... ;)

If your sync problem is solved now, it is time to lean back and celebrate. Color offsets are much easier to fix.

You should familiarize yourself with the different colorimetry of HD and SD video. If you convert from HD to SD you mostly have to correct the colorimetry, and for this purpose AVStoDVD comes with the ColorMatrix AviSynth filter. You can access it by clicking the title edit button and selecting the AviSynth tab. After deactivating the "Automatic" checkbox go to the "Color" tab and choose the desired ColorMatrix setting.



Good luck
manolito

dsmbr
17th April 2014, 23:25
Hello,

I should have mentioned that my source isn't HD either. h264-video-stream in SD-resolution.

I just read this thread (http://www.avsforum.com/t/1038839/rec-601-smpte-c-rec-709-confusion-thread) and this one (http://forum.doom9.org/showthread.php?t=167587) afterwards and now I'm even more confused. Then I looked into the wiki-article (http://en.wikipedia.org/wiki/YUV#BT.709_and_BT.601) and my head exploded.

When standardising high-definition video, the ATSC chose a different formula for the YCbCr than that used for standard-definition video. This means that when converting between SDTV and HDTV, the color information has to be altered, in addition to image scaling the video.
Unfortunately, VFW and Directshow don't have color tags so as developer you are doomed to always guess what you are processing. Microsoft recommends BT.601 for SD resolution and BT.709 for higher resolutions for video.
MPEG-2 allowed to use BT.709 and something like BT.601 (BT.470-2 system B, G)
MPEG-4 ASP used BT.601 all the way
MPEG-4 AVC allowes to use both with BT.709 as default (even for SD content).
Colormatrix only converts between YUV , not RGB. If you convert between RGB, YUV you use ConvertToXX (matrix =XX)


MediaInfo of my source says:
Color space : YUV
Chroma subsampling : 4:2:0

1) Has this anything to do with it?
2) This whole color-space-issue is just something that is relevant during recording or conversion of a video, correct?
3) If this is true and you don't know what color-space has been used to record/create your current source, you'd have to guess, right?
4) The default AviSynth-scripts already includes "Video = Video.ConvertToYV12(). What do I do about this?

manolito
18th April 2014, 07:42
Sorry I am probably the wrong person for answering these questions - I have next to zero experience with these things...

Your MediaInfo output tells you that your source already is YV12, so the ConvertToYV12() is redundant (but it does not hurt, so just leave it there). YV12 is the required colorspace for DVD, and it also is the native format for AviSynth (starting with version 2.5). So it makes sense for AVStoDVD to issue this command at the beginning of the script it generates.

I believe your other assumptions are basically correct. Bottom line: You mostly have to guess.

I hope one of the specialists will jump in here to answer your questions properly...


Cheers
manolito

dsmbr
18th April 2014, 15:11
I hope one of the specialists will jump in here to answer your questions properly... Sadly barely anyone looks into these forums :o

MrC
18th April 2014, 21:48
@dsmbr

do you have the possibility to upload a portion of the problematic source file?

;)

Bye

dsmbr
19th April 2014, 01:39
@dsmbr do you have the possibility to upload a portion of the problematic source file? I'm not sure if I'm able to split the source without re-encoding. But it's not so important anyway. I play a bit with the Colormatrix-settings until it's fixed.

I have a much stranger problem with the integration of idx/sup-subtitles. Looks like this:

http://i.imgur.com/VJvqolA.jpg

MrC
27th April 2014, 16:19
New 2.7.4 Alpha release is out (https://sourceforge.net/projects/avstodvd/files/avstodvd_alpha_beta/AVStoDVD%202.7.4%20Alpha%20140423/). Changes:

- Some bugs fixed
- Added NTSC SlowDown routine for progressive PAL to NTSC conversions ('Preferences'/'AviSynth')
- Added support to LAV Filters (detection and preferred codecs selection)
- Added support to MPEG-4 Part 14 (mp4 and m4a) audio files as input
- Added AVSMeter 1.7.7 to NoInstall and Installer packages
- Added new routine ('ReadAVSInfoF') to read AviSynth scripts and DGIndex projects
- Replaced FFmpeg with AVSMeter to run 'ReadAVSInfo' routine (A2DInfo.avsi)
- Moved FFmpeg HQ option from 'Edit Title' to 'Preferences'
- Added possibility to customize the FFmpeg HQ command line flags
- Improved handling of DGIndex projects sources
- Improved 'Preview Title Output' avs script for better compatibility with Raw Video directshow codecs
- DGIndex updated to release 1.5.8
- MediaInfo updated to release 0.7.67

Happy download and testing!

;)

Bye

MrC
27th April 2014, 16:38
@manolito

The ff_vbr.bat util has now its place (https://sourceforge.net/projects/avstodvd/files/avstodvd_addons/ff_vbr.bat%20%28ffmpeg%20VBR%20modes%29/) in AVStoDVD repository.

Please, have a look if that release is actually the latest. If you agree, I would call it 1.0.0

Thanks again for your great support

;)

Bye

manolito
27th April 2014, 20:57
Thanks MrC for the new version... :)

So far everything works great, especially this update
- Improved 'Preview Title Output' avs script for better compatibility with Raw Video directshow codecs
makes LAV splitter for AviSynth useable again.

And yes, the ff_vbr.bat is the latest version. I have added a few more custom quant matrices for myself in the meantime, but this is probably irrelevant for most users...


Cheers
manolito

MrC
28th April 2014, 22:13
I have uploaded a quick hotfix (https://sites.google.com/site/avstodvdmain/AVStoDVD_274Alpha140428_exe_only.7z) because of this GUI issue (http://forum.videohelp.com/threads/277852-AVStoDVD-Support-Thread?p=2318156&viewfull=1#post2318156).

;)

Bye

manolito
29th April 2014, 12:55
Thanks for the Hotfix...

sure, I have started to implement the possibility to resize the main AVStoDVD form, but I did only half work. There's even no references in the Change Log...
Does this concern me as a translator? If a user resizes the main form, will all the text boxes also get resized automatically?


Cheers
manolito

MrC
29th April 2014, 16:25
@manolito

currently not, because you can only enlarge the form and textboxes will only change positions, not dimensions.

Thanks anyway for thinking about.

;)

Bye

manolito
7th May 2014, 19:52
@MrC
During the last couple of days I have played around quite a bit with the latest alpha version, everything is cool, no problems so far.

Just one little request concerning the modified ffmpeg HQ setting:
The old behavior was that you had to select HQ mode under Project Settings for each file in the source window individually. Bad for folks who are encoding 10 files at once because they have to check the HQ setting for each file individually.

The new behavior is that the HQ setting is done in the Global Preferences window (it can even be saved so it will get used in future projects). But in the Project Settings window the HQ checkbox has disappeared. This means that now there is no way any more to have different HQ settings for individual files. HQ can only be active either for all or for none of them.

I would lobby for the return of the HQ checkbox in the Project Settings window. The global setting would then be used as the default for all files in the source list, but the setting could still be changed for individual files.


Cheers
manolito

MrC
10th May 2014, 13:40
Hi manolito,

got it, I will put in the ToDo list, with not great priority. If a somebody wants to customize the FFmpeg settings can actually use the 'Edit Encoder Command Parameters at runtime' option.

Thanks for the testing report. I'm planning to release the final version within few days.

;)

Bye

manolito
14th May 2014, 17:05
Just stumbled upon a small problem with the AVStoDVD preview. The main avs script always contains a color conversion to YV12 at the beginning. Now I discovered that for the preview script all instances of
Video = Video.ConvertToYV12()
are replaced by
Video = Video.ConvertToRGB()

This works fine as long as all filters in the script accept RGB input. When I replaced ChangeFPS(25) by FDecimate(25) in one of my conversions, the preview threw an error that FDecimate only accepts YUY2 and YV12. Quite a surprise for me because the main script explicitly did a color conversion to YV12.

Luckily I found a workaround:
AVStoDVD seems to use a simple Search and Replace, so just inserting a space character right after the dot makes the search fail and nothing gets replaced.
Video = Video. ConvertToYV12

But still I wonder why the conversion to RGB is necessary for the preview...:confused:


Cheers
manolito

MrC
17th May 2014, 13:39
Hi manolito,

the RGB conversion is needed to improve the compatibility of preview (using MS quartz.dll library) with raw video decoders, such as MS' or LAV Filters.

ffdshow properly handles raw YV12 when 'Raw Video' option is set to 'All Supported'.

BTW I can fix that by adding the .ConvertToRGB() function elsewhere without replacing .ConvertToYV12()

;)

Bye

manolito
17th May 2014, 16:40
Yes, please move the function to the end of the preview script, after all filters have been executed...


Thanks and cheers
manolito

manolito
17th May 2014, 19:58
And while I'm at it, I found two small issues with the German translation and one global issue:

1. If I switch from German to English temporarily, I cannot go back to German, there is no "German" entry in the GUI. Have to select German in the Registry.

2. In the "Avisynth/Transform" tab the boxes for cropping and vertical resizing need to be wider. They are fine as long as you do not actually use them, but after entering some values there is not enough room to display the values. The boxes for trim and fade are OK.

3. Whenever I try to call the startup tutorial from the main menu, the program crashes with a runtime error 383 and the message: "Text property is write protected". This happens for English and German languages.


Sorry to cause you some trouble before releasing 2.74 stable... :o


Cheers
manolito

MrC
26th May 2014, 19:55
Hi manolito, sorry for big late.

I cannot reproduce issues #1 and #3. Better if we go PMing. Ok for #2.

;)

Bye

manolito
26th May 2014, 23:00
Sorry, can't send you a PM right now, always getting this message:
MrC has exceeded their stored private messages quota and cannot accept further messages until they clear some space.

So here's my message:
Hi MrC,

thanks for getting back to me. After you told me that you cannot reproduce the issues with language selection and the startup tutorial I did some tests, and I must say that this a mystery to me...

My system is WinXP SP3, slow CPU (no SSE2) and low on RAM (576 MB). Using the latest AVStoDVD_274Alpha140428, replaced ffdshow and MediaInfo with different versions. I always use the noinstall versions, mscomctl.ocx is correctly registered. I had used different versions of the main AVStoDVD executable without clearing previous registry entries, but I had not really encountered problems.

After your post I completely deleted the AVStoDVD registry entry under HKCU/Software (hoping this would reset everything), but after this I could not even start AVStoDVD any more. Always got the run time error message "Text property is write protected". Replacing AVStoDVD.exe with earlier versions did not make any difference. Chkdsk gave my HDD a clean bill of health, reregistering mscomctl.ocx also made no difference.

Next step was restarting from scratch, deleted the whole AVStoDVD folder under Program Files and reinstalled the latest alpha version. Now I had no problems whatsoever, I did all the modifications I had done before, I used CCleaner and Puran Defrag, but I could not reproduce the previous problems. Very weird...

I am glad that everything is working now, but what could be the reason for my previous problems? And what does this error message "Runtime Error 383, Text property is write protected" mean in VB6?


And for the "Crop" and "Vertical Resize" boxes, I tried hard to come up with shorter German translations, but I failed. Would be nice if you could move the "Trim" and "Fade" boxes to the right and make some room for "Crop" and "Vertical Resize".


Take care and cheers
manolito

manolito
28th May 2014, 20:37
Did some research and a little more tests, it seems this runtime error 383 and the message: "Text property is write protected" are not so rare for VB6 programs. Mostly it turned out that some VB system file was corrupt or not registered.

This was probably also true in my case. Since extracting the AVStoDVD noinstall archive again into its folder solved the problems, I suspect that mscomctl.ocx had become corrupted during one of my frequent restores from image backups.


One other small thing I encountered yesterday:
I was trying to convert a FLV file (AVC and AAC) which was 60 fps progressive to PAL 25 fps. AVStoDVD used "ConvertFPS(25)" which failed because the fps change was too large. The AviSynth documentation says that in these cases ConvertFPS must be used in "Switch Mode" instead of the default "Blend Mode".

I got a pretty good looking conversion by using "FDecimate(25)" instead.


Cheers
manolito

Guest
28th May 2014, 20:48
As the author of FDecimate, I don't recommend it generally, due to a design fault that I never found time to fix. If your case doesn't invoke it, then OK, but be wary. The symptom would be out of order frames in some scenarios.

MrC
3rd June 2014, 21:32
Hi manolito,

sorry for being so distracted recently, I could give a tons of explanations, but better not to waste time... ;)

2. In the "Avisynth/Transform" tab the boxes for cropping and vertical resizing need to be wider. They are fine as long as you do not actually use them, but after entering some values there is not enough room to display the values. The boxes for trim and fade are OK.


Fixed. Thanks!

Next step was restarting from scratch, deleted the whole AVStoDVD folder under Program Files and reinstalled the latest alpha version. Now I had no problems whatsoever, I did all the modifications I had done before, I used CCleaner and Puran Defrag, but I could not reproduce the previous problems. Very weird...
I am glad that everything is working now, but what could be the reason for my previous problems? And what does this error message "Runtime Error 383, Text property is write protected" mean in VB6?


That message is caused by a read-only control that is being written by the code or a "restricted values" control that is receiving an unexpected value: i.e. when a combo-box is populated at runtime with one unexpected element. Example: start AVStoDVD, read from registry some custom settings, populate the GUI combo-boxes. If there are any unsupported elements, the error 383 pops out. Have you deleted the AVStoDVD reg key before re-installing it? Maybe you have played too hard with your AVStoDVD reg key... ;)

I was trying to convert a FLV file (AVC and AAC) which was 60 fps progressive to PAL 25 fps. AVStoDVD used "ConvertFPS(25)" which failed because the fps change was too large. The AviSynth documentation says that in these cases ConvertFPS must be used in "Switch Mode" instead of the default "Blend Mode".

You are perfectly right. From the AviSynth doc:
new_rate Target frame rate. Can be integer or floating point number. In Blend Mode, new_rate must be at least 2/3 (66.7%) of the source frame rate, or an error will occur. This is to prevent frame skipping. If you need to slow down the frame rate more than that, use Switch Mode.

I'm wondering if FDecimate is not the magic wand (as many other DG's stuff ;) ), it is better to use ConvertFPS in Switch Mode or the simpler ChangeFPS, or what else?

;)

Bye

MrC
3rd June 2014, 21:41
Quick 2.7.4 Alpha hotfix (https://sites.google.com/site/avstodvdmain/AVStoDVD_274Alpha140603_exe_only.7z)

;)

Bye

manolito
4th June 2014, 05:04
Thanks for the hotfix, will do some tests later today...

For the runtime error issue my first thought was the registry key also (I had tried some older versions and not cleaned the reg key when going back to the latest version). But even deleting the whole reg key did not help at all, after deleting the key AVStoDVD would not even start any more without the runtime error.

So I figured that the problem must lie in the AVStoDVD program folder itself, and replacing everything in the program folder did indeed fix the problem. Weird, but it is working now... :D


I am not sure what to use for fps conversions with high ratios. FDecimate does just drop frames like ChangeFPS, it only makes intelligent decisions which frames should be dropped. I had at least two conversions where FDecimate resulted in a much smoother playback than ChangeFPS. I did not detect any out of order frames with it, but according to neuron2 this only happens in certain scenarios - would be good to know what these scenarios are...

I have never used ConvertFPS in switch mode so I have no idea if it is actually better than ChangeFPS.


Thanks again
Cheers
manolito

manolito
5th June 2014, 08:47
Hi MrC,

here's some test results and observations for the latest 2.7.4 hotfix...

I got rid of Haali and ffdshow first and installed the latest LAVFilters (all settings at their defaults).

BTW I can fix that by adding the .ConvertToRGB() function elsewhere without replacing .ConvertToYV12()

This one obviously did not make it into the hotfix. FDecimate does not work in preview without a workaround.

The boxes for cropping and vertical resizing are perfect now.

LAVFilters are recognized and the filter settings can be accessed from the AVStoDVD menu without any problems.

In the Audio Filter setup the mixer is disabled by default. Is this a problem? If I enable the mixer, is there a need for AVStoDVD to adjust the mixer settings like with ffdshow? And is it a potential problem to have the "Adjust ffdshow settings at runtime" activated even when ffdshow is not installed?

I made the observation that using LAVSplitter for AVS files makes my preview real slow and jerky. After I edit the registry to disable the LAV splitter for AVS files by changing the Source Filter under HKEY_CLASSES_ROOT\Media Type\Extensions\.avs back to its original value of {D3588AB0-0781-11CE-B03A-0020AF0BA770} (courtesy of clsid) then the preview gets fast and smooth again. After changing this reg key it is also required to enable 32-bit floating point audio in the LAV audio filter (disabled by default). If I don't do this the preview for sources with AC3 audio will not work (no sound). But maybe this is just my soundcard.


Alright, that's it for now. I think I will stick with LAVFilters.


Cheers
manolito

MrC
8th June 2014, 22:10
Hi manolito,

thanks for the lates tests.

Step by step, hopefully, the last hotfix (https://sites.google.com/site/avstodvdmain/AVStoDVD_274Alpha140608_exe_only.7z)before the final 2.7.4 release

In the Audio Filter setup the mixer is disabled by default. Is this a problem? If I enable the mixer, is there a need for AVStoDVD to adjust the mixer settings like with ffdshow?

Actually it should not be a problem: having the mixer disabled by default in LAV Filters, the input audio channels should not be altered. Instead ffdshow, by default, has the 2.0 channels configuration.

And is it a potential problem to have the "Adjust ffdshow settings at runtime" activated even when ffdshow is not installed?

No, it is not: if ffdshow is not installed, AVStoDVD will performe no changes to the ffdshow reg key.

;)

Bye

manolito
9th June 2014, 13:15
Step by step, hopefully, the last hotfix before the final 2.7.4 release


Yes, I think so. Everything looks stable to me (tested under WinXP only).

The ConvertToRGB() command in the preview script is perfect now. And for fps conversions with high ratios ChangeFPS gets used now.

Depending on the source characteristics I sometimes do get jerky playback with ChangeFPS, and for me this gets fixed by using FDecimate instead. After reading this post by DoctorM:
http://forum.doom9.org/showthread.php?p=1159858#post1159858
I went back to the older version 1.02, and so far I have never seen out of order frames with it.

There is a small correction for the German translation. Please update this line:
741410 Für weitere Medien- und Codec Unterstützung bitte das Win7DSFilterTweaker Tool benutzen.
The original translation did fit into its box before LAV support was added, but now it is too long.


As far as I am concerned, version 2.7.4 is ready for prime time. Thanks a lot... :cool:


Cheers
manolito

MrC
14th June 2014, 22:11
2.7.4 Final build is *finally* out (https://sourceforge.net/projects/avstodvd/files/avstodvd/AVStoDVD%202.7.4/).

Many thanks to manolito for the extensive debug and German translation!

;)

Bye

manolito
15th June 2014, 15:06
Thank you very much for the new version... :thanks:

Just did a couple of short test conversions, found no problems whatsoever. :cool:


One question: I might be wrong, but I have the feeling that for frame rate conversions now ConvertFPS() is mostly used while older versions used ChangeFPS() more frequently. What are the internal rules for determining the conversion method? Is it basically always ConvertFPS() with the exception if the ratio is too high?

The reason I am asking is that I know some folks who really hate blend conversions. I still watch my DVDs on a CRT TV where blend conversions look pretty good, but sometimes I make DVDs for others who will be watching them on LCDs.



Thanks again,

Cheers
manolito

MrC
15th June 2014, 19:39
Yes, I made some adjustments according to our previous discussion about the ConvertFPS limit at 66.7% of the source frame rate in blend mode. Now the framerate routine section is:

Str = "Video = Video.ChangeFPS(" & sFPS & ")" & vbCrLf
If FPS > 2 / 3 * InputFPS Then
Str = "Video = Video.ConvertFPS(" & sFPS & ")" & vbCrLf
End If
If .InputVideoInfo.FrameRateMode = "CFR" Then
Select Case Round(InputFPS - FPS, 3)
Case Is = 0
Str = ""
Case Is > 0
If InputFPS = 2 * FPS Then
Str = "Video = Video.SelectEven()" & vbCrLf
End If
Case Is < 0
If InputInterlaced = False Or .AVSDeInterlace = True Then
Select Case InputFPS
Case 23.976, 24, 25, 29.97, 30, 50, 59.94, 60 'only these fps are mpeg2 compliant
Str = "#Using DGPulldown/HCenc to upsize FPS" & vbCrLf
End Select
If Preferences.PALSpeedUp = True And FPS = 25 And InputFPS = 23.976 Then
Str = "#Using AssumeFPS() to upsize FPS" & vbCrLf 'see below
End If
If Preferences.NTSCSlowDown = True And FPS = 29.97 And InputFPS = 25 Then
Str = "#Using AssumeFPS() to downsize FPS to 23.976 and then DGPulldown to upsize to 29.97 " & vbCrLf 'see below
End If
End If
End Select
End If


sFPS (string) and FPS (float) are both output framerate.

;)

Bye

manolito
15th June 2014, 23:30
Thanks for the explanation, but the source code confirms my suspicion that ConvertFPS is the default method now, and only if the conversion limit of 66.7% is reached ChangeFPS will be used instead.

(Just to make it clear to everyone, ChangeFPS changes the frame rate by duplicating or dropping frames while ConvertFPS uses blending to achieve the fps conversion)

Just to make sure I went back to V. 2.7.3 and started a conversion of a 29.97 fps progressive source to 25 fps, and sure enough this older version used ChangeFPS while the current version 2.7.4 used ConvertFPS.

This is probably a philosophical issue (are blend conversions using ConvertFPS evil or not), but I sure know some people who would never use blend conversions.


Cheers
manolito

MrC
16th June 2014, 17:42
Actually in the 2.7.3 release there was an unproper switch from ChangeFPS to ConvertFPS:

Str = "Video = Video.ChangeFPS(" & sFPS & ")" & vbCrLf
If FPS < 2 / 3 * InputFPS Then
Str = "Video = Video.ConvertFPS(" & sFPS & ")" & vbCrLf
End If

instead in 2.7.4:

Str = "Video = Video.ChangeFPS(" & sFPS & ")" & vbCrLf
If FPS > 2 / 3 * InputFPS Then
Str = "Video = Video.ConvertFPS(" & sFPS & ")" & vbCrLf
End If

I would say there are 3 scenarios:

1. Upsizing FPS: when input FPS is much lower than output FPS (< 66%), ChangeFPS should be preferred because of ConvertFPS (blend mode) limitation

2. Upsizing FPS: when input FPS is close to output FPS (> 66% but < 100%), what is better? Is it a matter of personal flavour or is there a common direction, at least nowadays for LCD panels?

3. Downsizing FPS: when input FPS is higher than output FPS (> 100%), I assume that blending (ConvertFPS) should be preferred to dropping frames (ChangeFPS). But I am open to discussion.

Of course the above scenarios do not apply to *easier* progressive FPS conversion, where PullDown, PAL SpeedUp, NTSC SlowDown routines can be used.

;)

Bye

manolito
16th June 2014, 20:08
This is from the SmoothDeinterlace (by Gunnar Thalin) AviSynth port (by Xesdeeni) readme:
NOTE 2: I prefer ChangeFPS() when going from PAL to NTSC. This AVISynth filter
replicates frames to achieve the new frame rate. This is faster than the
ConvertFPS() filter, and it does not introduce the "jutter" common to much
converted video, caused by blending of adjacent fields. It does cause a stutter
due to the replicated frame (actually, a field), but as hard as I try, I cannot
see it. This may be because those of us that watch NTSC are used to the 3:2
pulldown conversion of film to video, which contains the same type of stutter.
However, when converting from NTSC to PAL, ChangeFPS() drops frames. This is
much less desirable, so I recommend ConvertFPS() when converting in this
direction. Perhaps my PAL-land based friends can take a look for themselves and
let me know what they think.

This is in line with your scenarios 2 and 3. I spent some time googling for opinions on fps conversion, and a majority of people seem to prefer ChangeFPS no matter what. Since I watch my videos on a CRT I have no problems with ConvertFPS, but I have no idea how ugly blending actually looks on an LCD.

Next thing I will probably do is give the old MotionProtectedFPS script some test runs. It should be way faster than the MVFlow based fps converters, and it is easy to use. It will probably introduce some artifacts depending on the source characteristics (scene changes), but it should result in smooth motion. I will report back...


Cheers
manolito

//EDIT//
Just did a few test conversions with MotionProtectedFPS, and they look fine to me. Very smooth horizontal pans, no obvious artifacts so far. Speed is about half of what I get with ChangeFPS, but still quite acceptable.
If you want to play with it, keep in mind that it requires the old MaskTools 1.58. I uploaded the necessary stuff here:
http://www40.zippyshare.com/v/90029504/file.html

manolito
17th June 2014, 17:20
After doing almost a dozen more test conversions (mainly files from w6rz.net) my conclusion is as follows:

For interlaced sources (where the source is first bob-deinterlaced and only fields are dropped or blended) I have a hard time seeing any differences on my CRT TV. No matter if I use ChangeFPS, ConvertFPS or MotionProtectedFPS, all these conversions (downconversions from 29.97 to 25) look very good to me.

It gets different if the source is progressive so the usual conversion will drop or blend whole frames instead of fields. ChangeFPS looks very stuttery in this case, ConvertFPS looks much better (probably due to my CRT TV), and MotionProtectedFPS looks very good.

A good example is this 29.97 progressive anime clip:
http://www.w6rz.net/1080p30.zip

BTW w6rz.net only offers legitimate clips for download...


Cheers
manolito

SuLyMaN
24th June 2014, 19:26
Hi guys. I'm getting this error.
http://dl.dropboxusercontent.com/u/54700356/avs2dvd%20error.jpg
I tried 2 times with different vids, same outcome.

SuLyMaN
24th June 2014, 20:18
Solved my issue. My firewall blocked the process :S

SuLyMaN
25th June 2014, 06:18
I converted some files and the resulting DVD has stuttering audio on an LG DVD player :(. I will test on another player and on PC.

edit: Plays fine on PC.
edit2: Works fine on my 8 year old DVD no brand player from China....

manolito
28th June 2014, 18:40
I converted some files and the resulting DVD has stuttering audio on an LG DVD player :(. I will test on another player and on PC.

edit: Plays fine on PC.
edit2: Works fine on my 8 year old DVD no brand player from China....

Sounds like your LG player needs a lens cleaning (or get a repair job)... ;)

Unless configured differently AVStoDVD uses MuxMan for DVD authoring and IMGBurn for burning. Both tools are extremely reliable in my experience. MuxMan can even be considered as a compliance checker for the elementary streams, because it is so picky. If authoring with MuxMan succeeds without any error message then you can be 99.9% sure that the resulting DVD structure is flawless.



Cheers
manolito

manolito
29th June 2014, 15:07
I have been meaning to post this for some time, but never got to it... :o

It only happens when FFMpeg is used as the encoder AND audio normalization is activated. It does not happen with HCenc, also the source filters do not matter (I used DSS with LAVfilters, but ffdshow/Haali behaves the same way). This error was introduced some time ago when QuEnc was replaced by FFMpeg.

With audio normalization on as soon as FFMpeg is invoked, it just shows the opening screen with version information and compiler settings, and then it just sits there for several minutes without starting the encode. CPU is at 100%, and there is some HDD activity. This sure looks like the normalizing pass.

But after video encoding is done and Wavi / Aften is started, it again just sits there for the same amount of time as before displaying "Writing WAV file". Also 100% CPU again plus HDD activity. Normalizing taking place for a second time it seems.

This behavior does not do any harm except wasting time. But since it does not happen with HCenc (and it did not happen with QuEnc in the past) I think that something can probably be done about it...



Cheers
manolito

SuLyMaN
30th June 2014, 08:52
I'm actually pleasantly surprised by AVS2DVD. The black nothrills menu works fine for me! However, a minor irritation is that it will create menu titles horizontally instead of vertically and long file names are 'cut out' unless adjusted. Any way to change the default menu to vertical titles and longer file names support?

@manolito: The LG player is not fine :) It is a work player/recorder and it can continue to stutter :p

MrC
1st July 2014, 19:20
@manolito

you are right, let me see if I can add any switch to FFMpeg to ignore the audio delivered by the AVS script.

@SuLyMaN

I am pleasantly surprised you are pleasantly surprised! ;)

What do you mean by long file names 'cut out'? A screenshot would help.

About vertical titles, unfortunately it is not possible, because VB6 does not give many graphical options to developers. For fancy DVD menu you should try DVD Styler. Just output elementary DVD compliant streams with AVStoDVD and then author with DVD Styler.

;)

Bye

SuLyMaN
2nd July 2014, 05:45
What do you mean by long file names 'cut out'? A screenshot would help.

About vertical titles, unfortunately it is not possible, because VB6 does not give many graphical options to developers. For fancy DVD menu you should try DVD Styler. Just output elementary DVD compliant streams with AVStoDVD and then author with DVD Styler.

;)

Bye

Hi. I just reformatted my PC. I will get a screenshot asap. What I mean is that the full file name will not show (adjusted to 200 I think in default and you have to change it to 350).
About the vertical menu, same can be done, but I have to go in the menu and move the generated thumbnails of videos manually. Else it will be horizontally displayed.
As I said, I don't need fancy menus and want to cut out on time badly spent (aka dvd menus!)
I'll try to make a screenshot of this too and post soon.

manolito
2nd July 2014, 12:48
I only create menus with text based titles in AVStoDVD, and they are always aligned vertically by default.

But if you need thumbnails, there is a setting in the menu wizard under "Options" called "Max thumbs per row". Set this value to 1 instead of the default 4, and your thumbnails will be aligned vertically.


Cheers
manolito

manolito
2nd July 2014, 14:31
you are right, let me see if I can add any switch to FFMpeg to ignore the audio delivered by the AVS script.



@MrC

So it is FFMpeg itself... :rolleyes:
Weird why it treats AVS input differently from other encoders. I browsed the FFMpeg docs and the web a little bit, but I could not find any switch to make it behave differently.

Maybe audio manipulation (at least the normalizing, maybe also resampling and delay) should be moved from AviSynth to SoX. The SoX command could be easily added to the WAVI -> Aften (or FFMpeg -> Aften) batch file, piping it right in between WAVI and Aften.



Cheers
manolito