Which is better for live streaming, RTMP vs HLS

In summary, you cannot build a live streaming product/platform just based on rtmp stream as it does not address your maximum device coverage agenda.

RTMP – Low latency TCP-based protocol originally built for Flash

HLS – Proprietary Apple-backed protocol that is widely supported on many environments.

MPEG-Dash – Webstandard but carries the same faults as HLS

Both HLS & MPEG Dash are kind of medium to high latency protocols although there is scope to play with different latencies.

WebRTC – Low latency protocol, built on open standards works in almost all browsers. However it is not supported on several environments/browsers Viz. iOS, IE

In summary, you cannot build a live streaming product/platform just based on rtmp stream as it does not address your maximum device coverage agenda.

My recommendation is to use a combination of http based (HLS/MPEG-DASH) & rtmp server for input from the broadcaster and then the hls for the output to a HTML5 player, like this you have all protocols for building your solutions.