Page 1 of 1

RVMedia 4.0 for Delphi and Lazarus (Windows and Linux)

Posted: Sun Oct 25, 2015 5:10 pm
by Sergey Tkachenko
RVMedia 4.0

RVMedia 4.0 has been released.
This is a free update for customers who ordered RVMedia 1.x - 3.x

Trial version can be found here:
RVMedia brief description:
RVMedia online manual:

Delphi and C++Builder support

This update supports Delphi and C++Builder 10 Seattle.
There are two alternative options to install:
- Delphi packages that can be installed in Delphi (Win32 and Win64) and C++Builder (Win32 and Win64); Delphi personality is required.
- C++Builder package that can be installed in C++Builder 10 Seattle (Win32)

A help file is integrated in RAD Studio XE8 and 10 Seattle (F1-help and menu "Help | Third-Party Help")

Delphi 6 is no longer supported, the minimal required Delphi version for RVMedia is 7

Lazarus (Free Pascal)

Since this version, RVMedia can be installed in Lazarus IDE for Free Pascal.
The following platforms are supported:
- Windows
- Linux.
Yes, you can create a video chat between Windows and Linux computers.
Lazarus is supported only in the full (source code) version of RVMedia, the trial versions are only for Delphi and C++Builder.

H.264 video cameras

Previously, TRVCamera only supported H.264 video streams, if DeviceType = rvdtRTSP or rvdtHTTP (with help of FFMpeg or GStreamer). If DeviceType=rvdtIPCamera, it supported only MJPEG video streams.
Since this version, if FFmpeg is available, it supports H.264 video cameras in DeviceType=rvdtIPCamera mode. The camera detection method (SeachCamera) can search either for MJPEG or H.264 cameras, depending on VideoFormat property.

Optimization and fixes

We optimized many operations related to camera detection, sending and receiving multimedia data. You may notice that in our demos the user interface is responsive even when playing videos from high-definition sources that require a high CPU usage to process.
An integrity check for received multimedia data is improved. Special measures for keeping connections alive are added. Better processing of connections errors for video streams, etc.

Previous version

Linux notes

Posted: Sun Oct 25, 2015 5:36 pm
by Sergey Tkachenko
Linux notes

All RVMedia features are implemented both for Windows and for Linux.
Obviously, except for DirectX rendering mode. If you assign RVCamView.RenderMode=rvmrmDirectX, a software image rendering will be used.
In Linux, we highly recommend using OpenGL (RVCamView.RenderMode=rvmrmOpenGL), it is noticeably faster.

Lazarus projects are available for all our demos.
In all demos, Delphi and Lazarus projects share the same units.
- Cameras\MediaTest - it is separated into MediaTest_Delphi and MediaTest_Lazarus;
- ClientServer\Login - no versions for Lazarus yet

Lazarus projects produce files for the default platform, i.e., when compiled using Lazarus for Linux, they generate Linux applications.

The RVMedia installer is a Windows application. To use in Linux, install it on a Windows computer, then copy files to a Linux computer.
Lazarus is supported only in the full (source code) version of RVMedia, the trial versions are only for Delphi and C++Builder.

The demo "Demos\Cameras\8Cams\" in Linux

Changes in demo projects

Posted: Sun Oct 25, 2015 5:58 pm
by Sergey Tkachenko
Changes in demo projects

Changes in all demos
We updated a list of sample cameras.
We made changes for compatibility with Free Pascal.

This demo now uses "no-wait" mode for the camera-1, so there are no delays on start any more.
FramePerSec is reduced for the camera-7 (desktop)

Cameras\Filters, Cameras\MotionDetect\
Calls to Applications.ProcessMessage are removed from these demos.
Due to optimizations in RVMedia 4, the user interface is responsive without additional measures.

- image processing is performed in TRVMBitmap instead of TBitmap; it is similar, but uses 4 bytes per pixel instead of 3
- since RVMedia 4, TRVCamera.OnGetImage is called in a thread context, so we removed all access to form's controls in this event (otherwise, a deadlock was possible when stopping a camera)

This demo is separated to MediaTest_Delphi and MediaTest_Lazarus.

User interface is updated: you can see how many specific data (video, audio, files, etc.) are received from clients (the "total" may be greater than the sum of specific data, because it includes traffic for maintaining connections).

Posted: Mon Oct 26, 2015 7:29 am
by Sergey Tkachenko
If you are a Lazarus user, please post your opinion about a potential version of TRichView for Lazarus: