Video recording tool based on FFmpeg framework. More...
#include <Image_VideoRecorder.hxx>

Data Structures | |
| struct | VideoRational |
| AVRational alias. More... | |
Public Member Functions | |
| Image_VideoRecorder () | |
| Empty constructor. | |
| virtual | ~Image_VideoRecorder () |
| Destructor. | |
| void | Close () |
| Close the stream - stop recorder. | |
| Standard_Boolean | Open (const char *theFileName, const Image_VideoParams &theParams) |
| Open output stream - initialize recorder. | |
| Image_PixMap & | ChangeFrame () |
| Access RGBA frame, should NOT be re-initialized outside. Note that image is expected to have upper-left origin. | |
| int64_t | FrameCount () const |
| Return current frame index. | |
| Standard_Boolean | PushFrame () |
| Push new frame, should be called after Open(). | |
Public Member Functions inherited from Standard_Transient | |
| Standard_Transient () | |
| Empty constructor. | |
| Standard_Transient (const Standard_Transient &) | |
| Copy constructor – does nothing. | |
| Standard_Transient & | operator= (const Standard_Transient &) |
| Assignment operator, needed to avoid copying reference counter. | |
| virtual | ~Standard_Transient () |
| Destructor must be virtual. | |
| virtual const opencascade::handle< Standard_Type > & | DynamicType () const |
| Returns a type descriptor about this object. | |
| Standard_Boolean | IsInstance (const opencascade::handle< Standard_Type > &theType) const |
| Returns a true value if this is an instance of Type. | |
| Standard_Boolean | IsInstance (const Standard_CString theTypeName) const |
| Returns a true value if this is an instance of TypeName. | |
| Standard_Boolean | IsKind (const opencascade::handle< Standard_Type > &theType) const |
| Returns true if this is an instance of Type or an instance of any class that inherits from Type. Note that multiple inheritance is not supported by OCCT RTTI mechanism. | |
| Standard_Boolean | IsKind (const Standard_CString theTypeName) const |
| Returns true if this is an instance of TypeName or an instance of any class that inherits from TypeName. Note that multiple inheritance is not supported by OCCT RTTI mechanism. | |
| Standard_Transient * | This () const |
| Returns non-const pointer to this object (like const_cast). For protection against creating handle to objects allocated in stack or call from constructor, it will raise exception Standard_ProgramError if reference counter is zero. | |
| Standard_Integer | GetRefCount () const noexcept |
| Get the reference counter of this object. | |
| void | IncrementRefCounter () noexcept |
| Increments the reference counter of this object. | |
| Standard_Integer | DecrementRefCounter () noexcept |
| Decrements the reference counter of this object; returns the decremented value. | |
| virtual void | Delete () const |
| Memory deallocator for transient classes. | |
Protected Member Functions | |
| TCollection_AsciiString | formatAvError (const int theError) const |
| Wrapper for av_strerror(). | |
| Standard_Boolean | addVideoStream (const Image_VideoParams &theParams, const Standard_Integer theDefCodecId) |
| Append video stream. theParams[in] video parameters theDefCodecId[in] identifier of codec managed by FFmpeg library (AVCodecID enum) | |
| Standard_Boolean | openVideoCodec (const Image_VideoParams &theParams) |
| Open video codec. | |
| Standard_Boolean | writeVideoFrame (const Standard_Boolean theToFlush) |
| Write new video frame. | |
Protected Attributes | |
| AVFormatContext * | myAVContext |
| video context | |
| AVStream * | myVideoStream |
| video stream | |
| AVCodec * | myVideoCodec |
| video codec | |
| AVFrame * | myFrame |
| frame to record | |
| SwsContext * | myScaleCtx |
| scale context for conversion from RGBA to YUV | |
| Image_PixMap | myImgSrcRgba |
| input RGBA image | |
| VideoRational | myFrameRate |
| video framerate | |
| int64_t | myFrameCount |
| current frame index | |
Additional Inherited Members | |
| typedef void | base_type |
| Returns a type descriptor about this object. | |
| static constexpr const char * | get_type_name () |
| Returns a type descriptor about this object. | |
| static const opencascade::handle< Standard_Type > & | get_type_descriptor () |
| Returns type descriptor of Standard_Transient class. | |
Video recording tool based on FFmpeg framework.
| Image_VideoRecorder::Image_VideoRecorder | ( | ) |
Empty constructor.
|
virtual |
Destructor.
|
protected |
Append video stream. theParams[in] video parameters theDefCodecId[in] identifier of codec managed by FFmpeg library (AVCodecID enum)
|
inline |
Access RGBA frame, should NOT be re-initialized outside. Note that image is expected to have upper-left origin.
| void Image_VideoRecorder::Close | ( | ) |
Close the stream - stop recorder.
|
protected |
Wrapper for av_strerror().
|
inline |
Return current frame index.
| Standard_Boolean Image_VideoRecorder::Open | ( | const char * | theFileName, |
| const Image_VideoParams & | theParams ) |
Open output stream - initialize recorder.
| [in] | theFileName | video filename |
| [in] | theParams | video parameters |
|
protected |
Open video codec.
|
inline |
Push new frame, should be called after Open().
|
protected |
Write new video frame.
|
protected |
video context
|
protected |
frame to record
|
protected |
current frame index
|
protected |
video framerate
|
protected |
input RGBA image
|
protected |
scale context for conversion from RGBA to YUV
|
protected |
video codec
|
protected |
video stream