用vfw解码AVI

熠de 2014-03-02 04:38:27
用vfw解码AVI保存为bmp,现在碰到个问题是:测试了一个AVI文件视频解码保存成bmp没问题,但是测试另一个则不行,出来的位图都是全黑的。调试没发现什么问题,解码相关的函数reture值都是s_ok。不理解是神马原因。求指点!!!

两个AVI视频的MediaInfo信息如下:

测试通过的avi信息如下:
概要
完整名称 : E:\1.avi
文件格式 : AVI
文件格式/信息 : Audio Video Interleave
文件大小 : 49.7 MiB
长度 : 3秒 267ms
平均混合码率 : 128 Mbps

视频
ID : 0
文件格式 : MS Video
编码设置ID : CRAM
编码设置ID/信息 : Microsoft Video 1
长度 : 3秒 267ms
码率 : 128 Mbps
画面宽度 : 1 436像素
画面高度 : 764像素
画面比例 : 1.880
帧率 : 15.000 fps
bits/(pixel*frame)(数据密度) : 7.758
大小 : 49.7 MiB (100%)
标题 : Video Stream


测试没通过的avi信息如下:
概要
完整名称 : E:\2.avi
文件格式 : AVI
文件格式/信息 : Audio Video Interleave
文件大小 : 3.47 MiB
长度 : 7秒 133ms
平均混合码率 : 4 076 Kbps

视频
ID : 0
文件格式 : MS Video
编码设置ID : CRAM
编码设置ID/ : Microsoft Video 1
长度 : 7秒 133ms
码率 : 3 985 Kbps
画面宽度 : 320像素
画面高度 : 240像素
画面比例 : 4:3
帧率 : 15.000 fps
bits/(pixel*frame)(数据密度) : 3.459
大小 : 3.39 MiB (98%)

...全文
111 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
熠de 2014-03-07
  • 打赏
  • 举报
