Log in

View Full Version : Can we put wmv9 Main Profile in VC1 container ?


Music Fan
29th August 2010, 11:45
Hi,
everything is in the title.
I tried ASF2VC1 but I can't make it work. Its window opens but disappears very fast (less than 1 second) and nothing happens.
I put ASF2VC1.exe in the C:\WINDOWS\system32 folder.
Then i go to start, run, and type this ;
ASF2VC1 <F:\video.wmv> <P:\video.vc1>
Is that correct ?
I also tried another folder and added .exe ;
C:\ASF2VC1.exe <F:\video.wmv> <P:\video.vc1>
Same result.
If this command line is correct, does it mean that the wmv9 main profile is not compliant with this program ?
If it's not, is there a way to change the wmv9's fourcc (wmv3) to wvc1 ?
I would like to try that because I have wmv9 files with wma 5.1, and my player (Sony BDP-S370) can play the image but not the sound.
Thus I could convert the sound to ac3 5.1 or aac 5.1 and put it in a m2ts container, because my player can't play wmv9 in mkv and TSMuxer can't open wmv9 !
As the Sony can play VC1 in m2ts container (but not in MKV, I don't know why), I'd like to put wmv9 in VC1 container if possible to open it with tSMuxer and create a m2ts file.
Any idea ?
The aim of the trick is to avoid a video reencoding.
Thanks ! ;)

Guest
29th August 2010, 12:37
VC1 is not a container.

Music Fan
29th August 2010, 12:45
Ok, it's an elementary stream, but can you answer my other questions ?

Guest
29th August 2010, 14:39
Post a link to a source sample that fails.

stax76
29th August 2010, 14:57
Maybe asf > mkv > m2ts, gdsmux and ffmpeg might be able to to convert asf to mkv.

Music Fan
29th August 2010, 15:48
I can put it in MKV (with gdsmux), but my player can't play wmv in mkv as i said above. It's weird because he can play wmv9 (in wmv container) and mkv (containing h264), but not both together. That's why I'd like to put it in m2ts with TSMuxer, but TSMuxer can't open wmv, even in MKV container.
At first, I would like to know if I use correctly ASF2VC1.
I found some of these videos there ;
http://www.microsoft.com/windows/windowsmedia/musicandvideo/hdvideo/contentshowcase.aspx

Midzuki
30th August 2010, 06:03
ASF2VC1 is a CLI application, to begin with :)

http://forum.videohelp.com/attachments/3308-1283143946/asf2vc1-shot.png

Secondly, WMV9 may mean either WMV3 or WVC1.

And if your WMV contains WMV3 instead of WVC1,
then ASF2VC1 will not work.

Also, and AFAIK, the (M2)TS container doesn't support WMV3 --- which IS NOT the "Advanced Profile" (aka VC-1).

Hopefully I have been clear enough. :)

Music Fan
30th August 2010, 09:35
Thanks.
But I tried with a VC1 file (wvc1 in wmv container), and ASF2VC1 didn't work. I don't even have error message. :confused:
Thus I would like to be sure that I can make it work before stopping to try this manipulation.
Could you test it with a wmv3 and a wvc1 file and report here what happens ? It would be nice.;)
edit : I have a real problem with ASF2VC1, because even when I do that ;
ASF2VC1 --help (as shown in your capture) I see the black DOS window but it disappears immediately !

WMV9 may mean either WMV3 or WVC1.
And if your WMV contains WMV3 instead of WVC1,
then ASF2VC1 will not work.
Ok but some WVC1 videos look very close to wmv9 in main profile (no real difference), like explained here ;
http://forum.doom9.org/showthread.php?t=112634

Is ASF2VC1 sensitive to the fourcc or (also) to some video characteristics ?
Can we change the fourcc of a wmv video (wmv3 to wvc1) ?

the (M2)TS container doesn't support WMV3 --- which IS NOT the "Advanced Profile" (aka VC-1)
Ok, BUT, if we can change its fourcc or restream it by ASF2VC1, TSMuxer could maybe accept it if he believes that it's WVC1.
I believe that finding responses to these questions would be interesting.:)

Midzuki
30th August 2010, 13:51
I have a real problem with ASF2VC1, because even when I do that ;
ASF2VC1 --help (as shown in your capture) I see the black DOS window but it disappears immediately !

HOW are you trying to execute asf2vc1.exe :confused:

