多协议、性能稳定、丰富API的流媒体服务器软件
如何将直播流视频转码为webm格式?
这篇文章介绍了如何使用开源的WebM格式的直播流,从Wowza Streaming Engine 4.2 开始,在Transcoder中增加了对它的支持。

关于WebM
用Transcode转码为WebM,用MPEG-DASH 播放
关于播放器的准备工作
开始测试这个直播流

关于WebM


WebM 是一个开源的媒体文件格式,可用于在WEB上播放直播流,它由WebM 项目开发,受Google的赞助。WebM文件格式使用了Matroska容器,可以包含VP8和VP9视频以及开源的Vorbis和Opus音频。 VP8和VP9提供了高质量的视频压缩能力,可用于面向任何终端的视频播放。

支持HTML5、VP8、VP9、Opus、Vorbis 格式的浏览器都可以播放WEBM文件。其中一个支持它的播放器产品就是最新版本的Google Shaka 播放器。

用Transcode转码为WebM,用MPEG-DASH 播放


要在Wowza Streaming Engine中使用WebM,可以用Wowza Transcoder以及transcode-webm转码模板,在Wowza Streaming Engine 4.2版本上刚刚增加了对它的支持(但只是技术预览版,还需要进一步测试)。

transcode-webm转码模板提供了两套编码参数:

  • 720p, 使用VP9编码的高清视频,码率为850 Kbps

  • 240p, 使用VP9编码的中等质量视频,码率为350 Kbps

这两套编码参数都使用了Opus音频,码率为96 Kbps。默认都是启用状态。


重要: 不要在Wowza Streaming Engine Manager中编辑transcode-webm模板。目前它只能在XML文件中修改。

由于目前Wowza WebM transcoder 模板只是技术预览版,所以它没有包含在Wowza的安装包内,你需要自己下载这个转码模板。



  1. 下载WebM transcoder 模板.

  2. transcode-webm.xml文件拷贝到Wowza Streaming Engine的[install-dir]/transcoder/templates文件夹下。

在Streaming Engine Manager中配置直播流

在安装好WebM 转码模板后,在Wowza Streaming Engine中配置一个直播流,接收H.264视频流,用transcode WebM 转码模板来转码,再用最新版本的Google Shaka 播放器播放MPEG-DASH流。

  1. 登陆Wowza Streaming Engine Manager,点击Applicationstab页,选择live应用。

  2. 确认Playback Types中启用了MPEG-DASH协议
    wowza Streaming Engine

  3. 点击Transcoder,如果它的StatusNot Enabled,请点击Enable Transcoder启用转码.

  4. Transcoder被启用后,点击Transcoder页面SetupTab页中的Edit

  5. Fallback Template菜单,选择transcode-webm.

    wowza Streaming Engine

  6. 去掉Match source stream name to template name复选框上的对勾.

    注意:当选择Match source stream name to template name后, 如果一个转码模板被名字和这个流的名字一样,那么就会使用这个转码模板。
  7. 点击Save,在点击Restart Now.

    ,现在,所有输入流都将被WebM 模板来转码。

    最后,配置直播输入流,例如来自IP摄像头或编码器的H.264视频流。

播放器的准备工作


要播放你的WebM直播流,请使用最新版本的Chrome浏览器和Google Shaka播放器。更多细节,请阅读如何用Google Shaka播放器播放Wowza的MPEG-DASH音视频流?.

注意:你可以用Wowza官网上的Wowza 的测试播放器中的Google Shaka播放器. 这个测试播放器仅用于测试使用。

开始测试这个直播流


启动你的编码器,然后检查直播流的状态

  1. 启动你的编码器或摄像头,向Wowza Streaming Engine的live应用推流。

    live应用接收到输入流后会用Transcoder转码,然后生成MPEG-DASH多码率自适应的输出流。

  2. 在Wowza Streaming Engine Manager中检查输入流是否正常,可以点击Incoming Streams菜单,在点击流的名字。

    在这个流的详情页面会显示这个流的Status,检查是否为(Active).

  3. 在Chrome浏览器的Shaka 播放器页面,点击Play按钮,直播流将开始播放。

  4. 在摄像头或编码器上停止推流来结束测试。