OA0 = Omni AI 0
OA0 是一个探索 AI 的论坛
现在注册
已注册用户请  登录
OA0  ›  技能包  ›  gettr-transcribe-summarize:下载并转录总结 GETTR 帖子的音频内容

gettr-transcribe-summarize:下载并转录总结 GETTR 帖子的音频内容

 
  unittest ·  2026-02-05 22:56:17 · 3 次点击  · 0 条评论  

名称: gettr-transcribe-summarize
描述: 从 GETTR 帖子(通过 HTML og:video)下载音频,在 Apple Silicon 上使用 MLX Whisper 进行本地转录(通过 VTT 生成时间戳),并将转录内容总结为要点和/或带时间戳的提纲。当用户提供 GETTR 帖子 URL 并要求生成转录或摘要时使用。
主页: https://gettr.com
元数据: {"clawdbot":{"emoji":"📺","requires":{"bins":["mlx_whisper","ffmpeg"]},"install":[{"id":"mlx-whisper","kind":"pip","package":"mlx-whisper","bins":["mlx_whisper"],"label":"安装 mlx-whisper (pip)"},{"id":"ffmpeg","kind":"brew","formula":"ffmpeg","bins":["ffmpeg"],"label":"安装 ffmpeg (brew)"}]}}


GETTR 转录 + 摘要 (MLX Whisper)

快速开始

# 1. 从 URL 中解析 slug(直接读取即可,无需脚本)
#    https://gettr.com/post/p1abc2def  → slug = p1abc2def
#    https://gettr.com/streaming/p3xyz → slug = p3xyz

# 2. 获取视频 URL
#    对于 /post/ 类型的 URL:使用提取脚本
python3 scripts/extract_gettr_og_video.py "<GETTR_POST_URL>"

#    对于 /streaming/ 类型的 URL:直接使用浏览器自动化(提取脚本不可靠)
#    关于浏览器自动化的说明,请参见下方的步骤 1

# 3. 运行下载 + 转录流水线
bash scripts/run_pipeline.sh "<VIDEO_URL>" "<SLUG>"

若要显式设置转录语言(推荐用于非英语内容):

bash scripts/run_pipeline.sh --language zh "<VIDEO_URL>" "<SLUG>"

常用语言代码:zh(中文)、en(英语)、ja(日语)、ko(韩语)、es(西班牙语)、fr(法语)、de(德语)、ru(俄语)。

输出文件位于:
- ./out/gettr-transcribe-summarize/<slug>/audio.wav
- ./out/gettr-transcribe-summarize/<slug>/audio.vtt

然后继续执行步骤 3(总结)以生成最终交付物。


工作流程(GETTR URL → 转录稿 → 摘要)

需确认的输入项

向用户确认:
- GETTR 帖子 URL
- 输出格式:仅要点要点 + 带时间戳的提纲
- 摘要长度:简短中等(默认)详细
- 语言(可选):如果视频为非英语且自动检测失败,请询问语言代码(例如 zh 代表中文)

注意事项:
- 本技能处理需要身份验证的 GETTR 帖子。
- 本技能进行翻译;输出内容保持视频的原始语言。
- 如果转录质量不佳或混有英语,请使用显式的 --language 标志重新运行。

