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, })









评论