text2video
text2video copied to clipboard
半个神器👉一键文本转视频的工具
一个文本转视频的工具
这个工具可以将一段文本转换为视频,并保存到指定的本地,初衷是想实现小说的可视化阅读功能。
效果图如下:

实现原理
- 将文本进行分段,现在没有想到好的办法,就是通过标点符号句号分段,分成一个个的句子
- 通过句子生成图片,生成声音,图片开源的有很多,本方案采用 stable-diffusion,语言转文字使用 edge-tts
- 通过大模型生成midjourney类的提示词,然后通过huggingface的模型生成图片。
- 在通过 opencv 将图片合并为视频,目前输出 mp4 格式的视频,句子作为字母贴到视频内容的底部区域。
- 音频是一个有时间概念的东西,恰好可以通过音频控制一张画面的播放时长
- 在通过 ffmpeg 将音频合并到原始视频中。
最终,一个有画面,有字幕,有声音的视频就出现了,咱们实现了一个 文本转视频
。
Docker 一键启动
docker-compose up --build
本地开发
开发时,需要安装的环境是 macOS
python 3.10.12
,其他环境可能存在兼容性问题,需要安装 ffmpeg
ffmpeg -version
ffmpeg version 6.0 Copyright (c) 2000-2023 the FFmpeg developers
built with Apple clang version 14.0.3 (clang-1403.0.22.14.1)
pip install -r requirements.txt
支持生成绘图提示词来提高绘图质量
需要配置 openai 的 api key,支持代理
OPEN_AI_API_KEY="your open ai api key"
OPEN_AI_BASE_URL="https://api.moonshot.cn/v1" # for moonshot demo
生成 huggingface api key
token 申请地址:https://huggingface.co/settings/tokens
因为,该项目中使用了 huggingface 上的开源文生图模型生成图片,中文生成图片效果不大好,因此,本项目对中文进行了翻译,感谢有道,直接使用有道翻译,比较方便。翻译后,生成图的质量有一定的提高。
token 可以写入到 .env 文件里面
API_TOKEN="your huggingface api token"
如果使用的 pollinations-ai ,则不填写 token 也可以,这个模型是使用的 ChatGPT 的 Dalle-2 模型。
安装 ffmpeg
因为视频合成声音需要
开始使用
python3.10 app.py
http://127.0.0.1:5001/
赞助
随意打赏,请备注 github 名
关注作者微信公众号,老码沉思录,与作者交流。
License: MIT
本项目采用 MIT 许可证授权。