WPILibC++  2019.3.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
cs::HttpCamera Class Reference

A source that represents a MJPEG-over-HTTP (IP) camera. More...

#include <cscore_oo.h>

Inheritance diagram for cs::HttpCamera:
cs::VideoCamera cs::VideoSource cs::AxisCamera

Public Types

enum  HttpCameraKind { kUnknown = CS_HTTP_UNKNOWN, kMJPGStreamer = CS_HTTP_MJPGSTREAMER, kCSCore = CS_HTTP_CSCORE, kAxis = CS_HTTP_AXIS }
 
- Public Types inherited from cs::VideoCamera
enum  WhiteBalance {
  kFixedIndoor = 3000, kFixedOutdoor1 = 4000, kFixedOutdoor2 = 5000, kFixedFluorescent1 = 5100,
  kFixedFlourescent2 = 5200
}
 
- Public Types inherited from cs::VideoSource
enum  Kind { kUnknown = CS_SOURCE_UNKNOWN, kUsb = CS_SOURCE_USB, kHttp = CS_SOURCE_HTTP, kCv = CS_SOURCE_CV }
 
enum  ConnectionStrategy { kConnectionAutoManage = CS_CONNECTION_AUTO_MANAGE, kConnectionKeepOpen = CS_CONNECTION_KEEP_OPEN, kConnectionForceClose = CS_CONNECTION_FORCE_CLOSE }
 Connection strategy. More...
 

Public Member Functions

 HttpCamera (const wpi::Twine &name, const wpi::Twine &url, HttpCameraKind kind=kUnknown)
 Create a source for a MJPEG-over-HTTP (IP) camera. More...
 
 HttpCamera (const wpi::Twine &name, const char *url, HttpCameraKind kind=kUnknown)
 Create a source for a MJPEG-over-HTTP (IP) camera. More...
 
 HttpCamera (const wpi::Twine &name, const std::string &url, HttpCameraKind kind=kUnknown)
 Create a source for a MJPEG-over-HTTP (IP) camera. More...
 
 HttpCamera (const wpi::Twine &name, wpi::ArrayRef< std::string > urls, HttpCameraKind kind=kUnknown)
 Create a source for a MJPEG-over-HTTP (IP) camera. More...
 
template<typename T >
 HttpCamera (const wpi::Twine &name, std::initializer_list< T > urls, HttpCameraKind kind=kUnknown)
 Create a source for a MJPEG-over-HTTP (IP) camera. More...
 
HttpCameraKind GetHttpCameraKind () const
 Get the kind of HTTP camera. More...
 
void SetUrls (wpi::ArrayRef< std::string > urls)
 Change the URLs used to connect to the camera.
 
template<typename T >
void SetUrls (std::initializer_list< T > urls)
 Change the URLs used to connect to the camera.
 
std::vector< std::string > GetUrls () const
 Get the URLs used to connect to the camera.
 
- Public Member Functions inherited from cs::VideoCamera
void SetBrightness (int brightness)
 Set the brightness, as a percentage (0-100).
 
int GetBrightness ()
 Get the brightness, as a percentage (0-100).
 
void SetWhiteBalanceAuto ()
 Set the white balance to auto.
 
void SetWhiteBalanceHoldCurrent ()
 Set the white balance to hold current.
 
void SetWhiteBalanceManual (int value)
 Set the white balance to manual, with specified color temperature.
 
void SetExposureAuto ()
 Set the exposure to auto aperature.
 
void SetExposureHoldCurrent ()
 Set the exposure to hold current.
 
void SetExposureManual (int value)
 Set the exposure to manual, as a percentage (0-100).
 
- Public Member Functions inherited from cs::VideoSource
 VideoSource (const VideoSource &source)
 
 VideoSource (VideoSource &&other) noexcept
 
VideoSourceoperator= (VideoSource other) noexcept
 
 operator bool () const
 
int GetHandle () const
 
bool operator== (const VideoSource &other) const
 
bool operator!= (const VideoSource &other) const
 
Kind GetKind () const
 Get the kind of the source.
 
std::string GetName () const
 Get the name of the source. More...
 
std::string GetDescription () const
 Get the source description. More...
 
uint64_t GetLastFrameTime () const
 Get the last time a frame was captured. More...
 
void SetConnectionStrategy (ConnectionStrategy strategy)
 Sets the connection strategy. More...
 
bool IsConnected () const
 Is the source currently connected to whatever is providing the images?
 
