Video streaming services using TCP as a transport layer protocol - represented by YouTube - are becoming increasingly popular and, accordingly, have come to account for a significant portion of Internet traffic. TCP is greedy, that is, it tries to exhaust the entire bandwidth. Thus, video streaming over TCP tends to unnecessarily take bandwidth from competing traffic. In this paper, we first investigate the data transfer mechanisms of the current video streaming services using TCP and show that they perform data transfer at much higher rates than the video playback rate. We then propose a new transfer mechanism for video streaming over TCP, one that controls the data transfer rate based on the network congestion level and the amount of buffered video data at the receiver. Simulation results show that the proposed mechanism has two characteristics lacked by current video streaming over TCP, specifically a low frequency of buffer underflow at the receiver and a lack of excessive bandwidth "stealing" from competing traffic.