youtube-summary
youtube-summary.Rmd
简介
本包提供了一套便捷的函数来下载 YouTube 视频字幕并使用 AI 生成视频内容摘要。主要功能包括:
- 下载 YouTube 视频字幕
- 清理和处理字幕文本
- 使用 AI 生成视频内容摘要
- 支持单个视频和播放列表的批量处理
前置要求
使用示例
生成单个视频的摘要
url <- "https://youtu.be/DrTCC9sorE8?si=B6guMfoFYC8Rw4lx"
summary <- yt_summary(url,
model = "glm-4-flash",
base_url = "https://open.bigmodel.cn/api/paas/v4/",
api_key = Sys.getenv("ZHIPUAI_API_KEY"))
str(summary)
处理播放列表,获取每个视频的摘要
playlist_url <- "https://www.youtube.com/playlist?list=PL9HYL-VRX0oSFkdF4fJeY63eGDvgofcbn"
summaries <- yt_summary(playlist_url, rettype = "tibble")
summaries
详细步骤
视频摘要各个步骤的函数使用方法。
下载字幕
subs_file <- yt_sub_download(url, lang = "en", output_file = "subtitles.txt")
# 显示前10行字幕
readLines(subs_file, n = 10) |> cat(sep = "\n")
清理字幕文本
# will not execute in vignette
clean_text <- yt_sub_clean(subs_file)
substring(clean_text, 1, 60)
生成摘要
summary <- gpt_text_summary(
text = clean_text,
system_prompt = "请根据我提供的字幕为视频写一个结构化的中文摘要"
)
cat(summary)
辅助函数
检查 URL 是否为播放列表
playlist_url <- "https://www.youtube.com/playlist?list=PL9HYL-VRX0oSFkdF4fJeY63eGDvgofcbn"
yt_is_playlist(playlist_url)
获取视频标题
title <- yt_video_title(url)
title
获取播放列表标题
playlist_title <- yt_playlist_title(playlist_url)
playlist_title