#include <libav_streamer.h>
Public Member Functions | |
LibavStreamer (const async_web_server_cpp::HttpRequest &request, async_web_server_cpp::HttpConnectionPtr connection, ros::NodeHandle &nh, const std::string &format_name, const std::string &codec_name, const std::string &content_type) | |
~LibavStreamer () | |
Protected Member Functions | |
virtual void | initialize (const cv::Mat &) |
virtual void | initializeEncoder () |
virtual void | sendImage (const cv::Mat &, const ros::Time &time) |
Protected Attributes | |
AVCodec * | codec_ |
AVCodecContext * | codec_context_ |
AVFormatContext * | format_context_ |
AVDictionary * | opt_ |
AVOutputFormat * | output_format_ |
AVStream * | video_stream_ |
Private Attributes | |
int | bitrate_ |
std::string | codec_name_ |
std::string | content_type_ |
boost::mutex | encode_mutex_ |
ros::Time | first_image_timestamp_ |
std::string | format_name_ |
AVFrame * | frame_ |
int | gop_ |
uint8_t * | io_buffer_ |
int | qmax_ |
int | qmin_ |
struct SwsContext * | sws_context_ |
Definition at line 24 of file libav_streamer.h.
web_video_server::LibavStreamer::LibavStreamer | ( | const async_web_server_cpp::HttpRequest & | request, |
async_web_server_cpp::HttpConnectionPtr | connection, | ||
ros::NodeHandle & | nh, | ||
const std::string & | format_name, | ||
const std::string & | codec_name, | ||
const std::string & | content_type | ||
) |
Definition at line 51 of file libav_streamer.cpp.
Definition at line 69 of file libav_streamer.cpp.
void web_video_server::LibavStreamer::initialize | ( | const cv::Mat & | img | ) | [protected, virtual] |
Reimplemented from web_video_server::ImageTransportImageStreamer.
Definition at line 103 of file libav_streamer.cpp.
void web_video_server::LibavStreamer::initializeEncoder | ( | ) | [protected, virtual] |
Reimplemented in web_video_server::Vp8Streamer, web_video_server::H264Streamer, and web_video_server::Vp9Streamer.
Definition at line 239 of file libav_streamer.cpp.
void web_video_server::LibavStreamer::sendImage | ( | const cv::Mat & | img, |
const ros::Time & | time | ||
) | [protected, virtual] |
Implements web_video_server::ImageTransportImageStreamer.
Definition at line 243 of file libav_streamer.cpp.
int web_video_server::LibavStreamer::bitrate_ [private] |
Definition at line 54 of file libav_streamer.h.
AVCodec* web_video_server::LibavStreamer::codec_ [protected] |
Definition at line 39 of file libav_streamer.h.
AVCodecContext* web_video_server::LibavStreamer::codec_context_ [protected] |
Definition at line 40 of file libav_streamer.h.
std::string web_video_server::LibavStreamer::codec_name_ [private] |
Definition at line 52 of file libav_streamer.h.
std::string web_video_server::LibavStreamer::content_type_ [private] |
Definition at line 53 of file libav_streamer.h.
boost::mutex web_video_server::LibavStreamer::encode_mutex_ [private] |
Definition at line 49 of file libav_streamer.h.
Definition at line 48 of file libav_streamer.h.
AVFormatContext* web_video_server::LibavStreamer::format_context_ [protected] |
Definition at line 38 of file libav_streamer.h.
std::string web_video_server::LibavStreamer::format_name_ [private] |
Definition at line 51 of file libav_streamer.h.
AVFrame* web_video_server::LibavStreamer::frame_ [private] |
Definition at line 46 of file libav_streamer.h.
int web_video_server::LibavStreamer::gop_ [private] |
Definition at line 57 of file libav_streamer.h.
uint8_t* web_video_server::LibavStreamer::io_buffer_ [private] |
Definition at line 59 of file libav_streamer.h.
AVDictionary* web_video_server::LibavStreamer::opt_ [protected] |
Definition at line 43 of file libav_streamer.h.
AVOutputFormat* web_video_server::LibavStreamer::output_format_ [protected] |
Definition at line 37 of file libav_streamer.h.
int web_video_server::LibavStreamer::qmax_ [private] |
Definition at line 56 of file libav_streamer.h.
int web_video_server::LibavStreamer::qmin_ [private] |
Definition at line 55 of file libav_streamer.h.
struct SwsContext* web_video_server::LibavStreamer::sws_context_ [private] |
Definition at line 47 of file libav_streamer.h.
AVStream* web_video_server::LibavStreamer::video_stream_ [protected] |
Definition at line 41 of file libav_streamer.h.