mirror of
https://github.com/linyqh/NarratoAI.git
synced 2025-12-13 12:12:50 +00:00
解决冲突
This commit is contained in:
commit
efc0acaeab
197
README-cn.md
Normal file
197
README-cn.md
Normal file
@ -0,0 +1,197 @@
|
|||||||
|
|
||||||
|
<div align="center">
|
||||||
|
<h1 align="center" style="font-size: 2cm;"> NarratoAI 😎📽️ </h1>
|
||||||
|
<h3 align="center">An all-in-one AI-powered tool for film commentary and automated video editing.🎬🎞️ </h3>
|
||||||
|
|
||||||
|
|
||||||
|
<h3>📖 English | <a href="README.md">简体中文</a> </h3>
|
||||||
|
<div align="center">
|
||||||
|
|
||||||
|
[//]: # ( <a href="https://trendshift.io/repositories/8731" target="_blank"><img src="https://trendshift.io/api/badge/repositories/8731" alt="harry0703%2FNarratoAI | Trendshift" style="width: 250px; height: 55px;" width="250" height="55"/></a>)
|
||||||
|
</div>
|
||||||
|
<br>
|
||||||
|
NarratoAI is an automated video narration tool that provides an all-in-one solution for script writing, automated video editing, voice-over, and subtitle generation, powered by LLM to enhance efficient content creation.
|
||||||
|
<br>
|
||||||
|
|
||||||
|
[](https://github.com/linyqh/NarratoAI)
|
||||||
|
[](https://github.com/linyqh/NarratoAI/blob/main/LICENSE)
|
||||||
|
[](https://github.com/linyqh/NarratoAI/issues)
|
||||||
|
[](https://github.com/linyqh/NarratoAI/stargazers)
|
||||||
|
|
||||||
|
<a href="https://github.com/linyqh/NarratoAI/wiki" target="_blank">💬 Join the open source community to get project updates and the latest news.</a>
|
||||||
|
|
||||||
|
<h3>Home</h3>
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
<h3>Video Review Interface</h3>
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
## Future Plans 🥳
|
||||||
|
- [x] Windows Integration Pack Release
|
||||||
|
- [ ] Optimized the story generation process and improved the generation effect
|
||||||
|
- [ ] Support local large model MiniCPM-V
|
||||||
|
- [ ] Support local large model Qwen2-VL
|
||||||
|
- [ ] ...
|
||||||
|
|
||||||
|
## System Requirements 📦
|
||||||
|
|
||||||
|
- Recommended minimum: CPU with 4 cores or more, 8GB RAM or more, GPU is not required
|
||||||
|
- Windows 10 or MacOS 11.0 or above
|
||||||
|
|
||||||
|
## Quick Start 🚀
|
||||||
|
### 1. Apply for Google AI Studio Account
|
||||||
|
1. Visit https://aistudio.google.com/app/prompts/new_chat to apply for an account.
|
||||||
|
2. Click `Get API Key` to request an API Key.
|
||||||
|
3. Enter the obtained API Key into the `gemini_api_key` setting in the `config.example.toml` file.
|
||||||
|
|
||||||
|
### 2. Configure Proxy VPN
|
||||||
|
> The method to configure VPN is not restricted, as long as you can access Google's network. Here, `clash` is used as an example.
|
||||||
|
1. Note the port of the clash service, usually `http://127.0.0.1:7890`.
|
||||||
|
2. If the port is not `7890`, modify the `VPN_PROXY_URL` in the `docker-compose.yml` file to your proxy address.
|
||||||
|
```yaml
|
||||||
|
environment:
|
||||||
|
- "VPN_PROXY_URL=http://host.docker.internal:7890" # Change to your proxy port; host.docker.internal represents the IP of the physical machine.
|
||||||
|
```
|
||||||
|
|
||||||
|
3. (Optional) Or modify the `proxy` settings in the `config.example.toml` file.
|
||||||
|
```toml
|
||||||
|
[proxy]
|
||||||
|
### Use a proxy to access the Pexels API
|
||||||
|
### Format: "http://<username>:<password>@<proxy>:<port>"
|
||||||
|
### Example: "http://user:pass@proxy:1234"
|
||||||
|
### Doc: https://requests.readthedocs.io/en/latest/user/advanced/#proxies
|
||||||
|
|
||||||
|
http = "http://xx.xx.xx.xx:7890"
|
||||||
|
https = "http://xx.xx.xx.xx:7890"
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
### 3. Get Started 📥 with the Modpack (for Windows users)
|
||||||
|
NarratoAI Modpack v0.1.2 is released 🚀
|
||||||
|
|
||||||
|
Hurry up and follow the WeChat public account [NarratoAI助手] and reply to the keyword [整合包] to get the latest download link! Give it a try!
|
||||||
|
|
||||||
|
Note:
|
||||||
|
- Currently only available for Windows, Mac version is in development, Linux version will be available in a future release.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### 4. Get started 🐳 with docker (for Mac and Linux users)
|
||||||
|
#### ① clone project, Start Docker
|
||||||
|
```shell
|
||||||
|
git clone https://github.com/linyqh/NarratoAI.git
|
||||||
|
cd NarratoAI
|
||||||
|
docker-compose up
|
||||||
|
```
|
||||||
|
#### ② Access the Web Interface
|
||||||
|
|
||||||
|
Open your browser and go to http://127.0.0.1:8501
|
||||||
|
|
||||||
|
#### ③ Access the API Documentation
|
||||||
|
|
||||||
|
Open your browser and go to http://127.0.0.1:8080/docs or http://127.0.0.1:8080/redoc
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
#### 1. Basic Configuration, Select Model, Enter API Key, and Choose Model
|
||||||
|
> Currently, only the `Gemini` model is supported. Other modes will be added in future updates. Contributions are welcome via [PR](https://github.com/linyqh/NarratoAI/pulls) to join in the development 🎉🎉🎉
|
||||||
|
<div align="center">
|
||||||
|
<img src="docs/img001-en.png" alt="001" width="1000"/>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
#### 2. Select the Video for Narration and Click to Generate Video Script
|
||||||
|
> A demo video is included in the platform. To use your own video, place the mp4 file in the `resource/videos` directory and refresh your browser.
|
||||||
|
> Note: The filename can be anything, but it must not contain Chinese characters, special characters, spaces, backslashes, etc.
|
||||||
|
<div align="center">
|
||||||
|
<img src="docs/img002-en.png" alt="002" width="400"/>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
#### 3. Save the Script and Start Editing
|
||||||
|
> After saving the script, refresh the browser, and the newly generated `.json` script file will appear in the script file dropdown. Select the json file and video to start editing.
|
||||||
|
<div align="center">
|
||||||
|
<img src="docs/img003-en.png" alt="003" width="400"/>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
#### 4. Review the Video; if there are segments that don't meet the rules, click to regenerate or manually edit them.
|
||||||
|
<div align="center">
|
||||||
|
<img src="docs/img004-en.png" alt="003" width="1000"/>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
#### 5. Configure Basic Video Parameters
|
||||||
|
<div align="center">
|
||||||
|
<img src="docs/img005-en.png" alt="003" width="700"/>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
#### 6. Start Generating
|
||||||
|
<div align="center">
|
||||||
|
<img src="docs/img006-en.png" alt="003" width="1000"/>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
#### 7. Video Generation Complete
|
||||||
|
<div align="center">
|
||||||
|
<img src="docs/img007-en.png" alt="003" width="1000"/>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
## Development 💻
|
||||||
|
1. Install Dependencies
|
||||||
|
```shell
|
||||||
|
conda create -n narratoai python=3.10
|
||||||
|
conda activate narratoai
|
||||||
|
cd narratoai
|
||||||
|
pip install -r requirements.txt
|
||||||
|
```
|
||||||
|
2. Install ImageMagick
|
||||||
|
###### Windows:
|
||||||
|
|
||||||
|
- Download https://imagemagick.org/archive/binaries/ImageMagick-7.1.1-38-Q16-x64-static.exe
|
||||||
|
- Install the downloaded ImageMagick, ensuring you do not change the installation path
|
||||||
|
- Update `imagemagick_path` in the `config.toml` file to your actual installation path (typically `C:\Program Files\ImageMagick-7.1.1-Q16\magick.exe`)
|
||||||
|
|
||||||
|
###### MacOS:
|
||||||
|
|
||||||
|
```shell
|
||||||
|
brew install imagemagick
|
||||||
|
````
|
||||||
|
|
||||||
|
###### Ubuntu
|
||||||
|
|
||||||
|
```shell
|
||||||
|
sudo apt-get install imagemagick
|
||||||
|
```
|
||||||
|
|
||||||
|
###### CentOS
|
||||||
|
|
||||||
|
```shell
|
||||||
|
sudo yum install ImageMagick
|
||||||
|
```
|
||||||
|
|
||||||
|
3. initiate webui
|
||||||
|
```shell
|
||||||
|
streamlit run ./webui/Main.py --browser.serverAddress=127.0.0.1 --server.enableCORS=True --browser.gatherUsageStats=False
|
||||||
|
```
|
||||||
|
4. Access http://127.0.0.1:8501
|
||||||
|
|
||||||
|
## Feedback & Suggestions 📢
|
||||||
|
|
||||||
|
### 👏 1. You can submit [issues](https://github.com/linyqh/NarratoAI/issues) or [pull requests](https://github.com/linyqh/NarratoAI/pulls)
|
||||||
|
|
||||||
|
### 💬 2. [Join the open source community exchange group]((https://github.com/linyqh/NarratoAI/wiki))
|
||||||
|
|
||||||
|
### 👉 3. [frequently asked questions](https://thread-marsupial-df8.notion.site/105866888dab80988650fa063b1df4eb)
|
||||||
|
|
||||||
|
## Reference Projects 📚
|
||||||
|
- https://github.com/FujiwaraChoki/MoneyPrinter
|
||||||
|
- https://github.com/harry0703/MoneyPrinterTurbo
|
||||||
|
|
||||||
|
This project was refactored based on the above projects with the addition of video narration features. Thanks to the original authors for their open-source spirit 🥳🥳🥳
|
||||||
|
|
||||||
|
## License 📝
|
||||||
|
|
||||||
|
Click to view the [`LICENSE`](LICENSE) file
|
||||||
|
|
||||||
|
## Star History
|
||||||
|
|
||||||
|
[](https://star-history.com/#linyqh/NarratoAI&Date)
|
||||||
201
README-zh.md
201
README-zh.md
@ -1,201 +0,0 @@
|
|||||||
|
|
||||||
<div align="center">
|
|
||||||
<h1 align="center" style="font-size: 2cm;"> NarratoAI 😎📽️ </h1>
|
|
||||||
<h3 align="center">一站式 AI 影视解说+自动化剪辑工具🎬🎞️ </h3>
|
|
||||||
|
|
||||||
|
|
||||||
<h3>📖 <a href="README.md">English</a> | 简体中文 </h3>
|
|
||||||
<div align="center">
|
|
||||||
|
|
||||||
[//]: # ( <a href="https://trendshift.io/repositories/8731" target="_blank"><img src="https://trendshift.io/api/badge/repositories/8731" alt="harry0703%2FNarratoAI | Trendshift" style="width: 250px; height: 55px;" width="250" height="55"/></a>)
|
|
||||||
</div>
|
|
||||||
<br>
|
|
||||||
NarratoAI 是一个自动化影视解说工具,基于LLM实现文案撰写、自动化视频剪辑、配音和字幕生成的一站式流程,助力高效内容创作。
|
|
||||||
<br>
|
|
||||||
|
|
||||||
[](https://github.com/linyqh/NarratoAI)
|
|
||||||
[](https://github.com/linyqh/NarratoAI/blob/main/LICENSE)
|
|
||||||
[](https://github.com/linyqh/NarratoAI/issues)
|
|
||||||
[](https://github.com/linyqh/NarratoAI/stargazers)
|
|
||||||
|
|
||||||
<a href="https://github.com/linyqh/NarratoAI/wiki" target="_blank">💬 加入开源社区,获取项目动态和最新资讯。</a>
|
|
||||||
|
|
||||||
<h3>首页</h3>
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
<h3>视频审查界面</h3>
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
## 整合包 📥
|
|
||||||
**NarratoAI 整合包 v0.1.2 发布啦** 🎉🎉🎉
|
|
||||||
|
|
||||||
关注微信公众号【NarratoAI助手】,回复关键词【整合包】即可获取最新下载链接!快来试试吧!
|
|
||||||
|
|
||||||
注意事项:
|
|
||||||
- 当前仅提供 Windows 版本,Mac 版本正在开发中,Linux 版本将在后续版本中提供。
|
|
||||||
|
|
||||||
## 未来计划 🥳
|
|
||||||
- [x] windows 整合包发布
|
|
||||||
- [ ] 优化剧情生成流程,提升生成效果
|
|
||||||
- [ ] 支持本地大模型 MiniCPM-V
|
|
||||||
- [ ] 支持本地大模型 Qwen2-VL
|
|
||||||
- [ ] ...
|
|
||||||
|
|
||||||
## 配置要求 📦
|
|
||||||
|
|
||||||
- 建议最低 CPU 4核或以上,内存 8G 或以上,显卡非必须
|
|
||||||
- Windows 10 或 MacOS 11.0 以上系统
|
|
||||||
|
|
||||||
## 快速开始 🚀
|
|
||||||
### 申请 Google AI studio 账号
|
|
||||||
1. 访问 https://aistudio.google.com/app/prompts/new_chat 申请账号
|
|
||||||
2. 点击 `Get API Key` 申请 API Key
|
|
||||||
3. 申请的 API Key 填入 `config.example.toml` 文件中的 `gemini_api_key` 配置
|
|
||||||
|
|
||||||
### 配置 proxy VPN 😑
|
|
||||||
> 配置vpn的方法不限,只要能正常访问 Google 网络即可,本文采用的是 [clash](https://github.com/Z-Siqi/Clash-for-Windows_Chinese) \
|
|
||||||
> 最近发现 clash 非常不稳定,在对比后发现 [v2rayN](https://github.com/2dust/v2rayN) 要好用一些 👍
|
|
||||||
1. 记住 clash 服务的端口,一般为 `http://127.0.0.1:7890`
|
|
||||||
2. 若端口不为 `7890`,请修改 `docker-compose.yml` 文件中的 `VPN_PROXY_URL` 为你的代理地址
|
|
||||||
```yaml
|
|
||||||
environment:
|
|
||||||
- "VPN_PROXY_URL=http://host.docker.internal:7890" # 修改为你的代理端口;host.docker.internal表示物理机的IP
|
|
||||||
```
|
|
||||||
3. (可选)或者修改 `config.example.toml` 文件中的 `proxy` 配置
|
|
||||||
```toml
|
|
||||||
[proxy]
|
|
||||||
### Use a proxy to access the Pexels API
|
|
||||||
### Format: "http://<username>:<password>@<proxy>:<port>"
|
|
||||||
### Example: "http://user:pass@proxy:1234"
|
|
||||||
### Doc: https://requests.readthedocs.io/en/latest/user/advanced/#proxies
|
|
||||||
|
|
||||||
http = "http://xx.xx.xx.xx:7890"
|
|
||||||
https = "http://xx.xx.xx.xx:7890"
|
|
||||||
```
|
|
||||||
### docker部署🐳
|
|
||||||
#### ① 拉取项目,启动Docker
|
|
||||||
```shell
|
|
||||||
git clone https://github.com/linyqh/NarratoAI.git
|
|
||||||
cd NarratoAI
|
|
||||||
docker-compose up
|
|
||||||
```
|
|
||||||
#### ② 访问Web界面
|
|
||||||
|
|
||||||
打开浏览器,访问 http://127.0.0.1:8501
|
|
||||||
|
|
||||||
#### ③ 访问API文档
|
|
||||||
|
|
||||||
打开浏览器,访问 http://127.0.0.1:8080/docs 或者 http://127.0.0.1:8080/redoc
|
|
||||||
|
|
||||||
## 使用方法
|
|
||||||
#### 1. 基础配置,选择模型,填入APIKey,选择模型
|
|
||||||
> 目前暂时只支持 `Gemini` 模型,其他模式待后续更新,欢迎大家提交 [PR](https://github.com/linyqh/NarratoAI/pulls),参与开发 🎉🎉🎉
|
|
||||||
<div align="center">
|
|
||||||
<img src="docs/img001-zh.png" alt="001" width="1000"/>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
#### 2. 选择需要解说的视频,点击生成视频脚本
|
|
||||||
> 平台内置了一个演示视频,若要使用自己的视频,将mp4文件放在 `resource/videos` 目录下,刷新浏览器即可,
|
|
||||||
> 注意:文件名随意,但文件名不能包含中文,特殊字符,空格,反斜杠等
|
|
||||||
<div align="center">
|
|
||||||
<img src="docs/img002-zh.png" alt="002" width="400"/>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
#### 3. 保存脚本,开始剪辑
|
|
||||||
> 保存脚本后,刷新浏览器,在脚本文件的下拉框就会有新生成的 `.json` 脚本文件,选择json文件和视频就可以开始剪辑了。
|
|
||||||
<div align="center">
|
|
||||||
<img src="docs/img003-zh.png" alt="003" width="400"/>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
#### 4. 检查视频,若视频存在不符合规则的片段,可以点击重新生成或者手动编辑
|
|
||||||
<div align="center">
|
|
||||||
<img src="docs/img004-zh.png" alt="003" width="1000"/>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
#### 5. 配置视频基本参数
|
|
||||||
<div align="center">
|
|
||||||
<img src="docs/img005-zh.png" alt="003" width="700"/>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
#### 6. 开始生成
|
|
||||||
<div align="center">
|
|
||||||
<img src="docs/img006-zh.png" alt="003" width="1000"/>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
#### 7. 视频生成完成
|
|
||||||
<div align="center">
|
|
||||||
<img src="docs/img007-zh.png" alt="003" width="1000"/>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
## 开发 💻
|
|
||||||
1. 安装依赖
|
|
||||||
```shell
|
|
||||||
conda create -n narratoai python=3.10
|
|
||||||
conda activate narratoai
|
|
||||||
cd narratoai
|
|
||||||
pip install -r requirements.txt
|
|
||||||
```
|
|
||||||
|
|
||||||
2. 安装 ImageMagick
|
|
||||||
###### Windows:
|
|
||||||
|
|
||||||
- 下载 https://imagemagick.org/archive/binaries/ImageMagick-7.1.1-36-Q16-x64-static.exe
|
|
||||||
- 安装下载好的 ImageMagick,注意不要修改安装路径
|
|
||||||
- 修改 `配置文件 config.toml` 中的 `imagemagick_path` 为你的实际安装路径(一般在 `C:\Program Files\ImageMagick-7.1.1-Q16\magick.exe`)
|
|
||||||
|
|
||||||
###### MacOS:
|
|
||||||
|
|
||||||
```shell
|
|
||||||
brew install imagemagick
|
|
||||||
````
|
|
||||||
|
|
||||||
###### Ubuntu
|
|
||||||
|
|
||||||
```shell
|
|
||||||
sudo apt-get install imagemagick
|
|
||||||
```
|
|
||||||
|
|
||||||
###### CentOS
|
|
||||||
|
|
||||||
```shell
|
|
||||||
sudo yum install ImageMagick
|
|
||||||
```
|
|
||||||
3. 启动 webui
|
|
||||||
```shell
|
|
||||||
streamlit run ./webui/webui.py --browser.serverAddress=127.0.0.1 --server.enableCORS=True --browser.gatherUsageStats=False
|
|
||||||
```
|
|
||||||
4. 访问 http://127.0.0.1:8501
|
|
||||||
|
|
||||||
|
|
||||||
## 反馈建议 📢
|
|
||||||
|
|
||||||
### 👏👏👏 可以提交 [issue](https://github.com/linyqh/NarratoAI/issues)或者 [pull request](https://github.com/linyqh/NarratoAI/pulls) 🎉🎉🎉
|
|
||||||
|
|
||||||
### 💬加入开源社区交流群
|
|
||||||
<div align="center">
|
|
||||||
<img src="https://github.com/user-attachments/assets/a8a5e676-e57e-4a66-9de7-63ba3db82458" alt="003" width="300"/>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
### 💬添加小助手
|
|
||||||
<div align="center">
|
|
||||||
<img src="https://github.com/user-attachments/assets/266471b3-3bba-401e-984a-22791bdd9a08" alt="003" width="300"/>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
## 参考项目 📚
|
|
||||||
- https://github.com/FujiwaraChoki/MoneyPrinter
|
|
||||||
- https://github.com/harry0703/MoneyPrinterTurbo
|
|
||||||
|
|
||||||
该项目基于以上项目重构而来,增加了影视解说功能,感谢大佬的开源精神 🥳🥳🥳
|
|
||||||
|
|
||||||
## 许可证 📝
|
|
||||||
|
|
||||||
点击查看 [`LICENSE`](LICENSE) 文件
|
|
||||||
|
|
||||||
## Star History
|
|
||||||
|
|
||||||
[](https://star-history.com/#linyqh/NarratoAI&Date)
|
|
||||||
|
|
||||||
179
README.md
179
README.md
@ -1,16 +1,16 @@
|
|||||||
|
|
||||||
<div align="center">
|
<div align="center">
|
||||||
<h1 align="center" style="font-size: 2cm;"> NarratoAI 😎📽️ </h1>
|
<h1 align="center" style="font-size: 2cm;"> NarratoAI 😎📽️ </h1>
|
||||||
<h3 align="center">An all-in-one AI-powered tool for film commentary and automated video editing.🎬🎞️ </h3>
|
<h3 align="center">一站式 AI 影视解说+自动化剪辑工具🎬🎞️ </h3>
|
||||||
|
|
||||||
|
|
||||||
<h3>📖 English | <a href="README-zh.md">简体中文</a> </h3>
|
<h3>📖 <a href="README-cn.md">English</a> | 简体中文 </h3>
|
||||||
<div align="center">
|
<div align="center">
|
||||||
|
|
||||||
[//]: # ( <a href="https://trendshift.io/repositories/8731" target="_blank"><img src="https://trendshift.io/api/badge/repositories/8731" alt="harry0703%2FNarratoAI | Trendshift" style="width: 250px; height: 55px;" width="250" height="55"/></a>)
|
[//]: # ( <a href="https://trendshift.io/repositories/8731" target="_blank"><img src="https://trendshift.io/api/badge/repositories/8731" alt="harry0703%2FNarratoAI | Trendshift" style="width: 250px; height: 55px;" width="250" height="55"/></a>)
|
||||||
</div>
|
</div>
|
||||||
<br>
|
<br>
|
||||||
NarratoAI is an automated video narration tool that provides an all-in-one solution for script writing, automated video editing, voice-over, and subtitle generation, powered by LLM to enhance efficient content creation.
|
NarratoAI 是一个自动化影视解说工具,基于LLM实现文案撰写、自动化视频剪辑、配音和字幕生成的一站式流程,助力高效内容创作。
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
[](https://github.com/linyqh/NarratoAI)
|
[](https://github.com/linyqh/NarratoAI)
|
||||||
@ -18,134 +18,130 @@ NarratoAI is an automated video narration tool that provides an all-in-one solut
|
|||||||
[](https://github.com/linyqh/NarratoAI/issues)
|
[](https://github.com/linyqh/NarratoAI/issues)
|
||||||
[](https://github.com/linyqh/NarratoAI/stargazers)
|
[](https://github.com/linyqh/NarratoAI/stargazers)
|
||||||
|
|
||||||
<a href="https://github.com/linyqh/NarratoAI/wiki" target="_blank">💬 Join the open source community to get project updates and the latest news.</a>
|
<a href="https://github.com/linyqh/NarratoAI/wiki" target="_blank">💬 加入开源社区,获取项目动态和最新资讯。</a>
|
||||||
|
|
||||||
<h3>Home</h3>
|
<h3>首页</h3>
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
<h3>Video Review Interface</h3>
|
<h3>视频审查界面</h3>
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
## Modpack 📥
|
## 未来计划 🥳
|
||||||
NarratoAI Modpack v0.1.2 is released 🚀
|
- [x] windows 整合包发布
|
||||||
|
- [ ] 优化剧情生成流程,提升生成效果
|
||||||
Hurry up and follow the WeChat public account [NarratoAI助手] and reply to the keyword [整合包] to get the latest download link! Give it a try!
|
- [ ] 支持本地大模型 MiniCPM-V
|
||||||
|
- [ ] 支持本地大模型 Qwen2-VL
|
||||||
Note:
|
|
||||||
- Currently only available for Windows, Mac version is in development, Linux version will be available in a future release.
|
|
||||||
|
|
||||||
## Future Plans 🥳
|
|
||||||
- [x] Windows Integration Pack Release
|
|
||||||
- [ ] Optimized the story generation process and improved the generation effect
|
|
||||||
- [ ] Support local large model MiniCPM-V
|
|
||||||
- [ ] Support local large model Qwen2-VL
|
|
||||||
- [ ] ...
|
- [ ] ...
|
||||||
|
|
||||||
## System Requirements 📦
|
## 配置要求 📦
|
||||||
|
|
||||||
- Recommended minimum: CPU with 4 cores or more, 8GB RAM or more, GPU is not required
|
- 建议最低 CPU 4核或以上,内存 8G 或以上,显卡非必须
|
||||||
- Windows 10 or MacOS 11.0 or above
|
- Windows 10 或 MacOS 11.0 以上系统
|
||||||
|
|
||||||
## Quick Start 🚀
|
## 快速开始 🚀
|
||||||
### Apply for Google AI Studio Account
|
### 1. 申请 Google AI studio 账号
|
||||||
1. Visit https://aistudio.google.com/app/prompts/new_chat to apply for an account.
|
1. 访问 https://aistudio.google.com/app/prompts/new_chat 申请账号
|
||||||
2. Click `Get API Key` to request an API Key.
|
2. 点击 `Get API Key` 申请 API Key
|
||||||
3. Enter the obtained API Key into the `gemini_api_key` setting in the `config.example.toml` file.
|
3. 申请的 API Key 填入 `config.example.toml` 文件中的 `gemini_api_key` 配置
|
||||||
|
|
||||||
### Configure Proxy VPN
|
### 2. 配置 proxy VPN
|
||||||
> The method to configure VPN is not restricted, as long as you can access Google's network. Here, [clash](https://github.com/Z-Siqi/Clash-for-Windows_Chinese) is used as an example.
|
> 配置vpn的方法不限,只要能正常访问 Google 网络即可,本文采用的是 chash
|
||||||
1. Note the port of the clash service, usually `http://127.0.0.1:7890`.
|
1. 记住 clash 服务的端口,一般为 `http://127.0.0.1:7890`
|
||||||
2. If the port is not `7890`, modify the `VPN_PROXY_URL` in the `docker-compose.yml` file to your proxy address.
|
2. 若端口不为 `7890`,请修改 `docker-compose.yml` 文件中的 `VPN_PROXY_URL` 为你的代理地址
|
||||||
```yaml
|
```yaml
|
||||||
environment:
|
environment:
|
||||||
- "VPN_PROXY_URL=http://host.docker.internal:7890" # Change to your proxy port; host.docker.internal represents the IP of the physical machine.
|
- "VPN_PROXY_URL=http://host.docker.internal:7890" # 修改为你的代理端口;host.docker.internal表示物理机的IP
|
||||||
```
|
```
|
||||||
|
3. (可选)或者修改 `config.example.toml` 文件中的 `proxy` 配置
|
||||||
3. (Optional) Or modify the `proxy` settings in the `config.example.toml` file.
|
|
||||||
```toml
|
```toml
|
||||||
[proxy]
|
[proxy]
|
||||||
### Use a proxy to access the Pexels API
|
|
||||||
### Format: "http://<username>:<password>@<proxy>:<port>"
|
|
||||||
### Example: "http://user:pass@proxy:1234"
|
|
||||||
### Doc: https://requests.readthedocs.io/en/latest/user/advanced/#proxies
|
|
||||||
|
|
||||||
http = "http://xx.xx.xx.xx:7890"
|
http = "http://xx.xx.xx.xx:7890"
|
||||||
https = "http://xx.xx.xx.xx:7890"
|
https = "http://xx.xx.xx.xx:7890"
|
||||||
```
|
```
|
||||||
|
|
||||||
### Docker Deployment 🐳
|
### 3. 使用【整合包】开始 📥 (适用与 Windows 用户)
|
||||||
#### ① clone project, Start Docker
|
**NarratoAI 整合包 v0.1.2 发布啦** 🎉🎉🎉
|
||||||
|
|
||||||
|
关注微信公众号【NarratoAI助手】,回复关键词【整合包】即可获取最新下载链接!快来试试吧!
|
||||||
|
|
||||||
|
注意事项:
|
||||||
|
- 当前仅提供 Windows 版本,Mac和Linux用户请使用 docker 启动。
|
||||||
|
|
||||||
|
|
||||||
|
### 4. 使用【docker】开始🐳 (适用与 Mac 和 Linux 用户)
|
||||||
|
#### ① 拉取项目,启动Docker
|
||||||
```shell
|
```shell
|
||||||
git clone https://github.com/linyqh/NarratoAI.git
|
git clone https://github.com/linyqh/NarratoAI.git
|
||||||
cd NarratoAI
|
cd NarratoAI
|
||||||
docker-compose up
|
docker-compose up
|
||||||
```
|
```
|
||||||
#### ② Access the Web Interface
|
#### ② 访问Web界面
|
||||||
|
|
||||||
Open your browser and go to http://127.0.0.1:8501
|
打开浏览器,访问 http://127.0.0.1:8501
|
||||||
|
|
||||||
#### ③ Access the API Documentation
|
#### ③ 访问API文档
|
||||||
|
|
||||||
Open your browser and go to http://127.0.0.1:8080/docs or http://127.0.0.1:8080/redoc
|
打开浏览器,访问 http://127.0.0.1:8080/docs 或者 http://127.0.0.1:8080/redoc
|
||||||
|
|
||||||
## Usage
|
## 使用方法 🛠️
|
||||||
#### 1. Basic Configuration, Select Model, Enter API Key, and Choose Model
|
#### 1. 基础配置,选择模型,填入APIKey,选择模型
|
||||||
> Currently, only the `Gemini` model is supported. Other modes will be added in future updates. Contributions are welcome via [PR](https://github.com/linyqh/NarratoAI/pulls) to join in the development 🎉🎉🎉
|
> 目前暂时只支持 `Gemini` 模型,其他模式待后续更新,欢迎大家提交 [PR](https://github.com/linyqh/NarratoAI/pulls),参与开发 🎉🎉🎉
|
||||||
<div align="center">
|
<div align="center">
|
||||||
<img src="docs/img001-en.png" alt="001" width="1000"/>
|
<img src="docs/img001-zh.png" alt="001" width="1000"/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
#### 2. Select the Video for Narration and Click to Generate Video Script
|
#### 2. 选择需要解说的视频,点击生成视频脚本
|
||||||
> A demo video is included in the platform. To use your own video, place the mp4 file in the `resource/videos` directory and refresh your browser.
|
> 平台内置了一个演示视频,若要使用自己的视频,将mp4文件放在 `resource/videos` 目录下,刷新浏览器即可,
|
||||||
> Note: The filename can be anything, but it must not contain Chinese characters, special characters, spaces, backslashes, etc.
|
> 注意:文件名随意,但文件名不能包含中文,特殊字符,空格,反斜杠等
|
||||||
<div align="center">
|
<div align="center">
|
||||||
<img src="docs/img002-en.png" alt="002" width="400"/>
|
<img src="docs/img002-zh.png" alt="002" width="400"/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
#### 3. Save the Script and Start Editing
|
#### 3. 保存脚本,开始剪辑
|
||||||
> After saving the script, refresh the browser, and the newly generated `.json` script file will appear in the script file dropdown. Select the json file and video to start editing.
|
> 保存脚本后,刷新浏览器,在脚本文件的下拉框就会有新生成的 `.json` 脚本文件,选择json文件和视频就可以开始剪辑了。
|
||||||
<div align="center">
|
<div align="center">
|
||||||
<img src="docs/img003-en.png" alt="003" width="400"/>
|
<img src="docs/img003-zh.png" alt="003" width="400"/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
#### 4. Review the Video; if there are segments that don't meet the rules, click to regenerate or manually edit them.
|
#### 4. 检查视频,若视频存在不符合规则的片段,可以点击重新生成或者手动编辑
|
||||||
<div align="center">
|
<div align="center">
|
||||||
<img src="docs/img004-en.png" alt="003" width="1000"/>
|
<img src="docs/img004-zh.png" alt="003" width="1000"/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
#### 5. Configure Basic Video Parameters
|
#### 5. 配置视频基本参数
|
||||||
<div align="center">
|
<div align="center">
|
||||||
<img src="docs/img005-en.png" alt="003" width="700"/>
|
<img src="docs/img005-zh.png" alt="003" width="700"/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
#### 6. Start Generating
|
#### 6. 开始生成
|
||||||
<div align="center">
|
<div align="center">
|
||||||
<img src="docs/img006-en.png" alt="003" width="1000"/>
|
<img src="docs/img006-zh.png" alt="003" width="1000"/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
#### 7. Video Generation Complete
|
#### 7. 视频生成完成
|
||||||
<div align="center">
|
<div align="center">
|
||||||
<img src="docs/img007-en.png" alt="003" width="1000"/>
|
<img src="docs/img007-zh.png" alt="003" width="1000"/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
## Development 💻
|
## 开发 💻
|
||||||
1. Install Dependencies
|
1. 安装依赖
|
||||||
```shell
|
```shell
|
||||||
conda create -n narratoai python=3.10
|
conda create -n narratoai python=3.10
|
||||||
conda activate narratoai
|
conda activate narratoai
|
||||||
cd narratoai
|
cd narratoai
|
||||||
pip install -r requirements.txt
|
pip install -r requirements.txt
|
||||||
```
|
```
|
||||||
2. Install ImageMagick
|
|
||||||
|
2. 安装 ImageMagick
|
||||||
###### Windows:
|
###### Windows:
|
||||||
|
|
||||||
- Download https://imagemagick.org/archive/binaries/ImageMagick-7.1.1-36-Q16-x64-static.exe
|
- 下载 https://imagemagick.org/archive/binaries/ImageMagick-7.1.1-38-Q16-x64-static.exe
|
||||||
- Install the downloaded ImageMagick, ensuring you do not change the installation path
|
- 安装下载好的 ImageMagick,注意不要修改安装路径
|
||||||
- Update `imagemagick_path` in the `config.toml` file to your actual installation path (typically `C:\Program Files\ImageMagick-7.1.1-Q16\magick.exe`)
|
- 修改 `配置文件 config.toml` 中的 `imagemagick_path` 为你的实际安装路径(一般在 `C:\Program Files\ImageMagick-7.1.1-Q16\magick.exe`)
|
||||||
|
|
||||||
###### MacOS:
|
###### MacOS:
|
||||||
|
|
||||||
@ -164,37 +160,38 @@ sudo apt-get install imagemagick
|
|||||||
```shell
|
```shell
|
||||||
sudo yum install ImageMagick
|
sudo yum install ImageMagick
|
||||||
```
|
```
|
||||||
|
3. 启动 webui
|
||||||
3. initiate webui
|
|
||||||
```shell
|
```shell
|
||||||
streamlit run ./webui/webui.py --browser.serverAddress=127.0.0.1 --server.enableCORS=True --browser.gatherUsageStats=False
|
streamlit run ./webui/Main.py --browser.serverAddress=127.0.0.1 --server.enableCORS=True --browser.gatherUsageStats=False
|
||||||
```
|
```
|
||||||
4. Access http://127.0.0.1:8501
|
4. 访问 http://127.0.0.1:8501
|
||||||
|
|
||||||
## Feedback & Suggestions 📢
|
|
||||||
|
|
||||||
### 👏👏👏 You can submit [issues](https://github.com/linyqh/NarratoAI/issues) or [pull requests](https://github.com/linyqh/NarratoAI/pulls) 🎉🎉🎉
|
## 反馈建议 📢
|
||||||
|
|
||||||
### 💬Join the open source community exchange group
|
### 👏 1. 可以提交 [issue](https://github.com/linyqh/NarratoAI/issues)或者 [pull request](https://github.com/linyqh/NarratoAI/pulls)
|
||||||
<div align="center">
|
|
||||||
<img src="https://github.com/user-attachments/assets/a8a5e676-e57e-4a66-9de7-63ba3db82458" alt="003" width="300"/>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
### 💬Add a mini-assistant
|
### 💬 2. [加入开源社区交流群](https://github.com/linyqh/NarratoAI/wiki)
|
||||||
<div align="center">
|
|
||||||
<img src="https://github.com/user-attachments/assets/266471b3-3bba-401e-984a-22791bdd9a08" alt="003" width="300"/>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
## Reference Projects 📚
|
### 👉 3. [常见问题](https://thread-marsupial-df8.notion.site/105866888dab80988650fa063b1df4eb)
|
||||||
|
|
||||||
|
## 参考项目 📚
|
||||||
- https://github.com/FujiwaraChoki/MoneyPrinter
|
- https://github.com/FujiwaraChoki/MoneyPrinter
|
||||||
- https://github.com/harry0703/MoneyPrinterTurbo
|
- https://github.com/harry0703/MoneyPrinterTurbo
|
||||||
|
|
||||||
This project was refactored based on the above projects with the addition of video narration features. Thanks to the original authors for their open-source spirit 🥳🥳🥳
|
该项目基于以上项目重构而来,增加了影视解说功能,感谢大佬的开源精神 🥳🥳🥳
|
||||||
|
|
||||||
## License 📝
|
## 请作者喝一杯咖啡 ☕️
|
||||||
|
<div style="display: flex; justify-content: space-between;">
|
||||||
|
<img src="https://github.com/user-attachments/assets/5038ccfb-addf-4db1-9966-99415989fd0c" alt="Image 1" style="width: 350px; height: 350px; margin: auto;"/>
|
||||||
|
<img src="https://github.com/user-attachments/assets/07d4fd58-02f0-425c-8b59-2ab94b4f09f8" alt="Image 2" style="width: 350px; height: 350px; margin: auto;"/>
|
||||||
|
</div>
|
||||||
|
|
||||||
Click to view the [`LICENSE`](LICENSE) file
|
## 许可证 📝
|
||||||
|
|
||||||
|
点击查看 [`LICENSE`](LICENSE) 文件
|
||||||
|
|
||||||
## Star History
|
## Star History
|
||||||
|
|
||||||
[](https://star-history.com/#linyqh/NarratoAI&Date)
|
[](https://star-history.com/#linyqh/NarratoAI&Date)
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user