项目介绍
Automatic-Youtube-Reddit-Text-To-Speech-Video-Generator-and-Uploader 是一个旨在自动化生成和上传YouTube视频的项目。在当前流行的“Reddit文本转语音”视频趋势中,该项目提供了一种尽可能减少人为干预的视频制作流程。整个项目包括三个独立运行的程序,它们协同工作以完成从接收Reddit内容到生成并上传视频的全过程。
项目背景
该项目的开发者希望通过自动化的手段减少视频制作中的繁琐步骤。然而,有些环节仍需手动操作,例如存在链接的评论需要删除,因为这些内容在视频中呈现可能影响质量。另外,虽然一个评论可能有大量的点赞,但也可能含有不当或不适合公开展示的内容,因此需要人工审核。视频的缩略图和标题也是组成吸引点击的重要因素,部分生成的缩略图和视频标题需要手动调整以增强吸引力。
工作流程
整个视频制作流程通常包括以下步骤:
- 启动客户端程序。
- 选择需要编辑的原始脚本。
- 针对每一条评论进行保留或跳过的操作。
- 当预计的视频时长达到满意标准时发布视频。
- 修改视频标题以增加点击率。
- 添加适合视频主题的标签。
- 在缩略图文件夹中编辑生成的缩略图并选择。
- 如果需要,编辑视频描述。
- 提交“生成视频”,并在上传服务器成功后收到通知。
- 设置完成。
项目结构
项目由以下三个主要程序组成:
1. YouTube Bot Server
这个程序包括连接到客户端程序的socket服务器,以及连接到视频生成客户端程序的socket服务器。它每小时从Reddit获取新的脚本,并更新未编辑的现有脚本。
2. YouTube Bot Video Generator Client
该程序从YouTube Bot Video Generator Server接收完成的视频脚本,包括缩略图、描述、标签和标题。这些脚本将生成mp4文件,并在预定时间上传到YouTube。
3. YouTube Bot Client (Manual Review)
该手动审核客户端支持用户筛选评论,并编辑视频标题、上传缩略图、编辑描述和标签。部分标题、描述和标签是根据热门频道的通用模板自动生成的,但可以手动修改。
其他技术细节
-
Text-To-Speech:项目中使用命令行版本的Balabolka生成语音文件,并将其与视频生成程序中的不同帧同步。
-
数据库管理:脚本及其相关信息存储在一个MySQL数据库中,分为用户、视频生成器和脚本表。
-
获取Reddit脚本:项目使用
praw
库从Reddit获取脚本,默认设置为从r/AskReddit的热门标签中获取45个脚本。
视频生成规律
自动生成的Reddit文本转语音视频通常遵循以下简单模式:
- 一句文本被展示。
- 语音朗读该句文本。
- 语音完成后,下一句文本被展示。
- 重复以上步骤直到完成所有评论和回复。
- 评论及其回复完成后,播放过渡动画并移至下一评论。
- 重复上述步骤,直到形成一个10分钟的视频。
在视频中通常随机选择背景音乐,以达到更好的娱乐效果。
项目依赖
项目依赖可以通过在克隆后的目录中运行命令pip install -r requirements.txt
进行安装。
免责声明
用户需要根据自身环境对代码进行一定的修改以正常运行。该项目是在较为紧迫的时间节点完成,部分设计方案在中途做了调整,文件命名可能显得不够直观,项目计划后续不会再进行更新。
通过以上介绍,开发者提供了一种高效视频制作的智能途径,以期在Reddit文本转语音视频的制作中提供一种自动化的解决方案。