Delivering real-time video over the Internet is an important component of many Internet multimedia applications. Transmission of real-time video has bandwidth, delay, and loss requirements. However the current Internet does not offer any quality of service (QoS) guarantees to video transmission over the Internet. In addition, the heterogeneity of the networks and end systems makes it difficult to multicast Internet video in an efficient and flexible way. Thus, designing protocols and mechanisms for Internet video transmission poses many challenges. In this paper, we take a holistic approach to these challenges and present solutions from both transport and compression perspectives. With the holistic approach, we design a framework for transporting real-time Internet video, which includes two components, namely, congestion control and error control. Specifically congestion control consists of rate control, rate-adaptive encoding, and rate shaping; error control consists of forward error correction (FEC), retransmission error resilience, and error concealment. For the design of each component in the framework, we classify approaches and summarize representative research work. We point out there exists a design space which can be explored by video application designers and suggest that the synergy of both transport and compression could provide good solutions.