31 #ifndef OPENSHOT_WRITER_BASE_H
32 #define OPENSHOT_WRITER_BASE_H
101 virtual bool IsOpen() = 0;
104 virtual void WriteFrame(std::shared_ptr<openshot::Frame> frame) = 0;
110 std::string
Json()
const;
112 void SetJson(
const std::string value);
119 virtual void Open() = 0;
int channels
The number of audio channels used in the audio stream.
Header file for Fraction class.
WriterInfo info
Information about the current media file.
int video_bit_rate
The bit rate of the video stream (in bytes)
virtual bool IsOpen()=0
Determine if writer is open or closed.
Header file for ReaderBase class.
void SetJson(const std::string value)
Load JSON string into this object.
int64_t video_length
The number of frames in the video stream.
void DisplayInfo()
Display file information in the standard output stream (stdout)
openshot::Fraction display_ratio
The ratio of width to height of the video stream (i.e. 640x480 has a ratio of 4/3) ...
This struct contains info about encoding a media file, such as height, width, frames per second...
WriterBase()
Constructor for WriterBase class, many things are initialized here.
This abstract class is the base class, used by all readers in libopenshot.
int width
The width of the video (in pixels)
int audio_bit_rate
The bit rate of the audio stream (in bytes)
openshot::Fraction video_timebase
The video timebase determines how long each frame stays on the screen.
std::string acodec
The name of the audio codec used to encode / decode the video stream.
openshot::ChannelLayout channel_layout
The channel layout (mono, stereo, 5 point surround, etc...)
openshot::Fraction pixel_ratio
The pixel ratio of the video stream as a fraction (i.e. some pixels are not square) ...
int64_t file_size
Size of file (in bytes)
std::string Json() const
Get and Set JSON methods.
int video_stream_index
The index of the video stream.
float duration
Length of time (in seconds)
Json::Value JsonValue() const
Generate Json::Value for this object.
Header file for Frame class.
bool top_field_first
Which interlaced field should be displayed first.
This abstract class is the base class, used by writers. Writers are types of classes that encode vide...
This class represents a fraction.
Header file for ZeroMQ-based Logger class.
void SetJsonValue(const Json::Value root)
Load Json::Value into this object.
openshot::Fraction audio_timebase
The audio timebase determines how long each audio packet should be played.
int pixel_format
The pixel format (i.e. YUV420P, RGB24, etc...)
Header file for ChannelLayout class.
virtual void WriteFrame(std::shared_ptr< openshot::Frame > frame)=0
This method is required for all derived classes of WriterBase. Write a Frame to the video file...
ChannelLayout
This enumeration determines the audio channel layout (such as stereo, mono, 5 point surround...
bool interlaced_frame
Are the contents of this frame interlaced.
int sample_rate
The number of audio samples per second (44100 is a common sample rate)
bool has_video
Determines if this file has a video stream.
std::map< std::string, std::string > metadata
An optional map/dictionary of video & audio metadata.
virtual ~WriterBase()=default
This namespace is the default namespace for all code in the openshot library.
int audio_stream_index
The index of the audio stream.
bool has_audio
Determines if this file has an audio stream.
std::string vcodec
The name of the video codec used to encode / decode the video stream.
int height
The height of the video (in pixels)
void CopyReaderInfo(openshot::ReaderBase *reader)
This method copy's the info struct of a reader, and sets the writer with the same info...
openshot::Fraction fps
Frames per second, as a fraction (i.e. 24/1 = 24 fps)
bool has_single_image
Determines if this file only contains a single image.
virtual void Open()=0
Open the writer (and start initializing streams)