IPTV: Streaming television over the Internet
Metadata[+] Show full item record
IPTV is the process of streaming video over a network connection like the internet. This could be the next step in television evolution. There are currently several programs and boxes that you can buy that use the internet to connect to various servers that broadcast live TV and video on demand. These systems can be expensive and usually come with a monthly fee. Because of the large amount of data required for digital media it is difficult to stream it over common internet connections without lag or a buffering process. This project investigates two ways of solving problems with IPTV technology. The first method uses real-time bitstream switching. This process should reduce the quality of the video by reducing the size of the bitstream thus allowing the video to buffer faster during times of low bandwidth. It should also switch to higher quality during times of increased bandwidth. The second problem that was investigated was how to easily and efficiently change the resolution of a video. Interpolation is the process of increasing or decreasing the size of an image by guessing what the pixels in between known pixels should look like. In video processing, interpolation is required for proper reconstruction of frames in a video using motion vectors with sub-pixel accuracy to calculate the location of most similar pixels from one frame to the next. A third task is to create a GUI implementation for the project. The GUI should have the capability to use picture in picture (PiP) and a multichannel preview. For this project, we used VLC, an open source media player, and the mp4 video file format. After modifying VLC code, we were able to switch between multiple tracks within an mp4 file, where each track has a different bit rate. Using a similar process, we were able to switch between videos at different spatial resolutions. Further modifications to VLC are required to interpolate the image in order for smooth switching of spatial resolutions. The GUI implementation uses visual C# to embed VLC, and allows the user to select video files from a streaming server to watch in a main screen and PiP format.