/open-chat-video-editor

Open source short video automatic generation tool

Primary LanguagePython

Open Chat Video Editor

简介

Open Chat Video Editor是开源的短视频生成和编辑工具,整体技术框架如下:

sys中文

目前具有以下特点:

  • 1)一键生成可用的短视频,包括:配音、背景音乐、字幕等。

  • 2)算法和数据均基于开源项目,方便技术交流和学习

  • 3)支持多种输入数据,方便对各种各样的数据,一键转短视频,目前支持:

    • 短句转短视频(Text2Video): 根据输入的简短文字,生成短视频文案,并合成短视频
    • 网页链接转短视频(Url2Video): 自动对网页的内容进行提取,生成视频文案,并生成短视频
    • 长视频转短视频(Long Video to Short Video): 对输入的长视频进行分析和摘要,并生成短视频
  • 4)涵盖生成模型多模态检索模型等多种主流算法和模型,如: Chatgpt,Stable Diffusion,CLIP 等

文本生成上,支持:

  • ChatGPT
  • BELLE
  • Alpaca
  • Dolly 等多种模型

视觉信息生成上,支持图像和视频两种模态,生成方式上,支持检索和生成两种模型,目前共有6种模式:

  • 图像检索
  • 图像生成(stable diffusion)
  • 先图像检索,再基于stable diffusion 进行图像生成
  • 视频检索
  • 视频生成(stable diffusion)
  • 视频检索后,再基于stable diffusion 进行视频生成

结果展示

1、短句转短视频(Text2Video)

界面如下: text2video 以输入文案:【小孩子养宠物】为例,利用文本模型(如:chatgpt 等),可以自动生成一个较长的短视频文案:

['小孩子养宠物', '可以更好地提升小孩子的责任感和独立感', '但也要慎重的选择合适的宠物', '因为只有经过一定的训练养成', '它们才能够成长起来', '一起玩耍和度过一段欢快的时光', '宠物不仅能够陪伴小孩子渡过寂寞时光', '还能培养小孩子处事冷静、自信以及情感交流和沟通能力', '在养宠物的过程中', '小孩子们可以唤醒和发掘他们被磨练出来的坚毅和耐力', '能够亲身体验到勤勉 和坚持的重要性'] 

根据不同的视频生成模式,可以生成不同的视频,各个模式对比如下:

1)图像检索

default.mp4

2)图像生成(stable diffusion)

default.mp4

3)先图像检索,再基于stable diffusion 进行图像生成

+.mp4

4)视频检索

default.mp4

2、网页转短视频(Url2Video)

界面如下:

url2video

1)输入一个url, 例如:https://zh.wikipedia.org/wiki/%E7%BE%8E%E5%9B%BD%E7%9F%AD%E6%AF%9B%E7%8C%AB 其内容是:美国短毛猫的维基百科

wiki

2)解析网页并自动摘要成短视频文案,结果如下:

['\n\n美国短毛猫', '是一种神奇又魔幻的宠物猫品种', '它们优雅可爱', '活力无比', '能拥有多达80多种头毛色彩', '最出名的是银虎斑', '其银色毛发中透着浓厚的黑色斑 
纹', '除此之外', '它们还非常温柔', '是非常适合家庭和人类相处的宠物', '并且平均寿命达15-20年', '这种可爱的猫 
品种', '正在受到越来越多人的喜爱', '不妨试试你也来养一只吧']

3)自动合成短视频 例如图像生成模式下生成的结果如下,其他模式不再一一对比

url.mp4

3、长视频转短视频(Long Video to Short Video)

即将发布,敬请期待

安装与使用

环境安装

1)安装pytorch

# GPU 版本
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu117

# CPU版本
pip3 install torch torchvision torchaudio

2)安装其他依赖环境

pip install -r requirements.txt

3)安装clip

pip install git+https://github.com/openai/CLIP.git

4)安装faiss

conda install -c pytorch faiss-cpu

代码执行

1)根据实际需要,选择不同的配置文件

配置文件 说明
configs/text2video/image_by_retrieval_text_by_chatgpt_zh.yaml 短文本转视频,视频文案采用chatgpt生成,视觉部分采用图像检索来生成
configs\text2video\image_by_diffusion_text_by_chatgpt_zh.yaml 短文本转视频,视频文案采用chatgpt生成, 视觉部分采用图像stable diffusion 来生成
configs\text2video\image_by_retrieval_then_diffusion_chatgpt_zh.yaml 短文本转视频,视频文案采用chatgpt生成,视觉部分采用先图像检索,然后再基于图像的stable diffusion 来生成
configs\text2video\video_by_retrieval_text_by_chatgpt_zh.yaml 短文本转视频, 视频文案采用chatgpt生成,视觉部分采用视频检索来生成
configs\url2video\image_by_retrieval_text_by_chatgpt.yaml url转视频,视频文案采用chatgpt生成,视觉部分采用图像检索来生成
configs\url2video\image_by_diffusion_text_by_chatgpt.yaml url转视频,视频文案采用chatgpt生成, 视觉部分采用图像stable diffusion 来生成
configs\url2video\image_by_retrieval_then_diffusion_chatgpt.yaml url转视频,视频文案采用chatgpt生成,视觉部分采用先图像检索,然后再基于图像的stable diffusion 来生成
configs\url2video\video_by_retrieval_text_by_chatgpt.yaml url转视频,视频文案采用chatgpt生成,视觉部分采用视频检索来生成

需要注意的是:如果要采用ChatGPT来生成文案,需要在配置文件里面,添加organization 和 api_key

2)下载数据索引和meta信息data.tar,并解压到 data/index 目录下,

3)执行脚本

# Text to video 
python  app/app.py --func Text2VideoEditor  --cfg ${cfg_file}


# URL to video 
python  app/app.py --func URL2VideoEditor  --cfg ${cfg_file}

声明

1、数据来源 图像检索数据来源于:LAION-5B

视频检索数据来源于:webvid-10m

请注意,我们并不拥有数据版权

2、该项目仅用于交流学习,不得用于商业,以及其他会对社会带来危害的用途。

TODO

  • 在短视频文案数据上对文本模型finetune,支持更多的文案风格
  • finetune SD模型,提升图像和视频的生成效果

交流与学习

欢迎通过Discard 或者微信与我们交流学习

微信图片_20230505204811