<< Click to display table of contents >>
TRVCamera works with cameras: searches, configures, receives a video stream, saves or plays a video file.
Unit [VCL and LCL] MRVCamera;
Unit [FMX] fmxMRVCamera;
TRVCamera = class(TRVVideoSource)
A video received by TRVCamera can be displayed in TRVCamView or TRVCamMultiView components. The camera movement is controlled by TRVCamControl component or by the viewer itself.
TRVCamera can be assigned as a VideoSource to TRVCamSender.
You can record video from TRVCamera using TRVCamRecorder.
TRVCamera can receive video from the following sources:
•IP camera from the network (MJPEG, updated JPEG, set of JPEG files updated in a cycle, H.264 streams**)
•RTSP* (MJPEG streams, H.264 streams, AVI and MP4 files containing H.264 and MPEG-4 Part 2 video data)
•HTTP (MJPEG streams, H.264 streams*, AVI and MP4 files containing H.264 and MPEG-4 Part 2 video data*)
•USB web camera;
•file (if the necessary codec is installed);
•video frames provided in an event.
You can choose the video source using DeviceType property. After assigning necessary properties (depending on the source type), call PlayVideoStream.
Video can be recorded to a MJPEG file and played from a MJPEG file.
* requires either GStreamer or FFmpeg
** requires FFmpeg
If video is received using FFmpeg (from IP camera, RTSP or HTTP video stream, or a local file), sound can be read by TRVCamSound component linked to this TRVCamera component.
If video is received from a local file using DirectX, sound is played directly on the default audio output device.
In Lazarus, this component must have a windowed control as an owner: you can place it on a form, but you cannot place it on a datamodule.
If the component is created with Owner = nil, it assigns the main form as an owner.