How to Integrate Webcam using JavaScript on HTML5 ?

In this article, we will share a very simple JavaScript code snippet through which you can easily integrate your webcam into an HTML5 web page. Now, a day most of the website provides real-time webcam integration for profile picture upload or any account verification step.

First, create an HTML DOM structure using the following code snippet. To integrate webcam with webpage we will use HTML <video> tag. We will use Bootstrap and jQuery to make our web page interactive.

<video id="video" width="100%" height="100%" autoplay></video>

Example: This example uses HTML5, Bootstrap, JavaScript and jQuery to Integrate Webcam with the page.

filter_none

edit
close

play_arrow

link
brightness_4
code

<!DOCTYPE html>
<html lang="en">
  
<head>
    <title>
        How to Integrate Webcam using
        JavaScript on HTML5 ?
    </title>
    <link rel="stylesheet" href="css/style.css">
    <link href=
            rel="stylesheet">
  
    <script src=
    type="text/javascript">
  
    </script>
  
    <script src=
    </script>
</head>
  
<body>
    <div class="container">
        <div class="row">
            <div class="col-sm-12">
                <div class="card">
                    <h5 class="card-header h5 text-center">
                        HTML 5 & JS live Cam
                    </h5>
                    <div class="card-body">
                        <div class="booth">
                            <video id="video" width="100%" 
                                height="100%" autoplay>
                            </video>
                        </div>
  
                        <div class="text-right">
                            <a href="#!" class="btn btn-danger" 
                                onClick="stop()">
                                Stop Cam
                            </a>
                            <a href="#!" class="btn btn-success"
                                onClick="start()">
                                Start Cam
                            </a>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
  
    <script>
        var stop = function () {
            var stream = video.srcObject;
            var tracks = stream.getTracks();
            for (var i = 0; i < tracks.length; i++) {
                var track = tracks[i];
                track.stop();
            }
            video.srcObject = null;
        }
        var start = function () {
            var video = document.getElementById('video'),
                vendorUrl = window.URL || window.webkitURL;
            if (navigator.mediaDevices.getUserMedia) {
                navigator.mediaDevices.getUserMedia({ video: true })
                    .then(function (stream) {
                        video.srcObject = stream;
                    }).catch(function (error) {
                        console.log("Something went wrong!");
                    });
            }
        }
        $(function () {
            start();
        });  
    </script>
</body>
  
</html>

chevron_right


Output:

Git source: https://github.com/gauravnewton/html5-js-live-cam

full-stack-img




My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.