A method of providing three-dimensional video to a legacy two-dimensional video messenger application, comprising: receiving, at a camera interface module on a computing device from the 2D video messenger application, a request for 2D video content from a single video camera, the camera interface module being a driver configured to interface the computing device with a first video camera and a second video camera, and being within a kernel space for operations performed by a processor of the computing device; forwarding the request for 2D video content from the camera interface module to a video processing offload module outside the kernel space; sending the request for 2D video content back to the camera interface module from the video processing offload module in response to receipt of the request for 2D video content from the 2D video messenger application via the camera interface module; receiving, at the camera interface module, the request for 2D video content back from the video processing offload module in response to forwarding the request to the video processing offload module; with the camera interface module, controlling the first video camera in response to receipt of the request for 2D video content from the 2D video messenger application, and controlling the second video camera in response to receipt of the request for 2D video content from the video processing offload module; receiving at the camera interface module first video content from the first video camera and second video content from the second video camera; sending the first video content and the second video content from the camera interface module to the video processing offload module; receiving at the video processing offload module the first video content and the second video content sent from the camera interface module; at the video processing offload module, merging the first video content and the second video content into three-dimensional video content; receiving the merged 3D video content at the camera interface module from the video processing offload module; and sending the merged 3D video content from the camera interface module to the 2D video messenger application in response to receipt of the merged 3D video content from the video processing offload module. receiving, at a camera interface module on a computing device from the 2D video messenger application, a request for 2D video content from a single video camera, the camera interface module being a driver configured to interface the computing device with a first video camera and a second video camera, and being within a kernel space for operations performed by a processor of the computing device; forwarding the request for 2D video content from the camera interface module to a video processing offload module outside the kernel space; sending the request for 2D video content back to the camera interface module from the video processing offload module in response to receipt of the request for 2D video content from the 2D video messenger application via the camera interface module; receiving, at the camera interface module, the request for 2D video content back from the video processing offload module in response to forwarding the request to the video processing offload module; with the camera interface module, controlling the first video camera in response to receipt of the request for 2D video content from the 2D video messenger application, and controlling the second video camera in response to receipt of the request for 2D video content from the video processing offload module; receiving at the camera interface module first video content from the first video camera and second video content from the second video camera; sending the first video content and the second video content from the camera interface module to the video processing offload module; receiving at the video processing offload module the first video content and the second video content sent from the camera interface module; at the video processing offload module, merging the first video content and the second video content into three-dimensional video content; receiving the merged 3D video content at the camera interface module from the video processing offload module; and sending the merged 3D video content from the camera interface module to the 2D video messenger application in response to receipt of the merged 3D video content from the video processing offload module.