yt-dlp,视频下载界的“王”"

admin 2026-11-01 01:52:04 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

yt-dlp,视频下载界的“王”

原创

MicroPest
MicroPest

MicroPest

2026年10月29日 16:56
安徽

去阅读

yt-dlp在工具产品中用了近一年时间了,效果真好。今天有时间分析学习下yt-dlp。

一、回忆

曾在2019年写过一个软件。一起案子,要下载网站中的流媒体视频,当时市面上找不到称手的工具,于是就有了这个工具。

# 下载播放列表全部视频yt-dlp -ic \"https://youtube.com/playlist?list=PLxxx\"# 下载频道全部视频yt-dlp -ic \"https://youtube.com/@channel/videos\"# 下载列表(文件包含 URL)yt-dlp -ic urls.txt# 下载合集yt-dlp -ic \"https://youtube.com/c/creator/videos\"

下载参数:

4、举例:

(1)判断直播

ydl_opts = {'quiet': True, 'skip_download': True, 'no_warnings': True}with yt_dlp.YoutubeDL(ydl_opts) as ydl:    info = ydl.extract_info(video_url, download=False) or {}return {    'title': info.get('title') or '',    'uploader_id': info.get('uploader_id') or '',    'channel_url': info.get('channel_url') or '',    'live_status': info.get('live_status') or '',   # is_live / was_live 判断    'was_live': info.get('was_live'),    'duration': info.get('duration') or 0,}

(2)全自动化采集流水线:

频道监控 → 新视频检测 → yt-dlp 下载 → FFmpeg 转音频 → LLM 转写 → 摘要生成 → 知识库入库 → 通知发布
# 伪代码:自动化媒体采集流水线async def automated_pipeline(video_url: str):    # 1. yt-dlp 下载    media_info = await run_ytdlp(video_url, {        'format': 'best',        'write-subs': True,        'sub-lang': 'zh,en',    })
    # 2. FFmpeg 提取音频    await run_ffmpeg(        input=media_info['video'],        output='audio.wav',        codec='pcm_s16le',    )
    # 3. LLM 转写 + 摘要    transcript = await speech_to_text('audio.wav')    summary = await llm_summarize(transcript)
    # 4. 知识库入库    await store_knowledge({        'title': media_info['title'],        'transcript': transcript,        'summary': summary,        'video_path': media_info['video'],        'subtitles': media_info['subs'],        'metadata': media_info,    })
    # 5. 通知分发    await notify({        'title': media_info['title'],        'summary': summary,        'url': video_url,    })

总结:yt-dlp 功能强大,使用简单,且开源、维护者众多,不愧为视频下载界的“王”。