如何通过MPEG-TS over UDP将流推送(push)到Wowza Stream Engine 4?
转载请注明:文章来自www.wowza.cn
注意: 要访问最新的技术资料,请访问http://www.ttstream.com/wowza/
这篇文章介绍了如何通过MPEG-ts over UDP(MPEG-2)将一个直播流采用推送(Push)的方式推给Wowza Stream Engine 4并由Wowza Stream Engine 4对外提供直播流服务。

注意:实际是先将直播流Push到运行Wowza Stream Engine 4的服务器的本地端口(local port),然后再拉到(Pull)到Wowza Stream Engine 4。 www.wowza.cn

由于大多数MPEG-ts over UDP推流的场景都是由一台硬件编码器作为直播源的,因此下面的介绍以支持MPEG-ts over udp技术的编码器为例子。

在这个例子中你需要在Wowza Stream Engine 4上建立一个名称为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>


将直播流发布出来


这个部分描述了如何创建一个.stream文件,并通过它将直播流发布出来的详细过程。www.wowza.cn

  1. 咨询您的编码器厂家或使用手册,配置一个输出流。其中目的IP地址为你运行Wowza Media Server的IP地址,端口可以选择10000(这个端口你可以任意设置,通常在6970到10000之间)

  2. 创建.stream文件:

    1. 使用文本编辑器创建一个[install-dir]/content/mpegts.stream文件,文件内容为udp://0.0.0.0:10000。如果你要从一个组播地址接收直播流,将0.0.0.0部分需要设置为组播地址即可。

    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下拉框中选择rtp

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

    6. 点击OK


播放


注意:在下面的例子中,[wowza-ip-address] 是运行Wowza Stream Engine 4的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: mpegts.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/mpegts.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/mpegts.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/mpegts.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/mpegts.stream
www.wowza.cn