I have a WMV that I made into an direct stream AVI using VirtualDub. I imported it into AviUtl and set the keyframes I wanted. The cutting went near perfect. Somehow the video actually glitches out 1 second in, and the rest is fine. Is there a possible fix for this?
I was wondering if it was because I get the "previous frame is not a keyframe" warning when I go to encode, but I mark that frame too.
+ Reply to Thread
Results 1 to 19 of 19
Thread: AviUtl KeyFrame glitch
Can you upload a sample video for test?
Also try the following option in x26XGui
Also try moving the import plugin priority of L-Smash to the top(File> SETTINGS> Import plugin priority)
Last edited by MaverickTse; 26th Jul 2014 at 21:14. Reason: addenum
I'm actually just doing AVI to AVI with no recompression so that X265 setting wouldn't work.
That L-Smash plugin isn't in the settings list either. I have the AVIMod 1.6 version.
If you are using the minimum Mod, i.e. no L-Smash, reading of wmv(in AVI) is done via vfw and that does not guarantee 100% frame accuracy.
The minimum Mod cannot read .wmv file directly.(use the extra pack instead.)
Ignoring a few keyframes should not cause significant swelling of file size, it is likely due to the codec setting to "Not compressed".(actually anything other than x264vfw will cause swelling)
Note that if you are editing using the NLE editor, manual keyframe setting using the Edit menu will not be honored.
Again, please post your original, project file and the glitched file here for investigation if possible.
I had a feeling it was due to the codec setting.
As for the L-Smash Priority option, I did get download another version, and I did try that and bumping it to the top won't allow me to import anything. I have to change the Max Image Size in System Settings but no matter what I change it to, it doesn't let me import.
You did suggest asfbin so I may just go to that if need be.
Just found that LSW seems to have a big AV-sync problem with WMV format, but fine using DirectShow import plugin.
(contacting LSW developers for verification...)
I don't seem to have AV sync issues with WMV within aviutl tested on a few wmv
I see .lwi index so I'm assuming it's using l-smash , not directshow.
But how can you force , or at least confirm what decoding pathway is currently used by a specific file in aviutl ? There is an import plugins priority setting, but that doesn't necessarily prove what is currently being used
EDIT: NM. It's info=>file info, under "file control" it will list the decoding pathway
To confirm which plugin is used for the current file, open "Info>File"
Under "File control", you can check which import plugin is in effect.
Generally speaking, the first plugin in the priority list that can open a file will be used(unless the plugin malfunction).
Since LSW and DS can open up almost anything, placing them at the top of the list nearly means forcing to use that particular plugin.
Last edited by MaverickTse; 27th Jul 2014 at 00:34.
So I did a test on a few more files, mainly AVI's created from WMV's. They all have the same codec and format of course, except for one thing. The files that keep giving me the glitch were originally encoded with Windows Movie Maker. I don't know if that program has some kind of setting I don't know about, but that's the only reasoning I can come up with, since everything else comes out just fine.
I'll use ASFBin for those, I just a thought it was a strange discovery worth mentioning.
I have talked with the developers and confirmed that the L-Smash Works Reader plugin cannot handle VFR WMV correctly. There seems to have been an attempt to make a WMV/ASF reader for virtualdub but also failed due to some technical problem...(WMV is a propriety format by M$ afterall )
The only way to handle WMV at the moment is either:
1) Make DirectShow File Reader the TOP on the list, and install K-lite codec pack
2) Use another program to try converting WMV to MP4 or TRUE avi (HuffYUV/Lagarith/UtVideo) and confirm that it is constant-framerate
3) use AviSynth and DSS2 to read the file, and install codec pack
Your use of virtualdub is redundant and may introduce unexpected problem.
For any freeware currently available, avoid WMV codec at all cost....
I have also tried editing some WMV8 video and ASFBin also FAILED(completely out-of-sync)
But this is true for editing of any VFR videos in general , not just WMV . MKV, FLV, MP4 can be (and quite commonly are) VFR as well
Those 3 options (and other variations) basically convert it to CFR before editing. The 4th option is to use vfr.py with avisynth, editing it in VFR, and keeping VFR timecodes
Eitherway, VFR isn't really meant to be edited; it's supposed to be an end format
But the OP's problem is more likely a decoding glitch, probably unrelated to VFR
The problem with VFR WMV is... there is no easy way to confirm it as VFR or CFR: MediaInfo may not give reliable info on this.
Since the OP did not give any sample for examination nor detailed workflow, I can't reproduce the problem and my best guess is VFR...
I tried using the WMV sample that came with Win7 ("Wildlife.wmv") which has the following properties:
ID : 2
Format : VC-1
Format profile : Advanced@L3
Codec ID : WVC1
Codec ID/Hint : Microsoft
Description of the codec : Windows Media Video 9 Advanced Profile
Duration : 30s 97ms
Bit rate mode : Constant
Bit rate : 5 942 Kbps
Width : 1 280 pixels
Height : 720 pixels
Display aspect ratio : 16:9
Frame rate : 29.970 fps
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Compression mode : Lossy
Bits/(Pixel*Frame) : 0.215
Stream size : 21.3 MiB (85%)
Language : English (US)
ID : 1
Format : WMA
Format version : Version 2
Codec ID : 161
Codec ID/Info : Windows Media Audio
Description of the codec : Windows Media Audio 9.2 - 192 kbps, 44 kHz, stereo (A/V) 1-pass CBR
Duration : 30s 92ms
Bit rate mode : Constant
Bit rate : 192 Kbps
Channel(s) : 2 channels
Sampling rate : 44.1 KHz
Bit depth : 16 bits
Stream size : 705 KiB (3%)
Language : English (US)
Setting key frames (Edit> Set as keyframe) at random locations, then exporting to either AVI(UtVideo 420 BT.709) or MP4(x264) has no error at all.
(FYI: a 11 seconds extract converting into an AVI using UtVideo codec gives around 133MB)
so without the info for the source, i can guess:
1> VFR video? Script-embedded WMV?
2> a specific problem for WMV in AVI container?
3> Vdub's problem?
4> Source video already has minor corruption?
5> old WMV versions?
For 2, it is meaningless as it is outright pointless to use WMV in AVI;
For 3, I don't want to wrong Vdub without solid evident;
For 4 and 5, can't tell without the file at hand or at least without a MediaInfo report;
While 1 can likely be encountered.
Recently I am really getting fed up with this kind of comments "Your program gives error, period"/"It doesn't work, period".
I have to rant somewhere or I'm getting nut...
This kind of comment is NOT bug report and unfair to developers. Layman searching the Internet rarely seriously think about it and take the comment as valid for granted and negative comments stay in memory longer than positive ones. If the report is valid, fine; but without concrete info, the developer can't really do anything about it, and in a lot of case, it is the user's fault. So the developer take the blame without a chance to appeal.
I think EVERY AV/PC forum should put up a notice like this:
When seeking for help, please observe the following or the post will be removed:
1> Be concrete and specific with your problem
2> Report the error message, either in text form or as screenshot, if any
3> If the problem involve some files, upload a zipped sample. For Video file, a report from MediaInfo is essential if providing the actual sample is not possible.
4> Steps that can reproduce the problem, in as much details as possible, unless the error seems random
5> Report your PC spec, at minimum: CPU model, OS, Graphics chipset/card
If You are going to edit a crappy source like wmv, then it may be a good idea to import via Avisynth script if you don't want to transcode into intermediate....
v=FFvideoSource("C:\Users\Public\Videos\Sample Videos\Wildlife.wmv").assumefps(30000,1001) a=FFAudioSource("C:\Users\Public\Videos\Sample Videos\Wildlife.wmv") AudioDub(v, a) ConverttoYUY2()
Last edited by racer-x; 2nd Aug 2014 at 16:57.The memories of a man in his old age, are the deeds of the man in his prime.......