MoneyPrinter国内版改造

背景:
MoneyPrinter 是一个自动生成短视频的开源项目。只需要输入短视频主题,然后就可以生成视频。
在国内环境运行时,框架中使用的youtube、抖音文字转语音等功能无法使用,需要对框架进行国内版改造,使其使用国内网络环境。
实现原理:
MoneyPrinter根据输入的主题,调用AI生成视频文案,然后生成检索关键字,去pixel网站检索相关的视频,然后调用语音合成工具生成音频,调用moviepy生成字符,最后将生成的音频、视频、字幕进行合并,完成视频拼接。
关键步骤:
- AI文案:调用g4f,自动检索可用的AI接口。你可以替换成自己付费的API模型,也可以让他自己检索可用的免费AI

- pixel网站:需要你配置自己的账号秘钥,以供接口调用时使用,完全免费的。国内可访问。

- 语音合成工具:将视频脚本转换为语音。
- moviepy:拼接视频
国内版改造:
-
youtube 自动上传功能
-
文字转音频,需要换替换国内可用服务器。之前分享的文章
-
字幕转换,需要转换为中文版
def generate_response(prompt: str, ai_model: str) -> str:"""Generate a script for a video, depending on the subject of the video.Args:video_subject (str): The subject of the video.ai_model (str): The AI model to use for generation.Returns:str: The response from the AI model."""if ai_model == 'g4f':# 使用最新版本的调用方法client = g4f.client.Client()response = client.chat.completions.create(model='gpt-3.5-turbo',messages=[{"role": "user", "content": prompt}],).choices[0].message.contentelif ai_model in ["gpt3.5-turbo", "gpt4"]:model_name = "gpt-3.5-turbo" if ai_model == "gpt3.5-turbo" else "gpt-4-1106-preview"response = openai.chat.completions.create(model=model_name,messages=[{"role": "user", "content": prompt}],).choices[0].message.contentelif ai_model == 'gemmini':model = genai.GenerativeModel('gemini-pro')response_model = model.generate_content(prompt)response = response_model.textelse:raise ValueError("Invalid AI model selected.")return responsedef translate_text(txt: str, /, *, language='Chinese', ai_model: str) -> str:logger.debug(f'待翻译的内容: {txt} \n'f'待翻译为的语言:{language}')prompt = f"translate the following text into {language}: {txt}"logger.debug(f'使用的AI模型:{ai_model}')response = generate_response(prompt, ai_model)logger.info(f'翻译结果:: {response}')return response -
最终输入的视频存在只显示第一帧画面的问题(
调用moviepy模块后补充close()方法)

-
使用loguru进行日志管理。

国内版项目使用步骤:
-
项目代码
-
安装ImageMagick
-
修改项目配置文件:
- ImageMagick, 指定安装路径
- PEXELS_API_KEY,填写账号token
- 如果有,AI模型token
# Necessary API Keys # -------------------# ImageMagick Binary Path # Download ImageMagick from https://imagemagick.org/script/download.php IMAGEMAGICK_BINARY="/Downloads/ImageMagick/iMagick/usr/local/bin/magick"# Pexels API Key # Register at https://www.pexels.com/api/ to get your API key. PEXELS_API_KEY=""# Optional API Keys # -----------------# OpenAI API Key # Visit https://openai.com/api/ for details on obtaining an API key. #OPENAI_API_KEY=""# AssemblyAI API Key # Sign up at https://www.assemblyai.com/ to receive an API key. #ASSEMBLY_AI_API_KEY="" -
后端服务启动
/Backend$ python main.py

-
前端服务启动
python -m http.server 3000

-
浏览器调用
http://127.0.0.1:3000/

-
输入主题,生成第一个视频
-
查看视频
http://127.0.0.1:3000/static/temp/