前提条件(本地)

  • 已安装 mlx_whisper 并已加入 PATH
  • 已安装 ffmpeg(推荐:brew install ffmpeg

步骤 0 — 解析 slug 并选择输出目录

直接从 GETTR URL 解析 slug — 只需读取最后一个路径段,无需脚本:
- https://gettr.com/post/p1abc2def → slug = p1abc2def
- https://gettr.com/streaming/p3xyz789 → slug = p3xyz789

输出目录:./out/gettr-transcribe-summarize/<slug>/

目录结构:
- ./out/gettr-transcribe-summarize/<slug>/audio.wav
- ./out/gettr-transcribe-summarize/<slug>/audio.vtt
- ./out/gettr-transcribe-summarize/<slug>/summary.md

步骤 1 — 获取视频 URL

方法取决于 URL 类型:

对于 /post/ 类型的 URL — 使用提取脚本

运行提取脚本,从帖子 HTML 中获取视频 URL:

python3 scripts/extract_gettr_og_video.py "<GETTR_POST_URL>"

此命令会将最佳候选视频 URL(通常是 HLS .m3u8 文件)打印到标准输出。

如果提取失败,请要求用户直接提供 .m3u8/MP4 URL(如果帖子是私密的、需要验证或 HTML 是动态生成的,这种情况很常见)。

对于 /streaming/ 类型的 URL — 直接使用浏览器自动化

不要对直播流 URL 使用提取脚本。 从静态 HTML 提取的 og:video URL 对于直播内容不可靠 — 要么完全失败,要么下载在接近结束时卡住并失败。

应使用浏览器自动化来获取一个新鲜的、动态签名的 URL:
1. 打开 GETTR 直播流 URL,等待页面完全加载(必须执行 JavaScript)。
2. 从渲染后的 DOM 中提取 og:video 元标签的内容:
javascript document.querySelector('meta[property="og:video"]').getAttribute('content')
3. 在步骤 2 的流水线中使用这个新鲜的 URL。

如果无法使用浏览器自动化或自动化失败,请参阅 references/troubleshooting.md 了解如何指导用户从浏览器中手动提取新鲜的 URL。

步骤 2 — 运行流水线(下载 + 转录)

将提取到的视频 URL 和 slug 输入流水线:

bash scripts/run_pipeline.sh "<VIDEO_URL>" "<SLUG>"

若要显式设置语言(推荐在自动检测失败时使用):

bash scripts/run_pipeline.sh --language zh "<VIDEO_URL>" "<SLUG>"

流水线执行两项操作:
1. 通过 ffmpeg 将音频下载为 16kHz 单声道 WAV 文件。
2. 使用 MLX Whisper 进行转录,输出带时间戳的 VTT 文件。

如果流水线因 HTTP 412 错误(签名 URL 过期)而失败

此错误在使用 /streaming/ URL 且签名 URL 已过期时发生。如果浏览器自动化返回了一个过期的 URL,请重新运行浏览器自动化以获取新的 URL,然后重试流水线。

如果无法使用浏览器自动化或自动化失败,请参阅 references/troubleshooting.md 了解如何指导用户从浏览器中手动提取新鲜的 URL。

注意事项:
- 默认情况下,语言是自动检测的。对于检测失败的非英语内容,请使用 --language
- 如果速度太慢或内存占用过高,请尝试使用更小的模型:mlx-community/whisper-mediummlx-community/whisper-small
- 如果质量不佳,请尝试完整模型:mlx-community/whisper-large-v3(速度较慢但更准确)。
- 如果 --word-timestamps 导致问题,流水线会自动重试而不使用该选项。

步骤 3 — 总结

将最终交付物写入 ./out/gettr-transcribe-summarize/<slug>/summary.md

选择一个摘要长度(用户可选):
- 简短: 5–8 个要点;(如有提纲)4–6 个部分
- 中等(默认): 8–20 个要点;(如有提纲)6–15 个部分
- 详细: 20–40 个要点;(如有提纲)15–30 个部分

包含:
- 要点(根据上述长度)
- 可选的带时间戳的提纲(根据上述长度)

带时间戳的提纲格式(默认标题样式):

[00:00 - 02:15] 章节标题
- 1–3 个子要点

根据 VTT 提示构建提纲时:
- 将相邻的提示分组为连贯的章节。
- 使用章节中第一个提示的开始时间和最后一个提示的结束时间。

捆绑脚本

  • scripts/run_pipeline.sh:下载 + 转录流水线(接收视频 URL 和 slug)
  • scripts/extract_gettr_og_video.py:获取 GETTR HTML 并提取 og:video URL(带重试/退避机制)
  • scripts/download_audio.sh:从 HLS 或 MP4 URL 下载/提取音频为 16kHz 单声道 WAV

错误处理

  • 非视频帖子: 提取脚本会检测图片/文本帖子并提供有用的错误信息。
  • 网络错误: 自动重试并采用指数退避策略(最多 3 次尝试)。
  • 无音频轨道: 下载脚本会验证输出,并在源文件没有音频时报告。
  • HTTP 412 错误: 在使用 /streaming/ URL 且签名 URL 已过期时发生。重新运行浏览器自动化以获取新的 URL(参见步骤 1);如果失败,请参阅 references/troubleshooting.md

故障排除

有关常见问题的详细解决方案,请参阅 references/troubleshooting.md,包括:
- HTTP 412 错误(签名 URL 过期)
- 提取失败
- 下载错误
- 转录质量问题

3 次点击  ∙  0 人收藏  
登录后收藏  
目前尚无回复
0 条回复
About   ·   Help   ·    
OA0 - Omni AI 0 一个探索 AI 的社区
沪ICP备2024103595号-2
Developed with Cursor