title: RTMP vs RTSP/RTP: Which to choose for an interactive livestream?
body: <p>If you are trying to develop an interactive livestream application, you rely on ultra low (real-time) latency. For example for a video conference or a remote laboratory. </p>
  
  <p>The two protocols, which should be suitable for this circumstances are:</p>
  
  <ul>
  <li>RTSP, while transmitting the data over RTP</li>
  <li>RTMP</li>
  </ul>
  
  <p><em>*WebRTC: As I'm trying to give a bigger audience the possibility to interact with each other, WebRTC is not suitable. Because as far as I know it is not designed for a bigger audience.</em></p>
  
  <p><strong>My questions:</strong></p>
  
  <ol>
  <li><p>Which one should I choose for this use-case? RTSP/RTP or RTMP? </p></li>
  <li><p>Which protocol delivers better results regarding <strong>end-to-end latency</strong>, session start-up time? </p></li>
  <li><p>Which one consumes more hardware resources? </p></li>
  <li><p>RTMP seems to use a persistent TCP connection. But which protocol is used for the transmission? It cannot be TCP, because this could not ensure real-time latency?</p></li>
  <li><p>What are in general the pros and cons for using either of the protocols?</p></li>
  </ol>
  
  <p>I did not find any comparison of these two protocols in scientific papers or books. Only that the famous mobile live-streaming app Periscope is using RTMP.</p>
  
  <p><em>Other apps like Instagram or Facebook are for example providing text-based interaction with the streamer. <strong>If developers want to build the next "killer application" based on interactive live-streams: I think this question is essential to answer.</em></strong> </p>