I want to create a program that will stream video from my USB webcam over the internet to a web page.
Currently, I use a webservice that when triggered, calls fswebcam
to capture an image, save to data store, convert to base64 binary and send that data over to the HTML page where it is rendered into the 'src' attribute of 'img'. The HTML page has JavaScript that calls this service once per second.
As you can tell this is a horrible way to do this. I would rather have a proper stream if I can. But I don't know what technologies are available to achieve this.
The webservice is written in nodeJS
. The server is running on a raspberry pi 2
. I didn't put this question in the raspberry pi forum
because I think it's a general Linux/programming
issue.
Rather than using the Raspberry Pi camera module, you can use a standard USB webcam to take pictures and video on the Raspberry Pi. Note that the quality and configurability of the camera module is highly superior to a standard USB webcam.
Use a framework like livecam.
Webcam live-streaming solution using GStreamer and Node.js
This module allows you to stream your webcam over a network to be consumed by your browser and/or streamed to a file. See documentation for more inforamtion.
Usage:
// npm install livecam
const LiveCam = require('livecam');
const webcam_server = new LiveCam({
'start' : function() {
console.log('WebCam server started!');
}
});
webcam_server.broadcast();
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With