We're looking for a user researcher to understand the needs of developers and designers. Is this you or someone you know? Check out the post: https://mzl.la/2IGzdXS

CameraControl.getPreviewStream Redirect 1

This feature is non-standard and is not on a standards track. Do not use it on production sites facing the Web: it will not work for every user. There may also be large incompatibilities between implementations and the behavior may change in the future.


This method is used to configure and access a MediaStream from the camera. The resulting stream is ready for you to use to capture still photos.

Note: The stream you get using this method is only suitable for capturing still photos. If you want to record video, you must call CameraControl.getPreviewStreamVideoMode() instead.


CameraControl.getPreviewStream(options, onsuccess[, onerror]);


An object containing two properties: width and height. This object must be equal to one of the objects available through CameraCapabilities.previewSizes
A callback function that accepts one parameter. This parameter is a MediaStream object, ready for use in capturing still images.
onerror Optional
A callback function that accepts an error string as parameter; it's called if an error occurs while attempting to obtain the MediaStream.


This example gets a MediaStream suitable for capturing stills and begins playing the preview stream.

var display = document.getElementsByTagName('video')[0];
var options = {
  camera: navigator.mozCameras.getListOfCameras()[0]

function onStreamReady( stream ) {
  display.mozSrcObject = stream;

function onAccessCamera( camera ) {
  var size = camera.capabilities.previewSizes[0];

  camera.getPreviewStream(size, onStreamReady);

navigator.mozCameras.getCamera(options, onAccessCamera)


Not part of any specification; however, this API should be removed when the WebRTC Capture and Stream API has been implemented.

See also

Document Tags and Contributors

Last updated by: Sheppy,