这篇文章介绍了如何使用开源的WebM格式的直播流,从Wowza Streaming Engine 4.2 开始,在Transcoder中增加了对它的支持。
注意: 这篇文章的例子需要Wowza Streaming Engine 4.2及以上版本、最新版本的Google Shaka 播放器、最新版本的Google Chrome浏览器。
关于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协议。
3、点击Transcoder,如果它的Status是Not Enabled,请点击Enable Transcoder启用转码。
4、当Transcoder被启用后,点击Transcoder页面SetupTab页中的Edit。
5、在Fallback Template菜单,选择transcode-webm。
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、在摄像头或编码器上停止推流来结束测试。