Store all your videos on Amazon S3 in a bucket. Then use Amazon CloudFront for CDN of those S3 videos.
For the application server itself, split that up into a few small servers, DB server, Cache server, and application server... If you need load balancing then get a load balancing server, and scale up as many application servers as needed to spread the load from the load balancing server.
You can probably hit about 3 application servers comfortably before you need to then start scaling your DB server into a master / slave setup.
By the time any of that is needed, you should be handling a fuck bucket of traffic.
