首页 | 新闻 | 交流 | 问吧 | 文档 | 手册 | 下载 | 博客

WebM VP8 SDK Usage/关于WebM VP8 SDK的用法

作者:  时间: 2011-06-16

WebM是Google提出的新的网络视频格式,本质上是个MKV的壳,封装VPX中的VP8视频流与Vorbis OGG音频流。目前Firefox、Opera、Chrome都能直接打开WebM视频文件而无需其他任何乱七八糟的插件。我个人倒是很喜欢WebM的OGG音频,虽然在低比特率下不如AAC,不过依旧胜过MP3太多了。

最近接手了一个项目,将Showcase中的Flash视频导出替换为WebM视频导出,着实蛋疼了一把,因为ffmpeg这个破玩意的最新二进制版本虽然集成了VPX,不过由于许可证等等原因,商业软件不好直接使用。一气之下我直接用Google提供的WebM SDK搞定从序列帧到视频的输出,完全摆脱ffmpeg。

  • 对于WebM SDK我了找到的三个问题:
  • 依旧没有内建RGB24到YV12的转换,不得不手动来。
  • SDK提供的simple_encoder产生出的IVF依旧无法播放。
  • 如果构造了一个YV12格式的vpx_image_t对象,这个对象无法重复使用,产生的视频有错。

下面是我的WebMEnc编码器的代码,不明白的朋友可以学习一下。JPEG、TIFF、PNG的读取使用了FreeImage。