Wowza Community

Re-streaming from RTMP to HTTP

Hi everyone

First of all - I am new to Wowza and if the question I ask is somewhat idiotic or it has been answered somewhere - sorry, don’t kill me :slight_smile:

I am trying to re-stream a RTMP stream to iOS device. I did my setup following the tutorials and pretty much got the stream working. But here is the interesting part - the audio was perfect, but video was very very choppy. Unfortunately I cannot demo it, because the server is internal, but to put it in words - every second you see the frames go 1,2,3,…,24 and back to the first. Then comes the next pack. Something like that.

For the sake of experiment I did setup the same input stream via ffmpeg and a segmentizer and got it working perfectly. But I am kinda curious why it doesn’t work with Wowza? Any ideas what settings I could try to play with?

I have no control over the input stream. It does come from another Wowza server. I tried accessing the m3u8 file on the original server and the result was the same - video was not good. I could not make it work with other RTMP streams (did not even get it to start - I just can’t figure what should I use for [stream-name] in the URL?!) so maybe the problem is with the input stream?

And if that sounds a bit messy I will put it this way - has anyway seen such a problem or has anyone made live rtmp->http streaming work?

Thanks to anyone who tries to help :slight_smile:

My first guess would be the h264 encoding inside the original stream. Is it the playback on the iPhone that is choppy? I would also trying playing the video with quicktime on OSX (although this may use the same HLS player as iOS) or try playing the original stream over RTSP/RTMP and making sure it looks fine there as well.

Is this a live stream and a liverepeater setup? If so, are both the origin and edge Wowza servers? If both are Wowza, make sure you are using the cupertinostreamingrepeater on the edge and cupertinostreamingpacketizer on the Origin Application.xml /LiveStreamPacketizers. If the origin is not Wowza, then use cupertinostreamingpacketizer on the edge.

Otherwise, choppiness usually means the video bitrate is more than the client network bandwidth.


If the origin is not Wowza (FMIS most likely), then still use StreamType “liverepeater-edge” but set LiveStreamPacketizers to “cupertinostreamingpacketizer”, if you want to playback on iOS. The idea is that packetizing has to happen somewhere once (only). In an all Wowza liverepeater system it is most efficient to do it in the origin, but otherwise you can do it on the edge.

To better understand Liverepeater, avoid using originURL for the moment because it obscures what the stream really is on the edge: restreamed rtmp where the actual stream name takes the form:


See this guide:


Thanks for the quick replies, didn’t expect any for at least few days :slight_smile:

The original RTMP stream is perfect.

When I play my stream in QuickTime, iPad, several iPhones or anywhere else - the result is the same

For the setup I used liverepeater-edge. I think I tried randomly few other settings (live, liverepeater-origin and etc) but no luck.

@Richard: Yes, this is a live stream an liverepeater setup. For the current experiment the source and edge are both Wowza. Yes, the packetizers and repeaters are correctly in place for that setup. However I am curious - what should the setup be if the source is not Wowza?

As for the bitrate and bandwidth: I don’t think the problem is there. I have a 40 mbps uplink to the original server, which is in the network of my ISP and I have a gigabit uplink to my experimental Wowza. And the stream is about 100kbps. The source RTMP plays fine and re-streaming with other tools results in properly working video, so network can’t be a bottleneck.

Also the way the video jumps forward and backward every second is not consistent with the choppiness you get on a slow network, so that’s another reason I doubt that’s the problem.

@Richard: If the origin is not Wowza, what should I set for StreamType? Still liverepeater-edge? Because I tried exactly that -just changing the OriginURL and the LiveStreamPacketizers, and I could not access the stream at all. What should the URL of the playlist.m3u8 file be in that case? I want to try with other source to see if the issue remains but I just can’t get that setup to work…