This course explains the basic principles and current applications of video streaming. A primary goal of the course is to reveal the underlying mechanisms and techniques shared by all networked video applications. In addition, the relevant parts of related networking protocols, e.g., TCP, UDP, and the latest video codec (H.264/AVC) properties will be explained. A classification of networked video applications, from video-on-demand to interactive video, will be presented together with their specific problems and the current solutions. The emphasis will be on the transport layer techniques including packetization issues, loss recovery, delay jitter removal, synchronization and multiplexing. Real-time Transport Protocol (RTP/RTCP) will be presented in detail. Examples will be given from the popular video streaming solutions available today either under proprietary offerings or as open source solutions. Technologists and managers who are considering deploying video streaming solutions or evaluating relative merits of existing technologies will benefit from this course.