MoneyPrinterTurbo一键生成短视频
MoneyPrinterTurbo一键生成短视频
noise只需提供一个视频 主题 或 关键词 ,就可以全自动生成视频文案、视频素材、视频字幕、视频背景音乐,然后合成一个高清的短视频。
项目地址:https://github.com/harry0703/MoneyPrinterTurbo
功能特性 🎯
完整的 MVC架构,代码 结构清晰,易于维护,支持API和Web界面
支持视频文案 AI自动生成,也可以自定义文案
支持多种
高清视频
尺寸
竖屏 9:16,
1080x1920
横屏 16:9,
1920x1080
支持 批量视频生成,可以一次生成多个视频,然后选择一个最满意的
支持 视频片段时长设置,方便调节素材切换频率
支持 中文 和 英文 视频文案
支持 多种语音 合成
支持 字幕生成,可以调整
字体
、位置
、颜色
、大小
,同时支持字幕描边
设置支持 背景音乐,随机或者指定音乐文件,可设置
背景音乐音量
视频素材来源 高清,而且 无版权
支持 OpenAI、moonshot、Azure、gpt4free、one-api、通义千问 等多种模型接入
安装部署 📥
建议使用 conda 创建 python 虚拟环境
1 | git clone https://github.com/harry0703/MoneyPrinterTurbo.git |
快速使用 🚀
视频教程
- 完整的使用演示:https://v.douyin.com/iFhnwsKY/
- 如何在Windows上部署:https://v.douyin.com/iFyjoW3M
前提
- 尽量不要使用 中文路径,避免出现一些无法预料的问题
- 请确保你的 网络 是正常的,即可以正常访问境外网站
① 安装好 ImageMagick
Windows:
- 下载 https://imagemagick.org/archive/binaries/ImageMagick-7.1.1-29-Q16-x64-static.exe
- 安装下载好的 ImageMagick,注意不要修改安装路径
MacOS:
1 | brew install imagemagick |
Ubuntu
1 | sudo apt-get install imagemagick |
CentOS
1 | sudo yum install ImageMagick |
② 修改配置文件
- 将
config.example.toml
文件复制一份,命名为config.toml
- 按照
config.toml
文件中的说明,配置好pexels_api_keys
和llm_provider
,并根据 llm_provider 对应的服务商,配置相关的 API Key - 如果是
Windows
系统,imagemagick_path
为你的实际安装路径(如果安装的时候没有修改路径,直接取消注释即可)
③ 配置大模型(LLM)
- 如果要使用
GPT-4.0
或GPT-3.5
,需要有OpenAI
的API Key
,如果没有,可以将llm_provider
设置为g4f
( 一个免费使用GPT的开源库 https://github.com/xtekky/gpt4free) - 或者可以使用到 月之暗面 申请。注册就送 15元体验金,可以对话1500次左右。然后设置
llm_provider="moonshot"
和moonshot_api_key
。感谢 @jerryblues 的建议
启动Web界面 🌐
注意需要到 MoneyPrinterTurbo 项目 根目录
下执行以下命令
Windows
1 | conda activate MoneyPrinterTurbo |
MacOS or Linux
1 | conda activate MoneyPrinterTurbo |
启动后,会自动打开浏览器
效果如下图:
启动API服务 🚀
1 | python main.py |
启动后,可以查看 API文档
http://127.0.0.1:8080/docs 直接在线调试接口,快速体验。
效果如下图:
语音合成 🗣
所有支持的声音列表,可以查看:声音列表
字幕生成 📜
当前支持2种字幕生成方式:
- edge: 生成速度更快,性能更好,对电脑配置没有要求,但是质量可能不稳定
- whisper: 生成速度较慢,性能较差,对电脑配置有一定要求,但是质量更可靠
可以修改 config.toml
配置文件中的 subtitle_provider
进行切换
建议使用 edge
模式,如果生成的字幕质量不好,再切换到 whisper
模式
如果留空,表示不生成字幕。
背景音乐 🎵
用于视频的背景音乐,位于项目的 resource/songs
目录下。
当前项目里面放了一些默认的音乐,来自于 YouTube 视频,如有侵权,请删除。
字幕字体 🅰
用于视频字幕的渲染,位于项目的 resource/fonts
目录下,你也可以放进去自己的字体。
常见问题 🤔
❓AttributeError: ‘str’ object has no attribute ‘choices’`
这个问题是由于 OpenAI 或者其他 LLM,没有返回正确的回复导致的。
大概率是网络原因, 使用 VPN,或者设置 openai_base_url
为你的代理 ,应该就可以解决了。
❓RuntimeError: No ffmpeg exe could be found
通常情况下,ffmpeg 会被自动下载,并且会被自动检测到。 但是如果你的环境有问题,无法自动下载,可能会遇到如下错误:
1 | RuntimeError: No ffmpeg exe could be found. |
此时你可以从 https://www.gyan.dev/ffmpeg/builds/ 下载ffmpeg,解压后,设置 ffmpeg_path
为你的实际安装路径即可。
1 | [app] |
❓生成音频时报错或下载视频报错
1 | failed to generate audio, maybe the network is not available. |
1 | failed to download videos, maybe the network is not available. |
这个大概率是网络原因,无法访问境外的服务,请使用VPN解决。
❓ImageMagick is not installed on your computer
- 按照
示例配置
里面提供的下载地址
,安装 https://imagemagick.org/archive/binaries/ImageMagick-7.1.1-29-Q16-x64-static.exe, 用静态库 - 不要安装在中文路径里面,避免出现一些无法预料的问题
如果是linux系统,可以手动安装,参考 https://cn.linux-console.net/?p=16978
感谢 @wangwenqiao666的研究探索
❓ImageMagick的安全策略阻止了与临时文件@/tmp/tmpur5hyyto.txt相关的操作
可以在ImageMagick的配置文件policy.xml中找到这些策略。 这个文件通常位于 /etc/ImageMagick-X
/ 或 ImageMagick 安装目录的类似位置。 修改包含pattern="@"
的条目,将rights="none"
更改为rights="read|write"
以允许对文件的读写操作。
感谢 @chenhengzh的研究探索
❓OSError: [Errno 24] Too many open files
这个问题是由于系统打开文件数限制导致的,可以通过修改系统的文件打开数限制来解决。
查看当前限制
1 | ulimit -n |
如果过低,可以调高一些,比如
1 | ulimit -n 10240 |
❓AttributeError: module ‘PIL.Image’ has no attribute ‘ANTIALIAS’
先看下当前的 Pillow 版本是多少
1 | pip list |grep Pillow |
如果是 10.x 的版本,可以尝试下降级看看,有用户反馈降级后正常
1 | pip uninstall Pillow |