If user play url like “http://[edgeServerIP]/live/myStream/playlist.m3u8?wowzasessionid=xxxxx”
It will not trigger onHTTPSessionCreate.
The log is
INFO server comment - onAppStart: live/_definst_
INFO application app-start _definst_ live/_definst_
INFO server comment - onStreamCreate
INFO stream create - -
INFO server comment - MediaStreamHTTPStreamerRepeaterBuffer.initLiveStreamRepeating: receiverClass: com.wowza.wms.httpstreamer.cupertinostreaming.liverepeater.CupertinoStreamerLiveRepeaterReceiver
INFO server comment - onPublish
INFO server comment - LiveMediaStreamReceiver.connect: rtmp://[originServerIP]:1935/live/_definst_/myStream
INFO server comment - CupertinoStreamerLiveRepeaterReceiver.close: live/_definst_/myStream:myStream:cupertinostreamingpacketizer
INFO server comment - CupertinoStreamerLiveRepeaterReceiver.resetStream: live/_definst_/myStream:cupertinostreamingpacketizer
INFO server comment - onStreamCreate
INFO server comment - CupertinoStreamerLiveRepeaterReceiver.initLiveStreamPacketizer: live/_definst_/myStream:myStream:cupertinostreamingpacketizer
INFO server comment - LiveStreamPacketizerCupertino.init[live/_definst_/myStream]: chunkDurationTarget: 10000
INFO server comment - LiveStreamPacketizerCupertino.init[live/_definst_/myStream]: chunkDurationTolerance: 500
INFO server comment - LiveStreamPacketizerCupertino.init[live/_definst_/myStream]: audioGroupCount: 3
INFO server comment - LiveStreamPacketizerCupertino.init[live/_definst_/myStream]: playlistChunkCount:3
INFO server comment - MediaStreamMap.getLiveStreamPacketizer: Create live stream packetizer: cupertinostreamingpacketizer:myStream
INFO cupertino connect 235766135 -
INFO server comment - onStreamCreate
INFO server comment - MediaStreamHTTPStreamerRepeaterPlay: startPlay
INFO stream create rtmp://[originServerIP]:1935/live/_definst_/myStream
INFO stream play rtmp://[originServerIP]:1935/live/_definst_/myStream
If user play url like “http://[edgeServerIP]/live/myStream/playlist.m3u8”
It works fine.
The log is
INFO server comment - onAppStart: live/_definst_
INFO application app-start _definst_ live/_definst_
INFO server comment - onStreamCreate
INFO stream create - -
INFO server comment - MediaStreamHTTPStreamerRepeaterBuffer.initLiveStreamRepeating: receiverClass: com.wowza.wms.httpstreamer.cupertinostreaming.liverepeater.CupertinoStreamerLiveRepeaterReceiver
INFO server comment - onPublish
INFO server comment - LiveMediaStreamReceiver.connect: rtmp://[originServerIP]:1935/live/_definst_/myStream
INFO server comment - CupertinoStreamerLiveRepeaterReceiver.close: live/_definst_/myStream:myStream:cupertinostreamingpacketizer
INFO server comment - CupertinoStreamerLiveRepeaterReceiver.resetStream: live/_definst_/myStream:cupertinostreamingpacketizer
INFO server comment - onStreamCreate
INFO server comment - CupertinoStreamerLiveRepeaterReceiver.initLiveStreamPacketizer: live/_definst_/myStream:myStream:cupertinostreamingpacketizer
INFO server comment - LiveStreamPacketizerCupertino.init[live/_definst_/myStream]: chunkDurationTarget: 10000
INFO server comment - LiveStreamPacketizerCupertino.init[live/_definst_/myStream]: chunkDurationTolerance: 500
INFO server comment - LiveStreamPacketizerCupertino.init[live/_definst_/myStream]: audioGroupCount: 3
INFO server comment - LiveStreamPacketizerCupertino.init[live/_definst_/myStream]: playlistChunkCount:3
INFO server comment - MediaStreamMap.getLiveStreamPacketizer: Create live stream packetizer: cupertinostreamingpacketizer:myStream
INFO cupertino connect 1949153657 -
INFO server comment - onStreamCreate
INFO server comment - MediaStreamHTTPStreamerRepeaterPlay: startPlay
INFO stream create rtmp://[originServerIP]:1935/live/_definst_/myStream
INFO server comment - onHTTPSessionCreate: 1949153657
INFO server comment - onHTTPCupertinoStreamingSessionCreate: 1949153657
WARN server comment - reject session id: 1949153657
WARN server comment - HTTPStreamerAdapterCupertinoStreamer.onPlaylist[live/myStream/playlist.m3u8]: Session not accepted[1949153657]
Since we authorize our user in onHTTPCupertinoStreamingSessionCreate event handler, it will cause we cannot reject illegal user if they take wowzasessionid in query string.
I ran with and without wowzasessionid and both times see “INFO server comment - ModuleAccessControlHTTPStreaming.onHTTPSessionCreate[vod/definst:sample.mp4]: accept:true” in the console.
I will have to test more later today. Are you able to establish a playback session that actually plays using a made-up wowzasessionid, or one from another session?
I have been testing and I don’t think this is an issue. Wowza ignores a made-up wowzasessionid, and onHTTPCreateSession runs as necessary, in applications with StreamType live, vod and liverepeater-edge in my tests
I tried again, I cannot replicate. If I add ?wowzasessionid=1682498420 to the playlist.m3u8 in the html page, onHTTPSessionCreate still runs in a livestream-edge application.
Can you detail what is going on in your case? onHTTPSessionCreate should fire for each cupertino, smooth or sanjose session. There is a complete example here:
What version of Wowza are you running? The problem Roy discovered was fixed in Wowza 3.5.1. You can update to Wowza 3.5.2 by applying the 3x-3.5.2 patch here:
Can you detail what is going on in your case? onHTTPSessionCreate should fire for each cupertino, smooth or sanjose session. There is a complete example here:
it is the same context as explained in previous posts : in a liverepeater-edge situation, some clients access the cupertino stream using an URL in the following format :
With this URL, the onHTTPSessionCreate() is not triggered. Currently, i have no idea how they get the value of wowzasessionid (even if i shutdown and start the server, the direct URL work and does not trigger the event).