Live Video Streaming Remotely over Internet
Block Diagram :
Working of the Project:
Raspberry PI is configured as Server which continuously transmits Video as Mpeg format through Deamon process at background with the help of Motion library, Standard USB Webcam is configured as /dev/video0 device to capture video and hence transmission is dont through TCP protocols with a IP & Port number, A .net application to receive the video through TCP Protocol and preview the live stream through ozeik SDK Library. By connecting to the IP & port number of the server ,Client Live Mpeg Viewer gets the live stream online.Usually in TCP/IP protocol all transmissions are done as strings, and for live video transmission images are taken continuously with 30 fps and transmitted through TCP/IP by conversion in to base64 string and received in Client side, and then they get decoded back to images through base64
library and displayed as video.
Motion Library:
Motion is a program that monitors the video signal from one or more cameras and is able to detect if a significant part of the picture has changed;In other words, it can detect motion.
The program is written in C and is made for the Linux operating system, (using the video4linux interface). Motion is a command line based tool whose output can be either jpeg, ppm fies or mpeg video sequences. Motion is strictly command line driven and can run as a daemon with a rather small footprint and do
Motion, a software motion detector, is a free, open source CCTV software application developed for Linux.It can monitor video signal from one or more cameras and is able to detect if a significant part of the picture has changed saving away video when it detects
that motion is occurring (it can also do time lapse videos, et al.).The program is written in C and is made for Linux (exploiting video4linux interface). Motion is a command line based tool whose output can be either jpeg, netpbm files or mpeg video sequences. It is strictly command line driven and can run as a daemon with a rather small footprint and low CPU usage.
It is operated mainly via config files, though the end video streams can be viewed from a web browser. It can also call to user configurable "triggers" when certain events occur.
Webcam Server
Motion has simple webcam server built in. The video stream is in mjpeg format.
Each thread can have its own webcam server. If you enable the webcam server (option webcam_port to a number different from 0) and you have more than one camera,
you must make sure to include webcam_port in each thread config file and set webcam_port to different and unique port numbers or zero (disable). Otherwise each webcam server will use the setting from the motion.conf file and try to bind to the same port.
If the webcam_port numbers are not different from each other Motion will disable the webcam feature.Note: The webcam server feature requires that the option ppm is set to off.
The webcam_maxrate and webcam_quality options are important to limit the load on your server and link. Don't set them too high unless you only use it on the localhost or on an internal LAN. The option webcam_quality is equivalent to the quality level for jpeg pictures.
The webcam_limit option prevents people from loading your Network connection by streaming for hours and hours.The options defines the number of picture frames sent as mjpeg Motion will allow without re-connecting (e.g. clicking refresh in the browser). The option webcam_localhost is a security feature. When enabled you can only access the webserver on the same machine as Motion is running on. If you want to present a live webcam on your web site this feature must be disabled. The webserver generates a stream in "multipart jpeg" format (mjpeg). You cannot watch the stream with most browsers. Only certain versions of Netscape works. Mozilla and Firefox brosers can view the mjpeg stream but you often have to refresh the page once to get the streaming going. Internet Explorer cannot show the mjpeg stream. For public viewing this is not very useful. There exists a java applet called Cambozola which enabled any Java capable browser to show the stream. To enable the feature to a broad audience you should use this applet or similar.
For More Information:
Please Feel free to put a request to gvjselva@gmail.com
EMBEDDED DEAMONS
www.vjece.blogspot.in
Block Diagram :
Working of the Project:
Raspberry PI is configured as Server which continuously transmits Video as Mpeg format through Deamon process at background with the help of Motion library, Standard USB Webcam is configured as /dev/video0 device to capture video and hence transmission is dont through TCP protocols with a IP & Port number, A .net application to receive the video through TCP Protocol and preview the live stream through ozeik SDK Library. By connecting to the IP & port number of the server ,Client Live Mpeg Viewer gets the live stream online.Usually in TCP/IP protocol all transmissions are done as strings, and for live video transmission images are taken continuously with 30 fps and transmitted through TCP/IP by conversion in to base64 string and received in Client side, and then they get decoded back to images through base64
library and displayed as video.
Motion Library:
Motion is a program that monitors the video signal from one or more cameras and is able to detect if a significant part of the picture has changed;In other words, it can detect motion.
The program is written in C and is made for the Linux operating system, (using the video4linux interface). Motion is a command line based tool whose output can be either jpeg, ppm fies or mpeg video sequences. Motion is strictly command line driven and can run as a daemon with a rather small footprint and do
Motion, a software motion detector, is a free, open source CCTV software application developed for Linux.It can monitor video signal from one or more cameras and is able to detect if a significant part of the picture has changed saving away video when it detects
that motion is occurring (it can also do time lapse videos, et al.).The program is written in C and is made for Linux (exploiting video4linux interface). Motion is a command line based tool whose output can be either jpeg, netpbm files or mpeg video sequences. It is strictly command line driven and can run as a daemon with a rather small footprint and low CPU usage.
It is operated mainly via config files, though the end video streams can be viewed from a web browser. It can also call to user configurable "triggers" when certain events occur.
Webcam Server
Motion has simple webcam server built in. The video stream is in mjpeg format.
Each thread can have its own webcam server. If you enable the webcam server (option webcam_port to a number different from 0) and you have more than one camera,
you must make sure to include webcam_port in each thread config file and set webcam_port to different and unique port numbers or zero (disable). Otherwise each webcam server will use the setting from the motion.conf file and try to bind to the same port.
If the webcam_port numbers are not different from each other Motion will disable the webcam feature.Note: The webcam server feature requires that the option ppm is set to off.
The webcam_maxrate and webcam_quality options are important to limit the load on your server and link. Don't set them too high unless you only use it on the localhost or on an internal LAN. The option webcam_quality is equivalent to the quality level for jpeg pictures.
The webcam_limit option prevents people from loading your Network connection by streaming for hours and hours.The options defines the number of picture frames sent as mjpeg Motion will allow without re-connecting (e.g. clicking refresh in the browser). The option webcam_localhost is a security feature. When enabled you can only access the webserver on the same machine as Motion is running on. If you want to present a live webcam on your web site this feature must be disabled. The webserver generates a stream in "multipart jpeg" format (mjpeg). You cannot watch the stream with most browsers. Only certain versions of Netscape works. Mozilla and Firefox brosers can view the mjpeg stream but you often have to refresh the page once to get the streaming going. Internet Explorer cannot show the mjpeg stream. For public viewing this is not very useful. There exists a java applet called Cambozola which enabled any Java capable browser to show the stream. To enable the feature to a broad audience you should use this applet or similar.
For More Information:
Please Feel free to put a request to gvjselva@gmail.com
EMBEDDED DEAMONS
www.vjece.blogspot.in