I'm currently investigating streaming protocols and I'm a bit confused about which protocols can actually be used to publish audio and video. At this point I believe the following to be true, but I'm not sure this is all correct, so please correct me if I'm wrong:
RTMP Suitable for both publishing and playing streams.
RTSP Suitable for both publishing and playing streams.
HLS Suitable for playing streams, not suitable for publishing (http://blog.infrared5.com/2016/01/what-you-need-to-know-about-hls-pros-and-cons/)
HLS is a subscriber-only protocol. Unlike WebRTC, which has a spec for publishing from a browser, HTTP Live Streaming only supports playing streams. If you want to publish a live video stream for a device, you simply have to look for other technology to do this.
WebRTC Suitable for both publishing and playing streams.
MPEG-DASH Not sure about this one?
If a protocol is not capable of broadcasting (HLS for example), what is typically done to realise broadcasting?