Log in

View Full Version : WMV Muxer/Encoder Version 1.0 - Final Release (28-Jul-2007)


Pages : [1] 2 3 4

crypto
6th January 2007, 20:20
This is a new muxer and encoder for the Windows Media Format. WMVMuxer comes with features not found in other WMV encoders, like AVI (WMV) to WMV conversion without reencoding, as needed for XBox 360 playback and access to the conversion graph.


The key features are:

- DirectShow based, mux/encode any format you have filters for
- Demux, mux, encode and direct stream copy modes
- Uses the ASF Writer for compliant streams, that play on PC, XBox and Sigma chips
- Encodes using profiles (predefined and custom) to VC-1, WMV, WMA, ASF
- Access to the conversion graph using Graphedit


Enjoy!

http://img413.imageshack.us/img413/4051/wmvmuxer1eu4.th.jpg (http://img413.imageshack.us/my.php?image=wmvmuxer1eu4.jpg)


07-28-2007 Change Log for Version 1.0 - Final Release

- Support for 2-pass encoding
- Additional predefined profiles for 2-pass encoding
- Bit rate controller fixed
- Expiration removed


07-19-2007 Change Log for Preview Version 2

- Support for avisynth input
- Separate video and audio profiles
- Dynamic profiles that adopt parameters from the input video
- Unicode support
- Encoding progress display in frames incl. ETA
- Advanced encoding parameters (threads, b-frames, look ahead)
- Predefined WMV-HD and HD-DVD (PAL) profiles

Enjoy!

Download the Version 1 - Final Release here (http://dvbportal.dyn1.de/download.php?file=wmvmuxer-final-1.0.zip)
MD5: 78478547403ab38b1f59b39cbd834a99

Homepage: http://www.dvbportal.de

killerhex
7th January 2007, 09:30
can you add a profile for 640x480-->4:3 and
720x480--->4:3/16:9

crypto
7th January 2007, 10:55
I will, but it is not possible to have a predefined profile for every use. The ones you mentioned however, seem to be popular. The idea is to create custom profiles as needed. You can create them by deriving from one of the predefined. Use the profile editor that comes with WME9 or a text editor.

killerhex
7th January 2007, 13:50
ok thanx

blubberbirne
7th January 2007, 22:56
Nice tool :)

Hope my XBOX360 will come back from RMA this week :X

Leica
8th January 2007, 03:31
How do I convert or demux a WMV file to AVI? Thanks.

Sharktooth
8th January 2007, 05:16
It's not always an easy task, expecially if the WMV file is protected with MS DRM (very likely).
However :search: ...

DarkNite
8th January 2007, 05:40
Thanks for the great tool! I think I'll start using it right about... Now.

Well, that was refreshingly easy, and pain free. :)

DJKC
9th January 2007, 01:17
Are there some prerequisites for this that need to be installed first? Tried to use it for demuxing a wmv3 + wma2 stream, crashed everytime right away.

tonyp12
9th January 2007, 06:42
Works great, just transcoded a 1080p WMVHD down to
320x240 for a portable WM9 media player.


I greated a profile for it:
http://home.comcast.net/~tony1717/ENZA.prx

Ensure that the HDTVDump.ax filter is properly registered.

How do I do that?

crypto
9th January 2007, 08:13
Works great, just transcoded a 1080p WMVHD down to
320x240 for a portable WM9 media player.


I greated a profile for it:
http://home.comcast.net/~tony1717/ENZA.prx


How do I do that?

Open a command windows in the filters folder and enter the following command:

regsvr32 hdtvdump.ax

P.S. The dump filter is only used when demultiplexing

buzzqw
9th January 2007, 08:13
regsvr32 HDTVDump.ax

BHH

ego
9th January 2007, 10:03
can add avs support in the feature?
if can that's will be a great tool

