FFVCL– Delphi FFmpeg VCL Components v7.3a for Delphi 10.3 Rio
FFVCL– Delphi FFmpeg VCL Components v7.3a for Delphi 10.3 Rio
FFVCL is a native VCL components suit including Video Encoder and Video Player VCL components which wrap FFmpeg libraries perfectly. FFVCL is more easy, more flexible and more powerful than the official FFmpeg command line interface for converting and playing audio and video files.
Features of FFVCL
Basic Features
All-in-one solution for audio/video encoding and playing.
Perfect wrapper of FFmpeg libraries, easy to use, flexible and powerful.
Input frames editable such as text and/or image overlay.
View FFVCL Architecture
View Architecture of FFVCL - Delphi FFmpeg VCL Components (Video Encoder/Converter and Video Player)
Join multiple input files in variable formats to a single output file.
Support Frame Input (Bitmap canvas, Bitmap data, Bitmap DeviceContext, YUV).
Support Frame Output (RGB, MJPEG, H.263, H.264, YUV).
Support Packet Input (H.263, H.264, MJPEG, M4V, MPEGVideo, VC1).
Support directly PCM wave data input.
Support directly PCM wave data output.
Support DirectShow Capture.
Support GDI(Screen/Wave) Capture.
Support WebCam Capture.
Support Video Filters, such as flip, negate, scale, rate, etc.
Support previewing while encoding.
Support multiple instances of Player.
Support controlling playback speed of Player.
Support encoding in multiple threads.
Encoding multiple files in batchs built in.
Task thread priority is configurable.
Pause, Resume and Stop operations are available.
Log messages event via FFLogger component.
Encoding progress event.
Video Hook
OnVideoHook event is a very easy and powerful way to edit all input frames acting as internal Video Hook, such as text and/or image overlay, reverse frame picture, and various effects what you can process on Bitmap.
OnFrameHook event provides a chance to modify the video frames in original format.
Audio Hook
OnAudioHook event is a very easy way to edit all input audio samples acting as internal Audio Hook.
FFEncoder
FFEncoder provides audio/video formats transcoding: intput -> decoding(decompression) -> encoding(compression) -> output.
FFEncoder is powerful and a little complex, please refer to the encoder document and the sample application.
FFPlayer
FFPlayer plays audio and video files.
FFPlayer is easy to use and still not powerful enough, please refer to the sample application.
FFDecoder
Obtaining detail information of the input file.
Previewing any frame picture of the special video stream by seeking timestamp with Bitmap result.
FFLogger
FFLogger catchs the log generated by (Add-ons, FFEncoder, FFPlayer, FFDecoder and DLLs).
FFLogger is an assistant component, it will be automatically created as an global instance when necessary, and only one instance is allowed.
Add-ons
MemoryAccessAdapter provides memory access for intput and output (open, read/write, seek, close).
FrameInputAdapter provides directly video frames input (Bitmap canvas, Bitmap data, Bitmap DeviceContext, YUV).
FrameOutputAdapter provides directly video frames output (RGB, MJPEG, H.263, H.264, YUV).
PacketInputAdapter provides directly video packets input (H.263, H.264, MJPEG, M4V, MPEGVideo, VC1).
WaveInputAdapter provides directly PCM wave data input.
WaveOutputAdapter provides directly PCM wave data output.
GDICapture provides screen capturing for video input and wave recording for audio input.
DShowCapture(built in ffmpeg libraries) provides webcam capturing for video input and wave recording for audio input.
What’s FFmpeg?
FFmpeg is a complete solution to record, convert and stream audio and video. It includes libavcodec, the leading audio/video codec library. FFmpeg is developed under Linux, but it can compiled under most operating systems, including Windows.
Relation between FFVCL and FFmpeg
Because FFVCL is a direct wrapper of FFmpeg’s libavcodec APIs, it is able to reflect the power of FFmpeg libraries. And it is more flexible and more powerful than the official FFmpeg command line interface. At the same time, FFVCL is very easy to use. Therefore, FFVCL is better than FFmpeg CLI in some measure. View FFVCL Architecture…
Supported Formats
Formats: 3GP, ASF, AVI, F4V, MOV, MPEGPS, OGG, WebM, More…
Protocols: BLURAY, FTP, HTTP, HTTPS, RTP, RTMP, TCP, More…
Decoders: AAC, FLV, H264, HEVC, MPEG4, VP9, WMV, More…
Encoders: AC3, H263, MP3, MPEG4, WMV, X264, X265, More…
Architecture
Add-ons are used for input and/or output of FFEncoder, FFPlayer, FFDecoder.
FFEncoder provides audio/video formats transcoding: intput -> decoding(decompression) -> encoding(compression) -> output.
FFPlayer plays audio and video files.
FFDecoder provides media file information and decoding video frames or audio samples.
FFLogger catchs the log generated by (Add-ons, FFEncoder, FFPlayer, FFDecoder and FFmpeg libraries).
FFLoader provides loading DLLs in run-time dynamic linking.
DLLs includes FFmpeg libraries, SDL library, SoundTouch library, and libmfx library.
Add-ons
MemoryAccessAdapter provides memory access for intput and output (open, read/write, seek, close).
FrameInputAdapter provides directly video frames input (Bitmap canvas, Bitmap data, Bitmap DeviceContext, YUV).
FrameOutputAdapter provides directly video frames output (RGB, MJPEG, H.263, H.264, YUV).
PacketInputAdapter provides directly video packets input (H.263, H.264, MJPEG, M4V, MPEGVideo, VC1).
WaveInputAdapter provides directly PCM wave data input.
WaveOutputAdapter provides directly PCM wave data output.
GDICapture provides screen capturing for video input and wave recording for audio input.
DShowCapture(built in ffmpeg libraries) provides webcam capturing for video input and wave recording for audio input.
Please refer the demos for more information.
FFEncoder
FFEncoder is powerful and a little complex, please refer to the encoder document and demos.
DLLs needed: AVCodec, AVDevice, AVFilter, AVFormat, AVUtil, SwResample, SwScale and libmfx(optional).
FFPlayer
FFPlayer is easy to use and still not powerful enough, please refer to the demo application.
DLLs needed: AVCodec, AVDevice, AVFilter, AVFormat, AVUtil, SwResample, SwScale, SDL and SoundTouch(optional).
FFDecoder
FFDecoder is easy to use, please refer to the demo application.
DLLs needed: AVCodec, AVFilter, AVFormat, AVUtil, SwResample, SwScale.
FFLogger
FFLogger is an assistant component, it will be automatically created as a global instance when necessary, and only one instance is allowed.
FFLoader
FFLoader is an assistant class, it will be automatically created as a global instance at startup. Please forget it.
FFmpeg Libraries
FFmpeg libraries with GPL/LGPL: AVCodec, AVDevice, AVFilter, AVFormat, AVUtil, SwResample, SwScale.
AVCodec provides decoders and encoders of audio/video stream.
AVDevice provides VFW capturing and DirectShow capturing.
AVFilter provides video filter for special effects.
AVFormat provides demuxers and muxers of containers.
AVUtil provides common utilities.
SwResample provides audio resampling.
SwScale provides video frames resampling.
SDL Library
SDL provides audio playback and video rendering.
SoundTouch Library
SoundTouch provides resampling audio for changing tempo(speed).
libmfx Library
libmfx provides Intel QSV dispatcher.
Only for V.I.P
Warning! You are not allowed to view this text.