1. A computer-readable medium comprising computer-program instructions executable by a processor for: generating program metadata from recorded video content, the program metadata comprising one or more key-frames from one or more corresponding shots; identifying an objectively representative key-frame from the key-frames as a function of shot duration and frequency of appearance of key-frame content across multiple shots, the objectively representative key-frame being an image frame representative of the recorded video content; clustering the shots based on appearance representation to generate one or more clusters; and if a key-frame associated with a largest cluster of clusters includes a human face, then: comparing the key-frame with other key-frames that include a human face; and selecting a key-frame with a largest facial area as the objectively representative key-frame; and creating a thumbnail from the objectively representative key-frame; wherein identifying further comprises selecting the objectively representative key-frame as a further function of low motion intensity, wherein motion intensity is defined as: M = 1 M × N ⁢ ∑ i = 0 M ⁢ ⁢ ∑ j = 0 N ⁢ ⁢ dx i , j 2 + dy i , j 2 , wherein dx ij and dy ij are components of a motion vector along an x-axis and y-axis respectively, and M and N are the width and height of a motion vector field respectively; wherein identifying further comprises selecting the objectively representive key frame as a further function of image quality goodness, wherein image quality goodness is determined by: G=α·C+β·σ, wherein C is a colorfulness measure defined by color histogram entropy, σ is a contrast measure computed as a standard deviation of a color histogram, and α and β are weights for colorfulness and contrast respectively, and wherein generating further comprises: decomposing the recorded video content into multiple shots; deriving a set of sub-shots from each of the multiple shots; and for each set of sub-shots, identifying a respective key-frame of the key-frames.