The command prompt ( no real DOS since Windows 95 ;) ) is cmd.exe --- you call this directly via "Windows_key + R", or via a custom shortcut; only then you can invoke asf2vc1, or eac3to, or x264, whatever.

Could you test it with a wmv3 and a wvc1 file and report here what happens ?

Just confirming, ASF with WVC1 is detected and demuxed properly, whereas ASF with WMV3 is not.


[D:\FM-NEW]
=>asf2vc1 input.asf zzoutput.vc1

ASF2VC1 v1.2, build 20070526 (c)2007 Steven G Greenberg
Demuxes WMV WVC1 to VC-1 Elementary Stream. Advanced Profile Only.

Found ASF_Header_Object

-- Found ASF_File_Properties_Object
-- Found ASF_Header_Extension_Object
-- -- Found ASF_Metadata_Object; processing 4 objects
-- -- -- Metadata for stream 1: WM/WMADRCPeakReference = 32610
-- -- -- Metadata for stream 1: WM/WMADRCAverageReference = 752
-- -- -- Metadata for stream 1: IsVBR = FALSE
-- -- -- Metadata for stream 2: IsVBR = TRUE
-- -- Found ASF_Extended_Stream_Properties_Object for ASF stream 1
-- -- -- avg object period: 340881 uSecs (2.934 / sec)
-- -- -- max object size: 2731 bytes
-- -- -- leaky bucket size: 3000 bytes
-- -- -- leaky bucket init fullness: 0 bytes
-- -- -- leaky bucket bitrate: 64 KB/s
-- -- Found ASF_Extended_Stream_Properties_Object for ASF stream 2
-- -- -- avg object period: 33367 uSecs (29.970 / sec)
-- -- -- max object size: 52414 bytes
-- -- -- leaky bucket size: 27003 bytes
-- -- -- leaky bucket init fullness: 0 bytes
-- -- -- leaky bucket bitrate: 856 KB/s
-- -- -- payload extension systems # 1:
-- -- -- -- Data size: 2 Bytes of extra info: 2
-- -- -- payload extension systems # 2:
-- -- -- -- Data size: 2 Bytes of extra info: 0
-- Found ASF_Stream_Properties_Object for ASF stream 1
-- Stream type: ASF_Audio_Media
-- -- (Non-video stream; no further processing)
-- Found ASF_Stream_Properties_Object for ASF stream 2
-- Stream type: ASF_Video_Media
-- -- FourCC: WMV3
-- -- Video stream has incorrect encoding format - should be "WVC1"
-- -- Will not attempt to use this stream...
Note: Input file is not ASF, will try parsing it as VC-1 elementary...
(for information purposes only, as explained in "Usage".)
Not Recognized as VC-1 elementary, no Sequence / Entry Point headers Found

[D:\FM-NEW]
=>

Can we change the fourcc of a wmv video (wmv3 to wvc1) ?

if we can change its fourcc or restream it by ASF2VC1, TSMuxer could maybe accept it if he believes that it's WVC1.

FourCC is a container-level flag, whereas the CODEC-ID is, let's say, "written" inside the "raw" video stream itself. Modifying this latter would not be a trivial task, not for a clueless newbie like me at least :( . Besides, you could find a way to fool TSMuxer, but I serious doubt that the fake VC-1 video would be accepted by your Sony's firmware. HTH.

Music Fan
30th August 2010, 14:08
Thanks a lot !
Actually, I finally found just before to see your response how to use this program. I'm a total newbie with command lines.
So I explain for newbies like me ;
Put ASF2VC1.exe in C:\WINDOWS\system32, go to start, run, type cmd, click ok and in the command prompt that appears, type for example
ASF2VC1 F:\myfile.wmv P:\myfile.vc1
without < or > and without space in the name of the file. It's probably evident for a lot of people but it wasn't for me.

And as you said, I can now certify that it doesn't work with wmv3 but it works with wvc1.

FourCC is a container-level flag, whereas the CODEC-ID is, let's say, "written" inside the "raw" video stream itself. Modifying this latter would not be a trivial task
Ok, but we can do that for avi (Xvid to divx5) and h264 (or at least change its level from 5.0 to 4.1 for example).
Thus I'm logically wondering if it's possible for wmv.

you could find a way to fool TSMuxer
I hope so, but how ?

but I serious doubt that the fake VC-1 video would be accepted by your Sony's firmware
I have seen some weird things in this domain, so I don't despair.;)

