A markerless system, the system including: (i) a video camera; (ii) sensors including an accelerometer and a gyro sensing over six degrees of freedom; (iii) two witness cameras forming a stereoscopic system; and (iv) a processor; for mixing or compositing in real-time, computer generated 3D objects and a video feed from the video camera, to generate real-time augmented reality video for TV broadcast, cinema or video games, in which: (a) the body of the video camera can be moved in 3D and the sensors in or attached directly or indirectly to the video camera provide real-time positioning data defining the 3D position and 3D orientation of the video camera, or enabling the 3D position and 3D orientation of the video camera to be calculated; (b) the two witness cameras forming the stereoscopic system are fixed directly or indirectly to the video camera; (c) the system is configured to use that real-time positioning data automatically to create, recall, render or modify computer generated 3D objects; (d) the system is configured to mix in or to composite the resulting computer generated 3D objects with the video feed from the video camera to provide augmented reality video for TV broadcast, cinema or video games; and in which: (e) the system is configured to determine the 3D position and orientation of the video camera with reference to a 3D map of the real-world, wherein the system is configured to generate the 3D map of the real-world, at least in part, by using the real-time 3D positioning data from the sensors plus an optical flow in which the two witness cameras forming the stereoscopic system survey a scene, and in which software running on the processor is configured to detect natural markers in the scene that have not been manually or artificially added to that scene; (f) the system is configured to use a constant velocity model associated with the real-time 3D positioning data from the sensors to predict a next position of the video camera using a previously correctly computed or confirmed position, and the system is configured to use that prediction to project a 3D point cloud onto a current witness camera frame, and to use a point matching algorithm to match points identified in a real-time video feed from the stereoscopic system and projected points in the projected 3D point cloud. (i) a video camera; (ii) sensors including an accelerometer and a gyro sensing over six degrees of freedom; (iii) two witness cameras forming a stereoscopic system; and (iv) a processor; (a) the body of the video camera can be moved in 3D and the sensors in or attached directly or indirectly to the video camera provide real-time positioning data defining the 3D position and 3D orientation of the video camera, or enabling the 3D position and 3D orientation of the video camera to be calculated; (b) the two witness cameras forming the stereoscopic system are fixed directly or indirectly to the video camera; (c) the system is configured to use that real-time positioning data automatically to create, recall, render or modify computer generated 3D objects; (d) the system is configured to mix in or to composite the resulting computer generated 3D objects with the video feed from the video camera to provide augmented reality video for TV broadcast, cinema or video games; (e) the system is configured to determine the 3D position and orientation of the video camera with reference to a 3D map of the real-world, wherein the system is configured to generate the 3D map of the real-world, at least in part, by using the real-time 3D positioning data from the sensors plus an optical flow in which the two witness cameras forming the stereoscopic system survey a scene, and in which software running on the processor is configured to detect natural markers in the scene that have not been manually or artificially added to that scene; (f) the system is configured to use a constant velocity model associated with the real-time 3D positioning data from the sensors to predict a next position of the video camera using a previously correctly computed or confirmed position, and the system is configured to use that prediction to project a 3D point cloud onto a current witness camera frame, and to use a point matching algorithm to match points identified in a real-time video feed from the stereoscopic system and projected points in the projected 3D point cloud.