Page 1 of 3 123 LastLast
Results 1 to 10 of 27

Thread: How to use built in Stream Manager

  1. #1

    Default How to use built in Stream Manager


    This forum post has moved to the following article:

    http://www.wowzamedia.com/forums/content.php?76

    Enjoy,
    The Wowza Team
    Last edited by charlie; 10-05-2010 at 01:38 PM.

  2. #2

    Default

    any docs on this? I have it running but have no clue what each click does.

  3. #3
    Join Date
    Dec 2007
    Posts
    28,412

    Default

    It is covered in the User Guide "MediaCasters, Stream Manager and StartupStreams.xml" section, and in the quickstart guide.

    http://www.wowza.com/resources/Wowza...UsersGuide.pdf
    http://www.wowza.com/quickstart.html

    Richard

  4. #4

    Default Stream Manager setting for iphone streaming

    I have a question on the Stream Manager configuration on an edge server to repeat a live stream from the origin server to the iPhone.

    I followed the instructions listed in the 'Live Stream Repeater' section of the userguide pdf. After setting it up, I was able to successfully connect to an edge server via the flash player and view the live stream off of the origin server. But I'm not able to get the iPhone stream to work.

    I'm running the application 'liverepeater' and the stream 'myStream.sdp' on both the origin and edge server. I've confirmed that wowza is able to bind successfully to port 554 on the origin server.

    What would the entries be on the Stream Manager for the edge server? As per the instructions, I clicked on the 'start receiving stream' under the 'liverepeater/_definst_' and entered the following:

    Code:
    Application: liverepeater/_definst_
    MediaCaster Type: rtp
    Stream Name: rtsp://<originhost>:554/myStream.sdp
    On doing so, the origin server's wowza instance returns the warning:

    Code:
    WARN server comment - Application folder ([install-location]/applications/_defapp_) is missing
    I then tried changing the 'Stream Name' entry to 'rtsp://<originhost>:554/liverepeater/_definst_/myStream.sdp'. That resulted in the following error on the edge server:

    Code:
    INFO server comment - RTPSessionTracker.add[rtsp://xxx.xxx.xxx.xxx:554/liverepeater/_definst_/myStream.sdp]: 1
    WARN server comment - RTPSessionDescriptionDataProviderBasicRTSPWorker.processResponse: Authentication required[401]: Username password not available
    WARN server comment - RTPSessionDescriptionDataProviderBasic.getStreamInfo: RTSP/RTP re-streaming timeout.
    INFO server comment - RTPSessionDescriptionDataProviderBasicRTSPWorker.close closeSession
    INFO server comment - RTPSessionDescriptionDataProviderBasicRTSPWorker.onClose
    INFO server comment - RTPSessionTracker.remove[rtsp://xxx.xxx.xxx.xxx:554/liverepeater/_definst_/myStream.sdp]: 0:true
    Any idea what I'm doing wrong?

    UPDATE:

    I managed to get rid of the 'Authentication required' error msg by setting the 'RTP/Authentication/PublishMethod' and 'RTP/Authentication/PublishMethod' (in the 'liverepeater' application's Application.xml file) on the edge server to 'none'. The 'Stream Manager' settings on the edge server are as follows:

    Code:
    Application: liverepeater/_definst_
    MediaCaster Type: rtp
    Stream Name: rtsp://<originhost>:554/liverepeater/_definst_/myStream.sdp
    The wowza log in the edge server now displays the following:
    Code:
    INFO application app-start _definst_ liverepeater/_definst_
    INFO server comment - RTPMediaCaster.create
    INFO server comment - RTPMediaCaster.init
    INFO server comment - RTPMediaCaster.Reconnector: start
    INFO server comment - HTTPStreamManager.onHTTPRequest: Publish stream successfully started [liverepeater/_definst_]: rtsp://<originhost>:554/liverepeater/_definst_/myStream.sdp
    INFO server comment - RTPSessionTracker.add[rtsp://<originhost>:554/liverepeater/_definst_/myStream.sdp]: 1
    INFO server comment - RTPSessionDescriptionDataProviderBasicRTSPWorker.buildSDPData: sessionId:827345958 sessionTimeout:60000
    INFO server comment - RTPSessionDescriptionDataProviderBasic.getStreamInfo: RTSP/RTP re-streaming. Success, received SDP data.
    INFO stream create - -
    INFO stream publish rtsp://<originhost>:554/liverepeater/_definst_/myStream.sdp -
    INFO server comment - RTPUDPTransport.bind: 0.0.0.0/0.0.0.0:6972
    INFO server comment - RTPUDPTransport.bind: 0.0.0.0/0.0.0.0:6973
    INFO server comment - RTPUDPTransport.bind: 0.0.0.0/0.0.0.0:6970
    INFO server comment - RTPUDPTransport.bind: 0.0.0.0/0.0.0.0:6971
    INFO server comment - RTPSessionDescriptionDataProviderBasicRTSPWorker.sessionStart: PLAY: rtsp://<originhost>:554/liverepeater/_definst_/myStream.sdp
    INFO server comment - RTPMediaCaster.Reconnector: stop
    INFO server comment - RTCPHandler.sendFirstRTCPRR[567360897,6973,/<originhost>:6977]
    INFO server comment - UDPTransport.firstPacket: 0.0.0.0/0.0.0.0:6973
    INFO server comment - RTCPHandler.sendFirstRTCPRR[1141292616,6971,/<originhost>:6975]
    INFO server comment - UDPTransport.firstPacket: 0.0.0.0/0.0.0.0:6971
    INFO server comment - UDPTransport.firstPacket: 0.0.0.0/0.0.0.0:6970
    INFO server comment - MediaStreamMap.getLiveStreamPacketizer: Create live stream packetizer: smoothstreamingrepeater:rtsp://<originhost>:554/liverepeater/_definst_/myStream.sdp
    INFO server comment - LiveStreamPacketizerSmoothStreaming.startStream[liverepeater/_definst_/rtsp://<originhost>:554/liverepeater/_definst_/myStream.sdp]
    INFO server comment - LiveStreamPacketizerCupertino.init[liverepeater/_definst_/rtsp://<originhost>:554/liverepeater/_definst_/myStream.sdp]: chunkDurationTarget: 10000
    INFO server comment - LiveStreamPacketizerCupertino.init[liverepeater/_definst_/rtsp://<originhost>:554/liverepeater/_definst_/myStream.sdp]: chunkDurationTolerance: 500
    INFO server comment - LiveStreamPacketizerCupertino.init[liverepeater/_definst_/rtsp://<originhost>:554/liverepeater/_definst_/myStream.sdp]: audioGroupCount: 3
    INFO server comment - LiveStreamPacketizerCupertino.init[liverepeater/_definst_/rtsp://<originhost>:554/liverepeater/_definst_/myStream.sdp]: playlistChunkCount:3
    INFO server comment - MediaStreamMap.getLiveStreamPacketizer: Create live stream packetizer: cupertinostreamingrepeater:rtsp://<originhost>:554/liverepeater/_definst_/myStream.sdp
    INFO server comment - CupertinoPacketHandler.startStream[liverepeater/_definst_/rtsp://<originhost>:554/liverepeater/_definst_/myStream.sdp]
    INFO server comment - LiveStreamPacketizerCupertino.handlePacket: Audio codec: AAC
    INFO server comment - LiveStreamPacketizerCupertino.handlePacket: Audio info[liverepeater/_definst_/rtsp://<originhost>:554/liverepeater/_definst_/myStream.sdp]: {AACFrame: size: 0, rate:32000, channels:2, samples:1024, errorBitsAbsent:true, profileObjectType:2}
    INFO server comment - UDPTransport.firstPacket: 0.0.0.0/0.0.0.0:6972
    INFO server comment - LiveStreamPacketizerCupertino.handlePacket: Video codec: H264
    INFO server comment - LiveStreamPacketizerCupertino.handlePacket: Video info[liverepeater/_definst_/rtsp://<originhost>0:554/liverepeater/_definst_/myStream.sdp]: {H264CodecConfigInfo: profile: "Baseline", level: 1.2, frameSize: 320x240, aspect: 0/1, }
    INFO server comment - LiveStreamPacketizerSmoothStreaming.flushPendingAudio: Bitrate[liverepeater/_definst_/rtsp://<originhost>:554/liverepeater/_definst_/myStream.sdp]: 64000
    INFO server comment - LiveStreamPacketizerCupertino.endChunkTS[liverepeater/_definst_/rtsp://<originhost>:554/liverepeater/_definst_/myStream.sdp]: Add chunk: id:1 a/v/k:212/0/0 duration:20272
    But when I try to access the stream from my iPhone by connecting to:

    http://<edgeserver>:1935/liverepeater/myStream.sdp/playlist.m3u8

    safari just times out with the message 'Safari could not open the page because the server stopped responding'. And there is no indication of the iphone's connection attempt in the wowza log.
    Last edited by vjagannathan; 04-21-2010 at 06:46 PM. Reason: update

  5. #5

    Default

    You can use a complex RTSP based stream name with the iPhone. Yoiu need to either use the Stream alias package or a .stream file to turn the RTSP url into a simple stream name such as myStream.stream. Then you will use the .stream name to identify the stream.

    See the basic instructions for a single stream here:

    http://www.wowza.com/forums/showthread.php?t=6470

    The .stream file only needs to exist on the origin. Do not copy it to the edge server. Also be sure you are running the latest patch:

    http://www.wowza.com/devbuild.html

    Charlie

  6. #6

    Default

    Thanks for the additional info. I'm guessing you meant to say 'You CANNOT use a complex RTSP based stream name with the iPhone.'

    I followed the 'Live Streaming (all player technologies):' instructions in http://www.wowza.com/forums/showthread.php?t=6470 and got both RTMP and iPhone streaming to work using the 'rtplive' application.

    I'm using wirecast on the origin server with the broadcast settings destination set to 'Built-in Streaming Server' and file location set to 'myStream.sdp'. The resulting stream url from wirecast is rtsp://<origin-server-ip>:7070/myStream.sdp which is what the 'myStream.stream' file points to.
    In the Stream Manager settings for 'rtplive', the 'MediaCaster Type' is rtp and the 'Stream Name' is myStream.stream.

    The above settings work well and I'm able to connect to http://<ip>:1935/rtplive/myStream.stream/playlist.m3u8 via my iPhone and view the stream.

    Unfortunately, I'm still not able to get the live stream repeater to work. I tried the settings above on my origin server replacing the 'rtplive' application with the 'liverepeater' application with the Stream/Stream type set to liverepeater-origin. In the Stream Manager settings for 'liverepeater', I tried setting the 'MediaCaster Type' to both rtp and liverepeater.

    The wowza logs look like:

    Code:
    INFO rtsp connect 2122670481 -
    INFO rtsp disconnect 2122670481 -
    WARN server comment - RTPSessionDescriptionDataProviderBasic.getStreamInfo: RTSP/RTP re-streaming timeout.
    INFO server comment - RTPSessionDescriptionDataProviderBasicRTSPWorker.close closeSession
    INFO server comment - RTPSessionTracker.add[rtsp://<origin-node-ip>:7070/myStream.sdp]: 2
    INFO server comment - RTPSessionDescriptionDataProviderBasicRTSPWorker.onClose
    INFO server comment - RTPSessionTracker.remove[rtsp://<origin-node-ip>:7070/myStream.sdp]: 1:true
    INFO rtsp connect 1876471220 -
    INFO rtsp disconnect 1876471220 -
    WARN server comment - RTPSessionDescriptionDataProviderBasic.getStreamInfo: RTSP/RTP re-streaming timeout.
    INFO server comment - RTPSessionDescriptionDataProviderBasicRTSPWorker.close closeSession
    INFO server comment - RTPSessionDescriptionDataProviderBasicRTSPWorker.onClose
    INFO server comment - RTPSessionTracker.remove[rtsp://<origin-node-ip>:7070/myStream.sdp]: 0:true
    INFO server comment - RTPSessionTracker.add[rtsp://<origin-node-ip>:7070/myStream.sdp]: 1
    I'm at a loss as to what the Stream Manager settings should be for both the origin and edge servers.

  7. #7

    Default

    Be sure you are doing this on two different machines or make sure you have setup two applications that do not share the same content folder. This is very important or it will not work.

    On origin:
    1. Create folder [install-dir]/applications/liverepeater
    2. Create folder [install-dir]/conf/liverepeater and copy [install-dir]/conf/Application.xml into this new folder
    3. Edit [install-dir]/conf/liverepeater/Application.xml and make the following changes:
      1. Set Streams/StreamType to live
      2. Set LiveStreamPacketizer to cupertinostreamingpacketizer
    4. Create myStream.stream file in [install-dir]/content folder with full RTSP url to the source.
    5. Start stream on origin using the stream manager and the stream name myStream.stream and MediaCaster type rtp
      1. Edit [install-dir]/conf/admin.password and add a username and password
      2. Go to http://[origin-ip-address]:8086/streammanager and start the stream myStream.stream and MediaCaster type rtp under the application liverepeater


    Note: At this point you should use the iPhone to verify the stream is running on the origin. Do not proceed until it is viewable on the orgin. Be sure the format of the stream is correct (H.264 Baseline level 3.0 lower with AAC audio):
    Code:
    http://[origin-address]:1935/liverepeater/myStream.stream


    On edge:
    1. Create folder [install-dir]/applications/liverepeater
    2. Create folder [install-dir]/conf/liverepeater and copy [install-dir]/conf/Application.xml into this new folder
    3. Edit [install-dir]/conf/liverepeater/Application.xml and make the following changes:
      1. Set Streams/StreamType to live
      2. Set LiveStreamPacketizer to cupertinostreamingrepeater
      3. Set Repeater/OriginURL to rtmp://[origin-ip-address]/liverepeater


    Note: At this point you should use the iPhone to verify the stream is running on the edge:
    Code:
    http://[edge-address]:1935/liverepeater/myStream.stream


    Charlie
    Last edited by charlie; 04-23-2010 at 06:21 PM.

  8. #8

    Default

    In the steps you mentioned above, how does the edge know to get the content from the origin when i connect to http://<edge>:1935/[application]/myStream.stream/playlist.m3u8 ? Shouldn't there be a stream manager entry in the edge server's [application] as well? If so, could you tell me what the settings would be?

    Also, just to confirm, the instructions in the userguide specifies that the Streams/Stream Type in the origin's and edge's [install-dir]/conf/[application]/Application.xml should be set to liverepeater-origin and liverepeater-edge respectively. I noticed that you asked me to set them both to live. Is that ok?

  9. #9
    Join Date
    Dec 2007
    Posts
    28,412

    Default

    You can use streammanager on the edge server, with "liverepeater" StreamType. You can automate this on the edge with /conf/StartUpStreams.xml

    Richard

  10. #10

    Default

    I had already given that a shot. I tried setting the stream name on the edge server's stream manager to
    rtsp://<origin-ip-address>:554/[origin-application]/myStream.stream and
    rtmp://<origin-ip-address>:1935/[origin-application]/myStream.stream.

    In both cases, I get a file not found message on the iPhone when i try and connect to http://<edge-ip>:1935/[edge-application]/myStream.stream/playlist.m3u8

    I even tried setting the Repeater/OriginURL entry in the edge server's Application.xml to point to rtmp://<origin-ip-address>

Page 1 of 3 123 LastLast

Similar Threads

  1. stream manager
    By matanf in forum General Forum
    Replies: 4
    Last Post: 05-30-2012, 09:32 AM
  2. control receive stream(stream manager) programmatically?
    By sktniran in forum Live Streaming and Encoder Discussion
    Replies: 2
    Last Post: 11-22-2011, 12:07 AM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •