Page 1 of 2 12 LastLast
Results 1 to 10 of 13

Thread: Stream.createInstance and HTTP live streaming

  1. #1

    Default Stream.createInstance and HTTP live streaming

    I'm dynamically creating streams and switching between sources using Stream.createInstance on an edge server.

    The sources can either be shoutcast streams or liverepeater-origin streams from another Wowza server. Before switching to a new source, I make sure appInstance.startMediaCasterStream() has been called and the stream is being pulled to the edge.

    All this works perfectly in RTMP, but it doesn't work with Apple HTTP streaming. All I get when connecting is:

    INFO stream create - -
    INFO server comment - MediaStreamHTTPStreamerRepeaterBuffer.initLiveStreamRepeating: receiverClass: com.wowza.wms.httpstreamer.cupertinostreaming.liverepeater.CupertinoStreamerLiveRepeaterReceiver
    ...
    IMediaCaster onSetSourceStream
    INFO server comment - MediaCaster: 1 [cupertinostreamingpacketizer|cupertinostreamingrepeater]2334
    WARN server comment - LiveMediaStreamReceiver.connect: failure
    INFO server comment - IMediaCaster onMediaCasterCreate
    ...
    INFO server comment - onHTTPSessionDestroy: 965146240
    INFO server comment - onHTTPSessionDestroy: 2025761592
    INFO server comment - onHTTPSessionDestroy: 762193701
    INFO server comment - onHTTPSessionDestroy: 1280243480
    INFO server comment - onHTTPSessionDestroy: 1385200151
    INFO server comment - onHTTPSessionDestroy: 1504093517
    INFO server comment - onHTTPSessionDestroy: 641144772
    INFO server comment - onHTTPSessionDestroy: 120417647
    onHTTPSessionCreate is never reached. This looks like some sort of problem with the mediacaster stream to me, but the stream is definitely pulling from source when this log was produced and I've got the proper entries in my Application.xml too.

    Why is this not working?

  2. #2
    Join Date
    Sep 2011
    Posts
    1,933

    Default

    Hi
    I think this may be due to not having enough data in the packetizer for iOS device, if the data isn't sufficient the connection will be unsuccessful.
    I would also remove cupertinostreamingrepeater as you're not using it in this scenario, I think.

    Jason

  3. #3

    Default

    I removed the cupertinostreamingrepeater and that does get me as far as onHTTPSessionCreate, but Wowza thinks the stream is a static file and not a live stream and bombs out.

    WARN server comment 2334 MediaReaderH264.open[1]: java.io.FileNotFoundException: /mnt/wowza/content/2334 (No such file or directory)
    ERROR server comment - MediaReaderH264Cupertino.indexFile:java.lang.NullPointerException
    The stream already had RTMP listeners when I tried connecting above. What else do I need to do to enable packetization/get enough data? I get the impression this should be working more-or-less out of the box so I'm pretty sure there's something weird going on.

  4. #4

    Default

    Note: my application on the edge server has the stream type "live". I'm starting the mediacaster streams using appInstance.startMediaCasterStream(streamname, "liverepeater") for the liverepeater-origin streams, and (.., "shoutcast") for the shoutcast streams.

    Sound ok?

  5. #5

    Default

    Any ideas about this?

  6. #6
    Join Date
    Sep 2011
    Posts
    1,933

    Default

    Hi
    Have you checked the set-up you configured against the tutorial here,
    http://www.wowza.com/forums/content....-stop-a-stream
    This might point out a simple error that was overlooked.

    I would start by adding debug that picks out published stream names to the module you're using to see if you can spot anything out of the ordinary.
    Post the results from the debug and we can take a look.

    Does Mediacaster publish the stream name you are looking for?

    Jason

  7. #7
    Join Date
    Dec 2007
    Posts
    21,962

    Default

    Reading the top post, I don't quite understand. What are you doing and expecting on the edge? onHTTPSessionCreate should run on the edge if a client plays a cupertino stream from the edge.

    http://www.wowza.com/forums/content....-and-San-Jose)

    Richard

  8. #8

    Default

    Ok I'm trying to figure this out. Let me start with a basic question.

    I have an edge server where I am creating streams with Stream.createInstance. The source can vary - either shoutcast or liverepeater, but the stream is always streaming from some other origin server.

    To allow iOS playback, on the edge server application config file would I need to include cupertinostreamingpacketizer, cupertinostreamingrepeater, or neither?

  9. #9
    Join Date
    Dec 2007
    Posts
    21,962

    Default

    If the origins are always Wowza servers, then you can packetize in the origin application with /LiveStreamPacketizers "cupertinostreamingpacketizer", then on the edge use "cupertinostreamingrepeater". But you have shoutcast servers, so this won't work.

    In your case you should packetize on the edge. So set the edge Application.xml /LiveStreamPacketizers to "cupertinostreamingpacketizer"

    You might want to use .stream files on the edge to contain the urls to different sources.

    Richard

  10. #10

    Default

    Thank you, that explains the packetization system nicely.

    The root of this is that I'm trying to get dynamically created streams (Stream.createInstance()) to work with iOS.

    I'm having the problem where the first iOS client can't connect and receives a Stream Not Found error. Subsequent requests connect successfully.

    Is there any way to get this working? I'm experimenting with IMediaStreamNameAliasProvider2 but even starting the stream in the resolve method doesn't seem to fix the problem.

    I'd be happy for the first client to hear silence for ten seconds, or stream from a different source and then switch. But not send a Stream Not Found/404. Is there any way to get this working?

Page 1 of 2 12 LastLast

Similar Threads

  1. Stream.createInstance is not working for Cupertino
    By Renato@Voitel in forum General Forum
    Replies: 1
    Last Post: 06-20-2012, 12:34 PM

Posting Permissions

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