FFmpeg 6
Since this update, RVMedia supports the newest FFmpeg version: 6.
FFmpeg has breaking changes only in major releases. This means that all 6.x releases of FFmpeg are supported.
RVMedia still supports all old versions of FFmpeg (an available version of FFmpeg is auto-detected)
Drawing
In VCL and Lazarus version, you can choose a graphic engine for drawing video viewers (
TRVCamView.RenderMode,
TRVCamMultiView.RenderMode properties).
In FireMonkey, RVMedia always uses the form's drawing engine.
The code for drawing video viewers using various graphic engines is completely rewritten. It is removed from the video viewer units and moved to a separate painter classes.
OpenGL drawing was once supported in old VCL versions of RVMedia. RVMedia 10.2 restores, optimizes and improves OpenGL support.
Now it is available not only in VCL, but also in Lazarus version of RVMedia (Windows platform).
The main reason for using OpenGL is drawing scaled video frames with use of a graphics processing unit (GPU) instead of a central processing unit (CPU).
A new rendering mode is added:
Skia. Unlike OpenGL mode, Skia is used only for drawing video frames. All other content is still drawn using standard Windows GDI functions.
RVMedia does not turn GPU features in Skia on, so frames are still scaled using CPU (I think it does not make sense to use OpenGL via Skia, since RVMedia can use it directly).
Requirements:
- Skia4Delphi (included in Delphi 12; can be installed in older versions of Delphi, starting from XE7)
- MRVCamViewSkia unit must be added to the project
DirectX drawing is removed, since it never worked as good as it should.
TRVCamView.FrameScaleQuality now works in all rendering modes: Windows ("software"), OpenGL, Skia. You can choose fast low-quality scaling methods to reduce CPU/GPU usage.
New property:
TRVCamMultiViewer.Viewers[].AudioViewerColor defines a background color for microphone viewers (if they are displayed)
This update also includes several fixes and tweaks, such as drawing overlapping video viewers on TRVCamMultiView, and painting in high-DPI display modes.