Open Chat Video Editor 是开源的短视频生成和编辑工具,整体技术框架如下:
特点
-
一键生成可用的短视频,包括:配音、背景音乐、字幕等。
-
算法和数据均基于开源项目,方便技术交流和学习
-
支持多种输入数据,方便对各种各样的数据,一键转短视频,目前支持:
-
短句转短视频(Text2Video): 根据输入的简短文字,生成短视频文案,并合成短视频 -
网页链接转短视频(Url2Video): 自动对网页的内容进行提取,生成视频文案,并生成短视频 -
长视频转短视频(Long Video to Short Video): 对输入的长视频进行分析和摘要,并生成短视频 -
涵盖生成模型和多模态检索模型等多种主流算法和模型,如: Chatgpt、Stable Diffusion、CLIP 等
效果
短句转短视频(Text2Video)
界面如下:以输入文案:【小孩子养宠物】为例,利用文本模型(如:chatgpt 等),可以自动生成一个较长的短视频文案:
['小孩子养宠物', '可以更好地提升小孩子的责任感和独立感', '但也要慎重的选择合适的宠物', '因为只有经过一定的训练养成', '它们才能够成长起来', '一起玩耍和度过一段欢快的时光', '宠物不仅能够陪伴小孩子渡过寂寞时光', '还能培养小孩子处事冷静、自信以及情感交流和沟通能力', '在养宠物的过程中', '小孩子们可以唤醒和发掘他们被磨练出来的坚毅和耐力', '能够亲身体验到勤勉 和坚持的重要性']
根据不同的视频生成模式,可以生成不同的视频,各个模式对比如下:
「图像检索」
「图像生成」
「先图像检索,再基于 stable diffusion 进行图像生成」
「视频检索」
网页转短视频(Url2Video)
界面如下:输入一个 url, 例如:
https://zh.wikipedia.org/wiki/%E7%BE%8E%E5%9B%BD%E7%9F%AD%E6%AF%9B%E7%8C%AB 其内容是:美国短毛猫的维基百科
解析网页并自动摘要成短视频文案,结果如下:
['nn美国短毛猫', '是一种神奇又魔幻的宠物猫品种', '它们优雅可爱', '活力无比', '能拥有多达80多种头毛色彩', '最出名的是银虎斑', '其银色毛发中透着浓厚的黑色斑
纹', '除此之外', '它们还非常温柔', '是非常适合家庭和人类相处的宠物', '并且平均寿命达15-20年', '这种可爱的猫
品种', '正在受到越来越多人的喜爱', '不妨试试你也来养一只吧']
自动合成短视频 例如图像生成模式下生成的结果如下,其他模式不再一一对比
安装与使用
环境安装
根据不同需求,选择不同的安装方式 1、2、和 3、任选其一。
1、 Docker
目前 docker 环境因为每个人的 cuda 版本可能不一样,所以无法保证都能够正常使用 GPU。目前支持图像检索模式,CPU 机器也可以使用。但 docker 比较大,需要占用比较多的储存(24G)。
docker pull iamjunhonghuang/open-chat-video-editor:retrival
docker run -it --network=host -v /YourPath/open-chat-video-editor:/YourPath/open-chat-video-editor/ iamjunhonghuang/open-chat-video-editor:retrival bash
conda activate open_editor
或者使用阿里云的镜像:
docker login --username=xxx registry.cn-hangzhou.aliyuncs.com
docker pull registry.cn-hangzhou.aliyuncs.com/iamjunhonghuang/open-chat-video-editor:retrival
docker run -it --network=host -v /YourPath/open-chat-video-editor:/YourPath/open-chat-video-editor/ registry.cn-hangzhou.aliyuncs.com/iamjunhonghuang/open-chat-video-editor:retrival bash
conda activate open_editor
注意:目前暂不支持中文字幕显示,所以需要修改配置文件 yaml 中的字体设置,例如’image_by_retrieval_text_by_chatgpt_zh.yaml‘
subtitle:
font: DejaVu-Sans-Bold-Oblique
# font: Cantarell-Regular
# font: 华文细黑
2、Linux (目前仅在 centOS 测试)
首先安装基于 conda 的 python 环境,gcc 版本安装测试时是 8.5.0,所以尽量升级到 8 以上
conda env create -f env.yaml
conda env update -f env.yaml #假如第一行出现错误,需要更新使用的命令
接着安装环境依赖,主要目的是正常安装 ImageMagick,其他 linux 版本可以参考
# yum groupinstall 'Development Tools'
# yum install ghostscript
# yum -y install bzip2-devel freetype-devel libjpeg-devel libpng-devel libtiff-devel giflib-devel zlib-devel ghostscript-devel djvulibre-devel libwmf-devel jasper-devel libtool-ltdl-devel libX11-devel libXext-devel libXt-devel libxml2-devel librsvg2-devel OpenEXR-devel php-devel
# wget https://www.imagemagick.org/download/ImageMagick.tar.gz
# tar xvzf ImageMagick.tar.gz
# cd ImageMagick*
# ./configure
# make
# make install
需要修改 moviepy 的调用路径,也就是将下面文件
$HOME/anaconda3/envs/open_editor/lib/python3.8/site-packages/moviepy/config_defaults.py
修改成
#IMAGEMAGICK_BINARY = os.getenv('IMAGEMAGICK_BINARY', 'auto-detect')
IMAGEMAGICK_BINARY='/usr/local/bin/magick'
目前暂不支持中文字幕显示,所以需要修改配置文件 yaml 中的字体设置,例如’image_by_retrieval_text_by_chatgpt_zh.yaml‘
subtitle:
font: DejaVu-Sans-Bold-Oblique
# font: Cantarell-Regular
# font: 华文细黑
3、Windows
建议使用 python 3.8.16 版本:
conda create -n open_editor python=3.8.16
安装 pytorch
# GPU 版本
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu117
# CPU版本
pip3 install torch torchvision torchaudio
安装其他依赖环境
pip install -r requirements.txt
安装 clip
pip install git+https://github.com/openai/CLIP.git
安装 faiss
conda install -c pytorch faiss-cpu
代码执行
1、根据实际需要,选择不同的配置文件
配置文件 | 说明 |
---|---|
configs/text2video/image_by_retrieval_text_by_chatgpt_zh.yaml | 短文本转视频,视频文案采用 chatgpt 生成,视觉部分采用图像检索来生成 |
configstext2videoimage_by_diffusion_text_by_chatgpt_zh.yaml | 短文本转视频,视频文案采用 chatgpt 生成, 视觉部分采用图像 stable diffusion 来生成 |
configstext2videoimage_by_retrieval_then_diffusion_chatgpt_zh.yaml | 短文本转视频,视频文案采用 chatgpt 生成,视觉部分采用先图像检索,然后再基于图像的 stable diffusion 来生成 |
configstext2videovideo_by_retrieval_text_by_chatgpt_zh.yaml | 短文本转视频, 视频文案采用 chatgpt 生成,视觉部分采用视频检索来生成 |
configsurl2videoimage_by_retrieval_text_by_chatgpt.yaml | url 转视频,视频文案采用 chatgpt 生成,视觉部分采用图像检索来生成 |
configsurl2videoimage_by_diffusion_text_by_chatgpt.yaml | url 转视频,视频文案采用 chatgpt 生成, 视觉部分采用图像 stable diffusion 来生成 |
configsurl2videoimage_by_retrieval_then_diffusion_chatgpt.yaml | url 转视频,视频文案采用 chatgpt 生成,视觉部分采用先图像检索,然后再基于图像的 stable diffusion 来生成 |
configsurl2videovideo_by_retrieval_text_by_chatgpt.yaml | url 转视频,视频文案采用 chatgpt 生成,视觉部分采用视频检索来生成 |
需要注意的是:如果要采用 ChatGPT 来生成文案,需要在配置文件里面,添加 organization_id(要在 Organization settings 那里查,而不是直接输入“personal”)和 api_key
2、下载数据索引和 meta 信息 data.tar,并解压到 data/index 目录下,
https://pan.quark.cn/s/19fa46ceb2cb
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}
传送门
开源地址:https://github.com/SCUTlihaoyu/open-chat-video-editor
项目合集:https://github.com/OpenTechCol/OpenTechCol
「回复【加群】加入开源技术交流群,干货很多!」
-END-
原文始发于微信公众号(开源技术专栏):一键生成带有配音、背景音乐和字幕的短视频!支持多种主流算法和模型
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/145774.html