如何从RTMP源将流拉到(pull)Wowza Stream Engine 4?
转载请注明:文章来自www.wowza.cn
注意: 要访问最新的技术资料,请访问http://www.ttstream.com/wowza/
这篇文章介绍了如何将一个直播流从RTMP源(比如Flash Media Server或CDN)采用拉(Pull)的方式拉到Wowza Stream Engine 4并由Wowza Stream Engine 4对外提供直播流服务。

在这个例子中你需要在Wowza Media Server上建立一个名称为live的直播应用,然后经过一些配置后,就可以对外提供直播流服务,包括面向Adobe®Flash®播放器、Microsoft®Silverlight®播放器、Apple®iOS终端以及所有基于RTSP/RTP的其它各种播放器。

内容





配置


这个部分描述了建立一个直播应用的过程以及Application.xml文件中的相关配置。

  1. 创建一个应用文件夹[install-dir]/applications/live

  2. 创建一个配置文件夹[install-dir]/conf/live,并将[install-dir]/conf/Application.xml拷贝到这个新的文件夹下。

  3. 打开并编辑这个新拷贝的Application.xml文件,按下面的描述修改配置(可能有些配置已经是配置好的):

    注意: 点击这里可以下载一个已经有默认配置的Application.xml

    1. Streams/StreamType属性设置为:
      Code:
      <StreamType>live</StreamType>
    2. HTTPStreamers属性设置为:
      Code:
      <HTTPStreamers>cupertinostreaming,smoothstreaming,sanjosestreaming</HTTPStreamers>
    3. Streams/LiveStreamPacketizers属性设置为:
      Code:
      <LiveStreamPacketizers>cupertinostreamingpacketizer,smoothstreamingpacketizer,sanjosestreamingpacketizer</LiveStreamPacketizers>
    4. RTP/Authentication/PlayMethod属性设置为:
      Code:
      <PlayMethod>none</PlayMethod>
    5. MediaCaster/Properties中添加如下属性:
      Code:
      <Property>
      	<Name>callFCSubscribe</Name>
      	<Value>true</Value>
      	<Type>Boolean</Type>
      </Property>

拉流及发布流


这个描述了创建一个.stream文件,并通过它将直播流拉(pull)到Wowza Stream Engine 4再播放出来的详细过程。 www.wowza.cn

  1. 用一个文本编辑器创建一个[install-dir]/content/rtmp.stream文件,内容为rtmp源的URl地址(例如 rtmp://cp12345.live.edgefcs.net/live/myStream@2440)。这个文件必须以.stream为扩展名。。

  2. 用一个文本编辑器打开并编辑[install-dir]/conf/admin.password文件,添加一个username和password,用来控制直播流的启动和暂停(下面是一个username为myuser,password为mypassword的文件例子):
    Code:
    # Admin password file (format [username][space][password])
    # username password
    myuser mypassword
                
  3. 启动Wowza Stream Engine 4
  4. 使用Stream Manager 启动直播流:

    1. 用web浏览器访问下面的URL:
      URL: http://[wowza-ip-address]:8086/streammanager

    2. Security对话框中输入管理员的用户名和密码(上面admin.password中的设置)。

    3. Stream Manager的页面,点击应用名live下面的[start-receiving-stream]连接。

    4. Start Receiving Stream对话框中,在MediaCaster Type下拉框中选择liverepeater

    5. Stream Name输入框中,输入rtmp.stream

    6. 点击OK


播放


注意:在下面的例子中,[wowza-ip-address] 是运行Wowza Media Server的IP地址或域名。

Adobe Flash Player (RTMP)


针对Wowza Media Server 3.5.0及更高版本,用浏览器打开[install-dir]/examples/LiveVideoStreaming/FlashRTMPPlayer/player.html,输入下面的信息,再点击Connect按钮。

Server: rtmp://[wowza-ip-address]/live
Stream: rtmp.stream

如果要从远程电脑上播放这个直播流,你只要将FlashRTMPPlayer文件夹拷贝到一个web server上,然后用浏览器访问: http://<webserver>/FlashRTMPPlayer/player.html即可。

Adobe Flash Player (San Jose/Adobe HDS)


针对Wowza Media Server 3.5.0及更高版本,用浏览器打开[install-dir]/examples/LiveVideoStreaming/FlashHTTPPlayer/player.html,输入下面的信息,再点击Connect按钮。

Stream: http://[wowza-ip-address]:1935/live/rtmp.stream/manifest.f4m

如果要从远程电脑上播放这个直播流,你只要将FlashHTTPPlayer文件夹拷贝到一个web server上,然后用浏览器访问: http://<webserver>/FlashHTTPPlayer/player.html即可。

注意: 要使用HDS播放这个直播流,你必须采用一个基于OSMF的Flash播放器。

Apple iOS device (Cupertino/Apple HLS)


在苹果设备上的Safari®web浏览器上打开下面的URL:

URL: http://[wowza-ip-address]:1935/live/rtmp.stream/playlist.m3u8

注意: The Apple®iPhone®3GS (及更早的设备) 以及iPod touch®终端需要视频的编码格式为H.264 format (Baseline profile level 3 或更低) 以及音频编码格式为AAC或MP3立体声。

注意:你也可以在一台Mac OS® X Snow Leopard 10.6 或更高版本的电脑上用Safari web 浏览器或QuickTime 10.x播放这个直播流。

Microsoft Silverlight (Smooth Streaming)


针对Wowza Media Server 3.5.0及更高版本,用浏览器打开[install-dir]/examples/LiveVideoStreaming/SilverlightPlayer/player.html,输入下面的信息,再点击Connect按钮。

Stream: http://[wowza-ip-address]:1935/live/rtmp.stream/Manifest

如果要从远程电脑上播放这个直播流,你只要将SilverlightPlayer文件夹拷贝到一个web server上,再访问: http://<webserver>/SilverlightPlayer/player.html。

注意: The Microsoft® Silverlight® 播放器需要音频和视频同时存在。针对直播流,关键帧的频率(可以在编码器上设置或者叫做gop/fps)必须在1到4秒之间(推荐采用2秒)。只要超过4秒播放就会停止。

RTSP/RTP player


在RTSP/RTP播放器中输入下面的URL:

URL: rtsp://[wowza-ip-address]:1935/live/rtmp.stream

如果直播流仅面向Flash RTMP客户端

www.wowza.cn
(可选)如果你的应用只面向Flash RTMP 客户端提供直播流服务,你可以在[install-dir]/conf/live/Application.xml文件中将Streams/StreamType的属性设置为:
Code:
<StreamType>rtp-live</StreamType>
如果你确定要这么做,你就不用使用StreamManager(see 发布这个流)。当Flash客户端第一次播放这个流时会触发Wowza Media Server启动拉流的过程。

当然,你需要在[install-dir]/conf/live/Application.xml文件中,确认将Streams/LiveStreamPacketizers的属性设置为空:
Code:
<LiveStreamPacketizers></LiveStreamPacketizers>