The popularity of video sharing over the Internet has increased significantly. High traffic generated by such applications at the source can be better distributed using a peer-to-peer (P2P) overlay. Unlike most P2P systems, LiveShift combines both live and on-demand video streaming -while video is transmitted through the peer-to-peer network in a live fashion, all peers participate in distributed storage. This adds the ability to replay time-shifted streams from other peers in a distributed and scalable manner. This paper describes an adaptive fully-distributed mesh-pull protocol that supports the envisioned use case and a set of policies that enable efficient usage of resources, discussing interesting trade-offs encountered. User-focused evaluation results, including both channel switching and time shifting behavior, show that the proposed system provides good quality of experience for most users, in terms of infrequent stalling, low playback lag, and a small proportion of skipped blocks in all the scenarios studied, even in presence of churn.