Expand description
Native FFmpeg 8 media adapter.
rsmpeg and FFmpeg types stay private; callers see only alpha2-media contracts. Timeline
audio mixing needs the timeline feature, the only part that links the engine.
Structs§
- Audio
Stream Config - The audio stream an export encodes beside its video.
- AvEncode
Config - Configuration for transactional audio/video export.
- Codec
Thread Allocation - One export-wide software-codec allocation:
decoder_threadsper software decoder,hardware_decoder_threadsper hardware one,encoder_threadsfor the software encoder. - Codec
Thread Request - What one export needs from the shared software-codec worker budget.
- Concealed
Audio Gap - An interval decoded as silence at the decoder’s output rate, where damaged input was dropped or timestamps jump.
- Corrupt
Packet - One observed corruption. Timestamps use the selected stream’s time base.
- Decode
Diagnostic Counts - Counts of what decoders reported: damage Tolerant decoding skipped and silence it inserted. Samples are at the reporting decoder’s output rate.
- Decode
Diagnostics - Cumulative diagnostics. Records are bounded; overflow fails decoding.
- Decode
Progress Watch - Ends a
watch_decode_progresswatch, restoring the one before it. - Decode
Stage Timings - Where one video decode session’s wall time went, split so hardware decode is told apart from mere submission.
- Decoded
Audio Sources - Decoded, project-rate planar audio held per source for offline mixing; one whole-stream block per source, indexed by absolute source position.
- Dropped
Audio Overlap - Samples dropped because their timestamps overlapped samples already decoded, at the decoder’s output rate.
- Dropped
Layer - Something a decoder leaves out of its stream (the frames still decode), for reports.
- Encode
Call Watch - Ends a
watch_encode_callswatch, restoring the one before it. - Encode
Stage Timings - Where one encode sink’s wall time went, split into codec, packet drain and mux write so a change in one is visible.
- Encoder
Inventory - The encoders of one codec this machine runs, and the ones its open probe refused.
- Encoder
Pool Stats - Surface-pool counters for one session.
- Encoder
Refusal - One encoder that did not open, and why.
- Encoder
Surface - One encoder-input surface on loan from its session’s pool.
- Encoder
Surface Descriptor - What one encoder-input surface is, independent of its backing.
- Ffmpeg
Runtime Identity FFmpegruntime and pinned SDK identity used by native diagnostics.- Frame
Score - How a frame would do as a thumbnail.
- Hardware
Encode Capability - What one hardware encoder accepts on this device, read from the device.
- Hardware
Encode Device - The renderer’s device, as a hardware encoder can use it.
- Hardware
Encode Input - The coordinator’s half of a hardware session.
- Hardware
Encode Request - One export’s encoder settings and output.
- Hardware
Encode Session - The encode worker’s half of a hardware session.
- Hardware
Open Error - A hardware decode session that could not be opened, with its typed reason.
- Host
Audio Config - Platform-neutral device range used by negotiation tests and cpal mapping.
- Input
Frame - A begun frame whose planes belong to the renderer until
HardwareEncodeInput::submit. - Native
Audio Decoder - Streaming
FFmpegaudio decoder normalized to project-rate planarf32. - Native
Audio Encoder Capability - One linked audio encoder available to the native sinks.
- Native
AvEncode Sink - Audio/video sink that encodes and interleaves through the linked
FFmpeglibraries. - Native
Codec Capabilities - Runtime codec inventory for the native sinks.
- Native
Decoder - Software video decoder with exact timestamp conversion and drain semantics.
- Native
Encoder Hardware Config - One hardware configuration a video encoder declares.
- Native
Encoder Library - A run-time loaded encoder library (
crate::OPENH264_ENCODER_NAME). - Native
Export Decoder - Export decoder producing
NativeVideoFrames from oneFFmpegsession. - Native
Hardware Decode Capabilities - Hardware decode registration reported by the linked
FFmpegbuild. - Native
Hardware Decode Capability - One codec’s hardware decode registration for this platform’s backend.
- Native
Rate Control Probe - Whether one encoder opened with one rate-control mechanism.
- Native
Video Encode Sink - Transactional
FFmpegvideo encoder and muxer. - Native
Video Encoder Capability - One linked video encoder available to the native sinks.
- Native
Video Encoder Fallback - One candidate encoder an export tried and moved past.
- Native
Video Encoder Probe - What one registered video encoder declares, and what happened when alpha2 opened it.
- Native
Video Encoder Selection - The encoder an export actually opened, and the candidates it passed over.
- Native
Video Frame Metadata - Platform-neutral metadata carried identically by CPU and hardware frames.
- Native
WavEncode Sink - Transactional IEEE-f32 WAV encoder used by native offline audio export.
- Open
H264 Library - An
OpenH264library that loaded and passed its checks. - Output
Target - Where an output goes and what it does with a file already there.
- Packet
Copy - One or more copy runs written back to back into one output.
- Packet
Copy Audio - What a copied audio stream must match.
- Packet
Copy Plan - A copy that can be made, and what it copies.
- Packet
Copy Planner - Plans the runs of one export, reading each source once and stopping on cancel.
- Packet
Copy Report - What a copy wrote.
- Packet
Copy Request - The stream an export copies from and what it must match.
- Probe
Result - Container-level probe and deterministic stream selection.
- Project
Audio Request - One offline project-audio render request.
- Publish
Report - How a finished output was published.
- Video
Display - How encoded pictures are shown, as recorded by the container rather than the bitstream.
- Video
Encode Config - Configuration for deterministic native video encoding.
- Video
Recovery Gap - Healthy video boundaries surrounding dropped data. Unknown endpoints remain absent.
- Vulkan
Decode Probe - Result of a bounded Vulkan hardware decode and surface probe.
- Vulkan
Encode Probe - What one Vulkan encode session turned out to require and produce.
- Yuv420p
Frame Buffer - A reusable
FFmpegYUV420P frame the caller writes into directly.
Enums§
- Applied
Rate Control - Which form of a resolved rate control an encoder actually ran.
- Copy
Audio - The audio a packet copy writes beside its video.
- Decode
Diagnostic - A recovery observation emitted synchronously before decoding continues.
- Decode
Policy - Damaged input handling. Initialization and resource errors are always fatal.
- Encoder
Input Handoff - How a packed frame reaches the encoder’s surface.
- Encoder
Input Layout - How the pixels of an encoder-input surface are laid out.
- Existing
Output - What an output does with a file already at its path.
- Hardware
Decode Fallback - Why a video source is decoded in software instead of on the GPU, recorded per source.
- Hardware
Encode Backend - The native API a hardware encode session drives.
- Hardware
Encode Open Error - Why a hardware session did not open.
- Host
Sample Format - Host sample representation considered during deterministic negotiation.
- Native
Audio Codec - Audio codecs implemented by the native encode sinks.
- Native
Encoder Class - How a concrete encoder executes, as the linked runtime declares it.
- Native
Encoder Rejection - Why one candidate encoder was not the one an export opened.
- Native
Plane Layout - Plane organization of a native export frame.
- Native
Video Codec - Video codecs implemented by the native encode sinks.
- Native
Video Frame - One decoded export frame with either owned CPU pixels or an opaque surface.
- Offline
Audio Error - Native offline-render failure.
- Open
Failure Kind - Why an encoder did not open, as far as its own status and log say.
- Open
H264 Provider - Who provided the library that loaded.
- Open
H264 Status - Whether
OpenH264can encode in this process, and if not, why. - Publish
Method - How
publish_no_replaceorpublish_replacemoved a file into place. - Rate
Control Mechanism - A way of controlling an encoder’s rate, independent of family spelling.
Constants§
- DECODE_
WORK_ LIMIT - The longest a decoder operation (seek, next frame, open) may go without producing a frame before failing with “decode progress budget exceeded”.
- HARDWARE_
DECODER_ THREADS FFmpegworkers a hardware decode session opens with, whatever the budget.- OPEN
H264_ ENCODER_ NAME - The encoder name
--video-encodertakes forOpenH264. - OPEN
H264_ INSTALL_ COMMAND - What a user runs to install Cisco’s binary.
- OPEN
H264_ NOTICE - The text Cisco’s licence requires wherever the user controls the codec (manifest
notice). - OPEN
H264_ VERSION - The
OpenH264releaserelease/openh264/manifest.tomlpins (version). - PARTIAL_
OUTPUT_ IN_ USE - The prefix of an
EncodeError::OutputInUsemessage, when a live export writes the partial. - SOURCE_
SAMPLE_ RATES - Accepted source sample rates (1 kHz to 768 kHz, the
alpha2_audio::Resamplerrange). - THUMBNAIL_
LUMA_ RANGE - Mean luma range (fraction of full scale) outside which a frame is too black or white for a thumbnail.
Traits§
- Audio
Block Feed - The export’s mixed audio, block by block, for a copy that encodes it.
- Hardware
Frame Lease - Opaque decoder surface retained until GPU completion.
Functions§
- alpha_
dropped_ reason - Why a software session would decode
streamwithout its alpha, for conform reports. - audio_
encoder_ capabilities - The audio encoders
codec_capabilitieslists, without probing video encoders. - check_
yuv_ transcode - Whether
source’s decoded pictures can become awidthxheightoutput’s frames with no conversion: the file side of a YUV transcode, encoded asencoding. - choose_
thumbnail - The sharpest frame that is neither black nor white, or the sharpest of all when none
qualifies.
Nonefor no frames. - codec_
capabilities - Reports the encoders usable by the native sinks: the linked
FFmpeg’s, andOpenH264when installed. - codec_
thread_ allocation - Divides the export CPU budget across concurrently active codec contexts.
- codec_
thread_ budget - Returns the worker budget for one standalone software video codec context.
- codec_
thread_ override - The worker budget
settingnames:Noneunset, or a positive count clamped to 64. - configured_
codec_ thread_ override - The software-codec worker budget
ALPHA2_FFMPEG_THREADSsets (codec_thread_override). - copy_
packets - Writes
copy’s runs back to back into a newcontainerfile atoutput, withaudio. The runs were planned forcontainer(PacketCopyRequest::container). - decodes_
vp9_ alpha - Whether this runtime decodes VP9’s alpha: it has libvpx’s VP9 decoder.
- downscale_
frame - The frame shrunk by
factorwith box averaging, visible size rounded down to even for 4:2:0 encoders. - encoder_
minimum_ dimensions - The smallest even width and height encoder
nameaccepts. - encodes_
pixels - Whether some encoder of
codectakeslayout’s pictures or theirP010form. - ffmpeg_
runtime_ identity - Returns the loaded
FFmpegidentity together with the release SDK pin. - h264_
encoder_ remedy - Remedies for a machine without a CPU-frame H.264 encoder: install
OpenH264, use anFFmpegwithlibx264, or export another codec. - hardware_
decode_ backend - Backend this build decodes with, independent of any device being present.
- hardware_
decode_ capabilities - Reports which codecs the linked
FFmpegregisters for this backend. - hybrid_
encoders_ use_ hardware - Whether hybrid encoders are configured to run on the GPU.
- negotiate_
output_ config - Selects an output that plays stereo, requiring exact project-rate
f32support. - no_
video_ encoder_ message - Why an export of
codechas no encoder, and what to do about it. - openh264_
status OpenH264for this process, looked up once on first use.- packed_
frame - A reusable encoder frame for
widthxheightpictures oflayout, its planes in the layout’s storage order. - plan_
packet_ copy - Decides whether
requestcan be served by copying packets. - probe
- Opens a local resource using the system
FFmpeg8 shared libraries. - probe_
video_ encoders - Opens every registered video encoder and reports what it actually does.
- probe_
vulkan_ decode - Decodes Vulkan frames without mapping, downloading, or uploading their planes.
- probe_
vulkan_ encode - Opens
h264_vulkanagainstdeviceand encodes one untouched pool frame. - remove_
stale_ partial_ output - Removes a sibling partial file left by an interrupted transactional export.
- render_
offline - Runs the same graph used by realtime hosts and writes exact project-rate blocks.
- render_
project_ audio - Mixes a whole project audio range and writes exact project-rate blocks.
- require_
pinned_ ffmpeg_ for_ tests - Panics unless the loaded
FFmpegis the pinned SDK, for tests to call before they use it. - resize_
rgba - Resizes straight-alpha RGBA
pixelswith a per-axis tent filter as wide as the larger of the source and output spacing, so shrinking averages and growing interpolates. - same_
chroma_ siting - Whether chroma sited at
sourcematchesoutput, reading unspecified as centred like import. - score_
frame - Scores a frame on a fixed grid of luma samples, independent of frame size.
- software_
decode_ unsupported - Why this runtime cannot decode
streamwithout a hardware session, orNonewhen software can (some preferred decoders are hardware-only; AV1 needs libdav1d). - video_
encoder_ inventory - The usable encoders for
codecalone, and the ones whose probe refused. - video_
encoders_ without_ probing - The encoders
codec_capabilitieswould list from what is known so far, without running any probe; unprobed encoders are left out. For a startup log line. - visit_
packet_ times - Visits each packet time (seconds) of
AVStreamindexstreamin file order untilvisitreturns false. Falls back to decode time; packets with neither are skipped. Nothing is decoded. - watch_
decode_ progress - Calls
progressedon this thread each time a decoder operation produces a frame or a packet copy plan reads a source packet, until the guard drops. - watch_
encode_ calls - Calls
beaton this thread before every encoder and muxer call a sink makes, until the guard drops. - write_
png - Writes straight-alpha 8-bit RGBA
rgbaas a PNG attarget, published whole or not at all likewrite_whole. - write_
whole - Writes a whole file at
target, published only oncewritehas filled the claimed partial, with the same claim, sync and publish as a video output. A write failure removes the partial and leaves the target untouched. The target is checked before writing and again at the rename.