开源AI一键解说并剪辑视频工具

介绍

NarratoAI 是一个自动化影视解说工具,基于LLM实现文案撰写、自动化视频剪辑、配音和字幕生成的一站式流程,助力高效内容创作。

Github:https://github.com/linyqh/NarratoAI

img

img

配置要求 📦

  • 建议最低 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 网络即可,本文采用的是 chash

  1. 记住 clash 服务的端口,一般为 http://127.0.0.1:7890

  2. 若端口不为

    1
    7890

    ,请修改

    1
    docker-compose.yml

    文件中的

    1
    VPN_PROXY_URL

    为你的代理地址

    1
    2
    environment:
    - "VPN_PROXY_URL=http://host.docker.internal:7890" # 修改为你的代理端口;host.docker.internal表示物理机的IP
  3. (可选)或者修改

    1
    config.example.toml

    文件中的

    1
    proxy

    配置

    1
    2
    3
    4
    5
    6
    7
    8
    [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

1
2
3
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,选择模型

001

选择需要解说的视频,点击生成视频脚本

平台内置了一个演示视频,若要使用自己的视频,将mp4文件放在 resource/videos 目录下,刷新浏览器即可, 注意:文件名随意,但文件名不能包含中文,特殊字符,空格,反斜杠等

002

3. 保存脚本,开始剪辑

保存脚本后,刷新浏览器,在脚本文件的下拉框就会有新生成的 .json 脚本文件,选择json文件和视频就可以开始剪辑了。

003

4. 检查视频,若视频存在不符合规则的片段,可以点击重新生成或者手动编辑

003

5. 配置视频基本参数

003

6. 开始生成

003

7. 视频生成完成

003

开发 💻

  1. 安装依赖
1
2
3
4
conda create -n narratoai python=3.10
conda activate narratoai
cd narratoai
pip install -r requirements.txt
  1. 安装 ImageMagick
Windows:
MacOS:
1
brew install imagemagick
Ubuntu
1
sudo apt-get install imagemagick
CentOS
1
sudo yum install ImageMagick
  1. 启动 webui
1
streamlit run ./webui/Main.py --browser.serverAddress=127.0.0.1 --server.enableCORS=True --browser.gatherUsageStats=False
  1. 访问 http://127.0.0.1:8501