Log in

View Full Version : Standalone WVC1 codec released!


Pages : 1 [2]

Cheech
1st June 2006, 03:20
How many channels is NicAudio outputting?

Generally people rely on tools like BeSweet to decode the Dolby Digital audio to WAV PCM. It's an extra step in the process, but you'll know exactly what you're getting before you encode.
Humm, I deleted the ac3 test file I was using, I'm fairly sure it was 2. Converting it to wav is no problem, I just thought that approach would loose the extra channels if they had any.

Edit: I remade the ac3 file and it is indeed 2 channels, it was just a commercial I was using.

Cheech
3rd June 2006, 05:12
Hey zam, don't worry about that ac3 crap, I don't care about that anymore and I don't think you do either. I found a more important bug (or so I think). I used the -s_config switch to save my options because I wasn't sure how the weu file should be setup. Anyway it made the weu file like it should have, I took a peak inside with a text editor to see exactly how it made it and found the following: What ever parsed the commands threw out the quotes I put around file paths and tag details and even when they are reinserted back into the weu file, it acts like they don't exist when run with the -config switch. For example:
-input "F:\Conan Clips n Shows\Conan #2233 3-25-06\Conan 25.avs"
-output "C:\Documents and Settings\Administrator\Desktop\Conan 2233.wmv"
-loadprofile "C:\Documents and Settings\Administrator\Desktop\Conan.prx"
-pixelformat YV12
-v_compopt 1
-v_mslevel 4
-v_numthreads 2
-title "Late Night with Conan O'Brien"
-author Cheech
-year 2006
-description "Jennifer Aniston, Harold Perrineau, Victor Varnado. Episode #2233, original air date 5-25-06."
This returns: "Invalid parameter: Clips" The clips its referring to is the first space in the file path F:\Conan Clips n Shows\.....

zambelli
3rd June 2006, 08:18
I found a more important bug (or so I think). I used the -s_config switch to save my options because I wasn't sure how the weu file should be setup. Anyway it made the weu file like it should have, I took a peak inside with a text editor to see exactly how it made it and found the following: What ever parsed the commands threw out the quotes I put around file paths and tag details and even when they are reinserted back into the weu file, it acts like they don't exist when run with the -config switch. For example:
Nice catch. Yeah, that's a problem that's been there since the original release. The issue was that command-line arguments would get parsed automatically by the VBScript engine (WScript object, actually), which took care of removing separator quotes. When the script tried to put the arrayed arguments back into a single string - the quotes weren't being reconstructed.
Anyway, I have a fix for it, but I need to test it some more. I have some other fixes on the way too, so I'll try to bundle those together and release an "unofficial" update later this month.

zambelli
25th August 2006, 23:51
I updated WMCmd.vbs with a fix for the config save/load issue. Sorry it took so long - I actually had the fix implemented more than a month ago, but ended up going on vacation and then getting caught up with work.

The download link on the first page has been updated.


8-25-2006:
----------
* Fixed a bug in configuration saving (-s_config) and loading (-config) functions
that prevented command-line parameters containing quotation marks from being
processed correctly.
* Added code to check whether specified video profile (-v_profile) is supported by
the video codec used (-v_codec). For example, can't use SP or MP with WVC1.

