reference.md

July 14, 2026 · View on GitHub

Справочник компонентов

TFFReader (uFFReader.pas)

СвойстваFileName, InputAdapter, Active, AutoPump, Duration (мкс), Streams
МетодыOpen, Close, ReadPacket, Seek (мкс; StreamIndex = -1AV_TIME_BASE)
СобытияOnOpen, OnClose
GraphSubscribePacketSink / UnsubscribePacketSink

TFFDecoder (uFFDecoder.pas)

СвойстваReader, StreamIndex, AutoInitialize, PreviewMaxPackets, CodecName, HardwareDevice
МетодыInitialize, CloseCodec, SendPacket, ReceiveFrame, Flush, DecodeFrameAt, DecodeNextFrame
СобытияOnFrameHook, OnFrameDecoded
GraphTakePacket, SubscribeFrameSink / UnsubscribeFrameSink
WindowsFFDecoderPreviewToBitmap, FFDecoderFrameToBitmap

TFFEncoder (uFFEncoder.pas)

СвойстваMediaType, CodecName, BitRate, Width/Height, SampleRate/Channels, Reader, InputDecoder, OutputWriter, CopyAudio, TranscodeAudio
МетодыInitialize, SendFrame, ReceivePacket, Flush, Start, Pause, Resume, Stop
СобытияOnProgress, OnPreviewFrame, OnStateChange, OnFrameHook

TFFWriter (uFFWriter.pas)

СвойстваFileName, FormatName, OutputAdapter, RemuxReader, VideoEncoder, AudioEncoder
МетодыOpen, AddStream, AddStreamCopy, WriteHeader, WritePacket, WriteTrailer, Close, SetupFromLinks
GraphTakePacket (remux sink)

TFFPlaybackEngine (uFFPlaybackEngine.pas)

СвойстваFileName, HardwareDevice, State, Position, Duration, Volume, VideoStreamIndex, AudioStreamIndex
МетодыPlay, Pause, Stop, SeekTo
СобытияOnPresentFrame, OnPositionChange, OnStateChange, OnFrameHook, OnVideoHook, OnAudioHook

TFFVideoPlayer (uFFVideoPlayer.pas, VCL)

СвойстваFileName, VideoDecoder, AudioDecoder, SubtitleDecoder, HardwareDevice, State, Position, Duration, Volume
МетодыPlay, Pause, Stop, SeekTo
СобытияOnStateChange, OnFrameHook, OnVideoHook, OnAudioHook

TFFSubtitleDecoder (uFFSubtitleDecoder.pas)

СвойстваReader, StreamIndex, Initialized, HasEvents
МетодыInitialize, LoadAll, LoadFromSrt, GetEventAt, GetTextAt, TakePacket

TFFSubtitleEvent: StartMs, EndMs, Text, IsBitmap + Bitmap, IsAss + AssRaw.

Вспомогательные классы

TFFFrameConverter (uFFFrameConverter.pas)

Configure, Convert → BGRA (AV_PIX_FMT_BGRA по умолчанию).

TFFFrameBitmap (uFFFrameBitmap.pas, VCL)

AssignBgraBuffer, копирование BGRA → TBitmap.

TFFAudioResampler (uFFAudioResampler.pas)

PCM S16, 44100 Hz, stereo по умолчанию.

TFFAudioOutput (uFFAudioOutput.pas)

ПлатформаМодуль
WindowsuFFAudioOutputWin (WaveOut)
LinuxuFFAudioOutputALSAuFFAudioOutputSDL

TFFPacketQueue (uFFPacketQueue.pas)

Потокобезопасная очередь TFFPacket для demux.

TFFPlaybackClock (uFFPlaybackClock.pas)

Reset, Pause, Resume, GetTimeMs, SetAudioTimeMs, WaitUntil, IsLate.

TFFMemoryAccessAdapter (uFFMemoryAccessAdapter.pas)

AVIOContext поверх TStream для TFFReader / TFFWriter.

TFFBitmapEncoder (uFFBitmapEncoder.pas)

Запись видео из BGRA-кадров / TBitmap.

TFFMediaInfo (uFFMediaInfo.pas)

Probe, FindBestStream, длительность, кодеки без decode.

TFFThumbnailExtractor (uFFThumbnailExtractor.pas)

Кадр по позиции → bitmap / файл.

TFFFrameFilter (uFFFrameFilter.pas)

Узел libavfilter в graph: FilterDescription (например scale=1280:720).

TFFTranscodeJob / TFFRemuxJob

Высокоуровневые preset-based transcode и stream-copy remux.

TFFHardwareDecode (uFFHardwareDecode.pas)

TFFHardwareDecodeContext.TrySetup, TransferToSoftware – используется внутри TFFDecoder.

TFFLoader / TFFLogger

Загрузка DLL и перехват av_log.

Исключения

EFFException (uFFException.pas) – ошибки FFmpeg с текстом из av_strerror.