1. A method for recording programs in a location remote to users comprising: receiving, over a communications path using Internet Protocol (IP), a first record request, generated by a first user equipment, to record a first program; receiving, over the communications path using IP, an indication from the first user equipment of a video format for recording the first program; processing the first record request; scheduling a first recording of the first program for storage in a storage device, in the location remote to the users, in response to processing the first record request; recording the first program to the storage device using the indicated video format; receiving, over the communications path using IP, a first playback request for the first program from the first user equipment; processing the first playback request; causing the recorded first program to be transmitted to the first user equipment in response to processing the first playback request; receiving, over the communications path using IP, a second record request, generated by a second user equipment, to record a second program; processing the second record request; scheduling a second recording of the second program for storage in the storage device in response to processing the second record request; recording the second program to the storage device; receiving, over the communications path using IP, a second playback request for the second program from the second user equipment; processing the second playback request; and causing the recorded second program to be transmitted to the second user equipment in response to processing the second playback request.