一個可一鍵生成短視頻的AI大模型,親測可用

来源:https://www.cnblogs.com/codechen8848/p/18097412
-Advertisement-
Play Games

MoneyPrinterTurbo —— 一個利用大模型,一鍵生成短視頻的開源項目。只需輸入視頻主題或關鍵詞,就可以全自動生成視頻文案、視頻素材、視頻字幕、視頻背景音樂,最後合成一個高清的短視頻。 ...


大家好,我是 Java陳序員

自從 OpenAI 發佈 Sora 文本生成視頻模型後,文本生成視頻的 AI 技術引起了無數圈內圈外人士的關註和實驗。

今天,給大家介紹一個大模型,可一鍵生成短視頻。

關註微信公眾號:【Java陳序員】,獲取開源項目分享、AI副業分享、超200本經典電腦電子書籍等。

項目介紹

MoneyPrinterTurbo —— 一個利用大模型,一鍵生成短視頻的開源項目。

只需輸入視頻主題關鍵詞,就可以全自動生成視頻文案、視頻素材、視頻字幕、視頻背景音樂,最後合成一個高清的短視頻。

MoneyPrinterTurbo 支持生成豎屏9:16(抖音視頻)、橫屏16:9(西瓜視頻)兩種視頻尺寸。

功能特色:

安裝部署

1、環境準備

  • MoneyPrinterTurbo 推薦使用 conda 創建 python 虛擬環境,因此需要先安裝好 conda
  • 下載安裝 ImageMagick

2、拉取代碼

3、創建 python 虛擬環境

conda create -n MoneyPrinterTurbo python=3.10
conda activate MoneyPrinterTurbo

4、安裝依賴

pip install -r requirements.txt

5、修改配置文件

將 config.example.toml 文件複製一份,命名為 config.toml.

按照配置文件(如下配置)中的說明,配置好 pexels_api_keys 和 llm_provider,並根據 llm_provider 對應的服務商,配置相關的 API Key.

[app]
    # Pexels API Key
    # Register at https://www.pexels.com/api/ to get your API key.
    # You can use multiple keys to avoid rate limits.
    # For example: pexels_api_keys = ["123456789","abcdefghi"]
    # 特別註意格式,Key 用英文雙引號括起來,多個Key用逗號隔開
    pexels_api_keys = []

    # 如果你沒有 OPENAI API Key,可以使用 g4f 代替,或者使用國內的 Moonshot API
    llm_provider="openai" # "openai" or "moonshot" or "oneapi" or "g4f" or "azure"

    ########## OpenAI API Key
    # Visit https://openai.com/api/ for details on obtaining an API key.
    openai_api_key = ""
    openai_base_url = "" # no need to set it unless you want to use your own proxy
    openai_model_name = "gpt-4-turbo-preview"

    ########## Moonshot API Key
    # Visit https://platform.moonshot.cn/console/api-keys to get your API key.
    moonshot_api_key=""
    moonshot_base_url = "https://api.moonshot.cn/v1"
    moonshot_model_name = "moonshot-v1-8k"

    ########## OneAPI API Key
    # Visit https://github.com/songquanpeng/one-api to get your API key
    oneapi_api_key=""
    oneapi_base_url=""
    oneapi_model_name=""

    ########## G4F
    # Visit https://github.com/xtekky/gpt4free to get more details
    # Supported model list: https://github.com/xtekky/gpt4free/blob/main/g4f/models.py
    g4f_model_name = "gpt-3.5-turbo-16k-0613"

    ########## Azure API Key
    # Visit https://learn.microsoft.com/zh-cn/azure/ai-services/openai/ to get more details
    # API documentation: https://learn.microsoft.com/zh-cn/azure/ai-services/openai/reference
    azure_api_key = ""
    azure_base_url=""
    azure_model_name="gpt-35-turbo" # replace with your model deployment name
    azure_api_version = "2024-02-15-preview"


    # Subtitle Provider, "edge" or "whisper"
    # If empty, the subtitle will not be generated
    subtitle_provider = "edge"

    #
    # ImageMagick
    #
    # Once you have installed it, ImageMagick will be automatically detected, except on Windows!
    # On Windows, for example "C:\Program Files (x86)\ImageMagick-7.1.1-Q16-HDRI\magick.exe"
    # Download from https://imagemagick.org/archive/binaries/ImageMagick-7.1.1-29-Q16-x64-static.exe

    # imagemagick_path = "C:\\Program Files (x86)\\ImageMagick-7.1.1-Q16\\magick.exe"


    #
    # FFMPEG
    #
    # 通常情況下,ffmpeg 會被自動下載,並且會被自動檢測到。
    # 但是如果你的環境有問題,無法自動下載,可能會遇到如下錯誤:
    #   RuntimeError: No ffmpeg exe could be found.
    #   Install ffmpeg on your system, or set the IMAGEIO_FFMPEG_EXE environment variable.
    # 此時你可以手動下載 ffmpeg 並設置 ffmpeg_path,下載地址:https://www.gyan.dev/ffmpeg/builds/

    # Under normal circumstances, ffmpeg is downloaded automatically and detected automatically.
    # However, if there is an issue with your environment that prevents automatic downloading, you might encounter the following error:
    #   RuntimeError: No ffmpeg exe could be found.
    #   Install ffmpeg on your system, or set the IMAGEIO_FFMPEG_EXE environment variable.
    # In such cases, you can manually download ffmpeg and set the ffmpeg_path, download link: https://www.gyan.dev/ffmpeg/builds/

    # ffmpeg_path = "C:\\Users\\harry\\Downloads\\ffmpeg.exe"
    #########################################################################################

