Live streaming and video on demand face challenges in providing quality service over the internet. The key issues are quality of service due to network instability and degraded performance when serving large numbers of users. While peer-to-peer architectures can help solve issues of limited server resources, they introduce challenges such as ensuring sufficient upload bandwidth from peers and maintaining stable connectivity. Additional issues include firewalls and internet service provider throttling impacting streaming quality, and challenges in peer discovery and storage overhead in peer-to-peer video on demand systems. Addressing these architectural and performance issues is important for providing the best experience of streaming and video on demand services.