Stebet
9th January 2007, 13:51
Is it able to convert a 5.1 AC3 to WMA without crapping out on me like WME9 does, unless i have a very specific AC3 decoder installed (think it was the WinDVD decoder)?

For example, i use Nvidia's PureVideo decoder for DVD playback, but WME9 crashes if i try to convert a 5.1 AC3 to WMA although a 2-channel AC3 works just fine.

buzzqw
9th January 2007, 14:10
@ego

you can use makeAVIS.exe from ffdshow to build a "fake" avi

BHH

ego
9th January 2007, 15:51
thx forgot avs can be convert to a faked avi

crypto
9th January 2007, 18:37
@Stebet
I had no constant results in encoding 5.1 AC3 to WMA Pro. I am using AC3filter. The Dolby Prologic II downmix always works when encoding to wma2, but the wma pro codec seems to be picky. I am still checking, if something more is needed. If someone has details about this, let me know.

@ego
I was also going to point to makeAVIS.exe. Anyway I will check what is needed to support avs.

zambelli
10th January 2007, 00:27
Hmm, I'm having trouble demuxing and ds copying streams from one container to another. Sometimes it gives me a catastrophic failure, and sometimes it just crashes in qasf.dll. Did you test this on v10 or v11 SDK? I've only tried it on v10 so far.

Also, the profile concept is somewhat confusing. Why is a profile for muxing necessary?

crypto
10th January 2007, 23:37
I did my tests on SDK v11. All AVIs (WMV + AC3) could be multiplexed to WMV. In the first step I demuxed the AC3 audio and ds copied the WMV video to WMV. I then coded the audio in WMA and muxed both streams with the Windows Media Stream Editor.

What sample and what profile caused the crash? Can you give details or samples?

The profile is necessary for data, that is not available from the AVI source. If you compare the streams in ASFView from wmvmuxer and other asf muxers, you will see that important objects are missing in the other streams. The missing device conformance templates and codec list objects can cause probs on the Sigma chip, and when streaming and when using other WMV tools.

I admit it is unusual to have a profile for muxing and I am thinking of alternatives.

DJKC
14th January 2007, 06:11
Here's a file I was trying to demux that caused crashes for me. It's a trailer for a movie, so shouldn't be an issue to share the clip...
http://www.mediafire.com/?7mkoulnz230

Also, screenshot of program before hitting convert:
http://img442.imageshack.us/img442/9093/inputxf1.png

And of error:
http://img77.imageshack.us/img77/774/errorbp6.png

As another little bug, I noticed it doesn't handle unicode filenames well. Trying to load Sonim - 후애(後愛).wmv (Mixed Korean and Japanese filename) shows in the log as Failed to load C:\asami\Sonim - ??(後愛).wmv Japanese is my system's default language, so all Japanese and iso-8859-01 filenames load fine, but anything outside of those two doesn't.

crypto
14th January 2007, 22:20
Hi DJKC,

thanks for testing. It seems I need to switch to unicode to support mixed languages like Korean and Japanese. That's on my list now.

I had a look at your sample. It is already in wmv format. Demuxing audio gives you a raw wma stream which is probably not what you want. If you want just the wma audio, you'd better use the Stream Editor from WME9 to demux it.

Anyway it didn't crash here. I used direct stream copy for the video and demux for the audio and a profile similar to yours.

P.S. I couldn't display the png with the error.

affter333
15th January 2007, 17:42
Hi:
failed to load eveything including divx-avi and wmv9-avi
I'm using win98se..

crypto
15th January 2007, 19:22
Sorry, Win98SE is not supported. You need XP SP2 and WMP10/11

DJKC
18th January 2007, 03:41
P.S. I couldn't display the png with the error.
Image worked fine when I checked it just now. Probably just a hiccup with imageshack when you went to look at it.

And I think I misunderstood what the demux option was for. I guess I expected the streams to be dumped either raw or into a non-WMV container format. I was using demux for both the video and audio when I got that error message. I take it that it's only for taking wmv audio/video content from other containers and putting them in a wmv container?

