1. A computer-implemented method comprising: accessing a feature codebook comprising a set of representative feature vectors representing at least visual properties of digital videos; identifying, in a plurality of digital videos, a plurality of candidate volumes representing spatio-temporal portions of the digital videos, wherein each of the candidate volumes corresponds to a contiguous sequence of spatial portions of the video frames having a starting time and an ending time; associating features with each candidate volume of a plurality of the identified candidate volumes, the associating comprising: identifying a plurality of temporal segments of the candidate volume; for each of the identified temporal segments: determining a feature vector from at least visual properties of the temporal segment, and associating with the temporal segment a representative feature vector from the feature codebook that is most similar to the feature vector; determining features for the candidate volume comprising at least one of: temporal relationship features, and spatial relationship features; and storing the determined features in association with the candidate volume.