It is great that wowza supports both protocols on same port. However I would like to get an opinion on whether it is the prefered method for deployment. Many networks do not allow any ports other than http so we were planning to provide rtmp on 1935 and rtmpt on 80. The movies first try the rtmp, if it is blocked the movie fails over to rtmpt. Assumption being that rtmp will be faster than rtmpt. I had a few questions regarding this.
How true is this assumption with wms? Is rtmp significantly faster than rtmpt?
Is it preferable to run rtmp and rtmpt on same port? Does that have any performance overhead?
Will I get any performance improvement by running the two protocols on different ports?
It is great that wowza supports both protocols on same port. However I would like to get an opinion on whether it is the prefered method for deployment. Many networks do not allow any ports other than http so we were planning to provide rtmp on 1935 and rtmpt on 80. The movies first try the rtmp, if it is blocked the movie fails over to rtmpt. Assumption being that rtmp will be faster than rtmpt. I had a few questions regarding this.
It is actually better to first try rtmp over port 80 then rtmpt over port 80. This way if they have port 1935 closed but 80 open and are not using stateful packet inspection then rtmp over 80 will work. Only those folks with stateful packet inspection turned on will need to use rtmpt.
How true is this assumption with wms? Is rtmp significantly faster than rtmpt?
It is a lot chattier protocol. It polls the server every 500ms looking for new content. It also adds overhead to each data send since it needs to be wrapped in an HTTP package.
Is it preferable to run rtmp and rtmpt on same port? Does that have any performance overhead?
Read my suggestion above. Running it all on the same port is not a big deal. I have done a bunch of testin comparing running on multiple ports and a single port and it does not seem to make a huge difference.
Will I get any performance improvement by running the two protocols on different ports?
Not significant and again better to run everything on 80 so that you get as many connections on port 80 as possible.
See this forum post. It describes the method for doing protocol rollover.
My suggestion would be to try rtmp over port 8080 then rtmpt over port 8080. If you think it is more likely that port 8080 is going to be open then you should also try rtmp streaming over this port as well.
Thanks for the tips. I do have almost same scheme in place for rtmp / rtmpt rollover. I had one question about it. When does the client get a connection failure as against timeout. I have seen both cases getting used, however not certain about what it means from the server access perspective. Just curious.
I see the useful code for looking for rtmp then rtmpt. What I need to configure for is a little different because I need to tun a web server on the same machine for now. What I’d like is to scan port 1935 for RTMP, then port 8080 for RTMPT. All this wile running a web server on port 80. Is this possible? If s, how do I configure for it? It appears as though the default port for rtmpt on my config is 8083?