Skip to content

ffprobe

Classes:

FFProbe

FFProbe(*, func: FuncExceptT | None = None, bin_path: str | Path = 'ffprobe')

Methods:

Attributes:

Source code
130
131
132
133
134
135
136
137
138
139
140
141
142
143
def __init__(self, *, func: FuncExceptT | None = None, bin_path: str | Path = 'ffprobe') -> None:
    self.bin_path = Path(bin_path)

    if not which(str(self.bin_path)):
        raise FFProbeNotFoundError('FFprobe was not found!', func)

    self.json_decoder = JSONDecoder(
        object_pairs_hook=None,
        object_hook=None,
        parse_constant=None,
        parse_float=None,
        parse_int=None,
        strict=True
    )

bin_path instance-attribute

bin_path = Path(bin_path)

json_decoder instance-attribute

json_decoder: JSONDecoder = JSONDecoder(
    object_pairs_hook=None,
    object_hook=None,
    parse_constant=None,
    parse_float=None,
    parse_int=None,
    strict=True,
)

get_stream

get_stream(
    filename: str | Path,
    file_type: FileType | None,
    *,
    index: int = 0,
    func: FuncExceptT | None = None
) -> FFProbeStream | None
Source code
204
205
206
207
208
209
@inject_self
def get_stream(
    self, filename: str | Path, file_type: FileType | None,
    *, index: int = 0, func: FuncExceptT | None = None
) -> FFProbeStream | None:
    return self._get_stream(filename, file_type, index=index, func=func or self.get_stream)

get_streams

get_streams(
    filename: str | Path,
    file_type: FileType | None,
    *,
    func: FuncExceptT | None = None
) -> list[FFProbeStream] | None
Source code
211
212
213
214
215
216
@inject_self
def get_streams(
    self, filename: str | Path, file_type: FileType | None,
    *, func: FuncExceptT | None = None
) -> list[FFProbeStream] | None:
    return self._get_stream(filename, file_type, index=None, func=self.get_streams if func is None else func)

FFProbeAudioStream

FFProbeAudioStream(ffmpeg_obj: dict[str, Any])

Bases: FFProbeStream

Attributes:

Source code
38
39
40
def __init__(self, ffmpeg_obj: dict[str, Any]) -> None:
    for key, value in ffmpeg_obj.items():
        setattr(self, key, value)

avg_frame_rate instance-attribute

avg_frame_rate: Fraction

bit_rate instance-attribute

bit_rate: int | None

bits_per_sample instance-attribute

bits_per_sample: int

channel_layout instance-attribute

channel_layout: str

channels instance-attribute

channels: int

codec_long_name instance-attribute

codec_long_name: str

codec_name instance-attribute

codec_name: str

codec_tag instance-attribute

codec_tag: int

codec_tag_string instance-attribute

codec_tag_string: str

codec_time_base instance-attribute

codec_time_base: Fraction

codec_type instance-attribute

codec_type: FileType

disposition instance-attribute

disposition: dict[str, str]

duration instance-attribute

duration: float | None

duration_ts instance-attribute

duration_ts: int | None

index instance-attribute

index: int

max_bit_rate instance-attribute

max_bit_rate: int | None

nb_frames instance-attribute

nb_frames: int | None

nb_read_frames instance-attribute

nb_read_frames: int | None

profile instance-attribute

profile: str

r_frame_rate instance-attribute

r_frame_rate: Fraction

sample_fmt instance-attribute

sample_fmt: str

sample_rate instance-attribute

sample_rate: int

side_data_list instance-attribute

side_data_list: list[FFProbeStreamSideData] | None

start_pts instance-attribute

start_pts: int

start_time instance-attribute

start_time: float

tags instance-attribute

tags: dict[str, str]

time_base instance-attribute

time_base: Fraction

FFProbeNotFoundError

Bases: CustomRuntimeError

Raised when the FFProbe executable was not found in the system.

FFProbeObjectBase

FFProbeObjectBase(ffmpeg_obj: dict[str, Any])
Source code
38
39
40
def __init__(self, ffmpeg_obj: dict[str, Any]) -> None:
    for key, value in ffmpeg_obj.items():
        setattr(self, key, value)

FFProbeStream

FFProbeStream(ffmpeg_obj: dict[str, Any])

Bases: FFProbeStreamBase

Attributes:

Source code
38
39
40
def __init__(self, ffmpeg_obj: dict[str, Any]) -> None:
    for key, value in ffmpeg_obj.items():
        setattr(self, key, value)

avg_frame_rate instance-attribute

avg_frame_rate: Fraction

bit_rate instance-attribute

bit_rate: int | None

codec_long_name instance-attribute

codec_long_name: str

codec_name instance-attribute

codec_name: str

codec_tag instance-attribute

codec_tag: int

codec_tag_string instance-attribute

codec_tag_string: str

codec_time_base instance-attribute

codec_time_base: Fraction

codec_type instance-attribute

codec_type: FileType

disposition instance-attribute

disposition: dict[str, str]

duration instance-attribute

duration: float | None

duration_ts instance-attribute

duration_ts: int | None

index instance-attribute

