支持的流传输协议
一个Wowza Streaming Engine 应用可以被配置通过多种流传输协议同时向不同类型的终端播放器提供流服务,包括 Adobe Flash Player,Microsoft Silverlight,Apple iPhone、 iPad、或 iPod touch 终端,DASH 播放器,以及基于RTSP/RTP的播放器。
注意: 要了解更多关于Wowza支持的流传输协议的信息,请阅读Wowza技术资料中的Wowza Streaming Engine 用户使用手册。
Adobe HDS (Adobe Flash 播放器)
Wowza Streaming Engine 可以通过Adobe HTTP Dynamic Streaming (Adobe HDS) 协议向Adobe Flash Player 10.1 及更高版本的播放器提供多码率自适应流服务,支持直播和VOD点播两类业务。 Adobe HDS 是一个基于切片的流传输协议,它使用Http进行传输。 所有的媒体切片和打包传输都由Wowza Streaming Engine 软件实现。 在Wowza Streaming Engine的配置文件中,Adobe HDS 被称作"San Jose"。
当通过Adobe HDS 协议对外提供VOD点播流服务时,Wowza Streaming Engine 支持 MP4 文件 (QuickTime container) 和 MP3 files。 FLV 文件是不支持的。在使用Adobe HDS 协议时,Wowza Streaming Engine 支持下面的音视频编码格式:
Video
H.264
On2 VP6 (live only)
Screen video 和 Screen video 2 (仅针对直播流)
Sorenson Spark (仅针对直播流)
Audio
AAC, AAC Low Complexity (AAC LC), AAC High Efficiency (HE-AAC) v1 和 v2
MP3
Nellymoser Asao (仅针对直播流)
Speex (仅针对直播流)
Adobe HDS streaming 利用一个 XML manifest 文件来描述用于流服务的切片列表。在Wowza Streaming Engine中,Adobe HDS 流服务的URL 采用下面的格式:
http://[wowza-ip-address]/[application]/[application-instance]/[stream-name]/manifest.f4m
[wowza-ip-address]: 运行Wowza Streaming Engine 的服务器IP地址或域名(默认端口是1935)
[application]: 应用的名字
[application-instance]: 应用的实例名(如果忽略,默认是_definst_)
[stream-name]: 一个带前缀的流的名字
例如,要播放位于mycompany.com的Wowza服务器上的VOD文件mycoolvideo.mov,使用应用名myapplication,那么URL就是:
http://mycompany.com:1935/myapplication/mp4:mycoolvideo.mov/manifest.f4m
Adobe HDS streaming 需要一个基于Flash并采用Open Source Media Framework (OSMF)框架的播放器。 Wowza Streaming Engine 安装路径下已经提供了一个基于OSMF的例子播放器:
[install-dir]/examples/VideoOnDemandStreaming/FlashHTTPPlayer/player.html
[install-dir]/examples/LiveVideoStreaming/FlashHTTPPlayer/player.html
Apple HLS (iPhone, iPad, iPod touch, QuickTime, 及其它)
Wowza Streaming Engine 可以通过Apple HTTP Live Streaming (Apple HLS)协议向基于iOS系统的终端(iPhone、iPad、 3.0及以上版本的iPod touch)、QuickTime 播放器(10及以上版本)、Safari 浏览器(4.0及以上版本)、以及其它类似Roku和Amino的机顶盒或智能电视机提供码率自适应的流服务,支持的编码格式为H.264和AAC/mp3 ,支持直播和点播业务。 Apple HLS 是一个基于切片的流传输协议,它使用Http进行传输。 所有的媒体切片和打包传输都由Wowza Streaming Engine 软件实现。 在Wowza Streaming Engine的配置文件中,Adobe HDS 被称作"Cupertino"。
Wowza Streaming Engine 可以提供一个播放列表,并用metadata信息来描述其中每一个流的码率等信息。 这使得基于iOS的播放器能够根据当前硬件能力智能的选择合适的流进行播放。
Wowza Streaming Engine 在使用HLS协议时,支持以下音视频编码方式:
Video
H.264
Audio
AAC, AAC Low Complexity (AAC LC), High Efficiency AAC (HE-AAC) v1
Dolby Digital 5.1 Surround Sound (AC-3) 和 Dolby Digital Plus (Enhanced AC-3 or E-AC-3)
MP3
Apple HLS streaming 利用一个播放列表来描述用于提供流服务的媒体切片的列表。Apple HLS streaming播放列表的URL采用以下格式:
http://[wowza-ip-address]/[application]/[application-instance]/[stream-name]/playlist.m3u8
[wowza-ip-address]: 运行Wowza Streaming Engine 的服务器IP地址或域名(默认端口是1935)
[application]: 应用的名字
[application-instance]: 应用的实例名(如果忽略,默认是_definst_)
[stream-name]: 一个带前缀的流的名字
例如,要播放位于mycompany.com的Wowza服务器上的VOD文件mycoolvideo.mov,使用应用名myapplication,那么URL就是:
http://mycompany.com:1935/myapplication/mp4:mycoolvideo.mov/playlist.m3u8
Wowza Streaming Engine 安装路径下已经提供以下基于Apple HLS的例子播放器:
[install-dir]/examples/VideoOnDemandStreaming/IOSMacOSX/player.html
[install-dir]/examples/LiveVideoStreaming/IOSMacOSX/player.html
Microsoft Smooth Streaming (Microsoft Silverlight)
Wowza Streaming Engine 可以通过Microsoft Smooth Streaming协议向Microsoft Silverlight、Windows Phone 终端或其它支持这个协议的播放器提供H.264、AAC/MP3流服务,支持码率自适应,支持直播和VOD业务。 Microsoft Silverlight 是一个跨浏览器、跨平台的技术,在很多个人电脑中都有安装。 Smooth Streaming 是一个基于切片的流传输协议,它使用HTTP进行传输。 所有的媒体切片和和打包传输都由Wowza Streaming Engine完成,它不需要安装IIS等web服务器。
Wowza Streaming Engine 使用Microsoft Smooth Streaming协议时,支持以下音视频编码格式:
Video
H.264
Audio
AAC, AAC Low Complexity (AAC LC), AAC High Efficiency (HE-AAC) v1 and v2
MP3
Smooth Streaming 利用一个播放列表(称为manifest)来描述用于流服务的切片列表。 一个Smooth Streaming manifest 的播放URL采用如下格式:
http://[wowza-ip-address]/[application]/[application-instance]/[stream-name]/Manifest
[wowza-ip-address]: 运行Wowza Streaming Engine 的服务器IP地址或域名(默认端口是1935)
[application]: 应用的名字
[application-instance]: 应用的实例名(如果忽略,默认是_definst_)
[stream-name]: 一个带前缀的流的名字
例如,要播放位于mycompany.com的Wowza服务器上的VOD文件mycoolvideo.mov,使用应用名myapplication,那么URL就是:
http://mycompany.com:1935/myapplication/mp4:mycoolvideo.mov/Manifest
Wowza Streaming Engine software 安装路径下已经提供以下基于Smooth Streaming的例子播放器:
[install-dir]/examples/VideoOnDemandStreaming/SilverlightPlayer/player.html
[install-dir]/examples/LiveVideoStreaming/SilverlightPlayer/player.html
MPEG-DASH streaming (DASH clients)
Dynamic Adaptive Streaming over HTTP (DASH), 也被称为 MPEG-DASH, 它是流媒体行业的一个新的国际标准。 Wowza Streaming Engine 提供了对 MPEG-DASH 技术的支持,可以通过Http向DASH客户端提供直播和VOD流服务。 MPEG-DASH 在技术上类似于Adobe HDS, Apple HLS, 以及 Microsoft Smooth Streaming ,也是基于切片,通过Http传输的流媒体技术。 所有的媒体切片和和打包传输都由Wowza Streaming Engine完成。 注意,在MPEG-DASH标准中,切片为称之为 "segments"
Wowza Streaming Engine 在使用MPEG-DASH协议时,它支持以下音视频编码格式:
Video
H.264
Audio
AAC, AAC Low Complexity (AAC LC), AAC High Efficiency (HE-AAC) v1 and v2
Dolby Digital 5.1 Surround Sound (AC-3) and Dolby Digital Plus (Enhanced AC-3 or E-AC-3)
采用MPEG-DASH的服务器在一个Media Presentation Description (MPD) manifest 文件中描述了媒体切片的列表,并将其传输给DASH客户端。 MPD 描述了切片的信息,例如时间、语言、分辨率、码率等。 客户端将根据网络状态、终端能力等不同情况持续地向服务器请求切片内容,以便能为用户提供无中断的媒体播放。一个 MPEG-DASH MPD manifest URL 采用如下格式:
http://[wowza-ip-address]/[application]/[application-instance]/[stream-name]/manifest_mp[manifest-profile]_mv[manifest-variation].mpd
[wowza-ip-address]: 运行Wowza Streaming Engine 的服务器IP地址或域名(默认端口是1935)
[application]: 应用的名字
[application-instance]: 应用的实例名(如果忽略,默认是_definst_)
[stream-name]: 一个带前缀的流的名字
[manifest-profile]: manifest 切片的 profile (容器和编码格式).
[manifest-variation]: chunk-addressing scheme token.
例如,要播放位于mycompany.com的Wowza服务器上的VOD文件mycoolvideo.mov,使用应用名myapplication,那么URL就是:
http://mycompany.com:1935/myapplication/mp4:mycoolvideo.mov/manifest_mpm4sav_mvlist.mpd
Wowza Streaming Engine software 安装路径下已经提供以下基于DASH的例子播放器:
[install-dir]/examples/VideoOnDemandStreaming/MPEGDASHPlayer/player.html
[install-dir]/examples/LiveVideoStreaming/MPEGDASHPlayer/player.html
MPEG-DASH 的标准 (ISO/IEC 23009-1)为ISO Base Media File Format (ISOBMFF) 和 MPEG-2 Transport Streams (MPEG-2 TS) 定义了segment container 格式。 MPEG-DASH 是一个与codec无关的标准,只是复用和非复用编码,也支持DRM;同时,一个通用加密(CENC) 标准(ISO/IEC 23001-7) 正在制定中,它将配合MPEG-DASH 允许内容被加密一次后,在传输到DASH客户端后可以支持各种不同的授权系统的授权机制。
Adobe RTMP (Adobe Flash Player)
Wowza Streaming Engine 可以通过RTMP协议与Adobe Flash 播放器通信。 Wowza Streaming Engine 可以使用RTMP向Flash播放器提供码率自适应的直播和点播流服务,它也只是类似shared objects、video recording、video chat、remote procedure calls等特性。 Wowza Streaming Engine 支持所有Flash播放器所支持的音视频编码格式:
Video
H.264
On2 VP6
Sorenson Spark
Screen video and Screen video 2
Audio
AAC, AAC Low Complexity (AAC LC), AAC High Efficiency (HE-AAC) v1 and v2
MP3
Speex
Nellymoser Asao
Adobe Flash Player 是跨浏览器、跨平台的技术,很多个人电脑以及移动终端上都安装了它。 Adobe Flash 插件可以运行用Adobe Flash authoring tool 和 Adobe Flex制作的SWF文件。 ActionScript 是Flash编程语言。通过使用ActionScript,一个SWF文件在Web中完成包括流媒体播放这样的任务。
Wowza Streaming Engine 和 Adobe Flash Player 之间采用NetConnection object通信,采用NetStream object传输媒体流。 NetConnection.connect 方法被用于在Wowza Server和Adobe Flash Player之间建立连接,其中用RTMP建立连接的URL采用如下格式:
[protocol-method]://[wowza-ip-address]/[application]/[application-instance]
[protocol-method]: rtmp, rtmpe (encryption), rtmpt (tunneling), rtmpte (encryption 和 tunneling), 或 rtmps (tunneling over SSL)
[wowza-ip-address]: 运行Wowza Streaming Engine 的服务器IP地址或域名(默认端口是1935)
[application]: 应用的名字
[application-instance]: 应用的实例名(如果忽略,默认是_definst_)
例如,要播放位于mycompany.com的Wowza服务器上的VOD文件mycoolvideo.mov,使用应用名myapplication,那么在NetConnection.connect 方法中,采用如下URL:
rtmp://mycompany.com/myapplication
NetStream.play 方法用于开始流媒体播放。这个方案的第一个参数是一个流的名字。例如,要播放媒体文件mycoolvideo.mov,你需要使用流的名字mp4:mycoolvideo.mov。 有些播放器将在NetConnection.connect方法中用于建立连接的URL和在NetStream.play方法中用于播放媒体流的流名合并成为一个URL。这个URL采用如下格式:
[protocol-method]://[wowza-ip-address]/[application]/[application-instance]/[stream-name]
例如,要播放位于mycompany.com的Wowza服务器上的VOD文件mycoolvideo.mov,使用应用名myapplication,那么URL就是:
rtmp://mycompany.com/myapplication/mp4:mycoolvideo.mov
Adobe RTMP streaming 需要采用Open Source Media Framework (OSMF)并基于Flash的播放器。 Wowza Streaming Engine software 安装路径下已经提供以下基于OSMF-based的例子播放器:
[install-dir]/examples/VideoOnDemandStreaming/FlashRTMPPlayer/player.html
[install-dir]/examples/LiveVideoStreaming/FlashRTMPPlayer/player.html
RTSP/RTP (QuickTime, VLC, 3GPP devices, set-top boxes, and more)
Wowza Streaming Engine 可以通过RTSP、RTP、MPEG-2 TS 向终端提供H.264、AAC/MP3直播或点播流服务。 这些终端包括QuickTime player (version 10 及更高版本), VideoLAN VLC player, 机顶盒、3GPP 终端。 Wowza Streaming Engine 也接受编码器通过这些协议传输进来的输入流。 Wowza Streaming Engine 支持RTP over UDP 和 MPEG-2 TS over UDP 以及组播的输入和输出。 此外,Wowza Streaming Engine 支持interleaved RTSP/RTP (RTP over the RTSP TCP connection) 和 RTSP/RTP tunneling (RTSP/RTP over HTTP), 这使得RTSP/RTP 可以运用在UDP端口被禁用的网路环境下。
在Wowza Streaming Engine中,RTSP/RTP播放的URL采用如下格式:
rtsp://[wowza-ip-address]/[application]/[application-instance]/[stream-name]
[wowza-ip-address]: 运行Wowza Streaming Engine 的服务器IP地址或域名(默认端口是1935)
[application]: 应用的名字
[application-instance]: 应用的实例名(如果忽略,默认是_definst_)
[stream-name]: 一个带前缀的流的名字
例如,要播放位于mycompany.com的Wowza服务器上的VOD文件mycoolvideo.mov,使用应用名myapplication,那么URL就是:
rtsp://mycompany.com:1935/myapplication/mylivestream
支持的媒体文件格式
Wowza Streaming Engine 支持 MP4 (QuickTime container)(注意:mp4文件不仅仅是指扩展名为mp4的文件), FLV (Flash Video), 以及 MP3 媒体文件格式。 要播放Vod点播文件,必须要在流名前面增加一个前缀。例如,要播放 MP4 文件 mycoolvideo.mov, 采用的流名为mp4:mycoolvideo.mov。 下面介绍了一些常见媒体文件的前缀。
注意: 完整媒体文件类型列表,请参见Wowza技术资料中的Wowza Streaming Engine 用户使用手册。
MP4 (QuickTime container)
这是默认的媒体类型,所以前缀和文件扩展名可以忽略。
前缀: mp4:
扩展名: .mp4, .f4v, .mov, .m4a, .m4v, .mp4a, .mp4v, .3gp, .3g2
例如: mp4:mycoolvideo.mov
FLV (Flash Video)
前缀: flv:
扩展名: .flv
例如: flv:mycoolvideo.flv
MP3
前缀: mp3:
扩展名: .mp3
例如: mp3:mycoolsong.mp3
SMIL
Synchronized Multimedia Integration Language (SMIL) 文件是一个XML 文件,用于配置码率自适应流。
前缀: smil:
扩展名: .smil
例如: smil:myStream.smil