mirror of
https://github.com/yt-dlp/yt-dlp
synced 2024-12-29 22:24:25 +01:00
adbc4ec4bb
* Add option `--live-from-start` to enable downloading live videos from start * Add key `is_from_start` in formats to identify formats (of live videos) that downloads from start * [dash] Create protocol `http_dash_segments_generator` that allows a function to be passed instead of fragments * [fragment] Allow multiple live dash formats to download simultaneously * [youtube] Implement fragment re-fetching for the live dash formats * [youtube] Re-extract dash manifest every 5 hours (manifest expires in 6hrs) * [postprocessor/ffmpeg] Add `FFmpegFixupDuplicateMoovPP` to fixup duplicated moov atoms Known issue: Ctrl+C doesn't work on Windows when downloading multiple formats Closes #1521 Authored by: nao20010128nao, pukkandan
45 lines
1.2 KiB
Python
45 lines
1.2 KiB
Python
# flake8: noqa: F401
|
|
|
|
from ..utils import load_plugins
|
|
|
|
from .common import PostProcessor
|
|
from .embedthumbnail import EmbedThumbnailPP
|
|
from .exec import ExecPP, ExecAfterDownloadPP
|
|
from .ffmpeg import (
|
|
FFmpegPostProcessor,
|
|
FFmpegEmbedSubtitlePP,
|
|
FFmpegExtractAudioPP,
|
|
FFmpegFixupDuplicateMoovPP,
|
|
FFmpegFixupDurationPP,
|
|
FFmpegFixupStretchedPP,
|
|
FFmpegFixupTimestampPP,
|
|
FFmpegFixupM3u8PP,
|
|
FFmpegFixupM4aPP,
|
|
FFmpegMergerPP,
|
|
FFmpegMetadataPP,
|
|
FFmpegSubtitlesConvertorPP,
|
|
FFmpegThumbnailsConvertorPP,
|
|
FFmpegSplitChaptersPP,
|
|
FFmpegVideoConvertorPP,
|
|
FFmpegVideoRemuxerPP,
|
|
)
|
|
from .metadataparser import (
|
|
MetadataFromFieldPP,
|
|
MetadataFromTitlePP,
|
|
MetadataParserPP,
|
|
)
|
|
from .modify_chapters import ModifyChaptersPP
|
|
from .movefilesafterdownload import MoveFilesAfterDownloadPP
|
|
from .sponskrub import SponSkrubPP
|
|
from .sponsorblock import SponsorBlockPP
|
|
from .xattrpp import XAttrMetadataPP
|
|
|
|
_PLUGIN_CLASSES = load_plugins('postprocessor', 'PP', globals())
|
|
|
|
|
|
def get_postprocessor(key):
|
|
return globals()[key + 'PP']
|
|
|
|
|
|
__all__ = [name for name in globals().keys() if name.endswith('PP')]
|
|
__all__.extend(('PostProcessor', 'FFmpegPostProcessor'))
|