zambelli
18th January 2007, 03:51
And I think I misunderstood what the demux option was for. I guess I expected the streams to be dumped either raw or into a non-WMV container format. I was using demux for both the video and audio when I got that error message. I take it that it's only for taking wmv audio/video content from other containers and putting them in a wmv container?
I second that - the current design is somewhat confusing. Traditionally demux (in apps like DGIndex or DVD Decrypter) means that the contained streams are dumped to their own containers or raw files.

crypto
18th January 2007, 08:14
OK, I will redesign it that way. Thanks for the input.

olivierdb
5th March 2007, 17:12
Hello Crypto,

Would you please let me know if wmv muxer/encoder may be used as a DirectShow filter.

Sorry if this is a silly question. I'm new here and looking for a way to convert HD-DVD EVO files to WMV HD.

Thanks & cheers,

crypto
5th March 2007, 23:46
Would you please let me know if wmv muxer/encoder may be used as a DirectShow filter.

It cannot be used as a DirectShow filter, but it is built around Microsoft's WM ASF Writer filter, which probably is the component you are looking for.

The idea behind wmvmuxer is exactly like this. Take the WM ASF Writer, set a profile and render the media to convert. Thus in theory every file, that can be rendered, can be encoded.

However to validate the input, MediaLib is used. Some input unknown to MediaLib is rejected although it would render and convert. The next version will allow to bypass the validation.

Doing so I was able to reencode a VC1 file in wmvmuxer to a lower bitrate wmv which still looked great.

DarkNite
9th March 2007, 11:14
The next version will allow to bypass the validation.

I'm looking forward to that. Keep up the good work!

olivierdb
23rd March 2007, 23:49
@Stebet
I had no constant results in encoding 5.1 AC3 to WMA Pro. I am using AC3filter. The Dolby Prologic II downmix always works when encoding to wma2, but the wma pro codec seems to be picky. I am still checking, if something more is needed. If someone has details about this, let me know.

@ego
I was also going to point to makeAVIS.exe. Anyway I will check what is needed to support avs.

Hi Crypto, Just checking to see if you've had the time to look into adding support for AVS. Thkx for letting know...

crypto
24th March 2007, 11:25
Hi, yeah checked that. AVS is supported by the AVI source filter. So yes, the next version will have AVS support.

olivierdb
24th March 2007, 13:23
Thank you for your quick answer Crypto. That's great news! I can't wait! For the moment I'm stuck with a .avs for my audio and another .avs for my video and I don't know how to merge (maybe mux is the right word here?!) the two into a WMV HD file. Unfortunately, I read there were bugs with VirtualDub under Windows Vista, that's why I thought of WMV muxer. I also looked into WME Assistant, but it seems that this progie uses only one .avs as source so I don't know how to use it with 2 .avs source files (one for the audio and the other for the video). I am basically trying to find the easiest way to convert HD-DVD EVO files to WMV HD. I will be posting all my findings in the Doom9 - Newbies forum. Thanks again for your help.

crypto
24th March 2007, 14:16
You should put video and audio into one avs and use the audiodub (video, audio) command.

You can also encode video and audio seperately and mux wmv and wma using the Windows Media Stream Editor from the WME9 package.

olivierdb
24th March 2007, 18:31
One question leading to another (sorry!)...

1) How should I change .avs file containing the following?
video = AviSource("file.avi") to video = somethingSource("file.avs")
audio = WavSource("file.wav") to audio = somethingSource("file.avs")
AudioDub(video,audio)

This may not be a good option though, because I would then have to use WME Assistant which isn't free!

2) In my .grf files for audio and video, I respectively use InterVideo Audio Decoder and Intervideo Video Decoder, but I don't know what the output formats are for these two decoders! Would you have an idea?

3) Which encoder(s) would you use to convert .avs to .wma and .avs to .wmv?

