LabVIEW Web Development Documents

cancel
Showing results for 
Search instead for 
Did you mean: 

Motion JPEG over HTTP - Multiple Access

 

This is a improvement done in the Motion JPEG over HTTP shared at "Example of streaming images over Internet. Single image, java script auto refresh and Motion JPEG" post. In this version, multiple browsers can receive the MJPEG stream at same time, however the performance is fairly system dependency. There is a benchmark attached comparing cRIO-9068 and cRIO-9033 streaming to 10 browsers.

 

Project content 

 

Startup VI (cam_grab.vi) is responsible to initialize resources, monitor the Web Service status, grab, compress and store images in a ring buffer (FIFO based), and close resources if the Web Service be stopped or Stop button pressed.

startup vi

 

HTTP_MJPEG.vi is a GET HTTP Method configured as Stream Output Type and deselected the “Use Headers” to LabVIEW Web Services not include the HTTP Headers, because it uses a non native HTTP MIME Type for stream MJPEG images over HTTP.


Ref1: https://en.wikipedia.org/wiki/Motion_JPEG#M-JPEG_over_HTTP
Ref2: http://www.ietf.org/rfc/rfc2616.txt

 

get method

 

 

 

OBS: MJPEG over HTTP is not supported by Internet Explorer natively, it is required to install an add-on, at least when I tested it. I didn’t investigate much though.


How to run
1. Open the project
2. Right-click on “myWebService” and select “Start”
3. Right-click on "HTTP_MJPEG.vi" and select “Show URL Method…”
4. Copy this URL in an Internet Browser


Final considerations

Dependencies: NI Vision Acquisition Software, LabVIEW 2016

 

Contributors