Band Codes: controlled complexity network coding for peer-to-peer video streaming