C# Class Accord.Video.MJPEGStream

MJPEG video source.

The video source downloads JPEG images from the specified URL, which represents MJPEG stream.

Sample usage:

// create MJPEG video source MJPEGStream stream = new MJPEGStream( "some url" ); // set event handlers stream.NewFrame += new NewFrameEventHandler( video_NewFrame ); // start the video source stream.Start( ); // ...

Some cameras produce HTTP header, which does not conform strictly to standard, what leads to .NET exception. To avoid this exception the useUnsafeHeaderParsing configuration option of httpWebRequest should be set, what may be done using application configuration file.

<configuration> <system.net> <settings> <httpWebRequest useUnsafeHeaderParsing="true" /> </settings> </system.net> </configuration>
Inheritance: IVideoSource
Show file Open project: accord-net/framework Class Usage Examples

Public Methods

Method Description
MJPEGStream ( ) : System

Initializes a new instance of the MJPEGStream class.

MJPEGStream ( string source ) : System

Initializes a new instance of the MJPEGStream class.

SignalToStop ( ) : void

Signal video source to stop its work.

Signals video source to stop its background thread, stop to provide new frames and free resources.

Start ( ) : void

Start video source.

Starts video source and return execution to caller. Video source object creates background thread and notifies about new frames with the help of NewFrame event.

Stop ( ) : void

Stop video source.

Stops video source aborting its thread.

Since the method aborts background thread, its usage is highly not preferred and should be done only if there are no other options. The correct way of stopping camera is signaling it stop and then waiting for background thread's completion.

WaitForStop ( ) : void

Wait for video source has stopped.

Waits for source stopping after it was signalled to stop using SignalToStop method.

Private Methods

Method Description
Free ( ) : void

Free resource.

WorkerThread ( ) : void

Method Details

MJPEGStream() public method

Initializes a new instance of the MJPEGStream class.
public MJPEGStream ( ) : System
return System

MJPEGStream() public method

Initializes a new instance of the MJPEGStream class.
public MJPEGStream ( string source ) : System
source string URL, which provides MJPEG stream.
return System

SignalToStop() public method

Signal video source to stop its work.
Signals video source to stop its background thread, stop to provide new frames and free resources.
public SignalToStop ( ) : void
return void

Start() public method

Start video source.
Starts video source and return execution to caller. Video source object creates background thread and notifies about new frames with the help of NewFrame event.
Video source is not specified.
public Start ( ) : void
return void

Stop() public method

Stop video source.

Stops video source aborting its thread.

Since the method aborts background thread, its usage is highly not preferred and should be done only if there are no other options. The correct way of stopping camera is signaling it stop and then waiting for background thread's completion.

public Stop ( ) : void
return void

WaitForStop() public method

Wait for video source has stopped.
Waits for source stopping after it was signalled to stop using SignalToStop method.
public WaitForStop ( ) : void
return void