A method performed by one or more data processing apparatus, the method comprising: receiving: (i) an input video comprising a sequence of video frames, and (ii) data indicating a target object type; processing the input video to generate tracking data that identifies and tracks visual locations of one or more instances of target objects of the target object type in the input video; generating a plurality of sub-videos based on the input video and the tracking data, including: for each sub-video, generating a respective sequence of sub-video frames that are each extracted from a respective video frame of the input video to include a respective instance of a given target object from among the identified target objects of the target object type, wherein at least one of the sub-video frames is cropped from a respective video frame of the input video to include less than all content of the respective video frame; and generating an output video that comprises the plurality of sub-videos, wherein for each sub-video, generating the respective sequence of sub-video frames comprises: determining, based on the tracking data, a same bounding box that encloses the instance of the given target object corresponding to the sub-video in each of multiple video frames of the input video, comprising determining the dimensions and position of the same bounding box such that the given target object is enclosed by the same bounding box in each of the multiple video frames; and cropping the same bounding box from each of the multiple video frames of the input video. receiving: (i) an input video comprising a sequence of video frames, and (ii) data indicating a target object type; processing the input video to generate tracking data that identifies and tracks visual locations of one or more instances of target objects of the target object type in the input video; generating a plurality of sub-videos based on the input video and the tracking data, including: for each sub-video, generating a respective sequence of sub-video frames that are each extracted from a respective video frame of the input video to include a respective instance of a given target object from among the identified target objects of the target object type, wherein at least one of the sub-video frames is cropped from a respective video frame of the input video to include less than all content of the respective video frame; and generating an output video that comprises the plurality of sub-videos, wherein for each sub-video, generating the respective sequence of sub-video frames comprises: determining, based on the tracking data, a same bounding box that encloses the instance of the given target object corresponding to the sub-video in each of multiple video frames of the input video, comprising determining the dimensions and position of the same bounding box such that the given target object is enclosed by the same bounding box in each of the multiple video frames; and cropping the same bounding box from each of the multiple video frames of the input video. determining, based on the tracking data, a same bounding box that encloses the instance of the given target object corresponding to the sub-video in each of multiple video frames of the input video, comprising determining the dimensions and position of the same bounding box such that the given target object is enclosed by the same bounding box in each of the multiple video frames; and cropping the same bounding box from each of the multiple video frames of the input video.