We consider streaming video content over an overlay network of peer nodes. We propose a novel streaming strategy that is built on utility-based packet scheduling and proportional resource sharing in order to fight against free- riders. Each of the peers employs a mesh-pull mechanism to organize the download of media packets from its neighbours. For efficient resource utilization, data units are requested from neighbours based on their utility. The packet utility is driven by both its importance for the video reconstruction quality at the receiving peer and its popularity within the peer neighbourhood. In order to discourage free-riding in the system, requesting peers then share the upload bandwidth of a sending peer in proportion to their transmission rate to that peer . Our simulation results show that the proposed protocols increase the performance of a mesh-pull P2P streaming system. Significant improvements are registered relative to existing solutions in terms of average quality and average decoding rate.