Multicast is not a viable technology for truly large scale deployments (more than a few hundred thousand hosts perhaps). Routers and switches do not have the required resources to maintain multicast routing/switching tables for millions of multicast sessions.
The correct way to solve the problem is to push it to the end nodes. They have much more CPU power and memory than routers and switches. The technology to do so has existed for a long time: P2P.