bool IsEnabled () const
 Gets source enable status. More...
 
VideoProperty GetProperty (const wpi::Twine &name)
 Get a property. More...
 
std::vector< VideoPropertyEnumerateProperties () const
 Enumerate all properties of this source.
 
VideoMode GetVideoMode () const
 Get the current video mode.
 
bool SetVideoMode (const VideoMode &mode)
 Set the video mode. More...
 
bool SetVideoMode (VideoMode::PixelFormat pixelFormat, int width, int height, int fps)
 Set the video mode. More...
 
bool SetPixelFormat (VideoMode::PixelFormat pixelFormat)
 Set the pixel format. More...
 
bool SetResolution (int width, int height)
 Set the resolution. More...
 
bool SetFPS (int fps)
 Set the frames per second (FPS). More...
 
bool SetConfigJson (wpi::StringRef config)
 Set video mode and properties from a JSON configuration string. More...
 
bool SetConfigJson (const wpi::json &config)
 Set video mode and properties from a JSON configuration object. More...
 
std::string GetConfigJson () const
 Get a JSON configuration string. More...
 
wpi::json GetConfigJsonObject () const
 Get a JSON configuration object. More...
 
double GetActualFPS () const
 Get the actual FPS. More...
 
double GetActualDataRate () const
 Get the data rate (in bytes per second). More...
 
std::vector< VideoModeEnumerateVideoModes () const
 Enumerate all known video modes for this source.
 
CS_Status GetLastStatus () const
 
std::vector< VideoSinkEnumerateSinks ()
 Enumerate all sinks connected to this source. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from cs::VideoSource
static std::vector< VideoSourceEnumerateSources ()
 Enumerate all existing sources. More...
 
- Protected Member Functions inherited from cs::VideoCamera
 VideoCamera (CS_Source handle)
 
- Protected Member Functions inherited from cs::VideoSource
 VideoSource (CS_Source handle)
 
- Protected Attributes inherited from cs::VideoSource
CS_Status m_status = 0
 
CS_Source m_handle
 

Detailed Description

A source that represents a MJPEG-over-HTTP (IP) camera.

Constructor & Destructor Documentation

cs::HttpCamera::HttpCamera ( const wpi::Twine name,
const wpi::Twine url,
HttpCameraKind  kind = kUnknown 
)
inline

Create a source for a MJPEG-over-HTTP (IP) camera.

Parameters
nameSource name (arbitrary unique identifier)
urlCamera URL (e.g. "http://10.x.y.11/video/stream.mjpg")
kindCamera kind (e.g. kAxis)
cs::HttpCamera::HttpCamera ( const wpi::Twine name,
const char *  url,
HttpCameraKind  kind = kUnknown 
)
inline

Create a source for a MJPEG-over-HTTP (IP) camera.

Parameters
nameSource name (arbitrary unique identifier)
urlCamera URL (e.g. "http://10.x.y.11/video/stream.mjpg")
kindCamera kind (e.g. kAxis)
cs::HttpCamera::HttpCamera ( const wpi::Twine name,
const std::string &  url,
HttpCameraKind  kind = kUnknown 
)
inline

Create a source for a MJPEG-over-HTTP (IP) camera.

Parameters
nameSource name (arbitrary unique identifier)
urlCamera URL (e.g. "http://10.x.y.11/video/stream.mjpg")
kindCamera kind (e.g. kAxis)
cs::HttpCamera::HttpCamera ( const wpi::Twine name,
wpi::ArrayRef< std::string >  urls,
HttpCameraKind  kind = kUnknown 
)
inline

Create a source for a MJPEG-over-HTTP (IP) camera.

Parameters
nameSource name (arbitrary unique identifier)
urlsArray of Camera URLs
kindCamera kind (e.g. kAxis)
template<typename T >
cs::HttpCamera::HttpCamera ( const wpi::Twine name,
std::initializer_list< T >  urls,
HttpCameraKind  kind = kUnknown 
)
inline

Create a source for a MJPEG-over-HTTP (IP) camera.

Parameters
nameSource name (arbitrary unique identifier)
urlsArray of Camera URLs
kindCamera kind (e.g. kAxis)

Member Function Documentation

HttpCamera::HttpCameraKind cs::HttpCamera::GetHttpCameraKind ( ) const
inline

Get the kind of HTTP camera.

Autodetection can result in returning a different value than the camera was created with.


The documentation for this class was generated from the following files: