1. A method of adding a virtual insertion to an input video sequence, comprising: searching the input video sequence for reference features within a plurality of input images, the reference features being dynamic and stored in a reference feature database; extracting features from a first input image, a plurality of extracted features being dynamic and the input image being contained in the input video sequence; associating the extracted features with reference features in the reference feature database; generating a camera model based on the associations between the extracted features and the reference features; refining the camera model based on further extracted features from further input images; mixing a virtual insertion into the video sequence based on the refined camera model; and outputting an output video sequence containing the virtual insertion.