相关文章:
MoneyPrinter国内版改造
背景: MoneyPrinter 是一个自动生成短视频的开源项目。只需要输入短视频主题,然后就可以生成视频。 在国内环境运行时,框架中使用的youtube、抖音文字转语音等功能无法使用,需要对框架进行国内版改造,使其使用国内网络…...
C++ 派生类的引入与特性
一 继承与派生 从上面的例子可以看出: 继承:一旦指定了某种事物父代的本质特征,那么它的子代将会自动具有哪些性质。这就是一种朴素的可重用的概念。 派生:而且子代可以拥有父代没有的特性,这是可扩充的概念。 1 C 的…...
Poe是什么?怎样订阅Poe?
Poe(全称“开放探索平台”,Platform for Open Exploration)是一款由Quora开发的移动应用程序,于2022年12月推出。该应用程序内置建基于AI技术的聊天机器人,可供用户向机器人询问专业知识、食谱、日常生活,甚…...
基于FPGA的视频矩阵切换方案
一、单个显示设备的系统方案:会议室只有1个显示设备 会议室的信号源有很多,但是显示设备只有1个,这个时候最佳方案是使用切换器。 (1)切换器(控制方式:遥控器、软件、机箱面板、中控ÿ…...
.NET周刊【5月第1期 2024-05-05】
国内文章 一个开源轻量级的C#代码格式化工具(支持VS和VS Code) https://www.cnblogs.com/Can-daydayup/p/18164905 CSharpier是一个开源、免费的C#代码格式化工具,特点是轻量级且依赖Roslyn引擎重构代码格式。支持的IDE包括Visual Studio …...
springcloud -nacos实战
一、nacos 功能简介 1.1.什么是Nacos? 官方简介:一个更易于构建云原生应用的动态服务发现(Nacos Discovery )、服务配置(Nacos Config)和服务管理平台。 Nacos的关键特性包括: 服务发现和服务健康监测动态配置服务动态DNS服务服务及其元数…...
第十五章 数据管理成熟度评估练习
单选题 (每题1分,共19道题) 1、 [单选] 下列选项中属于数据管理成熟度2级特征的选项是? A:很少或没有治理;有限的工具集;单个竖井(系统)内定义角色;控件(如果有的话的应用完全不一致);未解决的数据质量问题 B:治理开始出现;引入一致的工具集;定义了一些角色和…...
tcpdump速查表
tcpdump 速查表 -D 列出网络设备 ~]$ sudo tcpdump -D1.eth02.nflog (Linux netfilter log (NFLOG) interface)3.nfqueue (Linux netfilter queue (NFQUEUE) interface)4.any (Pseudo-device that captures on all interfaces)5.lo [Loopback]-i 指定网卡 前面列出的设备可以…...
单元测试与集成测试:软件质量的双重保障
目录 概述 单元测试 集成测试 单元测试的方法 白盒测试 黑盒测试 白盒测试的方法和用例设计 代码审查 集成测试 单元测试工具 结语 在软件开发中,测试是一个不可或缺的环节,它能够帮助我们发现和修复缺陷,确保软件的质量和可靠性。…...
孙宇晨对话大公网:香港Web3政策友好环境示范意义重大
日前,全球知名华文媒体大公网发布《湾区web3大有可为》重磅系列报道。报道通过对中国香港与大湾区其他城市Web3政策、行业创新和生态建设等方面的梳理,以及对行业领袖和重要行业机构的走访,全面展现了在大湾区一体化发展的背景下,Web3等数字经济模式在该地区的长远发展潜力。 …...
Python运维之多线程!!
一、多线程 二、多线程编程之threading模块 2.1、使用threading进行多线程操作有两种方法: 三、多线程同步之Lock(互斥锁) 四、多线程同步之Semaphore(信号量) 五、多线程同步之Condition 六、多线程同步之Event…...
milvus插入数据时,明明不超长,但总是报长度错误?
在处理插入milvus数据时,设置了字段长度为512. 明明考虑了预留,插入的数据中没有这么长的,但还是会有报错 类似:MilvusException: (code0, messagethe length (564) of 78th string exceeds max length (512) 查找max(len(x) for …...
怎么把图片大小缩小到1M?教你几招图片你压缩
当我们的图片数量越来越多的时候,占用的内存也就越来越多,时间长了之后,会导致我们空间不足或者设备比较卡顿,为了缓解这个问题,很多人会选择去删除一些不必要的图片文件,其实还有个方法就是利用图片压缩的…...
python数据分析常见命令
前言 近些天我会整理一些我平时清理csv,excel数据经常用的常见命令来分享给大家学习,大家一起加油! 第一个命令:引入pandas库 pandas库是一个开源的数据分析工具,主要用于数据处理和数据分析。 import pandas as pd 第二个命令…...
等保测评技术方案(五)
(八)漏洞扫描方案 1.参与人员 乙方工程师:谭 然、张 剑等。 范围经过双方确认,此次评估的对象包括: 2.网络设备 IP 地址 设备型号 备注 / / / / / / 以现场测评实际数据为准 3.应用系统 地址 …...
Redis缓存的基本概念和使用
Redis缓存的基本概念和使用 什么是缓存Redis缓存缓存更新策略缓存穿透缓存雪崩缓存击穿缓存工具类封装 什么是缓存 缓存时数据交换的缓冲区,存储数据的临时区,读写性能较好。 例如计算机的三级缓存。CPU的计算速度超过内存的读写速度,为了平…...
MATLAB模拟退火算法、遗传算法、蚁群算法、粒子群算法
概况 模拟退火算法、遗传算法、蚁群算法、粒子群算法等算法,都是属于概率算法,不绝对,不迅速,能用其它方式解决的问题,不要用这些相对复杂的算法,比如有明确的线性关系或者非线性对应关系。这里的概率算法…...
git自用随笔
push失败 因为远程比本地新,要拉到本地进行合并。git pull拉取,拉取失败,本地分支没有和远程链接,使用git branch --set-upstream-toorigin/<branch> dev进行链接,链接后再次pull,pull提示合并冲突&a…...
CorelDRAW2024设计界的隐藏宝藏
CorelDRAW 2024是一款专业的平面设计软件,被广泛地应用于各类设计领域。它的功能强大、操作简便,是许多设计师的得力助手。在本文中,我们将详细解析这款软件的核心特性以及其在实际应用中的表现。 CDR永久版安装包百度云分享下载如下点击获取…...
【JAVA】递归
接着上一讲继续,内容不多,讲解一下递归相关内容。 1. 生活中的故事 从前有坐山,山上有座庙,庙里有个老和尚给小和尚将故事,讲的就是: "从前有座山,山上有座庙,庙里有个老和尚…...
AI辅助数据库设计:让快马平台智能分析ER图,推荐并生成优化后的SQL代码
最近在做一个员工管理系统的数据库设计,发现ER图的设计和SQL代码生成其实是个挺费脑子的活儿。好在现在有了AI辅助工具,整个过程变得轻松多了。今天就用一个实际案例,分享一下如何用智能工具优化数据库设计。 初始ER图分析 系统最初的设计很简…...
FastAdmin框架旧版本踩坑记:手把手教你修复那个能读任意文件的CVE-2024-7928漏洞
FastAdmin框架安全实战:深度解析CVE-2024-7928漏洞修复与防御策略 当安全扫描报告突然标红显示"FastAdmin框架存在任意文件读取漏洞(CVE-2024-7928)"时,作为项目负责人的你可能会瞬间心跳加速。这个看似简单的漏洞编号背…...
Get Shit Done:基于上下文工程的AI开发框架解决Claude Code上下文衰退难题
Get Shit Done:基于上下文工程的AI开发框架解决Claude Code上下文衰退难题 【免费下载链接】get-shit-done A light-weight and powerful meta-prompting, context engineering and spec-driven development system for Claude Code by TCHES. 项目地址: https://…...
UE5开发者必备:10个免费3D模型资源网站推荐(含避坑指南)
UE5开发者必备:10个免费3D模型资源网站深度评测与实战指南 当你深夜盯着UE5编辑器里那个孤零零的默认立方体发呆时,是否也经历过这种绝望?作为经历过上百个原型项目的老司机,我深刻理解优质3D资源对开发效率的致命影响。市面上90…...
TurtleBot3在Gazebo中的多机器人SLAM仿真:ROS2 Humble命名空间实战
TurtleBot3多机SLAM仿真:ROS2 Humble命名空间深度实践 在机器人开发领域,仿真环境的重要性不言而喻。它不仅能大幅降低硬件成本,还能提供可重复、可控的测试条件。ROS2 Humble作为当前长期支持版本,结合Gazebo仿真器和TurtleBot3…...
Meixiong Niannian画图引擎Typora集成:Markdown文档图像生成
Meixiong Niannian画图引擎Typora集成:Markdown文档图像生成 1. 为什么文档作者需要在Typora里直接画图? 你有没有过这样的经历:写技术文档时,突然需要一张示意图来说明某个流程;写产品需求时,想快速画个…...
小米平板5 Windows驱动包:让Windows在平板上流畅运行的终极指南
小米平板5 Windows驱动包:让Windows在平板上流畅运行的终极指南 【免费下载链接】MiPad5-Drivers Based on Surface Duo Drivers. 项目地址: https://gitcode.com/gh_mirrors/mi/MiPad5-Drivers 想要在小米平板5上完美运行Windows系统吗?MiPad5-D…...
5分钟部署Qwen3-Reranker-0.6B:解决模型下载失败、权限问题等部署难题
5分钟部署Qwen3-Reranker-0.6B:解决模型下载失败、权限问题等部署难题 1. 引言 Qwen3-Reranker-0.6B作为一款轻量级但功能强大的文本重排序模型,在实际部署过程中常常会遇到各种"拦路虎"。本文将带你快速解决这些部署难题,让你在…...
Phi-3 Forest Laboratory 学术辅助:基于LaTeX的论文写作与公式编辑
Phi-3 Forest Laboratory 学术辅助:基于LaTeX的论文写作与公式编辑 写论文,尤其是理工科的论文,对很多学生和研究人员来说,是个既费时又费力的活儿。光是“相关工作”部分,就得翻遍文献,总结归纳ÿ…...
YOLO-Master 的MoE方案分解
之前,进行论文精度。今天看下具体代码 文章目录1. OptimizedMOEImproved加载模块过程2. 路由模块 EfficientSpatialRouter3. 专家 SimpleExpert实例条件自适应MoE 剪枝 (MoEPruner)聚类加权 NMS (CW-NMS)1. OptimizedMOEImproved 同构专家:通常使用相同…...
