There are numerous different possible ways for a video stream to be done. Generally video is streamed over a UDP streaming format such as RTMP or something similar. It can also sometimes use a series of individual pictures (particularly common when refresh rate is not that high, such as IP security cameras.)
In the case of a home device acting as the source, a connection would have to be made between the client device and the home device, possibly using a third party server to help get across any firewalls or dynamic IPs. The information would then be streamed the same way as any live stream technology. The video would have to be encoded on the stream server and then passed to the client.
The reliability of the service would depend entirely on Internet connection speed of both the client and the server. Streaming video at any kind of significant quality is a very bandwidth intensive activity and most residential connections are not capable of the necessary upload speeds for high quality video, though standard definition may be possible. Higher end connections can cover HD speeds though.
As for multiple users, within a local network, multicast can be used to distribute UDP packets of a stream to multiple users, however, across the public Internet, multicast is not possible. An individual connection has to be made to each client and the content must be sent once for each client. (Two clients takes twice the bandwidth requirement of one.) With sufficient bandwidth, there is no reason the packets can't be independently streamed to both, but that goes beyond the limits of just about all consumer Internet connections.