View Full Version : WMNicEnc Update (VC-1 Support)
http://nic.dnsalias.com
Updated WMNicEnc (last update was 3 years ago!) to support modifiying the options of the new VC-1 codec.
Should make testing the settings easier than fiddling with the registry. Please let me know of any problems as I haven't had time to test yet.
Cheers,
-Nic
GodofaGap
20th May 2006, 11:26
Many thanks Nic. Gonna try right away. :)
Jerry_Sm@rt
20th May 2006, 14:25
any mirrors?can not link to the address here
Yama4050242
20th May 2006, 14:43
Jerry_Sm@rt
try this
http://www.hidemyass.com/
i got it from ST
it works for me
zambelli
21st May 2006, 04:43
Nice work, Nic, and thanks for updating the tool!
Some comments:
For settings that are just 0/1 switches (i.e. Force LoopFilter), it might be more intuitive if the "0" and "1" were replaced with "Off" and "On".
In general, having descriptive values (i.e. Weak/Medium/Strong instead of 1/2/3) might make the encoder easier to use. Otherwise, people will need to look up the descriptions online - so perhaps providing a hyperlink would also be a good idea. :)
When "Compression Optimization Type" is set to 1, I would expect all associated settings to automatically change. Even though that might make things more complicated on the back end, it would make the UI more intuitive, IMHO. Or consider separating "COT" from the other options and making it a radio button or something. Unlike other settings, this one's a preset so it would make sense if it were somehow "special".
The WVC1 complexity setting actually has a range 0 through 5. Default is 3 for offline encoding and 2 for streaming. Check out this (http://msdn.microsoft.com/library/en-us/wmform95/htm/g_wszwmvccomplexitymode.asp)reference.
If you wanted to support interlaced encoding, here's what you would need: a checkbox for interlaced (http://msdn.microsoft.com/library/en-us/wmform95/htm/g_wszwmvcinterlacedcodingenabled.asp) encoding, another option to select field dominance (http://msdn.microsoft.com/library/en-us/wmform95/htm/interlacedvideoencoding.asp)(top/bottom/auto) and another to force the encoder to use a specific encoding method ("Video Type (http://www.microsoft.com/windows/windowsmedia/howto/articles/codecadvancedsettings.aspx#VideoType)" AP registry setting).
You should add an option for Video Buffer size. Setting the buffer size to large values (i.e. 60 secs) on long offline encodes should improve the quality. It should be set to lower values on either short sources or when streaming.
@Zambelli:
For settings that are just 0/1 switches (i.e. Force LoopFilter), it might be more intuitive if the "0" and "1" were replaced with "Off" and "On"
Maybe your right. I may just do that.
In general, having descriptive values (i.e. Weak/Medium/Strong instead of 1/2/3) might make the encoder easier to use. Otherwise, people will need to look up the descriptions online - so perhaps providing a hyperlink would also be a good idea.
That's what the tooltips are for, they only have to leave their mouse over the combobox to get a description of what the numbers mean. Also, the weak/medium/strong will work in some cases, not in others though where -2, -1, etc are options.
When "Compression Optimization Type" is set to 1, I would expect all associated settings to automatically change. Even though that might make things more complicated on the back end, it would make the UI more intuitive, IMHO. Or consider separating "COT" from the other options and making it a radio button or something. Unlike other settings, this one's a preset so it would make sense if it were somehow "special".
Maybe, I'll have to consider how intuitive the right logic would be. i.e. if you turn it off, should the settings revert (& should it only change settings that are "Not Set" (Think I'm going to change that wording to "Default"))
The WVC1 complexity setting actually has a range 0 through 5. Default is 3 for offline
True. But other codecs are effected by this setting too, and they don't have that range (sometimes just 0 and 1). Also, people either want it done quick or want it done well IMHO. But I think I will change the wording to "Min" & "Max".
If you wanted to support interlaced encoding...Yup. I need to add that. Thanks for the links :)
You should add an option for Video Buffer size...Again, your dead right. Will add that ASAP :)
Thanks for the feedback :) I'll try and find a nice compromise. I hope it's working well for people.
Now some questions:
1) Couldn't believe it was released 3 years ago....Any word on when Windows Media Format 11 SDK will be released? (if at all)
2) Are there any other Registry settings that might be of some use? A look through the WM DLLs suggests there are others, but maybe they aren't useful/working. Are there similar ones for Audio?
3) One of my colleagues was at a Hi-Def conference this past week and heard mention a couple of times of something called VC-2. Any relation to a future MS product in the works or is he confusing it with something with a similar name?
Thanks again,
-Nic
berrinam
21st May 2006, 10:12
Since your tool modifies registry entries in place, what happens with multiple instances of it running at once with different settings?
What are the prospects of a command line version, for integration into tools like MeGUI?
Inventive Software
22nd May 2006, 10:26
Seeing as suggestions are being thrown about the place, I have one. Maybe below the progress bar, there could be a status section detailing what frame is currently being encoded, how long it's taken etc.
The moon on a stick that's what you guys want..... ;)
@Inventive: I'll try and add that in.
@berrinam: Sharing registry settings means that multiple versions will have to have the same settings if things are going to run smoothly. I may add some commandline parameters for encoding in the future.
-Nic
trbarry
22nd May 2006, 16:40
Thanks Nic. I was hoping you were going to release a new one of these.
- Tom
zambelli
22nd May 2006, 22:58
That's what the tooltips are for, they only have to leave their mouse over the combobox to get a description of what the numbers mean. Also, the weak/medium/strong will work in some cases, not in others though where -2, -1, etc are options.
The tooltips are useful, but they only describe the setting - not the possible values. For example, the tooltip for "Motion Search Level" describes the function of the setting, but it doesn't explain the meaning of -2, -1, 0, 1 and 2.
Maybe, I'll have to consider how intuitive the right logic would be. i.e. if you turn it off, should the settings revert (& should it only change settings that are "Not Set" (Think I'm going to change that wording to "Default"))
Perhaps something like this: if you enable COT, the associated settings get auto-set regardless of their current values. If you disable COT, the associated settings revert to default values. That way you wouldn't have to keep track of "last state" in a separate array. I think users would quickly figure out that if they want to override any setting associated with COT, they need to set COT first, then set the overrides second.
True. But other codecs are effected by this setting too, and they don't have that range (sometimes just 0 and 1). Also, people either want it done quick or want it done well IMHO. But I think I will change the wording to "Min" & "Max".
No need for that. You can get the maximum complexity level for the current codec by querying g_wszWMVCComplexityExMax (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wmform95/htm/g_wszwmvccomplexityexmax.asp). Min and max would be insufficient for WMV9 needs. WMV9 MP encoder has 5 complexity levels; WMV9 AP has 6. The difference between 0 and 6 can be the difference between realtime encoding and 0.05x encoding. :)
1) Couldn't believe it was released 3 years ago....Any word on when Windows Media Format 11 SDK will be released? (if at all)
At the same time as WMP11... But I can't disclose any schedule details publicly. Considering that WMP11 will also ship with Vista... and there is more information publicly available about the Vista schedule... that ought to give you some hints about a possible timeframe.
2) Are there any other Registry settings that might be of some use? A look through the WM DLLs suggests there are others, but maybe they aren't useful/working.
For the encoder... I'm not aware of any others. There are some registry settings that control the post-processing levels in the decoder and enable/disable DXVA, but that's about it.
3) One of my colleagues was at a Hi-Def conference this past week and heard mention a couple of times of something called VC-2. Any relation to a future MS product in the works or is he confusing it with something with a similar name?
This is my first time hearing of it. Keep in mind, however, that "VC-1" is SMPTE's informal name for 421M. "VC-2" might indeed stand for "Video Codec 2", but it might not have anything to do with Microsoft.
zambelli
23rd May 2006, 00:32
Another cool set of options that you might want to consider supporting are the "Force Encoding Height" and "Force Encoding Width" registry settings. This allows the encoder to encode the video at a smaller resolution than the source, yet decode it at the original source resolution. What's the point of that? For example, if you're a fan of the "field discard" deinterlacing method, you could encode your 640x480 interlaced video as 640x240 progressive (where every other field is discarded), but have the decoder always decode it as 640x480.
zambelli
23rd May 2006, 02:37
Sharing registry settings means that multiple versions will have to have the same settings if things are going to run smoothly.
Actually, I believe registry settings only get queried once by the codec - at the beginning of the encoding session. So theoretically simultaneous encoding sessions should be possible - as long as they're not started at the same millisecond. :)
Valeron
23rd May 2006, 04:19
No need for that. You can get the maximum complexity level for the current codec by querying g_wszWMVCComplexityExMax (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wmform95/htm/g_wszwmvccomplexityexmax.asp). Min and max would be insufficient for WMV9 needs. WMV9 MP encoder has 5 complexity levels; WMV9 AP has 6. The difference between 0 and 6 can be the difference between realtime encoding and 0.05x encoding. :)
Microsoft documentation team should update the MSDN codec part now, there's no VC-1 AP mention while the codec is already beta.
Morbo
23rd May 2006, 05:21
Am I doing something wrong....
I was testing a clip,and found that multiple passes + VBR = program disappearing...lol
I did set most of the advanced stuff,is there a conflict there somewhere?
*EDIT
Actually,any setting with VBR involved kills the gui(with all settings default in advanced).
killerhex
23rd May 2006, 06:54
i havent tried because i dont know how to use the advance features for it to get good quality can someone make a small guide
Backwoods
23rd May 2006, 07:12
Just what I have been looking for, thanks.
Morbo
23rd May 2006, 08:23
i havent tried because i dont know how to use the advance features for it to get good quality can someone make a small guide
Most settings are fine as is,IMHO......just the b-frames,and various preprocessing stuff needs to be disabled for a good "test".
BTW,if there is a guide to this tool somewhere.....I'd like to know too...just for more info on the settings(and effects there upon).
check
23rd May 2006, 08:39
Hi, many thanks for providing the tool! On suggestion would be to make the compressoin settings box resizeable / much more hueger. When browsing through all the settings for something like WMA10, it's nearly impossible to make sense of the hundreds of items in the list as it is :)
Great tool otherwise, count me in for a CLI version :)
bkman
23rd May 2006, 09:10
Useful prog!
Can you please explain the VBR setting, though? Does that enable CQ mode, or just VBR with the specified bitrate targed. And in the latter case, what does the VBR quality setting mean?
leiming2006
23rd May 2006, 11:07
True. But other codecs are effected by this setting too, and they don't have that range (sometimes just 0 and 1). Also, people either want it done quick or want it done well IMHO. But I think I will change the wording to "Min" & "Max".
I still hope you can make it not only "min"(0) and alternative "max"(1). I don't know if it's a hard work so I may be wrong. Sometimes the balance between the speed and quality is needed. ;)
Hopefully this will make encoding to WM9/VC-1 easier...
Yeah. It's the truth. Thanks a lot! AVS input is quite important!
Edit:
[suggestion] commandline options that offer a way to encode file
It's useful because someone can make a bat file to encode many files. (at the end of the bat file is "shutdown -s -f -t 0" ;) )
foxyshadis
23rd May 2006, 13:20
Why not use the existing wmcmd.vbs from zambelli to do the command-line encoding? I don't think he's posted the update yet, but it works just like a command-line exe.
leiming2006
23rd May 2006, 13:32
Why not use the existing wmcmd.vbs from zambelli to do the command-line encoding? I don't think he's posted the update yet, but it works just like a command-line exe.
It's hard to use.
I think Nic's WMEncoder will be much easier.
zambelli
23rd May 2006, 23:10
It's hard to use.
Not really. It's no harder to use than, say, x264.exe is. It might even have less parameters. :)
I think Nic's WMEncoder will be much easier.
The only real downside to wmcmd.vbs is that it requires the WM Encoder (or SDK).
berrinam
23rd May 2006, 23:15
Does it support avs input? If so, then I'll put it into MeGUI.
zambelli
23rd May 2006, 23:32
Does it support avs input? If so, then I'll put it into MeGUI.
wmcmd.vbs? It will when I realase the update (very soon!). However, if you're looking to include it in MeGUI, it might not be the best solution since it does have WME9 as a requirement.
leiming2006
24th May 2006, 05:58
wmcmd.vbs? It will when I realase the update (very soon!). However, if you're looking to include it in MeGUI, it might not be the best solution since it does have WME9 as a requirement.
And the other reason is that I can't find any information about WVC-1 in the help. (Windows Media Encoder 9) It's the only difficulty I meet. If you know, please tell me, thank you!
zambelli
24th May 2006, 08:35
And the other reason is that I can't find any information about WVC-1 in the help. (Windows Media Encoder 9) It's the only difficulty I meet. If you know, please tell me, thank you!
There's no mention of WVC1 in WME9 because WME9 precedes it by about 3 years. :)
You can find out more info about WVC1 in this thread: http://forum.doom9.org/showthread.php?t=111275
leiming2006
24th May 2006, 09:30
There's no mention of WVC1 in WME9 because WME9 precedes it by about 3 years. :)
You can find out more info about WVC1 in this thread: http://forum.doom9.org/showthread.php?t=111275
Sorry for my poor English, then I can't find any useful information out.
Could you please give me a example of command line?
I'll try whether prx file can offer the function that encoding files in a bat file.
Valeron
25th May 2006, 01:03
Sorry for my poor English, then I can't find any useful information out.
Could you please give me a example of command line?
I'll try whether prx file can offer the function that encoding files in a bat file.
The commandline/script encoder help docs comes with WME9 3 years ago, it's the very thing u r looking for.
to enable the avs support with wmcmd.vbs, you should mod the script in this way
So, what do you need to do to make WME9 work with Avisynth? It's quite simple, really. First make a copy of the wmcmd.vbs file that shipped with WME9. Call it something like WME9AVS.vbs, perhaps. Now open the file in Notepad or any text/code editor and find the text "Compute file duration". Beginning with that line, delete every line of code up until (but not including) "intSleepDuration = 2000". The deleted section should count about 20 lines of code. Now replace the deleted code with the line:
intDuration = 0
Save the file and you're done. You should now be able to use wmcmd.vbs with any valid .avs file as source. As I said, the only downside is that you won't be able to get the progress report about your encoding pass, including info about the start of Pass2. Oh well. Don't forget that the .vbs version of WME9 is just about as powerful as the full version of the encoder. If you run into a setting that's not supported in the script-based encoder, just go and create a profile in the full encoder and then use the script-based encoder with the "-wme" switch. This is essentially how you get 6-channel mono WAV input and other nifty tricks done.
zambelli
25th May 2006, 01:06
to enable the avs support with wmcmd.vbs, you should mod the script in this way
Posted by mcored, eh? :) Methinks I've been plagiarized (http://forum.doom9.org/archive/index.php/t-65638.html). :sly:
Valeron
25th May 2006, 01:18
Posted by mcored, eh? :) Methinks I've been plagiarized (http://forum.doom9.org/archive/index.php/t-65638.html). :sly:
:eek:doh.....
forgive me not being google-analytic to collect all info on the Internet....
anyway, i'm not familiar with VB, thx for your mod:D
killerhex
26th May 2006, 09:24
can you add avi as input instead of making an avs file
Valeron
26th May 2006, 09:59
can you add avi as input instead of making an avs file
WME can be feed avi well
killerhex
26th May 2006, 10:52
wme is a resource hog too i like using this program more than wme
McoreD
26th May 2006, 13:01
:eek:doh.....
forgive me not being google-analytic to collect all info on the Internet...
Valeron, can you tell me where did you paste that Zambelli's article from? It seems that you have manually typed my name, as it is mcored as I have been *always* used my name as McoreD.
From memory, here is where I have included Zambelli's WMCMD article in MSUN Knowledgebase:
http://microsoftuse.temp.powweb.com/mcored/knowledgebase/kb-avswme.htm
Cheers,
McoreD
Atlantis
6th July 2006, 10:37
Is this wonderful easy tool still being developed? If yes, it would be great if you could add the support of pixel aspect ratio. To me it seems essential to be able to set the aspect ratio of the encoded video.
fight2win
15th July 2006, 19:17
thanks!
fight2win
15th July 2006, 19:27
where to get latest version of vc-1 codec from? sorry if this already answered!
benwaggoner
15th July 2006, 22:36
where to get latest version of vc-1 codec from? sorry if this already answered!
You can get it right here:
http://www.microsoft.com/windows/windowsmedia/forpros/encoder/default.mspx
sisman2000
31st July 2006, 19:59
I want to start Using VC1 for what i heard is good Interlaced encoding support, but your tool is missing that option right now, and my HD footage from Sony HC3 is all interlaced... and so far it doesn't look that great encoded.... will your program have interlaced option soon? or is there a way for me to deinterlace the Mpeg2 before i encode?
bond
31st July 2006, 20:09
vc-1 should be good for interlacing? actually i have never seen an interlaced vc-1 stream out in the wild and afaik it has been only recently added to vc-1 advanced profile. even m$ (offering the only vc-1 codec around) only released vc-1 advanced profile encoding some weeks ago (no idea if it already supports interlacing)
so all in all i heavily doubt vc-1 has been much tested with interlacing at all. you shouldnt believe the marketing...
zambelli
2nd August 2006, 02:54
even m$ (offering the only vc-1 codec around) only released vc-1 advanced profile encoding some weeks ago (no idea if it already supports interlacing)
so all in all i heavily doubt vc-1 has been much tested with interlacing at all. you shouldnt believe the marketing...
Ummm, interlaced encoding has been supported in WMV for months now, ever since Advanced Profile codec was released with WMP11 and as standalone codec.
I can send you an interlaced WVC1 sample, if you'd like.
bond
2nd August 2006, 20:55
I can send you an interlaced WVC1 sample, if you'd like. yep sure, a small one if possible please
zambelli
3rd August 2006, 02:59
yep sure, a small one if possible please
Here you go:
http://www.citizeninsomniac.com/video/480i30__codec_WVC1__mode_2__framerate_29.970__type_2__preproc_17.wmv
Encoded with wmcmd.vbs (WME9) with this command line:
cscript wmcmd.vbs -videoonly -input 720x480_29.97i_900f.avi -v_codec WVC1 -v_mode 2 -v_quality 88 -v_framerate 29.970 -v_type 2 -v_preproc 17 -output 480i30__codec_WVC1__mode_2__framerate_29.970__type_1__preproc_17.wmv
If you play it back via VMR, the renderer will probably deinterlace the image on playback. If you want to see the interlaced lines, try opening it in Avisynth with DirectShowSource().
bond
3rd August 2006, 18:39
:thanks:
Nic
5th August 2006, 14:04
I did actually start to update WMNicEnc, but never got round to finishing it. So I up'd the unfinished version just now as it is very slightly better and has a couple of things people asked for. Maybe i'll get the motivation to update it more one day ;)
http://nic.dnsalias.com
-Nic
sisman2000
6th August 2006, 17:56
Thanks nic i see ur program is now beta not alpha... thanx... but can u still answer the question about interlacing... do you have to have an option for Progressive vs Interlaced if i want to use ur program to encode interlaced HDV to interlaced VC1?
Nic
6th August 2006, 18:00
@sisman: In my WMEnc, go to the Advanced Options, now hold your mouse over the combo/select box next to the words "Video Type" to see what the 5 options (0-4) mean. Alternatively read about it at: http://www.microsoft.com/windows/windowsmedia/howto/articles/codecadvancedsettings.aspx#VideoType
-Nic
zambelli
8th August 2006, 01:32
@sisman: In my WMEnc, go to the Advanced Options, now hold your mouse over the combo/select box next to the words "Video Type" to see what the 5 options (0-4) mean. Alternatively read about it at: http://www.microsoft.com/windows/windowsmedia/howto/articles/codecadvancedsettings.aspx#VideoType
Though, as I think I might've mentioned earlier in this thread, setting VideoType is not enough. That merely tells the codec to encode interlaced bitstreams. A flag still needs to be set on the ASF writer to make sure the resulting WMV file is marked as interlaced. It's a two-step process.
For anyone curious about encoding interlaced video with wmcmd.vbs, note that you need to set both -v_type to a non-zero value, and -v_preproc to 16, 17 or 18.
Nic
8th August 2006, 09:16
@zambelli: Thanks, must have missed your previous post. So is setting g_wszInterlacedCoding to TRUE on the IWMWriterAdvanced2 interface of the writer when VideoType!=0 enough to support it?
(or do I also have to SetProperty WM_SampleExtensionGUID_ContentType on the INSSBuffer3 to WM_CT_INTERLACED, WM_CT_BOTTOM_FIELD_FIRST, WM_CT_TOP_FIELD_FIRST, etc ? )
-Nic
sisman2000
9th August 2006, 04:55
I think zambelli is right, i think i was not able to get interlaced encode using ur program even with setting 1-4 on video type...
zambelli
9th August 2006, 06:52
@zambelli: Thanks, must have missed your previous post. So is setting g_wszInterlacedCoding to TRUE on the IWMWriterAdvanced2 interface of the writer when VideoType!=0 enough to support it?
(or do I also have to SetProperty WM_SampleExtensionGUID_ContentType on the INSSBuffer3 to WM_CT_INTERLACED, WM_CT_BOTTOM_FIELD_FIRST, WM_CT_TOP_FIELD_FIRST, etc ? )
According to http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wmform95/htm/interlacedvideoencoding.asp, you need to set
g_wszWMVCInterlacedCodingEnabled = TRUE and also set the mentioned data extension unit value to WM_CT_INTERLACED + WM_CT_BOTTOM_FIELD_FIRST or WM_CT_TOP_FIELD_FIRST.
The article also says "Setting the g_wszWMVCInterlacedCodingEnabled property to TRUE, and then not sending any samples with the content-type data-unit extension attached can cause the encoder to crash. Only set the encoder for interlaced encoding if you have interlaced samples to deliver." So sounds like you always need to set both or otherwise the whole thing might blow up.
Setting these values should take care of correct metadata and data extension units being set. Setting VideoType will ensure the codec is actually encoding the images correctly.
yevlar
15th August 2006, 09:02
Nic - One question I have - in the new version of your encoder, is the buffer size adjustment only for VC1, or does it work with WM9? That's the one big caveat I've had with the Nic encoder is that there's no way to adjust buffer size to reduce dropped frames in regular WM9 encodes.
Nic
15th August 2006, 09:16
@yevlar: AFAIK, it will work in both WM9 & VC1, infact it should work on any supported codec that supports that tweak.
yevlar
15th August 2006, 10:42
Fantastic!
Your Nic encoder is a beautiful tool, BTW. Far more intuitive than WM's regular GUI.
Keep up the good work!
yevlar
16th August 2006, 07:49
One more question - two of the VC1 tweaks I commonly use (Force Chroma Search and Force Adaptive MV cost) don't appear in the Nic options. Are these under a different name, or are they not supported in the Nic encoder?
Sagittaire
17th September 2006, 21:13
Possible to change key frame interval unit to ms ... ???
benwaggoner
21st September 2006, 05:59
vc-1 should be good for interlacing? actually i have never seen an interlaced vc-1 stream out in the wild and afaik it has been only recently added to vc-1 advanced profile. even m$ (offering the only vc-1 codec around) only released vc-1 advanced profile encoding some weeks ago (no idea if it already supports interlacing)
so all in all i heavily doubt vc-1 has been much tested with interlacing at all. you shouldnt believe the marketing...
FYI, Amazon Unbox is using VC-1 AP interlaced for their 60i clips.
Romeo_by
25th September 2006, 07:59
Hi guys, does anybody can explain it or comment: "Windows Media Encoder Studio Edition Beta 1 supports only the WMV9 Advanced Profile codec. Note that this is a different codec than the WMV9 Advanced Profile codec that shipped with the Windows Media Format SDK 9.5. Specifically, the Studio Edition version uses the WVC1 FourCC code instead of WMVA, and requires a newer version of the decoder." It is written here : http://www.microsoft.com/windows/windowsmedia/howto/articles/usingsehd.aspx
zambelli
25th September 2006, 18:00
Hi guys, does anybody can explain it or comment: "Windows Media Encoder Studio Edition Beta 1 supports only the WMV9 Advanced Profile codec. Note that this is a different codec than the WMV9 Advanced Profile codec that shipped with the Windows Media Format SDK 9.5. Specifically, the Studio Edition version uses the WVC1 FourCC code instead of WMVA, and requires a newer version of the decoder." It is written here : http://www.microsoft.com/windows/windowsmedia/howto/articles/usingsehd.aspx
It's more or less explained here:
http://forum.doom9.org/showthread.php?t=112634
and here:
http://www.microsoft.com/windows/windowsmedia/howto/articles/codecadvancedsettings.aspx#CodecVersions
Romeo_by
26th September 2006, 08:59
As far as I understood that from MS link the newest version of the codec and it's features is only avaliable under 2k3 and WMF 11 SDK or WME SE Beta. Am I right?
HookedOnTV
26th September 2006, 16:58
What effect should changing the "Quality" setting in the "Video Options" area have? I'm trying to increase encoding speed. I've tried encodes at 100, 90 and 50 and they all took the same amount of time.
zambelli
26th September 2006, 21:46
As far as I understood that from MS link the newest version of the codec and it's features is only avaliable under 2k3 and WMF 11 SDK or WME SE Beta. Am I right?
Correct. The newest version of the codec is currently only available for XP, Vista and W2K3.
zambelli
26th September 2006, 21:52
What effect should changing the "Quality" setting in the "Video Options" area have? I'm trying to increase encoding speed. I've tried encodes at 100, 90 and 50 and they all took the same amount of time.
Quality setting is valid only in CBR modes and 1-pass VBR mode. It's irrelevant in 2-pass VBR mode.
In 1-pass VBR mode it sets the constant quality of the video, which affects the overall compression ratio. In more technical terms, it sets the QP (picture quantizer) for the video.
In CBR modes, Quality is also known as "Video Smoothness", and it controls whether the encoder will drop frames in order to meet the quality bar for each frame at a given bitrate (more important for streaming than for offline encoding). The default setting typically works for all content, but if you get dropped frames, you can try lowering the value.
A complexity level setting exists for WMV codecs which controls the speed/quality ratio, but I don't think Nic has it implemented.
Nic
26th September 2006, 22:02
A complexity level setting exists for WMV codecs which controls the speed/quality ratio, but I don't think Nic has it implemented.
It is implemented under the Advanced Options dialog. It's the last option marked "Minimum/Maximum complexity".
-Nic
zambelli
26th September 2006, 23:12
It is implemented under the Advanced Options dialog. It's the last option marked "Minimum/Maximum complexity".
Oh, sorry, I forgot you did add it. :)
@HookedOnTV: The default value is 3. Increasing to 4 should give you a decent quality boost, but will be about 80% slower. Complexity 5 will be even slower - and I personally don't think it's worth the extra time.
HookedOnTV
27th September 2006, 03:32
So to increase speed I should lower to maybe 2? I'm comparing between using this and x264 w/MeGUI. So far this takes about 3 times as long. I'm having a hard time believing VC-1 should take this long. I must be doing something wrong.
Nic
4th October 2006, 12:17
sh0dan sent me a patch to make WMNicEnc's options easier to use (the comboboxes don't just list obscure numbers that you have to look up now).
I applied and uploaded to: http://nic.dnsalias.com
No other changes (unless I broke something)
-Nic
Pookie
5th October 2006, 06:39
Nic - No message, just posting appreciation for your great apps. Respect. ;)
zambelli
5th October 2006, 10:34
sh0dan sent me a patch to make WMNicEnc's options easier to use (the comboboxes don't just list obscure numbers that you have to look up now).
I applied and uploaded to: http://nic.dnsalias.com
Nice work, Sh0dan!
Some comments.
"Video Type" should actually be "VideoType". The online documentation is wrong and will hopefully be corrected soon.
The values for "VideoType" should be as follows:
Default
Progressive
Frame Interlaced
Field Interlaced
Auto Frame/Field Interlaced
Auto Frame Interlaced/Field Interlaced/Progressive
The setting is only valid if interlaced encoding has been enabled on the codec via IPropertyBag. Nic hasn't actually enabled this in the encoder yet, so until that's done - VideoType will not really work properly in WMNicEnc.
Let's say interlaced encoding support was implemented... Here's how it would work. "Default" would default to Progressive for progressive, and to Field Interlaced for interlaced video encoding. When "VideoType" is set, it affects how images are encoded in the video. In all cases source is assumed to be frame-based video. Frame Interlaced will encode each input frame as one interlaced frame. Field Interlaced option will encode each input frame as a pair of fields. This doesn't imply bobbed playback. It merely means that each frame is stored as two fields, rather than a single frame. The two auto modes try to pick the most efficient method for compressing each input frame. VideoType=4 is best suited for mixed mode content.
One more comment...
Encoder complexity range is not hard-coded. It's based on a max value retrieved from the codec property bag. So defining a descriptive value for 0-5 is probably the wrong way to go about it. A better way might be to describe 0 as "fastest" and MAX as "slowest" - and everything inbetween the user can figure out.
affter333
12th October 2006, 18:47
HI:
Really need better and detailed explanations on those
profile parameters.
for example: force overlap, what does it do? Some kind
of temporal smoothing?
And what are those default values of the default settings? are they on or off ? 1 or 0 ?
thanks ..
leiming2006
22nd October 2006, 05:26
WMV9
Tick "VBR" and then select "constrained" or "unconstrained". "VBR Quality" affect nothing?
And in mutipass, tick VBR and select "constrained" or "unconstrained". It output "part, part and part" video.
Is there anything I have set wrong? Who can tell me how can I use the VBR "constrained" and "unconstrained"?
Thanks
tominator
28th October 2006, 01:21
I just started learning about WMNicEnc and havn't had time to try it as much as I want yet. I do have some quick questions though:
From what Ive understood it does not have support for creating files with support for multiple video streams. Might that be a function we can expect any time soon?
Is there a way to queue jobs? If not, may that be a function to expect?
Are there any plans for making it able to load seperate audio and video sources?
Thanks.
dohcmark8
6th November 2006, 00:42
Thanks for the great update. I tried it out for VC-1 encoding and its nice.
Although, any plans to include a status bar with remaining time and current fps?
affter333
12th November 2006, 00:59
Can it open AVIs ? not just avs.
sjchmura
21st November 2006, 14:20
SO the default AP settings = according to the MS documents linked above - activate most if not all of the highest quality setting settings - correct? So is there any other option to choose other than "Compression Optimization type" is set to optimal. So only of we disable this do the other settings actually matter - correct?
Isochroma
5th December 2006, 23:02
First, I'd like to thank Nic for this wonderful tool! I'm using it to make WMV2 encodes of HD videos.
I've some suggestions for new features in the next version, here they are:
1. Settings - no profiles needed, but it would be nice to store the last used encode settings in an .ini or regkey.
2. Priority - Low/Med/High, etc.
3. FPS indicator for encode rate
4. ETA calculation
5. Pause/Resume button
zambelli
6th December 2006, 07:25
SO the default AP settings = according to the MS documents linked above - activate most if not all of the highest quality setting settings - correct? So is there any other option to choose other than "Compression Optimization type" is set to optimal. So only of we disable this do the other settings actually matter - correct?
Sorry I missed this earlier.
All settings included in the "Compression Optimization Type = 1" preset can be overridden by explicitly defining them. So you can have CompOpt=1 AND have Motion Match = 1, even though in CompOpt=1 it gets set to -1.
Anyway, "highest quality" is a subjective term. Compression Optimization Type = 1 does offer quality improvements, but it also smooths out some areas of the image due to dquant perceptual optimizations being enabled. If you're looking for more of an archival quality setting, I recommend:
Motion Match = Hadamard
Motion Search Range = Auto
Motion Search Level = True Chroma or Auto True Chroma
LoopFilter = On
zambelli
6th December 2006, 07:26
First, I'd like to thank Nic for this wonderful tool! I'm using it to make WMV2 encodes of HD videos.
WMV2? As in "WMV v8"?
Isochroma
6th December 2006, 19:28
Yes, WMV2 offers the highest encoding speed (many times that for WMV3) and probably the best speed per unit quality of any codec ever made. Not only that but it has the fastest decoding (faster than ASP/WMV3, and would be faster than AVC except for the CoreAVC decoder).
Isochroma
7th December 2006, 00:00
Not only does WMV2 offer the best Speed/Quality ratio, but after careful comparison this morning, I've found that it offers equal or superior quality in high- and mid-motion scenes to x264 rev.602 (latest) at constant quantizer 18 with all other quality options cranked to max except CABAC. Here's the specs, sorry I already deleted the screenshots but the source was HDTV .TS 1920x1080 scaled down to 1368x768 using Lanczos4resize().
The WMV file was about 31MB, the x264 about 32MB, and of course WMV2 using Nic's ran at about 5fps, while x264 managed .5-.6fps. Needless to say, scaling back the quality options in x264 to obtain more speed quickly degraded the quality to significantly below WMV2 level.
WMV:
Format: WMV2 in WMV
Mode: Quality VBR, 100
FPS: 23.976
Advanced Options: all default, except:
1. Lookahead: 16 frames
2. Macroblock Mode Cost Method: RD Cost
3. Motion Search Range: +1023.75/-1024.0 H, +255.75/-256.0 V
4. Motion Vector Coding Method: Horizontal
5. NumBFrames: 1
6. Minimum/Maximum Complexity: Fastest
7. Buffer Windows Size: 60000
(Note: I have a feeling most of these options don't affect WMV2, but I've verified that Complexity does work on both WMV1/2 and significantly decreases CPU usage on playback, while minimally affecting quality)
x264: (Tabs are in MeGUI, only changed items are shown)
<Main Tab>
Format: AVC1 in MP4
Mode: Const. Quantizer
Quantizer: 18
Profile: High Profile
Deblocking: Enabled
<RC and ME Tab>
Chroma M.E.: on
M.E. Range: 16
M.E. Algorithm: Exhaustive
Subpixel Refinement: 7
<Advanced Tab>
CABAC: off
No Dct Decimation: on
No Fast P-Skip: on
Macroblock Options: Custom (all checked)
B-Frames: 1
RDO for B-frames: on
Weighted B-Prediction: on
Bidirectional M.E.: on
B-frame mode: Temporal
zambelli
7th December 2006, 00:53
Not only does WMV2 offer the best Speed/Quality ratio, but after careful comparison this morning, I've found that it offers equal or superior quality in high- and mid-motion scenes to x264 rev.602 (latest) at constant quantizer 18 with all other quality options cranked to max except CABAC.
Seriously? OK, even I can't believe that. :confused: Sounds like time for sharing screenshots and video samples! :)
(Note: I have a feeling most of these options don't affect WMV2, but I've verified that Complexity does work on both WMV2/3 and significantly decreases CPU usage on playback, while minimally affecting quality)
You are correct. The registry tweaks only affect WMV9, and only the newest (v11) builds at that.
Isochroma
7th December 2006, 04:08
So in addition to thanking Nic for the excellent tool, I'd like to thank Microsoft for some fine engineering on WMV2, and of course also some minus feedback on WMV3, due to its very low speed/unit quality ratio.
Thanks to Nic's WMVEnc + WMV2, I'm now transcoding one .ts per day, and so can finally make progress on the backlog of 100+ encodes waiting to go!
After encoding, the .WMV is loaded into Graphedit and the video stream sent to Gabest's latest MatroskaMuxer, instead of the WMVDecoder. Then the AC3 is muxing in a secondary step with MKVToolnix. This is because Gabest's MM doesn't fill in all the details (display size) and hasn't been updated in a while.
Also, I tried Haali's latest muxer but it screws up and doesn't set the framerate atom, so the mkv's can't be demuxed and play at the wrong framerate.
killerhex
7th December 2006, 04:59
wmv3 is wmv v9
Taxidermista
22nd December 2006, 16:09
Is this wonderful easy tool still being developed? If yes, it would be great if you could add the support of pixel aspect ratio. To me it seems essential to be able to set the aspect ratio of the encoded video.
Ditto. I would like to encode some 16:9 hd video at 1440x1080. Is this supported yet?
Eastermeyer
1st April 2007, 16:13
I would like to Encode 2pass ABR at 8112kbps (just like an ordinary XviD 2pass).
So i check "Use Multipass Encoding". Do i have to check VBR , too ?
And for the Bitrate , do i have to enter 8112 or 8112000 ?
snrsuave
9th June 2007, 12:57
Does WMNicEnc work on Vista? I can't get it to work. It crashes each time I hit the encode button. I've tried running it as administrator and in XP compatibility mode, but I've had no luck.
adrianmak
20th June 2007, 04:11
To encode in VC-1 format, should I select the WMV9 Advanced profile in WMEnc ?
foxyshadis
20th June 2007, 10:37
You can, but main and simple are also VC-1. You don't need advanced unless you need some of its features, like interlaced encoding.
musicman2311
24th October 2007, 07:59
this is a nice tool - would it be possible to include essential information in the bitstream such as aspect ratio ?
wallstreetcrash
2nd November 2007, 23:03
This is a great tool! Thanks to the maker :)
I just wanted to ask a few questions on settings.
If I just want 2-ch audio @ 192kbs, should I use WMA 9.2 or WMA10 Pro? Is one quicker than the other, if so which one? Or if they are the same, I should use WMA10 I suppose?
And there are tons of Video codecs, I'm stuck on which one to use.
WMV 9
WMV V8
WMV 9 Image
WMV 9.1 Image
WMV 9 Advanced Profile
Which one uses VC-1?
And which one is the best quality-time ratio? I'm not too fussed about quality as I will be encoding TV shows, and then they will be disposed off and not for a collection, wondering which codec to use. WMV V8 will be quickest right?
Also, I am not bothered about size, so what bitrate do I use and what quality, and do I use VBR?
Basically, I convert weekly a few MKV TV shows of mine, and would like about 20fps encoding on my P4 3.4GHz 1GB RAM machine.
Thanks, hope I can get some help
zambelli
3rd November 2007, 00:02
Reading the VC-1 sticky will shed light on your questions, but the short answer is: WMV9 is VC-1 Simple/Main, and WMV9 AP is VC-1 Advanced profile.
wallstreetcrash
3rd November 2007, 12:26
Thanks, so I'll use WMV V8 i.e. WMV2
And WMA 9.2 for audio.
But last question is the quality settings.
Next to bitrate, it has a quality setting, what does this do?
And if I don't care about size, should I use VBR?
I want to convert a 1GB mkv TV show.
Thanks.
zambelli
9th November 2007, 09:41
No to take away any thunder from Nic, but WMNicEnc is a little out of date by now - it might be easier and more intuitive to use WMCmd.vbs or WME9+PowerToy for your encoding. The options and context help are more accurate in those tools.
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.