A video processing system (210, 600) comprising: a data store storing a first video and a second video that is associated with the first video, wherein the first video is a model episode in a series and the second video is a test episode in the series, the test episode being different to the model episode; and a computer processor coupled to the data store and programmed to identify a common segment in the second video and, in response to receiving a request for the test episode from a client computer, send data to the client computer indicating that the client computer need not download the common segment in the second video, wherein the common segment in the second video is a credit segment or title segment of the second video, wherein the computer processor is programmed to identify the common segment by: retrieving metadata relating to the first video, the metadata indicating that a segment of the first video is a model segment, wherein the model segment is a credit segment or a title segment; generating a model fingerprint of the first video, based on pixels in a boundary frame in the model segment of the first video stored in the data store and a number of faces detected in the boundary frame, the boundary frame being indicated by the metadata; generating a test fingerprint of the second video based on pixels in a test frame in the second video stored in the data store and a number of faces detected in the test frame; determining a closeness value between the model fingerprint and the test fingerprint by aggregating a closeness value for a color distribution of the pixels in the boundary frame and the test frame and a closeness value for the number of faces detected in boundary frame and the test frame; comparing the closeness value between the model fingerprint and the test fingerprint with a threshold value; and based on the comparison, determining whether the test frame is a boundary of the common segment in the second video. a data store storing a first video and a second video that is associated with the first video, wherein the first video is a model episode in a series and the second video is a test episode in the series, the test episode being different to the model episode; and a computer processor coupled to the data store and programmed to identify a common segment in the second video and, in response to receiving a request for the test episode from a client computer, send data to the client computer indicating that the client computer need not download the common segment in the second video, wherein the common segment in the second video is a credit segment or title segment of the second video, wherein the computer processor is programmed to identify the common segment by: retrieving metadata relating to the first video, the metadata indicating that a segment of the first video is a model segment, wherein the model segment is a credit segment or a title segment; generating a model fingerprint of the first video, based on pixels in a boundary frame in the model segment of the first video stored in the data store and a number of faces detected in the boundary frame, the boundary frame being indicated by the metadata; generating a test fingerprint of the second video based on pixels in a test frame in the second video stored in the data store and a number of faces detected in the test frame; determining a closeness value between the model fingerprint and the test fingerprint by aggregating a closeness value for a color distribution of the pixels in the boundary frame and the test frame and a closeness value for the number of faces detected in boundary frame and the test frame; comparing the closeness value between the model fingerprint and the test fingerprint with a threshold value; and based on the comparison, determining whether the test frame is a boundary of the common segment in the second video. retrieving metadata relating to the first video, the metadata indicating that a segment of the first video is a model segment, wherein the model segment is a credit segment or a title segment; generating a model fingerprint of the first video, based on pixels in a boundary frame in the model segment of the first video stored in the data store and a number of faces detected in the boundary frame, the boundary frame being indicated by the metadata; generating a test fingerprint of the second video based on pixels in a test frame in the second video stored in the data store and a number of faces detected in the test frame; determining a closeness value between the model fingerprint and the test fingerprint by aggregating a closeness value for a color distribution of the pixels in the boundary frame and the test frame and a closeness value for the number of faces detected in boundary frame and the test frame; comparing the closeness value between the model fingerprint and the test fingerprint with a threshold value; and based on the comparison, determining whether the test frame is a boundary of the common segment in the second video.