Sharktooth
30th August 2010, 14:24
AVI is a container... and it has FourCC. WMV is not AVI and has no FourCC...

TinTime
30th August 2010, 14:35
Put ASF2VC1.exe in C:\WINDOWS\system32...

If you don't want to move ASF2VC1 (or any other program) you can navigate to its location in the command window first, or specify the path in your command line.
e.g.
"C:\prog location\ASF2VC1.exe" F:\myfile.wmv P:\myfile.vc1

...without space in the name of the file.

Spaces should be ok if you use quotes.
e.g.
ASF2VC1 "F:\my file.wmv" "P:\my file.vc1"

Music Fan
30th August 2010, 15:09
Ok, thanks.

Music Fan
30th August 2010, 15:11
AVI is a container... and it has FourCC. WMV is not AVI and has no FourCC...
Yes it has ; wmv1, wmv2, wmv3 and wvc1 are FourCC.
You can see it in the log shown above by Midzuki ;
-- -- FourCC: WMV3
-- -- Video stream has incorrect encoding format - should be "WVC1"
-- -- Will not attempt to use this stream...

Midzuki
30th August 2010, 20:21
Music Fan wrote:

you could find a way to fool TSMuxer

I hope so, but how ?

By doing a manual hex edit of the dumped ("ASFless") WMV3 file. I don't know what elements one would have to modify, and I don't know how many decoders (if any) will consider the modified stream "playable". :-/

Music Fan
31st August 2010, 09:10
Thanks for the idea. I don't know anything to hex editors but maybe anyone here does.
What do you mean by "dumped" wmv3 ?
I tested an encapsulation in mpeg-ts (ts extension) of a wmv video with VLC but he created an empty file. He also failed with a vc1 file while TSMuxer doesn't.
But sometimes, we can do special things with VLC, for example put a wmv3 video with mp3 or ac3 (put together before in an avi container with Virtual Dub) in a real wmv container (recognized by Mediainfo), but my player can't play the sound while he can play the video.

Midzuki
31st August 2010, 16:37
What do you mean by "dumped" wmv3 ?

ASF is the container, WMV1/2/3 is the Codec-ID of the video stream. A typical «WMV File» means a WMV# stream, plus optional WMA and script-commands, *wrapped* in an ASF container. By using e.g. Graphstudio, you can extract the compressed video information to a standalone file with the help from the DirectShow filter dump.ax.

Music Fan
31st August 2010, 19:56
You mean the wmv video but not in a wmv container and rid of its Codec-ID ? And what is its extension ?
I don't know how to use Graphstudio.
And what could one do with this stream ?

Midzuki
31st August 2010, 20:28
You mean the wmv video but not in a wmv container

Yep.

And what is its extension ?

Any --- .raw :) , or .wmves, for example.

I don't know how to use Graphstudio.

http://forum.videohelp.com/attachments/2671-1279232225/uglylol.gif

And what could one do with this stream ?

Attempt to transform it into a (fake) .VC1 elementary stream, of course.

Music Fan
1st September 2010, 11:32
Of course, but I mean how, not what.:p
It's beyond my knowledge.
As you seem to know some manipulations I don't, could you try it ?

Midzuki
2nd September 2010, 04:07
OK, I just tried, and just confirmed what I had already forgotten :o — a .VC1 elementary stream IS NOT simply a raw stream, it's something "half-cooked" :)
I mean, if you dump a VC-1 video out of an ASF file, and soon afterwards, extract it through asf2vc1.exe, you'll get two different "beasts". And I don't know how to transform the "raw" beast into a "half-cooked" beast. :)

=> http://forum.doom9.org/showthread.php?t=119102 <=

So... except for re-encoding your WMV3 .ASF to a VC-1 ASF, or to a VC-1 elementary stream (through TinTime's build of AVS2ASF), there is no real/easy solution for your problem.

Good-luck with that.

Music Fan
2nd September 2010, 11:39
Thanks !
Actually, if my Sony player was able to play wmv in MKV container, I wouldn't have to try that !
I wonder if ASF2VC1 could be upgraded to allow (or force) the wmv3's remux in vc1 or if it's impossible for some reason.
Because it says "will not attempt" ;
-- -- FourCC: WMV3
-- -- Video stream has incorrect encoding format - should be "WVC1"
-- -- Will not attempt to use this stream...
I guess it won't attempt to do that because it's done to create real wvc1 stream. BUT, if it lets us the choice (if possible) to do it anyway, it would be cool.