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
      98    
    95 97    
    94 96 TP  
11 95 93 95 15 80
10 94 92 94 14.1 79
9 93 91 93 14 78
8 92 90 92 13.1 77
Show all
7 91 89 91 13 76
6 90 88 90 12.1 75
5.5 89 87 89 12 74
  88 86 88 11.1 73
  87 85 87 11 72
  86 84 86 10.1 71
  85 83 85 10 70
  84 82 84 9.1 69
  83 81 83 9 68
  81 80 81 8 67
  80 79 80 7.1 66
  79 78 79 7 65
  18 77 78 6.1 64
  17 76 77 6 63
  16 75 76 5.1 62
  15 74 75 5 60
  14 73 74 4 58
  13 72 73 3.2 57
  12 71 72 3.1 56
    70 71   55
    69 70   54
    68 69   53
    67 68   52
    66 67   51
    65 66   50
    64 65   49
    63 64   48
    62 63   47
    61 62   46
    60 61   45
    59 60   44
    58 59   43
    57 58   42
    56 57   41
    55 56   40
    54 55   39 (1,2,*)
    53 54   38 (1,2,*)
    52 53   37 (1,2,*)
    51 52 (1,2,*)   36 (1,2,*)
    50 51 (1,2,*)   35 (1,2,*)
    49 50 (1,2,*)   34 (1,2,*)
    48 49 (1,2,*)   33 (1,2,*)
    47 48 (1,2,*)   32 (1,2,*)
    46 47 (1,2,*)   31 (1,2,*)
    45 46 (1,2,*)   30 (1,2,*)
    44 45 (1,2,*)   29 (1,2,*)
    43 44 (1,2,*)   28 (1,2,*)
    42 43 (1,2,*)   27 (1,2,*)
    41 (1) 42 (1,2,*)   26 (1,2,*)
    40 (1) 41 (1,2,*)   25 (1,2,*)
    39 (1) 40 (1,2,*)   24 (1,2,*)
    38 (1) 39 (1,2,*)   23 (1,2,*)
    37 (1) 38 (1,2,*)   22 (1,2,*)
    36 (1) 37 (1,2,*)   21 (1,2,*)
    35 (1,2,*) 36 (1,2,*)   20 (1,2,*)
    34 (1,2,*) 35 (1,2,*)   19 (1,2,*)
    33 (1,2,*) 34 (1,2,*)   18 (1,2,*)
    32 (1,2,*) 33 (1,2,*)   17
    31 (1,2,*) 32 (1,2,*)   16
    30 (1,2,*) 31 (1,2,*)   15
    29 (1,2,*) 30 (1,2,*)   12.1 (1,2,*)
    28 (1,2,*) 29 (1,2,*)   12 (1,2,*)
    27 (1,2,*) 28 (1,2,*)   11.6
    26 (1,2,*) 27 (1,2,*)   11.5
    25 (1,2,*) 26 (1,2,*)   11.1
    24 (1,2,*) 25 (1,2,*)   11
    23 (1,2,*) 24 (1,2,*)   10.6
    22 (1,2,*) 23 (1,2,*)   10.5
    21 (1,2,*) 22 (1,2,*)   10.0-10.1
    20 (1,2,*) 21 (1,2,*)   9.5-9.6
    19 (1,2,*) 20   9
    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 (3) all 94 10 (1,2,*) 64 94 92 11 12.12 15.0 10.4 7.12 (1,2,*) 2.5
14.5-14.8 (3)   4.4.3-4.4.4 7 12.1 (1,2,*)     10   14.0      
14.0-14.4 (3)   4.4   12 (1,2,*)         13.0      
13.4-13.7 (3)   4.2-4.3   11.5         12.0      
Show all
13.3 (3,4)   4.1   11.1         11.1-11.2      
13.2 (3,4)   4   11         10.1      
13.0-13.1 (3,4)   3   10         9.2      
12.2-12.5 (3,4)   2.3             8.2      
12.0-12.1 (3,4)   2.2             7.2-7.4      
11.3-11.4 (3,4)   2.1             6.2-6.4      
11.0-11.2 (3,4)                 5.0-5.4 (1,2,*)      
10.3                 4 (1,2,*)      
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