Video streaming is becoming more mainstream as the availability of Internet and bandwidth is increasing. At the same time, the surge in computational power in laptops and stationary computers for home use has caused persistent 3D online worlds to gain momentum, and these worlds are now big contenders in the entertainment industry.
Recently, we have also seen the start of a synergy of online virtual worlds and video streaming. The need to stream video into the online 3D environment has come into existence to enable live advertising to strengthen the revenue from games, and to further expand the experience by having playback of movies and other video feeds in complex 3D environments.
In this thesis, we discuss ways of optimizing the bandwidth usage at the application layer when streaming video into virtual worlds. We propose that clients pass messages to the server containing the currently needed video quality, and thereby not waste bandwidth by streaming video with a quality that is greater than the user is able to perceive. The client must at all times measure the limitations posed by distance and angle from the video source within the 3D environment to the user’s viewpoint. It must then predict the movement of the viewpoint, and send a signal to the server of the needed quality. The server should then (if it is able to fulﬁll the request) process the signal accordingly, so that only the minimum amount of bandwidth for an optimal user experience is used.
The possibility of the proposed approach has been measured by using a prototype client, implemented using OGRE 3D and FFmpeg, and extensively testing the abilities of the test participants to perceive video content with reduced visual quality in a 3D environment. We conclude that distance and starting quality of the source video affects the ability to perceive video quality, and discuss whether this approach will aid in bringing video streaming to the virtual worlds.