[whisper]
    # Only effective when subtitle_provider is "whisper"

    # Run on GPU with FP16
    # model = WhisperModel(model_size, device="cuda", compute_type="float16")

    # Run on GPU with INT8
    # model = WhisperModel(model_size, device="cuda", compute_type="int8_float16")

    # Run on CPU with INT8
    # model = WhisperModel(model_size, device="cpu", compute_type="int8")

    # recommended model_size: "large-v3"
    model_size="large-v3"
    # if you want to use GPU, set device="cuda"
    device="CPU"
    compute_type="int8"

[pexels]
    video_concat_mode="sequential" # "random" or "sequential"
    [pexels.proxies]
        ### 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://10.10.1.10:3128"
        # https = "http://10.10.1.10:1080"

在 Windows 系統,需要將 imagemagick_path 配置為你的 ImageMagick 實際安裝路徑(如果安裝的時候沒有修改路徑,直接取消註釋即可)。

6、啟動項目

進入到項目根目錄下,執行以下命令:

webui.bat

成功啟動後,瀏覽器會自動打開:

http://localhost:8501

接下來,就可以愉快的生成視頻了~

快速使用

1、瀏覽器訪問

項目啟動成功後,在瀏覽器中訪問:

http://localhost:8501

成功訪問後,出現如下頁面:

2、開始生成視頻

輸入視頻主題、視頻文案(可選),其他的一些視頻設置進行自定義修改,設置完畢後點擊開始生成視頻,就可以開始生成視頻了!

3、如果你沒有填寫視頻的關鍵詞,工具會幫你生成視頻的關鍵詞

4、整個任務分為生成視頻、音頻、字幕,最終合成視頻四個步驟

5、視頻生成好後最後會生成一個任務 ID

6、生成的視頻會存放在項目目錄下的 storage 文件夾中

7、任務 ID 對應的文件夾中會有視頻、音頻、字幕素材以及最終的合成視頻

8、最終生成視頻的播放效果

MoneyPrinterTurbo 安裝簡單,小白也能快速上手,在短時間內就能快速生成一個短視頻!快去安裝體驗吧~

關註微信公眾號:【Java陳序員】,回覆【搞錢】獲取項目源碼地址。

最後

推薦的開源項目已經收錄到 GitHub 項目,歡迎 Star

https://github.com/chenyl8848/great-open-source-project

或者訪問網站,進行線上瀏覽:

https://chencoding.top:8090/#/

大家的點贊、收藏和評論都是對作者的支持,如文章對你有幫助還請點贊轉發支持下,謝謝!


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 一、 智能文檔處理介紹 智能文檔處理(Intelligent Document Processing, IDP)是利用人工智慧(AI)、機器學習(ML)、電腦視覺(CV)、自然語言處理(NLP)等技術自動化地捕獲、理解、處理和分析文檔內容的過程。不同於傳統的文檔管理系統,IDP能夠處理結構化、半結 ...
  • 前置工作 導包(mysql-connector-java、mybatis) 實體類 Mapper層 1.介面 public interface BookMapper { public Book getBookById(Integer bookID); } 2.創建Mapper的映射文件 <?xml ...
  • 本文是 SpringBoot 開發的乾貨集中營,涵蓋了日常開發中遇到的諸多問題,通篇著重講解如何快速解決問題,部分重點問題會講解原理,以及為什麼要這樣做。便於大家快速處理實踐中經常遇到的小問題,既方便自己也方便他人,老鳥和新手皆適合,值得收藏 1. 哪裡可以搜索依賴包的 Maven 坐標和版本 ...
  • Redis通過結合純記憶體操作、單線程模型、IO多路復用技術和一系列精心設計的高效數據結構,實現了在高併發、低延遲場景下的優秀性能表現。 ...
  • 拓展閱讀 blog-engine-01-常見博客引擎 jekyll/hugo/Hexo/Pelican/Gatsby/VuePress/Nuxt.js/Middleman 對比 blog-engine-02-通過博客引擎 jekyll 構建 github pages 博客實戰筆記 blog-engi ...
  • 核心註解 1. @SpringBootApplication 主要用於開啟自動配置,它也是一個組合註解,主要組合了 @SpringBootConfiguration、@EnableAutoConfiguration、@ComponentScan 2. @EnableAutoConfiguration ...
  • 距離2020年已經過去很久了,各大編譯器對於C++20各項標準的支持也日趨完善,無棧協程也是其中之一,所以我就嘗試著拿協程與`io_uring`實現了一下proactor模式,這篇文章用來記錄一下我的設計和想法。除此之外,我們能在網路上找到許多優秀的C++20協程的教程以及許多優秀的協程應用(庫),... ...
  • 本文分享自華為雲社區《構建大型Web應用Flask中的Blueprints指南》,作者: 檸檬味擁抱。 什麼是Blueprints? Blueprints是Flask中的一種模式,用於將應用程式分解為可重用的模塊。每個藍圖實際上是一個包含一組路由、視圖和靜態文件的Python模塊。通過使用藍圖,我們 ...
