5.2.4. ytpb.download¶
Download media segments.
- ytpb.download.save_segment_to_file(content: bytes, sequence: int, base_url: str, output_directory: Path, output_filename) Path¶
- ytpb.download.download_segment(sequence: int, base_url: str, output_directory: Path, output_filename: str | Callable[[int, str], str] = compose_default_segment_filename, size: int | None = None, session: Session | None = None, force_download: bool = True) Path¶
Downloads a segment to file.
- Parameters:
sequence – A segment sequence number.
base_url – A segment base URL.
output_directory – Where to download a segment.
output_filename – A segment output filename.
size – An amount of bytes to download.
session – A
requests.Sessionobject.force_download – Whether to download a segment if it already exists.
- Returns:
A path where a segment was downloaded.
- Raises:
SegmentDownloadError – If failed to download a segment.
- ytpb.download.download_segment_to_buffer(sequence: int, base_url: str, size: int | None = None, session: Session | None = None) BytesIO¶
Downloads a segment to buffer.
- Parameters:
sequence – A segment sequence number.
base_url – A segment base URL.
size – An amount of bytes to download.
session – A
requests.Sessionobject.
- Returns:
An
io.BytesIOobject.- Raises:
SegmentDownloadError – If failed to download a segment.
- ytpb.download.iter_segments(sequences: list[int], stream: str, size: int | None = None, session: Session | None = None) Generator[tuple[Response, int, str], None, None]¶
Iterates over segment sequence numbers and requests segments.
- Parameters:
sequences – Segment sequence numbers.
base_url – A segment base URL.
size – An amount of bytes to download.
session – A
requests.Sessionobject.
- Yields:
Tuples of a
requests.Responseobject, segment sequence number, and base URL.