项目介绍:Text2video
Text2video 项目是一个创新的工具,旨在将文本转换为视频,特别是为了实现小说的可视化阅读功能。用户可以通过该工具将书面内容“活化”为带有图像、声音以及字幕的视频文件。
实现原理
Text2video 通过几个具体步骤实现文本到视频的转换:
-
文本分段:首先将输入的文本按照标点符号中的句号进行分段,每个段落转换为独立的句子。
-
生成图像和声音:对于每个句子,该工具利用多种开源工具和模型实现图像和声音的生成。图像生成方面,利用了 stable-diffusion 图像生成模型,而文本转语音则由 edge-tts 驱动。
-
大模型提示词生成:通过大模型生成类似 midjourney 的提示词,然后利用 huggingface 的开源模型生成对应图片。
-
视频合成:使用 opencv 将生成的图片合并成视频文件,句子的内容也会作为字幕显示在视频底部。音频则管理画面的持续时间,使视频更具节奏感。
-
音频合成:最后一步是使用 ffmpeg 将生成的音频与视频合并,形成带有完整声音的 MP4 格式视频。
经过一系列处理,用户可以得到一个包含图像、字幕和声音的完整视频,实现了文本到视频视觉化表达的功能。
技术部署
项目提供了 Docker 一键启动功能,使得项目的启动变得异常简单,只需执行以下命令:
docker-compose up --build
本地开发环境
对于有意愿进行更加深入开发的用户,建议环境配置为 macOS 和 Python 3.10.12,同时需要安装 ffmpeg 以支持多媒体处理。
pip install -r requirements.txt
提高图像生成质量
本项目支持通过 OpenAI 提供的API生成更优质的图像提示词。用户可以通过配置 OpenAI 的 API key,在项目中配置代理支持。
OpenAI 配置示例
OPEN_AI_API_KEY="your open ai api key"
OPEN_AI_BASE_URL="https://api.moonshot.cn/v1"
Huggingface API 配置
为了使用 Huggingface 平台的模型,需要申请并配置 API token。由于中文生成图片的质量较差,因此项目中使用有道翻译提升质量。
API_TOKEN="your huggingface api token"
开始使用
以下命令可以在本地开启服务并开始使用项目:
python3.10 app.py
http://127.0.0.1:5001/
赞助与交流
项目支持赞助,用户可以自由打赏并备注 GitHub 名称,与开发者保持联系。此外,可以关注作者的微信公众号:"老码沉思录"与作者互动交流。
许可证
Text2video 项目采用 MIT 许可证授权,鼓励社区进行修改和再发布。