How do I configure origin/edge live streaming to provide HLS to iOS devices?
I have a server that acts as origin/balancer and multiple servers that act as edges. I now have a requirement to deliver HLS to iOS clients. I am guessing I have to use the Transcoder AddOn. My questions are:
I know at least for RTMP, the client flash player receives a redirect to the least loaded edge. For HLS, how will this work with the balancer? More specifically, how will the IOS client be notified as to which edge it needs to connect to receive HLS stream?
All I know about HLS protocol is that it breaks apart the video into .ts files and clients loads m3u8 to play the .ts chunks over HTTP. How does Wowza deliver HLS in a origin/balancer, edge setup?
Note that the standard LiveStreamPacketizers that are used on the origin, but there are repeater packetizers that are used on the edge. Also, you can remove packetizers that you are not going to use. In your case you only need cupertinostreamingpacketizer on the origin and cupertinostreamingrepeater on the edge.
Is mpegts.stream the name of a stream started on the origin? And are you using the method of specify an origin application with rtmp url in conf/liveedge/Application.xml /originURL ?
If so, I think the .stream file in this context might be a problem. Do this instead, create a .stream file on the edge, name it origin.stream and make the contents the actual origin stream name, which is full rtmp url to the origin application + stream name
What live encoder are you using? What is the audio and video codec? Are you starting the stream in StreamManager on the origin?
If you still don't have this working we can take a look. First, stop the origin and edge and rename or delete the current access log in both. Then re-start both the origin and edge. Then start the encoder and start the stream on the origin in StreamManager. Then test playback in iOS on the edge.
Then zip up and send the conf and logs folder for the origin, and separately the conf and logs folders from the edge to
email@example.com. The logs folders only needs to contain the current access and error log that show the testing.'
The application named "live" should use StreamType "liverepeater-edge". For rtmp playback, if the origin stream is working, that should be all you need to play public.stream if contains the rtmp url to the origin stream, as you have shown. What happens when you try? Make sure it is not named public.stream.txt