Stream from friend to friend program easy to make?

So I'm trying to put together a small team or single individual to develop an extremely simple program that streams video from one single user to one other. The streamed video can be live or pre-recorded. I would imagine since its directly user to user there is no need for server interaction, but my knowledge here is limited.

So my question is. Is it possible for a single programmer to write a program that can send real time video from one friend to another friend?

Example:
I go to the friends list of the program and select Bob. I click 'stream from...' then it allows me to pick from my web cam, or a saved file on the hard drive. I pick 'hard drive' and start streaming him a video of me cooking some food.

I realize that sending Bob a single file or using YouTube etc. would be more efficient. But I'm trying to prove the logic here.

I'm aware of bandwidth limitations, quality, etc. The main concern is, can a single programmer be hired to create a “seemingly” simple friends list with a stream video option within a time frame of roughly 6 months or less.

Again, please don’t suggest other options. I’m well aware of them. This is for a project I’m putting together so I need to know if its possible to do on a small scale or requires a massive team with a huge budget.

Should be possible for one skilled programmer to do what you want in less than a day. Bob will need to run a program that listens for requests from you to play certain files, then (if it plays nicely) will alert Bob that there is an incoming stream that he can then activate.

Time depends on the features you want to add. If it really is as simple as you say then it could be just a few hours' work to write and debug the code, since most of it is already written for you anyway (particularly if you use Java). If you want to create your own video player with lots of bells and whistles then of course you will need to push the budget and team size up accordingly.

You make it sound almost a little too easy. But yes, I am trying to keep it as simple as possible for prototype purposes.

So what I'm understanding is that if you use a prexisting player that can interpret the stream coming in, it should work. Almost like your creating a file in ram that is constantly being updated by the stream, then played in the player?

If thats the case, any idea how difficult it would be to have a programmer create a player? But a VERY basic one. No play, pause, volume, nothing, just viewing it though a window that can be moved or closed.