Back in 2000-01 I had a box at home hosting a webcam pointed at my cats' food bowls. I was working a lot so I liked to see them. I could also make sure they still had food when I had an extended 36 hour work session. It just pulled still frames. I never did work out streaming.
I installed an X10 module and wired it up to a CGI so I could turn on the lamp by the bowls when it was dark. The click of the relay would reliably bring the cats to investigate. Hit the page, see blackness. Press the "Turn on light" button. Refresh the page and see the light on. Count to 30, refresh again, and one or two cats would be in the frame sniffing around the relay and food bowls.
Going back to BBS days:
I wrote a BBS "door" for a friend's board that captured a 320x200 frame from a composite video feed, stored it as a 16 color grayscale GIF, and sent it to the caller via Zmodem.
The frame grabber had some a crappy command-line program that required a keypress to initiate capture. I hacked the program to NOP out the loop and just immediately capture.
At 9600 baud or higher the download time for the GIF was pretty tolerable-- 30 seconds or less. If I recall properly GIF89 had better compression and sped things up a bit too.
The composite video feed came a surveillance camera in gym my friend ran downstairs. I added a call to a command-line VOC file player to play a chime out the speakers in the gym couple seconds before the capture began.
Later we added an option to allow the caller to upload a VOC file to be played in the gym and optionally receive 5 seconds of recorded audio from the gym along with their video frame.
Fun times.