Argus Camera Sample
Argus Camera Sample
|
Record a video from a EGL stream. More...
#include <VideoPipeline.h>
Public Member Functions | |
VideoPipeline () | |
~VideoPipeline () | |
bool | destroy () |
Destroy the video pipeline. | |
bool | setupForRecording (EGLStreamKHR videoStream, uint32_t width, uint32_t height, float frameRate, const char *fileName, VideoFormat videoFormat=VIDEO_FORMAT_H265, VideoFileType videoFileType=VIDEO_FILE_TYPE_MKV, uint32_t bitRate=0, VideoControlRateMode controlRate=VIDEO_CONTROLRATE_VARIABLE, bool enableTwoPassCBR=false) |
Setup the video pipeline for recording. | |
bool | setupForPlayback (EGLStreamKHR *videoStream, const char *fileName) |
Setup the video pipeline for playback. | |
bool | start () |
Start recording/playback. | |
bool | pause () |
Pause recording/playback. | |
bool | toggle () |
Toggle recording/playback. | |
bool | rewind () |
Rewind (playback only) | |
bool | stop () |
Stop recording/playback. | |
bool | getAspectRatio (float *aspectRatio) const |
Get the aspect ratio of the video. |
Static Public Member Functions | |
static const char * | getFileExtension (VideoFileType fileType) |
Get the file extension for a video file type. | |
static bool | isSupported () |
Get indicator of video recording being supported. |
Record a video from a EGL stream.
Definition at line 45 of file VideoPipeline.h.
Video AVC profile types, each profile indicates support for various performance bounds and different annexes.
VIDEO_AVC_PROFILE_BASELINE | |
VIDEO_AVC_PROFILE_MAIN | |
VIDEO_AVC_PROFILE_HIGH | |
VIDEO_AVC_PROFILE_HIGH444 | |
VIDEO_AVC_PROFILE_MAX |
Definition at line 100 of file VideoPipeline.h.
Video BitRate presets.
Definition at line 65 of file VideoPipeline.h.
Video Bitrate control method as per encoder properties.
Definition at line 77 of file VideoPipeline.h.
Supported video file types.
VIDEO_FILE_TYPE_MP4 | |
VIDEO_FILE_TYPE_3GP | |
VIDEO_FILE_TYPE_AVI | |
VIDEO_FILE_TYPE_MKV | |
VIDEO_FILE_TYPE_H265 |
Definition at line 87 of file VideoPipeline.h.
Supported video formats.
Definition at line 54 of file VideoPipeline.h.
ArgusSamples::VideoPipeline::VideoPipeline | ( | ) |
Definition at line 41 of file VideoPipeline.cpp.
ArgusSamples::VideoPipeline::~VideoPipeline | ( | ) |
Definition at line 49 of file VideoPipeline.cpp.
bool ArgusSamples::VideoPipeline::destroy | ( | ) |
Destroy the video pipeline.
Definition at line 625 of file VideoPipeline.cpp.
bool ArgusSamples::VideoPipeline::getAspectRatio | ( | float * | aspectRatio | ) | const |
Get the aspect ratio of the video.
The video has to be in paused or playing state.
aspectRatio | [out] |
Definition at line 665 of file VideoPipeline.cpp.
|
static |
Get the file extension for a video file type.
Definition at line 644 of file VideoPipeline.cpp.
|
static |
Get indicator of video recording being supported.
Definition at line 730 of file VideoPipeline.cpp.
bool ArgusSamples::VideoPipeline::pause | ( | ) |
Pause recording/playback.
Definition at line 518 of file VideoPipeline.cpp.
bool ArgusSamples::VideoPipeline::rewind | ( | ) |
Rewind (playback only)
Definition at line 563 of file VideoPipeline.cpp.
bool ArgusSamples::VideoPipeline::setupForPlayback | ( | EGLStreamKHR * | videoStream, |
const char * | fileName | ||
) |
Setup the video pipeline for playback.
[out] | videoStream | EGL stream |
[in] | fileName | File name |
Definition at line 400 of file VideoPipeline.cpp.
bool ArgusSamples::VideoPipeline::setupForRecording | ( | EGLStreamKHR | videoStream, |
uint32_t | width, | ||
uint32_t | height, | ||
float | frameRate, | ||
const char * | fileName, | ||
VideoFormat | videoFormat = VIDEO_FORMAT_H265 , |
||
VideoFileType | videoFileType = VIDEO_FILE_TYPE_MKV , |
||
uint32_t | bitRate = 0 , |
||
VideoControlRateMode | controlRate = VIDEO_CONTROLRATE_VARIABLE , |
||
bool | enableTwoPassCBR = false |
||
) |
Setup the video pipeline for recording.
[in] | videoStream | EGL stream to record from |
[in] | width | Width of the recorded video |
[in] | height | Height of the recorded video |
[in] | frameRate | Frame rate |
[in] | fileName | File name |
[in] | videoFormat | Video format |
[in] | videoFileType | Video file type |
[in] | bitRate | Bitrate, if 0 the bitrate will be selected depending on the resolution |
[in] | controlRate | Bit Rate control method |
[in] | enableTwoPassCBR | enables 2-pass for constant bitRate |
Definition at line 112 of file VideoPipeline.cpp.
bool ArgusSamples::VideoPipeline::start | ( | ) |
Start recording/playback.
Definition at line 487 of file VideoPipeline.cpp.
bool ArgusSamples::VideoPipeline::stop | ( | ) |
Stop recording/playback.
Definition at line 581 of file VideoPipeline.cpp.
bool ArgusSamples::VideoPipeline::toggle | ( | ) |
Toggle recording/playback.
Definition at line 538 of file VideoPipeline.cpp.