zambelli
9th January 2007, 00:23
Windows Vista users experiencing problems with WME9 scripting (WMcmd.vbs) can now install hotfix KB929182 (http://support.microsoft.com/default.aspx/kb/929182) to address the issue.

Dmitry Vergheles
10th January 2007, 13:54
Hi zambelli,

My question is concerning ASF to contain VC-1 video with B-Frames.

There is a well-known problem that ASF has to mux video samples with growing time stamps.

Video with B frames can't be such one.
There some tricks to put such a video to ASF.

The question is: does MS put own VC-1 to ASF using any standard approach or any tricks?

I have WMV sample encoded by WindowsMediaEncoder where there is no frames re-ordering present and WMWReader delivers video samples with increasing time stamps.

WMV DMO decoder decodes and presents video data without any flickering and frame drops.

That means it seems to reorders frames inside itself.

Any comments/suggestions/references?

Thanks in advance.

P.S I have already posted the same question to microsoft.public.windowsmedia.sdk and I'm sure Alessangro Angelli will give comprehensive but it would also be wanted to take an answer of MS official representative :)

zambelli
11th January 2007, 04:51
The question is: does MS put own VC-1 to ASF using any standard approach or any tricks?
I don't think any special tricks are used to handle B frames in ASF containers. After all, you could take the same DMO and encode with B-frames to AVI in DirectShow with the same result. The encoder DMO is container agnostic in that respect.

Dmitry Vergheles
11th January 2007, 09:06
I don't think any special tricks are used to handle B frames in ASF containers. After all, you could take the same DMO and encode with B-frames to AVI in DirectShow with the same result. The encoder DMO is container agnostic in that respect.

Actually video with B frames is saved to AVI using non standard methods.

Could you reference me to any MS doc where it is said how VC-1 with B-frames is put to ASF?

There is what MSDN says:
http://msdn2.microsoft.com/en-us/library/aa391061.aspx
Putting MPEG-2 streams into ASF
Note This topic applies to applications that use the Windows Media Format
SDK to put MPEG-2 (or other compression formats that use B frames) into the
ASF file container.

2. Give the writer object "dummy" input time stamps that are always
increasing so that it will write the samples to the file in exactly the same
order as they are received. The dummy time stamps should correspond
approximately to the actual presentation times, as averaged over time. The
dummy time stamps will form the seeking timeline, so if they diverge
relative to the real time stamps, seek operations on the file will produce
unexpected results. However, a limited amount of jitter between the sample
times will not seriously affect seek operations.


Is this method suggested to make VC-1 ASF?

veffremov
13th January 2007, 06:40
Could you reference me to any MS doc where it is said how VC-1 with B-frames is put to ASF?


There is nothing magical about it. I would not suggest dummy timestamps. The timestamps need to correspond to the intended framerate. I send you some more details in "Mux VC-1 to ASF" thread.

You need to put the propper "ASF binding" byte in the mediatype to indicate that B-frames are present. Alex did send you details how to construct the private data after the bitmapinfoheader.

jubilex
9th March 2007, 18:13
On one of my machines, even the alternative method does not get the source duration, despite WMP 11 and WM Format 11 Runtime being installed. Any ideas?

zambelli
9th March 2007, 19:12
On one of my machines, even the alternative method does not get the source duration, despite WMP 11 and WM Format 11 Runtime being installed. Any ideas?
Can you make sure the .avs plays in WMP? First time it plays there's a security dialog that pops up asking about the unsupported format. Perhaps it got denied the first time.

jubilex
9th March 2007, 20:37
Yes, I can open AVS files in WMP 11 and they play back fine. However, I cannot associate .avs-es with WMP, I have to manually open them.

guada2
9th March 2007, 21:19
I have a little question;

Is it possible that VC-1 advanced stream have an extension .v9e?

Thanks!

zambelli
9th March 2007, 23:47
Yes, I can open AVS files in WMP 11 and they play back fine. However, I cannot associate .avs-es with WMP, I have to manually open them.
Hmm, that's odd. All the script does is initialize an invisible WMP ActiveX control, load the .avs, grab the duration and then release the ActiveX control. If the .avs plays in standalone WMP, it should play in embedded WMP too. Does it fail immediately to retrieve duration or does it wait 30 seconds before it moves on?

zambelli
9th March 2007, 23:49
I have a little question;
Is it possible that VC-1 advanced stream have an extension .v9e?
Elementary streams typically have a .vc1 extension. Is it not being recognized as a valid VC-1 ES?

jubilex
10th March 2007, 00:26
Hmm, that's odd. All the script does is initialize an invisible WMP ActiveX control, load the .avs, grab the duration and then release the ActiveX control. If the .avs plays in standalone WMP, it should play in embedded WMP too. Does it fail immediately to retrieve duration or does it wait 30 seconds before it moves on?

The first fails immediately, the "alternate method" fails after about 30 seconds and a string of periods.

zambelli
10th March 2007, 01:26
The first fails immediately, the "alternate method" fails after about 30 seconds and a string of periods.
That means .avs isn't playing in embedded WMP for some reason - the script is waiting for a play state and it's timing out after 30 seconds.

Can you verify this key exists in your registry?
HKEY_CURRENT_USER\Software\Microsoft\MediaPlayer\Player\Extensions\.avs

jubilex
10th March 2007, 03:38
Yes. Permission and Runtime both have a value of 1 (as they do on the PC that does retrieve the duration.

Out of curiosity, I set Permission to 32, and this time I (finally) got the "are you sure you want to open this" pop-up; I clicked yes and ticked the box for "don't ask again", but it still didn't get the duration, and when I refreshed the regedit screen, the value had gone back to 1.

guada2
10th March 2007, 10:04
@zambelli

Elementary streams typically have a .vc1 extension. Is it not being recognized as a valid VC-1 ES?

:thanks:
test1.v9e or test1.vc1 is the same.
I'm only changed the extension, and it play perfectly (Cinevision1.2).
Bye.

zambelli
10th March 2007, 21:35
Out of curiosity, I set Permission to 32, and this time I (finally) got the "are you sure you want to open this" pop-up; I clicked yes and ticked the box for "don't ask again", but it still didn't get the duration, and when I refreshed the regedit screen, the value had gone back to 1.
I'm really perplexed at this point. Short of debugging the script on your machine, I'm not sure there's anything else I can think of. :confused:

shwetha
12th April 2007, 08:00
is there any option to improve the quality.....

buzzqw
12th April 2007, 09:15
update the wmcmd.vbs (look here (http://forum.doom9.org/showthread.php?t=123812)) and use the good preset , or if you feel brave use the -preset insane

BHH

zambelli
12th April 2007, 11:50
"Good" is just slightly better than default. I think "better" is a, well, better start. It enables B frames, for example, which "good" doesn't.

aleste81
13th July 2007, 00:40
So, how to play WVC1 content without the crappy WMPlayer 9/10/11 ?
Can I play VC-1on MPClassic ?

zambelli
13th July 2007, 07:19
So, how to play WVC1 content without the crappy WMPlayer 9/10/11 ?
Can I play VC-1on MPClassic ?
You'll just need the WVC1 decoder. Open any WVC1 content in WMP once and WMP will download and install the WVC1 decoder. Then you don't need to use WMP again and WVC1 content will play in any DShow player.

ACrowley
14th July 2007, 17:59
So, how to play WVC1 content without the crappy WMPlayer 9/10/11 ?
Can I play VC-1on MPClassic ?


you can install the WM11 Codec without WMP

http://nic.dnsalias.com/WMNicEnc/WMNicEnc_src.zip

Then use any Dshow Player to play (W)VC1

zambelli
15th July 2007, 03:54
http://nic.dnsalias.com/WMNicEnc/WMNicEnc_src.zip

Umm, there's no codec in that package.

Perhaps what you wanted to link to was the WM Format 11 runtime:
http://www.citizeninsomniac.com/WMV/#Codecs