回复
顶一下,求大牛指点!!!是不是自己的系统中缺少相关的解码器,发现AVI的视频编解码没有统一格式
使用 Windows 7 Codec Pack 它可以将您的计算机将配备解码所有常见的视频和音频格式。 Windows 7 编解码器允许播放几乎所有格式的视频和音频文件。 包装中包含的所有编解码器的详细列表可在制造商的网站上找到。 编解码器的解释: 编解码器是设备或计算机上的一种软件,能够对文件,流和广播中的视频和/或音频数据进行编码和/或解码。编解码器一词是’compressor-decompressor’的Portmanteau 您将可以播放的压缩类型包括: x265 | h.265 | HEVC | 10位x264 | x264 | h.264 | AVCHD | AVC | DivX |MP4 | MPEG4 | MPEG2 等。 您将能够播放的文件类型包括: .bdmv | .evo | .hevc | .mkv | .avi | .flv | .webm | .mp4 | .ts | .m4v | .m4a | .ogm | .ac3 | .dts | .flac | .ape | .aac | .ogg | .ofr | .mpc | .3gp 等。 支持的解决方案包括: 包括SD(标准清晰度)480i,480p,576i,576p,+ HD(高清晰度)720i,720p,1080i,1080p,4k及更高版本的所有分辨率。 通过与此编解码器包一起使用 RedFox AnyDVD HD,用户可以播放: 受保护的 Bluray,HD-DVD,AVCHD,DVD,CD 光盘。 Windows 7 音视频解码器 Windows 7 Codec Pack 下载Windows 7 音视频解码器 Windows 7 Codec Pack 中文版 封装编解码器组件: ●LAV视频解码器0.74.1 Build 60 x86。 ●LAV视频解码器0.74.1 Build 60 x64。 ●Cole的ffdshow DirectShow Video Codec x86版本1.3.4533。 ●Cole的ffdshow DirectShow Video Codec x86版本1.3.4533。 ●XviD视频VFW(编码器)编解码器v1.3.7。 ●x264视频VFW(编码器)编解码器v44.2851。 ●Lagarith Video VFW(编码器)编解码器v1.3.27 x86。 ●LAV音频解码器0.74.1 Build 60 x86。 ●LAV音频解码器0.74.1 Build 60 x64。 ●Sony DSD解码器1.0。 ●DivX音频解码器4.1 ●madFLAC解码器1.1.0 x86。 ●DSP-worx低音源调制/解码器v1.5.2.0。 ●Haali Media Splitter / Decoder 16/09/11 x86-适用于MP4,MKV,OGM和AVI文件。 ●Haali Media Splitter / Decoder 16/09/11 x64-用于MP4,MKV,OGM和AVI文件。 ●LAV Splitter 0.74.1 Build 60 x86。 ●LAV Splitter 0.74.1 Build 60 x64。 ●xy-VSFilter / DirectVobSub 3.0.0.211 x86-字幕阅读器。 ●xy-VSFilter / DirectVobSub 3.0.0.211 x64-字幕读取器。 ●CDXA Reader v1.7.13 x86-也称为Form 2 Mode 2 CD或XCD。 ●CDXA Reader v1.7.13 x64-也称为Form 2 Mode 2 CD或XCD。 ●Icaros 3.1.0 x86。 ●Icaros 3.1.0 x64。 ●应用程序调整-更改 Media Player Classic,NVIDIA 3D Vision Player 和 Stereoscopic Player 的默认设置。 软件包实用程序: ●Media Player Classic 1.9.6 x86 – 可以通过右键单击任何文件来选择。 ●光盘处理程序-用于双击 Windows 资源管理器中的 BluRay 光盘图标。 ●编解码器设置 GUI -允许用户修改编解码器,图形和声音设置。 ●编解码器设置 UAC(用户帐户控制)管理器-在用户之间复制设置。 ●更新检查器-每 7 天检查一次更新(仅管理员)。 ●任务栏菜单-可以轻松访问编解码器实用程序,并可以快速切换音频配置文件。 Windows 7 编解码器包几乎支持现代视频和音频文件使用的每种压缩和文件类型。要使用 Windows 7 编解码器包,计算机上必须安装视频播放器,例如 Windows Me
H264作为新一代压缩标准已经成为无可争议的王者,以前通行的做法是使用VDM+X264 VFW来制作AVI容器封装的H264文件,但由于X264 VFW已停止开发新版,而且其功能选项比起X264 CLI差了太多。 目前流行MEGUI+X264 CLI制作H264,MEGUI+X264 CLI支持的H264输出格式有:RAW(.264)、MP4容器、MKV封装。 MP4容器虽然是MPEG4标准制定组织推荐的格式,但其仅支持MPx音频,无法装进AC3/DTS,所以等待它的只能是被再次装进MKV或TS中,而MKV似乎为大家所不爱(不知何解,本人觉得MKV其实也挺不错的)。于是RAW(.264)貌似成了最佳的输出选择。但RAW只是个源文件,既不是容器也不是标准的视频文件格式,等待它的也只能是被装进其他PS容器或被封装进TS中,但由于TS起初是为MPEG2服务的流格式,目前才刚刚被应用到H264上,有些分离解码器并不能很完美的支持它。到底应该把RAW(.264)装进哪个目前比较通用且兼容性佳的容器中?RAW(.264)装进MP4倒是可以,问题在于MP4的缺点太多,上面已经讲过了。反观VDM+X264 VFW所生成的H264编码+AVI容器却功能强大,AVI可以直接装进MPx/AC3/DTS等各类音频,如果能直接将AVC(即H264的RAW格式,文件后缀名与X264的RAW格式相同,同为.264)装进AVI就好了,这样一来既可以生成H264编码的AVI容器,又可以彻底摆脱VDM+X264 VFW了。 好在有一老外crypto考虑到了这问题,2004年写了AVC2AVI,这下即使没有VDM也可以极快速的把AVC转成(装进)AVI中,但还不太完善,于是2006年高人crypto又开发了AVC2AVI_MOD,支持任意指定FPS、CODEC FOURCC、任意文件大小切割、自动分辨率修正等功能,可这些东东都是命令行格式,使用时比较麻烦。 本人这两天专门写了AVC2AVI_MOD_GUI的图形界面接口程序,可以图形界面设置AVC2AVI_MOD的各个参数并运行之,方便了不少。本软件自带AVC2AVI_MOD.EXE(运行后自动生成,不用到网上四处找这好东东了),支持参数记忆,参数添加删除等功能。 目前看来,在PS方面来说,AVI容器貌似最适合H264的封装格式了,其实我个人觉得MKV更好,起码还能装字幕,不知道为什么那么多人不喜欢MKV。至于TS方面,反正只有一种格式,呵呵,所不同的只有封装软件的区别而已,但目前有些分离器对TS封装的H264支持得不很好,这点需要大家注意。 另外,强烈推荐大家使用AVIMUX_GUI来处理AVI格式,比VDM强大得多,而且网上有人说AVIMUX_GUI对MKV也支持得很好,分离MKV的效果比MKVEGUI还要好(有时候MKVEGUI会损坏文件)

2,543

社区成员

发帖
与我相关
我的任务
社区描述
专题开发/技术/项目 多媒体/流媒体开发
社区管理员
  • 多媒体/流媒体开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