We have a client for whom we're helping set up a system to sell access to multimedia content through their web site. Virtually all of the media will be streaming, so the goal is to simply sell access to particular nodes on the site where they'll keep the protected content.
Ubercart has a handy module for taking care of all of this. It's called the UC Node Access module.
Once installed, the store admin can add a "Node access" feature to a product that gives the purchaser access to a particular node. Access can be granted indefinitely, through a given future date, or for a set period of time.
You can even add multiple "Node access" features to a single product to give the purchaser access to multiple nodes with a single purchase.