index: int

max_bit_rate instance-attribute

max_bit_rate: int | None

nb_frames instance-attribute

nb_frames: int | None

nb_read_frames instance-attribute

nb_read_frames: int | None

profile instance-attribute

profile: str

r_frame_rate instance-attribute

r_frame_rate: Fraction

side_data_list instance-attribute

side_data_list: list[FFProbeStreamSideData] | None

start_pts instance-attribute

start_pts: int

start_time instance-attribute

start_time: float

tags instance-attribute

tags: dict[str, str]

time_base instance-attribute

time_base: Fraction

FFProbeStreamBase

FFProbeStreamBase(ffmpeg_obj: dict[str, Any])

Bases: FFProbeObjectBase

Attributes:

Source code
38
39
40
def __init__(self, ffmpeg_obj: dict[str, Any]) -> None:
    for key, value in ffmpeg_obj.items():
        setattr(self, key, value)

avg_frame_rate instance-attribute

avg_frame_rate: Fraction

codec_long_name instance-attribute

codec_long_name: str

codec_name instance-attribute

codec_name: str

codec_tag instance-attribute

codec_tag: int

codec_tag_string instance-attribute

codec_tag_string: str

codec_time_base instance-attribute

codec_time_base: Fraction

codec_type instance-attribute

codec_type: FileType

disposition instance-attribute

disposition: dict[str, str]

index instance-attribute

index: int

profile instance-attribute

profile: str

r_frame_rate instance-attribute

r_frame_rate: Fraction

start_pts instance-attribute

start_pts: int

start_time instance-attribute

start_time: float

tags instance-attribute

tags: dict[str, str]

time_base instance-attribute

time_base: Fraction

FFProbeStreamSafe

FFProbeStreamSafe(ffmpeg_obj: dict[str, Any])

Bases: FFProbeStream

Attributes:

Source code
38
39
40
def __init__(self, ffmpeg_obj: dict[str, Any]) -> None:
    for key, value in ffmpeg_obj.items():
        setattr(self, key, value)

avg_frame_rate instance-attribute

avg_frame_rate: Fraction

bit_rate instance-attribute

bit_rate: int

codec_long_name instance-attribute

codec_long_name: str

codec_name instance-attribute

codec_name: str

codec_tag instance-attribute

codec_tag: int

codec_tag_string instance-attribute

codec_tag_string: str

codec_time_base instance-attribute

codec_time_base: Fraction

codec_type instance-attribute

codec_type: FileType

disposition instance-attribute

disposition: dict[str, str]

duration instance-attribute

duration: float

duration_ts instance-attribute

duration_ts: int

index instance-attribute

index: int

max_bit_rate instance-attribute

max_bit_rate: int

nb_frames instance-attribute

nb_frames: int

nb_read_frames instance-attribute

nb_read_frames: int

profile instance-attribute

profile: str

r_frame_rate instance-attribute

r_frame_rate: Fraction

side_data_list instance-attribute

side_data_list: list[FFProbeStreamSideData]

start_pts instance-attribute

start_pts: int

start_time instance-attribute

start_time: float

tags instance-attribute

tags: dict[str, str]

time_base instance-attribute

time_base: Fraction

FFProbeStreamSideData

Attributes:

displaymatrix instance-attribute

displaymatrix: str

rotation instance-attribute

rotation: int

side_data_type instance-attribute

side_data_type: str

FFProbeVideoStream

FFProbeVideoStream(ffmpeg_obj: dict[str, Any])

Bases: FFProbeStream, FFProbeVideoStreamBase

Attributes:

Source code
38
39
40
def __init__(self, ffmpeg_obj: dict[str, Any]) -> None:
    for key, value in ffmpeg_obj.items():
        setattr(self, key, value)

avg_frame_rate instance-attribute

avg_frame_rate: Fraction

bit_rate instance-attribute

bit_rate: int | None

bits_per_raw_sample instance-attribute

bits_per_raw_sample: int | None

chroma_location instance-attribute

chroma_location: str | None

closed_captions instance-attribute

closed_captions: int

codec_long_name instance-attribute

codec_long_name: str

codec_name instance-attribute

codec_name: str

codec_tag instance-attribute

codec_tag: int

codec_tag_string instance-attribute

codec_tag_string: str

codec_time_base instance-attribute

codec_time_base: Fraction

codec_type instance-attribute

codec_type: Literal[VIDEO]

coded_height instance-attribute

coded_height: int

coded_width instance-attribute

coded_width: int

color_primaries instance-attribute

color_primaries: str | None

color_range instance-attribute

color_range: str

color_space instance-attribute

color_space: str | None

color_transfer instance-attribute

color_transfer: str | None

display_aspect_ratio instance-attribute

display_aspect_ratio: Fraction

disposition instance-attribute

disposition: dict[str, str]

duration instance-attribute

duration: float | None

duration_ts instance-attribute

duration_ts: int | None

field_order instance-attribute

field_order: str | None

has_b_frames instance-attribute

has_b_frames: int

height instance-attribute

height: int

index instance-attribute

index: int

is_avc instance-attribute

is_avc: bool | None