一周排行
    -Advertisement-
    Play Games
  • 1、預覽地址:http://139.155.137.144:9012 2、qq群:801913255 一、前言 隨著網路的發展,企業對於信息系統數據的保密工作愈發重視,不同身份、角色對於數據的訪問許可權都應該大相徑庭。 列如 1、不同登錄人員對一個數據列表的可見度是不一樣的,如數據列、數據行、數據按鈕 ...
  • 前言 上一篇文章寫瞭如何使用RabbitMQ做個簡單的發送郵件項目,然後評論也是比較多,也是準備去學習一下如何確保RabbitMQ的消息可靠性,但是由於時間原因,先來說說設計模式中的簡單工廠模式吧! 在瞭解簡單工廠模式之前,我們要知道C#是一款面向對象的高級程式語言。它有3大特性,封裝、繼承、多態。 ...
  • Nodify學習 一:介紹與使用 - 可樂_加冰 - 博客園 (cnblogs.com) Nodify學習 二:添加節點 - 可樂_加冰 - 博客園 (cnblogs.com) 介紹 Nodify是一個WPF基於節點的編輯器控制項,其中包含一系列節點、連接和連接器組件,旨在簡化構建基於節點的工具的過程 ...
  • 創建一個webapi項目做測試使用。 創建新控制器,搭建一個基礎框架,包括獲取當天日期、wiki的請求地址等 創建一個Http請求幫助類以及方法,用於獲取指定URL的信息 使用http請求訪問指定url,先運行一下,看看返回的內容。內容如圖右邊所示,實際上是一個Json數據。我們主要解析 大事記 部 ...
  • 最近在不少自媒體上看到有關.NET與C#的資訊與評價,感覺大家對.NET與C#還是不太瞭解,尤其是對2016年6月發佈的跨平臺.NET Core 1.0,更是知之甚少。在考慮一番之後,還是決定寫點東西總結一下,也回顧一下.NET的發展歷史。 首先,你沒看錯,.NET是跨平臺的,可以在Windows、 ...
  • Nodify學習 一:介紹與使用 - 可樂_加冰 - 博客園 (cnblogs.com) Nodify學習 二:添加節點 - 可樂_加冰 - 博客園 (cnblogs.com) 添加節點(nodes) 通過上一篇我們已經創建好了編輯器實例現在我們為編輯器添加一個節點 添加model和viewmode ...
  • 前言 資料庫併發,數據審計和軟刪除一直是數據持久化方面的經典問題。早些時候,這些工作需要手寫複雜的SQL或者通過存儲過程和觸發器實現。手寫複雜SQL對軟體可維護性構成了相當大的挑戰,隨著SQL字數的變多,用到的嵌套和複雜語法增加,可讀性和可維護性的難度是幾何級暴漲。因此如何在實現功能的同時控制這些S ...
  • 類型檢查和轉換:當你需要檢查對象是否為特定類型,並且希望在同一時間內將其轉換為那個類型時,模式匹配提供了一種更簡潔的方式來完成這一任務,避免了使用傳統的as和is操作符後還需要進行額外的null檢查。 複雜條件邏輯:在處理複雜的條件邏輯時,特別是涉及到多個條件和類型的情況下,使用模式匹配可以使代碼更 ...
  • 在日常開發中,我們經常需要和文件打交道,特別是桌面開發,有時候就會需要載入大批量的文件,而且可能還會存在部分文件缺失的情況,那麼如何才能快速的判斷文件是否存在呢?如果處理不當的,且文件數量比較多的時候,可能會造成卡頓等情況,進而影響程式的使用體驗。今天就以一個簡單的小例子,簡述兩種不同的判斷文件是否... ...
  • 前言 資料庫併發,數據審計和軟刪除一直是數據持久化方面的經典問題。早些時候,這些工作需要手寫複雜的SQL或者通過存儲過程和觸發器實現。手寫複雜SQL對軟體可維護性構成了相當大的挑戰,隨著SQL字數的變多,用到的嵌套和複雜語法增加,可讀性和可維護性的難度是幾何級暴漲。因此如何在實現功能的同時控制這些S ...