☰
yt-dlp+ffmpeg 自动化视频工作流:awesome-seedance-2-prompts 下载压缩上传全解析
2026/10/8 20:02:53 网站建设 项目流程

yt-dlp+ffmpeg 自动化视频工作流:awesome-seedance-2-prompts 下载压缩上传全解析

【免费下载链接】awesome-seedance-2-prompts🎬 2000+ curated Seedance 2.0 video generation prompts — cinematic, anime, UGC, ads, meme styles. Includes Seedance API guides, character consistency tips, and advanced video workflows.项目地址: https://gitcode.com/gh_mirrors/aw/awesome-seedance-2-prompts

awesome-seedance-2-prompts 是一个为 Seedance 2.0 视频生成模型整理的高质量提示词集合(2000+ 条精选视频生成提示词)。项目使用yt-dlp与ffmpeg打造了一条全自动化的视频工作流:自动抓取最新提示词数据 → 下载源视频 → 压缩瘦身 → 上传到仓库 Release,最终为 15 种语言生成可内嵌播放视频的 README。下面逐步拆解这条"下载—压缩—上传"流水线,帮助新手快速理解它的自动化设计。

📚 项目是什么

awesome-seedance-2-prompts 收集了来自社区的 Seedance 2.0(字节跳动多模态视频生成模型)创作案例,覆盖电影感、动漫、UGC、广告、梗片等多种风格。仓库中每个提示词都附带描述、提示词正文、参考图和可播放视频,并且自动同步生成 15 种语言的 README。

🔄 自动化工作流总览

整条流水线由一个命令驱动(pnpm generate),执行顺序如下:

  1. 数据抓取:从 CMS 拉取最新 200 条 + 全部精选提示词,按 ID 去重合并;
  2. 增量下载:只处理尚未上传过的视频,已下载的直接跳过;
  3. ffmpeg 压缩:统一压到 720p、H.264 编码,体积大幅缩小;
  4. Release 上传:通过ghCLI 批量上传到名为videos的 Release;
  5. 映射存档:提示词 ID → 视频 URL 的映射写入video-urls.json;
  6. 多语言生成:为 15 种语言各生成一份 README。

📥 第一步:从 CMS 抓取提示词数据

数据抓取逻辑在 scripts/utils/cms-client.ts 中。它通过带 API-Key 的请求拉取两类数据:

  • 最新 200 条提示词(按发布时间倒序);
  • 全部精选(featured)提示词(按人工排序,可能比较旧)。

两份数据按 ID 去重合并,再逐条提取缩略图、参考图、视频源地址。没有缩略词的条目会被跳过,保证生成的 README 排版完整。

🎬 第二步:yt-dlp 双通道视频下载

核心逻辑在 scripts/download-videos.ts:

环节策略
增量跳过本地tmp/videos/{id}.mp4已存在则直接复用,不重复下载
优先通道普通 HTTPfetch直接下载(快、稳)
兜底通道fetch 失败时自动切换yt-dlp下载(可解析 Twitter/X 等视频页)
超时保护单视频下载限时 120 秒,失败自动跳过并继续下一个

下载的文件以提示词 ID 命名(如1001_raw.mp4),方便后续环节精确定位。

🗜️ 第三步:ffmpeg 压缩瘦身

下载完成后,脚本会用一条固定的 ffmpeg 命令对所有视频做统一压缩,关键参数如下:

参数作用
-vcodec libx264H.264 编码,浏览器兼容性最好
-crf 28质量参数,压缩率与画质的平衡点
-preset fast快速编码预设
-vf "scale='min(720,iw)':-2"限制长边 720p(原图更小则不放大)
-an去掉音轨,README 场景无需音频
-movflags +faststart把索引放到文件头部,支持边下载边播放

如果压缩失败,脚本会自动回退使用原始文件,保证流程不中断。这一系列参数让每个视频都控制在适合网页嵌入的体积内。

📤 第四步:一键上传到 Release

上传逻辑在 scripts/upload-to-github.ts:

  1. 自动检查是否存在名为videos的 Release,没有就创建;
  2. 用gh release upload将压缩后的视频逐个上传,文件重命名为{id}.mp4;
  3. 每上传成功一个,就把"提示词 ID → 视频 URL"写入 video-urls.json;
  4. 已上传过的 ID 直接跳过,天然支持断点续传。

video-urls.json是整个工作流的"账本"——生成 README 时,就是靠它把每条提示词和它的视频链接对应起来。

📝 第五步:多语言 README 自动生成

主入口 scripts/generate-readme.ts 在下载上传完成后,遍历 15 种语言,调用 scripts/utils/markdown-generator.ts 生成对应的 README 文件(如README.md、README_zh.md)。视频链接会被自动内嵌到对应提示词下方:Release 视频 URL 在 GitHub 页面中可直接点击缩略图播放,无需进入网页。

🚀 快速上手

  1. 克隆仓库(如需要):git clone https://gitcode.com/gh_mirrors/aw/awesome-seedance-2-prompts
  2. 安装依赖:pnpm install(同时需要本机装有yt-dlp、ffmpeg、ghCLI 并已登录)
  3. 在.env中配置CMS_HOST与CMS_API_KEY(见 scripts/utils/cms-client.ts)
  4. 运行:pnpm generate

下载模式可通过环境变量DOWNLOAD_VIDEOS控制:

  • auto(默认):增量模式,只处理新视频
  • true:强制重新处理全部视频
  • false:跳过下载,仅重新生成 README

依赖声明见 package.json,多语言文案见 scripts/utils/i18n.ts,项目采用 CC BY 4.0 协议(见 LICENSE)。

📁 核心文件速查

文件职责
scripts/generate-readme.ts工作流主入口,串联下载、上传、生成
scripts/download-videos.tsyt-dlp 双通道下载 + ffmpeg 压缩
scripts/upload-to-github.tsRelease 自动创建与视频上传
scripts/utils/cms-client.tsCMS 数据抓取与字段解析
scripts/utils/markdown-generator.ts15 语言 README 模板与渲染
video-urls.json提示词 ID 与视频 URL 的映射账本

💡 小结

这条工作流的设计亮点在于处处留有余量:fetch 失败有 yt-dlp 兜底,压缩失败有原文件兜底,已下载/已上传的都会被增量跳过。单命令即可完成"抓取—下载—压缩—上传—多语言生成"的全流程,是小型内容仓库自动化运营的完整范本,值得做类似社区合集的同学参考。

【免费下载链接】awesome-seedance-2-prompts🎬 2000+ curated Seedance 2.0 video generation prompts — cinematic, anime, UGC, ads, meme styles. Includes Seedance API guides, character consistency tips, and advanced video workflows.项目地址: https://gitcode.com/gh_mirrors/aw/awesome-seedance-2-prompts

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询