True VoD systems provide interactive on-demand video service by allocating each client a dedicated stream. Such a scheme is inefficient when the system has a large number of users. A more scalable solution is to use a combination of multicast and unicast channels with client buffering. The present paper shows the design of a VoD proxy server that accepts interactive commands from the users using unicast channels and using short unicast streams to “merge” users onto the existing multicast streams by using patching and pre-fetching technique. The VoD proxy server is augmented with a dynamic media delivery algorithm which, guarantees the media delivery without starvation or glitches, reduces the usage time of unicast channels and reduces the service time of media delivery. Performance results obtained from a real implementation show the viability of the proposed VoD server.