DarkNite
25th March 2007, 00:05
video = import("video.avs")
audio = import("audio.avs")
AudioDub(video,audio)

or

video = DirectShowSource("source",audio=false)
audio = DirectShowSource("source",video=false)
AudioDub(video,audio)

Just examples... You could preview in VirtualDub, look at File Information in the File menu, and then you would know what the output is, and could modify the script if necessary.

olivierdb
25th March 2007, 16:15
Thank you so much DarkNite. Most helpful. I tried the "import" script and then opened it in VirtualDub. Worked like a charm except that the vidoe isn't centered (possibly has to be tweaked!). I also looked at the File Info. It seems that the audio is uncompressed PCM, but I'm not sure about the video?

I've then tried to convert the .avs script file to WMV HD using WME Assistant. Unfortunately, it crashes! Would you have any idea how I may convert the .avs to .wmv?

:thanks:

DarkNite
25th March 2007, 20:15
Since most of the scripts I've been having to use lately are very processor intensive (you could also read that as "slow") I've been saving the output of the script as a lossless avi and feeding that to WME.

I haven't had any issues with WME Assistant since I've started using the version 1.16.1.xxxx builds. WMCmd.vbs (http://www.citizeninsomniac.com/WMV/#WMCmd) is a good option to have. Your command line will be a lot shorter if you already have a session, or profile saved and can just import that.

olivierdb
26th March 2007, 15:41
Unfortunately WMEA keeps crashing under Vista! WMCmd.vbs might work, but it seems quite daunting to master!

jubilex
26th March 2007, 21:43
Wmcmd.vbs is really easy to use. Just make a text file, rename it with a .bat extension, and put all your parameters in it (input file, output file, codec, bitrate, etc -- all the options are listed in the readme that comes with it). Doubleclick the .bat and there you go. It's actually much faster and easier than any of the encoding programs (WME, TMPGEnc, Procoder) after the first time you use it.

olivierdb
29th March 2007, 22:19
@DarkNite: Thank you for mentioning WMCmd.vbs

@jubiles: Thanks for the encouragement! You're right, it's quite easy to use. The difficult part is figuring out what parameters to use.

I used the following script:
cscript.exe "C:\Program Files\Windows Media Components\Encoder\wmcmd.vbs" -input "C:\Path to my AVS file\sourcefilename.avs" -output "C:\test.wmv" -v_codec WMV9 -v_mode 2 -v_bitrate 6000000 -v_keydist 30 -v_buffer 10000 -v_quality 100 -v_preproc 1

It started producing some errors (as you may see from the screenshot below), but that didn't stop WMCmd from finishing its business! Finally, it produced some very nice quality results. I have not completed the process, but it's quite slow and my guess is the output file will be very large.

Would anyone have any idea how to avoid the errors and tweak the parameters to end up with good quality with a smaller file size?

:thanks:

tchaikovsky
30th March 2007, 06:14
Hi, Olivier

Sorry for WMEA did not work for you. I posted my test note about evo files encoding on WMEA's blog after replyed your mail. I wrote a little test note(I'm not sure which word it better) and linked a longer WMVHD clip (longer than the mail that replayed to you) in that post.

I have no Vista to do the test for you, so, I think it might help...

olivierdb
30th March 2007, 11:33
Hi Moz,

You posted 2 methods on the WMEA blog:

First is more complex, WinDVD8, EVODemux, GraphEdit, Avisynth2.57 and WMEA is needed.
1. Demux EVO to mpv & mpa
2. Using GraphEdit make two filter graphs, write 2 Avisynth script.
3. Make sure WMP can play your 2 avs files, then load separate video & audio avs to WMEA, start encoding job.

Second is easier, WinDVD8, EVODemux, Elecard MPEG-2 Decode Pack 3.0, AC3filter1.11 and WMEA is needed.
1. Demux EVO to mpv & mpa
2. Make sure your mpv & mpa can be played by WMP correctly, then load mpv & mpa to WMEA, start encoding job.

