bundle.youtube.media ==================== .. py:module:: bundle.youtube.media Attributes ---------- .. autoapisummary:: bundle.youtube.media.log Classes ------- .. autoapisummary:: bundle.youtube.media.MP3 bundle.youtube.media.MP4 Functions --------- .. autoapisummary:: bundle.youtube.media.is_mp4_container bundle.youtube.media.download_mp4 bundle.youtube.media.extract_mp3 bundle.youtube.media.audio_target_path bundle.youtube.media.download_audio bundle.youtube.media.extract_mp3_from_path Module Contents --------------- .. py:data:: log .. py:function:: is_mp4_container(path: pathlib.Path) -> bool Quick MP4 sanity check: MP4 files contain an `ftyp` box near the beginning. .. py:function:: download_mp4(youtube_track: bundle.youtube.track.YoutubeTrackData, destination_folder: pathlib.Path) -> MP4 :async: Download an MP4 file from video_url to destination. This wraps your existing DownloaderTQDM logic. .. py:function:: extract_mp3(mp4: MP4) -> MP3 :async: Extract the MP4 file to an MP3 file. .. py:function:: audio_target_path(youtube_track: bundle.youtube.track.YoutubeTrackData, destination_folder: pathlib.Path) -> pathlib.Path .. py:function:: download_audio(youtube_track: bundle.youtube.track.YoutubeTrackData, destination_folder: pathlib.Path) -> pathlib.Path :async: .. py:function:: extract_mp3_from_path(source_path: pathlib.Path, track: bundle.youtube.track.TrackData, thumbnail: None | bytes = None) -> MP3 :async: .. py:class:: MP3(/, **data: Any) Bases: :py:obj:`bundle.youtube.track.MP3TrackData` Base data model class, providing utilities for serialization and deserialization from/to JSON, along with JSON Schema generation. .. attribute:: model_config Default model configuration settings. .. py:method:: from_track(path, track: bundle.youtube.track.TrackData) :classmethod: .. py:method:: save(thumbnail: None | bytes = None) -> None :async: .. py:method:: get_thumbnail() -> bytes :async: .. py:method:: load(path: pathlib.Path) -> MP3 | None :classmethod: :async: .. py:class:: MP4(/, **data: Any) Bases: :py:obj:`bundle.youtube.track.MP4TrackData` Base data model class, providing utilities for serialization and deserialization from/to JSON, along with JSON Schema generation. .. attribute:: model_config Default model configuration settings. .. py:method:: from_track(path, track: bundle.youtube.track.TrackData) :classmethod: .. py:method:: save(thumbnail: None | bytes = None) -> None :async: .. py:method:: get_thumbnail() -> bytes | None :async: .. py:method:: load(path: pathlib.Path) -> MP4 | None :classmethod: :async: .. py:method:: download(youtube_track: bundle.youtube.track.YoutubeTrackData, destination_folder: pathlib.Path) -> MP4 :classmethod: :async: .. py:method:: extract_mp3() -> MP3 :async: