Multimedia content distribution is one of the most popular services available on the Internet, and several approaches have been developed to satisfy user requirements and reduce server load. IP multicast is one efficient mechanism for distributing content to multiple users with minimal server and network loads. Because its single stream of data is transmitted simultaneously to multiple users, IP multicast is well-suited for real-time broadcasting. However, it is difficult to offer on-demand multimedia services with IP multicast in which users request content without synchronization. In this paper, we propose an on-demand based multimedia delivery system using IP multicast. In our system, the multimedia server starts multicasting content upon receiving the first content request. Subsequent users then join the multicast session at any time during the transmission. The content that subsequent users have missed is provided by the users (peers) that joined earlier, or by server unicasts. To minimize server load, we quantitatively analyzed the optimal multicast starting point. Through simulation, we show that our proposed system outperforms prior related systems based on peer-to-peer delivery and multicasting.