Page 1 of 1

RVMedia 10.3

Posted: Sat Jul 27, 2024 9:08 am
by Sergey Tkachenko
We've released RVMedia 10.3

A trial version can be downloaded from https://www.trichview.com/download/

This is a minor update, featuring several fixes and adjustments, along with a few new features.

Previous version
viewtopic.php?t=12540

RVMedia 10.3: MJpeg video

Posted: Sat Jul 27, 2024 9:09 am
by Sergey Tkachenko
MJpeg video

1. Jpeg images without a Huffman table.

Most cameras that produce MJPEG video provide frames as normal JPEG images. However, some cameras create JPEG images without a Huffman table (these images have an "AVI1" signature instead of "JFIF"). It is assumed that a default table is used. TJpegImage and other Delphi libraries cannot read such images as they are.

RVMedia 10.3 contains code that allows reading these images (currently, in VCL and Lazarus projects).

2. Ability to use Fast Jpeg Decoder.

Fast JPEG Decoder for Delphi is an open-source unit that enables reading JPEG images much faster than TJpegImage. Reading JPEGs is important for RVMedia because it is used in the following scenarios:
  • When reading MJPEG streams (usually from IP cameras).
  • When decoding data from local USB cameras that provide frames as JPEGs.
  • In TRVCamReceiver, if TRVCamSender encodes frames as JPEGs (the default setting).

This unit can only be used in Delphi 32-bit VCL projects. It is not compatible with Lazarus or C++Builder, and RVMedia does not use it for FireMonkey projects.

I conducted some tests and found that the standard TJpegImage reads large JPEGs very fast in Win64 projects, but much slower in Win32 projects (at least, on my computer). Therefore, faster reading of JPEG images would be very useful. For example, on my computer, I was able to increase the FPS of a local camera in RVMedia with Fast Jpeg Decoder to the camera's maximum 30fps (frame size 1920x1080) from 7fps using TJpegImage.

Fast JPEG Decoder is open source, and RVMedia can use it under the MPL license. This license requires the distribution of the source code of this unit with applications that use it. This is why it is not enabled by default (another reason is that it is not compatible with C++Builder, so it cannot be used in RVMedia packages that generate code for both Delphi and C++Builder).

To activate Fast JPEG Decoder, remove the dot from the line {.$DEFINE RVMUSEFASTJPEGDECODER} in Include\MRV_Defs.inc (a full source code version of RVMedia is required).

RVMedia's license has been updated to cover the use of Fast JPEG Decoder.

RVMedia 10.3: FFmpeg

Posted: Sat Jul 27, 2024 9:13 am
by Sergey Tkachenko
FFmpeg

New property TRVCamera.FFMpegProperty.NoDelay.

The NoDelay property, when set to True, enables RVMedia to play video using FFmpeg by receiving and displaying video frames as fast as possible, without any delay. This option is only applied to video without sound and not from a local file.

This option is particularly useful when displaying internet streams that are sent in real-time. It is especially important for UDP streams, which should be processed as soon as possible to avoid delays that may degrade video quality.

Default value: False.

Installer update

Posted: Fri Aug 09, 2024 12:02 pm
by Sergey Tkachenko
The setup of RVMedia for Delphi FireMonkey has been updated.
The application that installs the component in Delphi IDE has been fixed. Previously, if an IDE had Linux platform but paths for it were not configured, the IDE installer could delete Win32 package soon after creating it.

This problem does not affect VCL and C++Builder versions of the installer (because they do not support Linux platform), so these setups were not updated.

PS: the trial installers still contain additional precompiled files for Delphi 11 Community Edition. They will be changed to Delphi 12 in the next RVMedia update. Currently, if you want to install the trial in Delphi 12 Community Edition, you need to open packages in Delphi IDE and compile them manually.