因为公司需要, 在自己写的一个模块中,对视频进行处理需要了解一下微软的视频格式,它们公司的格式还真是乱.
WMV(Windows Media Video)是微软公司开发的一组数字视频编解码格式的通称,它是Windows Media架构下的一部分。它最初是为低速率流媒体应用作为专有编解码开发出来的,但是2003年微软公司基于Windows Media Video 第 9 版编解码起草了视频编解码规范并且提交给SMPTE申请作为标准。这个标准在2006年3月作为SMPTE 421M被正式批准,这样Windows Media Video 9 编解码就不再是一个专有的技术。早期的变解码版本(7和8)仍然被认为是专有技术,因为它们不在SMPTE 421M标准的涵盖范围内。
WMV 不是仅仅基于微软公司的自有技术开发的。从第七版(WMV1)开始,微软公司开始使用它自己非标准MPEG-4 Part 2。但是,由于WMV第九版已经是SMPTE的一个独立标准(421M,也称为VC-1),有理由相信WMV的发展已经不象MPEG-4那样是一个它自己 专有的编解码技术。现在VC-1专利共享的企业有16家(2006年4月),微软公司也是MPEG-4 AVC/H.264专利共享企业中的一家。
WMV可以使用如MPlayer或者Windows Media Player这样的播放器播放,Windows Media Player只能在微软视窗和Macintosh系统上使用。有许多用于如Linux这样不同平台上的使用FFmpeg实现WMV编解码的第三方播放器。
视频流通常与Windows Media Audio音频流组合在一起并且使用扩展名为.wmv或者.asf的Advanced Streaming Format的文件进行封装。WMV通常使用Advanced Streaming Format(ASF)封装,它也可以使用AVI或者Matroska格式封装。如果是AVI封装的文件结果文件可以是.avi,如果是ASF封装的话则 是.wmv 或者 .asf,如果是MKV封装的话则是.mkv。当使用VirtualDub编码器编码和WMV9 VCM编解码实现的时候WMV可以存储在AVI文件中。用于Mac的微软公司媒体播放器不支持所有的WMV编码的文件,因为它只支持ASF文件封 装,Flip4Mac和QuickTime或者用于MacOSX的MPlayer可以播放更多的文件。
微软ASF格式的三个版本,WMV1,WMV2,WMV3分别对应 MediaPlayer的版本7,8和9,所以很多时候会称VC1为WMV3或 WMV9,都是它了,有时候在代码里,也能看到称呼它为VC9的。因为微软还没有正式公开这种格式,所以当前对VC1的支持还很不完善。
当使用ASF文件格式封装的时候,WMV能够支持用于保护知识产权的数位权限管理工具。
正式名称 | 格式 | Codec版本 | 描述 |
---|---|---|---|
Windows Media Video v7 | WMV1 | 0 | |
Microsoft MPEG-4 Video Codec v3 | MP43 | 1 | |
Windows Media Video v8 | WMV2 | 2 | |
Microsoft MPEG-4 Video Codec v2 | MP42 | 3 | |
Microsoft ISO MPEG-4 Video Codec v1 | MP4S | 4 | |
Windows Media Video v9 | WMV3 | 5 | |
Windows Media Video v9 Advanced Profile | WMVA | 6 | deprecated as not VC-1不完全兼容. |
Windows Media Video v9 Advanced Profile | WVC1 | 7 | VC-1完整支持 |
在linux下可以如下命令得到视频格式信息
mplayer -identify 081226135319_weimin_6.wmv -nosound -vc dummy -vo null
MPlayer 1.0rc2-4.3.2 (C) 2000-2007 MPlayer Team
CPU: Intel(R) Core(TM)2 Duo CPU P8400 @ 2.26GHz (Family: 6, Model: 23, Stepping: 6)
CPUflags: MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 1 SSE2: 1
Compiled with runtime CPU detection.
mplayer: could not connect to socket
mplayer: No such file or directory
Failed to open LIRC support. You will not be able to use your remote control.
Playing 081226135319_weimin_6.wmv.
ASF file format detected.
ID_VIDEO_ID=1
[asfheader] Video stream found, -vid 1
ID_AUDIO_ID=2
[asfheader] Audio stream found, -aid 2
VIDEO: [WMV2] 320×240 24bpp 1000.000 fps 0.0 kbps ( 0.0 kbyte/s)
ID_FILENAME=081226135319_weimin_6.wmv
ID_DEMUXER=asf
ID_VIDEO_FORMAT=WMV2
ID_VIDEO_BITRATE=0
ID_VIDEO_WIDTH=320
ID_VIDEO_HEIGHT=240
ID_VIDEO_FPS=1000.000
ID_VIDEO_ASPECT=0.0000
ID_LENGTH=1433.00
其中ID_VIDEO_FORMAT=WMV2就是视频格式信息