Class LibavStreamerBase

Inheritance Relationships

Base Type

Derived Types

Class Documentation

class LibavStreamerBase : public web_video_server::streamers::ImageTransportStreamerBase

A common base class for all streaming plugins using image_transport to subscribe to image topics and libav to encode and stream video.

Subclassed by web_video_server::streamers::H264Streamer, web_video_server::streamers::Vp8Streamer, web_video_server::streamers::Vp9Streamer

Public Functions

LibavStreamerBase(const async_web_server_cpp::HttpRequest &request, async_web_server_cpp::HttpConnectionPtr connection, rclcpp::Node::WeakPtr node, std::string logger_name, const std::string &format_name, const std::string &codec_name, const std::string &content_type)
~LibavStreamerBase()

Protected Functions

virtual void initialize_encoder() = 0
virtual void send_image(const cv::Mat&, const std::chrono::steady_clock::time_point &time)
virtual void initialize(const cv::Mat&)

Protected Attributes

AVFormatContext *format_context_
const AVCodec *codec_
AVCodecContext *codec_context_
AVStream *video_stream_
AVDictionary *opt_