This commit is contained in:
jbannon 2022-06-25 15:22:55 +00:00
parent edac6ebf11
commit b88f9d0b26
4 changed files with 20 additions and 16 deletions

View file

@ -90,6 +90,17 @@ ___________
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
merge_playlist
______________
.. autoclass:: ytdl_sub.downloaders.youtube.merge_playlist.YoutubeMergePlaylistDownloaderOptions()
:members:
:member-order: bysource
:inherited-members:
.. autofunction:: ytdl_sub.downloaders.youtube.merge_playlist.YoutubeMergePlaylistDownloader.ytdl_option_defaults()
-------------------------------------------------------------------------------
soundcloud soundcloud
'''''''''' ''''''''''
Download strategies for downloading music from Soundcloud. See Download strategies for downloading music from Soundcloud. See

View file

@ -57,13 +57,13 @@ class ConfigOptions(StrictDictValidator):
.. code-block:: bash .. code-block:: bash
ytdl-sub dl --preset yt_music_video --youtube.video_url youtube.com/watch?v=a1b2c3 ytdl-sub dl --preset "yt_music_video" --youtube.video_url "youtube.com/watch?v=a1b2c3"
to to
.. code-block:: bash .. code-block:: bash
ytdl-sub dl --mv --v youtube.com/watch?v=a1b2c3 ytdl-sub dl --mv --v "youtube.com/watch?v=a1b2c3"
""" """
if self._dl_aliases: if self._dl_aliases:
return self._dl_aliases.dict return self._dl_aliases.dict

View file

@ -10,12 +10,9 @@ from ytdl_sub.utils.chapters import Timestamp
from ytdl_sub.utils.ffmpeg import add_ffmpeg_metadata from ytdl_sub.utils.ffmpeg import add_ffmpeg_metadata
from ytdl_sub.validators.validators import BoolValidator from ytdl_sub.validators.validators import BoolValidator
###############################################################################
# Youtube split video downloader + options
class YoutubeMergePlaylistDownloaderOptions(YoutubePlaylistDownloaderOptions): class YoutubeMergePlaylistDownloaderOptions(YoutubePlaylistDownloaderOptions):
""" r"""
Downloads all videos in a playlist and merges them into a single video. Downloads all videos in a playlist and merges them into a single video.
Usage: Usage:
@ -53,7 +50,8 @@ class YoutubeMergePlaylistDownloaderOptions(YoutubePlaylistDownloaderOptions):
@property @property
def add_chapters(self) -> Optional[bool]: def add_chapters(self) -> Optional[bool]:
""" """
Whether to add chapters using each video's title in the merged playlist. Defaults to false. Optional. Whether to add chapters using each video's title in the merged playlist.
Defaults to False.
""" """
return self._add_chapters return self._add_chapters
@ -68,7 +66,7 @@ class YoutubeMergePlaylistDownloader(
@classmethod @classmethod
def ytdl_option_defaults(cls) -> Dict: def ytdl_option_defaults(cls) -> Dict:
""" """
Default `ytdl_options`_ for ``split_video`` Default `ytdl_options`_ for ``merge_playlist``
.. code-block:: yaml .. code-block:: yaml

View file

@ -41,12 +41,8 @@ def _split_video_ffmpeg_cmd(
return cmd return cmd
###############################################################################
# Youtube split video downloader + options
class YoutubeSplitVideoDownloaderOptions(YoutubeVideoDownloaderOptions): class YoutubeSplitVideoDownloaderOptions(YoutubeVideoDownloaderOptions):
""" r"""
Downloads a single youtube video, then splits in to separate videos using a file containing Downloads a single youtube video, then splits in to separate videos using a file containing
timestamps. Each separate video will be formatted as if it was downloaded from a playlist. timestamps. Each separate video will be formatted as if it was downloaded from a playlist.
This download strategy is intended for CLI usage performing a one-time download of a video, This download strategy is intended for CLI usage performing a one-time download of a video,
@ -84,9 +80,8 @@ class YoutubeSplitVideoDownloaderOptions(YoutubeVideoDownloaderOptions):
16:39 Jokes 16:39 Jokes
1:02:23 Ending 1:02:23 Ending
The above will create 5 videos in total. The first timestamp must start with ``0:00`` The above will create 5 videos in total. The last timestamp, in this example, would create a
and the last timestamp, in this example, would create a video starting at ``1:02:23`` and video starting at ``1:02:23`` and end at Youtube video's ending.
end at Youtube video's ending.
""" """
_required_keys = {"video_url", "split_timestamps"} _required_keys = {"video_url", "split_timestamps"}