level instance-attribute

level: int

max_bit_rate instance-attribute

max_bit_rate: int | None

nal_length_size instance-attribute

nal_length_size: int | None

nb_frames instance-attribute

nb_frames: int | None

nb_read_frames instance-attribute

nb_read_frames: int | None

pix_fmt instance-attribute

pix_fmt: str

profile instance-attribute

profile: str

r_frame_rate instance-attribute

r_frame_rate: Fraction

refs instance-attribute

refs: int

sample_aspect_ratio instance-attribute

sample_aspect_ratio: Fraction

side_data_list instance-attribute

side_data_list: list[FFProbeStreamSideData] | None

start_pts instance-attribute

start_pts: int

start_time instance-attribute

start_time: float

tags instance-attribute

tags: dict[str, str]

time_base instance-attribute

time_base: Fraction

width instance-attribute

width: int

FFProbeVideoStreamBase

FFProbeVideoStreamBase(ffmpeg_obj: dict[str, Any])

Bases: FFProbeStreamBase

Attributes:

Source code
38
39
40
def __init__(self, ffmpeg_obj: dict[str, Any]) -> None:
    for key, value in ffmpeg_obj.items():
        setattr(self, key, value)

avg_frame_rate instance-attribute

avg_frame_rate: Fraction

closed_captions instance-attribute

closed_captions: int

codec_long_name instance-attribute

codec_long_name: str

codec_name instance-attribute

codec_name: str

codec_tag instance-attribute

codec_tag: int

codec_tag_string instance-attribute

codec_tag_string: str

codec_time_base instance-attribute

codec_time_base: Fraction

codec_type instance-attribute

codec_type: Literal[VIDEO]

coded_height instance-attribute

coded_height: int

coded_width instance-attribute

coded_width: int

color_range instance-attribute

color_range: str

display_aspect_ratio instance-attribute

display_aspect_ratio: Fraction

disposition instance-attribute

disposition: dict[str, str]

has_b_frames instance-attribute

has_b_frames: int

height instance-attribute

height: int

index instance-attribute

index: int

level instance-attribute

level: int

pix_fmt instance-attribute

pix_fmt: str

profile instance-attribute

profile: str

r_frame_rate instance-attribute

r_frame_rate: Fraction

refs instance-attribute

refs: int

sample_aspect_ratio instance-attribute

sample_aspect_ratio: Fraction

start_pts instance-attribute

start_pts: int

start_time instance-attribute

start_time: float

tags instance-attribute

tags: dict[str, str]

time_base instance-attribute

time_base: Fraction

width instance-attribute

width: int

FFProbeVideoStreamSafe

FFProbeVideoStreamSafe(ffmpeg_obj: dict[str, Any])

Bases: FFProbeStreamSafe, FFProbeVideoStreamBase

Attributes:

Source code
38
39
40
def __init__(self, ffmpeg_obj: dict[str, Any]) -> None:
    for key, value in ffmpeg_obj.items():
        setattr(self, key, value)

avg_frame_rate instance-attribute

avg_frame_rate: Fraction

bit_rate instance-attribute

bit_rate: int

bits_per_raw_sample instance-attribute

bits_per_raw_sample: int

chroma_location instance-attribute

chroma_location: str

closed_captions instance-attribute

closed_captions: int

codec_long_name instance-attribute

codec_long_name: str

codec_name instance-attribute

codec_name: str

codec_tag instance-attribute

codec_tag: int

codec_tag_string instance-attribute

codec_tag_string: str

codec_time_base instance-attribute

codec_time_base: Fraction

codec_type instance-attribute

codec_type: Literal[VIDEO]

coded_height instance-attribute

coded_height: int

coded_width instance-attribute

coded_width: int

color_primaries instance-attribute

color_primaries: str

color_range instance-attribute

color_range: str

color_space instance-attribute

color_space: str

color_transfer instance-attribute

color_transfer: str

display_aspect_ratio instance-attribute

display_aspect_ratio: Fraction

disposition instance-attribute

disposition: dict[str, str]

duration instance-attribute

duration: float

duration_ts instance-attribute

duration_ts: int

field_order instance-attribute

field_order: str

has_b_frames instance-attribute

has_b_frames: int

height instance-attribute

height: int

index instance-attribute

index: int

is_avc instance-attribute

is_avc: bool

level instance-attribute

level: int

max_bit_rate instance-attribute

max_bit_rate: int

nal_length_size instance-attribute

nal_length_size: int

nb_frames instance-attribute

nb_frames: int

nb_read_frames instance-attribute

nb_read_frames: int

pix_fmt instance-attribute

pix_fmt: str

profile instance-attribute

profile: str

r_frame_rate instance-attribute

r_frame_rate: Fraction

refs instance-attribute

refs: int

sample_aspect_ratio instance-attribute

sample_aspect_ratio: Fraction

side_data_list instance-attribute

side_data_list: list[FFProbeStreamSideData]

start_pts instance-attribute

start_pts: int

start_time instance-attribute

start_time: float

tags instance-attribute

tags: dict[str, str]

time_base instance-attribute

time_base: Fraction

width instance-attribute

width: int