Wireless video broadcasting has experienced much growth in recent years. In video broadcasting, packet loss is inevitable due to dynamic channel condition. To address this, we study peer-to-peer (P2P) error recovery. In our system, a mobile station (MS) may generate some parity packets based on its received source packets and share them by broadcasting to its neighbors via a secondary channel (e.g., Wi-Fi or Bluetooth). With parity packets from its neighbors, an MS can effectively repair its lost packets locally. An important problem is to minimize the total number of parity packets generated while achieving a certain residual loss rate at the MSs. We first formulate the problem as a linear program which can be solved efficiently as the optimal performance of the system. We then propose a novel and fully distributed algorithm based on only local information at clients. Simulation results show that our distributed solution achieves high recovery efficiency and fast convergence. It generates very low recovery traffic and high video quality. Its performance is very close to the optimal solution based on centralized approach with complete network information.