Use deepstream.io, gives added layers of security and is super customisable and crazy fast.
You will also need a lib for webRTC on the frontend, unless you want to build your own. There are many out there on github/gitlab.
Yes, if you're looking at a webapp then you will defo need to use webRTC. If you use webRTC, and you're only sending it to the other people connected on the webapp then there's no real need for some kind of media server to handle streams. webRTC is point to point. The thing you definitely need is just signalling, so that you know where to send the webRTC to, i.e. the watchers.
So having a link is a good idea, and you can just do what twitch does, by going to a URL of the broadcasters channel and then just send them the stream.
You're also thinking about this at an interesting time due to safari just picking up webRTC too. So you'll have a wider range of devices and browsers to target - this has it's inherent issues remember though.
Look at deepstream's documentation to understand how pub/sub, events, channels and rpc's work. Yea, you could use pusher it might be easier initially but personally I start with the stack I intend to continue with, even if the learning curve is steeper. Of course, the stack has to fit the problem to solve. Definitely also look at some webRTC resources.
Enjoy, hope this helped. :)