However, neither of them work at present!:confused: ... at least, not under Vista!

In the first case, there is an issue with WMEA accepting seperate video and audio AVS and WMEA ends up "Not Responding".

In the second case, (where I don't see why you would need WinDVD8) only the audio is converted. The video is totally neglected! I also tried playing back a VC-1 file in WMP 11 after having installed the Elecard MPEG-2 Video Decoder, but it doesn't play! I even tried the Elecard AVC plug-in for WMP, but that didn't work either!:eek:

I've also been wondering, do all HD-DVD EVO files contain all 3 following formats or just ONE of the 3: MPEG-2 HD, VC-1, and H.264/AVC ?:rolleyes:

tchaikovsky
30th March 2007, 17:30
I know your EVO is VC1/DTS, that test note is a demo for EVO encoding, not a guide, so, I think it might help, but... It seems totally useless for you. Throw it away...

I'd like to do some tests if you give me a link that can download your EVO clip :)

olivierdb
30th March 2007, 23:24
Moz, The clip is >8GB total! I have extracted the first few minutes into a clip of 250MB. Please find here:
http://www.sendspace.com/file/thsg41

P.S. I recommend you start downloading just before going out for lunch or something!

DarkNite
31st March 2007, 11:24
I've also been wondering, do all HD-DVD EVO files contain all 3 following formats or just ONE of the 3: MPEG-2 HD, VC-1, and H.264/AVC ?

One. Including all 3 would take ~3 times the space, and would be completely unnecessary.

tchaikovsky
31st March 2007, 13:32
Moz, The clip is >8GB total! I have extracted the first few minutes into a clip of 250MB. Please find here:
http://www.sendspace.com/file/thsg41

P.S. I recommend you start downloading just before going out for lunch or something!

...I can't access that server directly, It will be very slow if I access that server via a proxy, would you please upload that clip to mydatabus? Thanks in advance ! :)

jubilex
31st March 2007, 19:48
I used the following script:
cscript.exe "C:\Program Files\Windows Media Components\Encoder\wmcmd.vbs" -input "C:\Path to my AVS file\sourcefilename.avs" -output "C:\test.wmv" -v_codec WMV9 -v_mode 2 -v_bitrate 6000000 -v_keydist 30 -v_buffer 10000 -v_quality 100 -v_preproc 1

I don't know about the errors, but v_mode 2 is constant quality one-pass, so the bitrate parameter would be ignored -- the v_quality is used instead, and since you have that set as 100, the file will be huge (but nice looking!). For HD CQ, I use quality of 95 or 96. You only use the bitrate parameter if you are doing cbr or vbr (v_modes 0, 3, and 4).

jubilex
31st March 2007, 19:49
By the way, my typical parameters for a 5.1 sound CQ encode are:

-v_bframedist 1 -v_bdeltaqp 1 -v_mslevel 1 -v_codec wvc1 -v_keydist 3 -v_mode 2 -v_quality 96 -v_mmatch 0 -v_msrange 0 -v_performance 20 -v_loopfilter 1 -a_codec wmapro -a_setting 384_48_6_24

olivierdb
31st March 2007, 20:46
@DarkNite: Thank you for your answer. I guess VC-1 is the prefered format.

@jubilex: Thanks for your feedback. I'll make some tests with your parameters.

@tchaikovsky: Here is the link. I don't think it's any faster than sendspace because it took me another 2 hours to upload!
part0001.evo (http://www.mydatabus.com/public/aeonflux/z/part0001.evo)

olivierdb
3rd April 2007, 13:53
@jubilex: A big thank you: your parameters produced awesome results! I just had to change the audio settings to: -a_setting 192_44_2_24 because I got an error!

Maybe I didn't have to change the bit rate, but I think InterVideo Audio Decoder only produces 2 channels output?