getUserMedia/Stream API

Method of accessing external device data (such as a webcam video stream). Formerly this was envisioned as the <device> element.

Spec https://www.w3.org/TR/mediacapture-streams/
Status W3C Candidate Recommendation
IE Edge Firefox Chrome Safari Opera
      103    
    100 102    
    99 101 TP  
11 99 98 100 15.4 83
10 98 97 99 15.2-15.3 82
9 97 96 98 15.1 81
8 96 95 97 15 80
Show all
7 95 94 96 14.1 79
6 94 93 95 14 78
5.5 93 92 94 13.1 77
  92 91 93 13 76
  91 90 92 12.1 75
  90 89 91 12 74
  89 88 90 11.1 73
  88 87 89 11 72
  87 86 88 10.1 71
  86 85 87 10 70
  85 84 86 9.1 69
  84 83 85 9 68
  83 82 84 8 67
  81 81 83 7.1 66
  80 80 81 7 65
  79 79 80 6.1 64
  18 78 79 6 63
  17 77 78 5.1 62
  16 76 77 5 60
  15 75 76 4 58
  14 74 75 3.2 57
  13 73 74 3.1 56
  12 72 73   55
    71 72   54
    70 71   53
    69 70   52
    68 69   51
    67 68   50
    66 67   49
    65 66   48
    64 65   47
    63 64   46
    62 63   45
    61 62   44
    60 61   43
    59 60   42
    58 59   41
    57 58   40
    56 57   39 (1,2,*)
    55 56   38 (1,2,*)
    54 55   37 (1,2,*)
    53 54   36 (1,2,*)
    52 53   35 (1,2,*)
    51 52 (1,2,*)   34 (1,2,*)
    50 51 (1,2,*)   33 (1,2,*)
    49 50 (1,2,*)   32 (1,2,*)
    48 49 (1,2,*)   31 (1,2,*)
    47 48 (1,2,*)   30 (1,2,*)
    46 47 (1,2,*)   29 (1,2,*)
    45 46 (1,2,*)   28 (1,2,*)
    44 45 (1,2,*)   27 (1,2,*)
    43 44 (1,2,*)   26 (1,2,*)
    42 43 (1,2,*)   25 (1,2,*)
    41 (1) 42 (1,2,*)   24 (1,2,*)
    40 (1) 41 (1,2,*)   23 (1,2,*)
    39 (1) 40 (1,2,*)   22 (1,2,*)
    38 (1) 39 (1,2,*)   21 (1,2,*)
    37 (1) 38 (1,2,*)   20 (1,2,*)
    36 (1) 37 (1,2,*)   19 (1,2,*)
    35 (1,2,*) 36 (1,2,*)   18 (1,2,*)
    34 (1,2,*) 35 (1,2,*)   17
    33 (1,2,*) 34 (1,2,*)   16
    32 (1,2,*) 33 (1,2,*)   15
    31 (1,2,*) 32 (1,2,*)   12.1 (1,2,*)
    30 (1,2,*) 31 (1,2,*)   12 (1,2,*)
    29 (1,2,*) 30 (1,2,*)   11.6
    28 (1,2,*) 29 (1,2,*)   11.5
    27 (1,2,*) 28 (1,2,*)   11.1
    26 (1,2,*) 27 (1,2,*)   11
    25 (1,2,*) 26 (1,2,*)   10.6
    24 (1,2,*) 25 (1,2,*)   10.5
    23 (1,2,*) 24 (1,2,*)   10.0-10.1
    22 (1,2,*) 23 (1,2,*)   9.5-9.6
    21 (1,2,*) 22 (1,2,*)   9
    20 (1,2,*) 21 (1,2,*)    
    19 (1,2,*) 20    
    18 (1,2,*) 19    
    17 (1,2,*) 18    
    16 17    
    15 16    
    14 15    
    13 14    
    12 13    
    11 12    
    10 11    
    9 10    
    8 9    
    7 8    
    6 7    
    5 6    
    4 5    
    3.6 4    
    3.5      
    3      
    2      
Safari on iOS Opera Mini Android Browser Blackberry Browser Opera Mobile Android Chrome Android Firefox IE Mobile Android UC Browser Samsung Internet QQ Browser Baidu Browser KaiOS Browser
15.4 (3) all 99 10 (1,2,*) 64 100 98 11 12.12 16.0 10.4 7.12 (1,2,*) 2.5
15.2-15.3 (3)   4.4.3-4.4.4 7 12.1 (1,2,*)     10   15.0      
15.0-15.1 (3)   4.4   12 (1,2,*)         14.0      
14.5-14.8 (3)   4.2-4.3   11.5         13.0      
Show all
14.0-14.4 (3)   4.1   11.1         12.0      
13.4-13.7 (3)   4   11         11.1-11.2      
13.3 (3,4)   3   10         10.1      
13.2 (3,4)   2.3             9.2      
13.0-13.1 (3,4)   2.2             8.2      
12.2-12.5 (3,4)   2.1             7.2-7.4      
12.0-12.1 (3,4)                 6.2-6.4      
11.3-11.4 (3,4)                 5.0-5.4 (1,2,*)      
11.0-11.2 (3,4)                 4 (1,2,*)      
10.3                        
10.0-10.2                        
9.3                        
9.0-9.2                        
8.1-8.4                        
8                        
7.0-7.1                        
6.0-6.1                        
5.0-5.1                        
4.2-4.3                        
4.0-4.1                        
3.2                        

Notes

As of Chrome 47, the getUserMedia API cannot be called from insecure origins.

  1. Blink-based (and some other) browsers support an older version of the spec that does not use srcObject. See Chromium issue 387740.

  2. Supports the older spec's navigator.getUserMedia API, not the newer navigator.mediaDevices.getUserMedia one.

  3. Before iOS 14.3 getUserMedia returned no video input devices in UIWebView or WKWebView, but only directly in Safari.

  4. Does not work in standalone running ("installed") PWAs.

* Partial support with prefix.

Bugs

  • Until version 12.16, Opera supported video context only.

  • getUserMedia() is not supported by default in Android webviews, such as Facebook or Snapchat in-app browsers.

Resources

Data by caniuse.com
Licensed under the Creative Commons Attribution License v4.0.
https://caniuse.com/stream