1. A method of retrieving program segments comprising the steps of: enabling a user to establish content preferences; communicating the content preferences to a program provider having random access to a plurality of previously produced separate and distinct programs each having within at least one program segment having a plurality of video frames and whose content is defined in accordance with at least one of a plurality of keywords; and receiving from said program provider a plurality of program segments that are responsive to a keyword analysis of the content preferences, said plurality of program segments including a program segment retrieved from within one previously produced program and a program segment retrieved from within another previously produced program.