Skip to main content

Crate re_video

Crate re_video 

Source
Expand description

Video decoding library.

Re-exports§

pub use re_mp4::TrackId;
pub use re_mp4::TrackKind;
pub use re_quota_channel::Receiver;
pub use re_quota_channel::Sender;
pub use re_quota_channel::TryRecvError;
pub use re_span::Span;
pub use stable_index_deque::StableIndexDeque;
pub use time::Time;
pub use time::Timescale;

Modules§

player
Video player for decoding video frames over time.

Structs§

AnnexBStreamState
Chunk
One chunk of encoded video data, representing a single crate::SampleMetadata.
DecodeSettings
Settings for video decoding.
DecodedFrameContent
CPU-side data for a decoded frame.
FFmpegVersion
A successfully parsed FFmpeg version.
Frame
One decoded video frame.
FrameInfo
Meta information about a decoded video frame, as reported by the decoder.
Mp4TranscodeOptions
How to transcode an mp4 stream.
SampleMetadata
SamplesStatistics
Meta information about the video samples.
TranscodedMp4
A streaming iterator over the transcoded, fragmented mp4 that ffmpeg writes to stdout, yielded as raw byte chunks that do not align to mp4 box or GOP boundaries (the caller must reframe them).
VideoDataDescription
Description of video data.
VideoEncodingDetails
Various information about how the video was encoded.

Enums§

AnnexBStreamWriteError
ChromaSubsamplingModes
Chroma subsampling mode.
DecodeError
DecodeHardwareAcceleration
How the video should be decoded.
DetectGopStartError
Failure reason for detect_gop_start.
FFmpegError
FFmpegVersionParseError
GopStartDetection
Result of a successful GOP detection.
HwAccel
Hardware-acceleration preference for transcoding.
PixelFormat
Pixel format/layout used by FrameContent::data.
SampleMetadataState
The state of the current sample.
VideoCodec
The basic codec family used to encode the video.
VideoDeliveryMethod
Distinguishes static videos from potentially ongoing video streams.
VideoLoadError
Errors that can occur when loading a video.
VideoSource
A single sample in a video.
YuvMatrixCoefficients
Yuv matrix coefficients used by PixelFormat::Yuv.
YuvPixelLayout
Pixel layout used by PixelFormat::Yuv.
YuvRange
Yuv value range used by PixelFormat::Yuv.

Constants§

AV1_TEST_INTER_FRAME
AV1 inter-frame (non-keyframe) for testing (generated with ffmpeg)
AV1_TEST_KEYFRAME
Small 64x64 AV1 keyframe for testing (generated with ffmpeg)

Traits§

AsyncDecoder
Interface for an asynchronous video decoder.

Functions§

channel
Create a channel for use with new_decoder.
detect_gop_start
Try to determine whether a frame chunk is the start of a GOP.
enabled_features
ffmpeg_download_url
Download URL for the latest version of FFmpeg on the current platform. None if the platform is not supported.
is_start_of_gop
Is the given sample the start of a GOP (i.e. a keyframe/sync).
new_decoder
Creates a new async decoder for the given video data.
transcode_mp4
Re-encode the mp4 at input_path into a B-frame-free, stream-friendly fragmented mp4 (one frag_keyframe fragment per GOP, empty_moov init segment up front), applying the transforms in options.
write_avc_chunk_to_annexb
Write an H.264 chunk to an Annex B stream without state tracking.
write_avc_chunk_to_nalu_stream
write_hevc_chunk_to_annexb
Write an H.265 chunk to an Annex B stream without state tracking.
write_hevc_chunk_to_nalu_stream
write_length_prefixed_nalus_to_annexb_stream

Type Aliases§

DecodeResult
FrameContent
Data for a decoded frame on native targets.
FrameNumber
A frame’s index in presentation order.
FrameResult
KeyframeIndex
An index into VideoDataDescription::keyframe_indices, not stable between mutations.
SampleIndex
Index used for referencing into VideoDataDescription::samples.