「简体中文 | English」
⚡ 开源、精准且易用的视频剪辑工具
🧠 探索基于LLM的视频剪辑工具 FunClip
FunClip 是一个完全开源、本地部署的自动化视频剪辑工具。它利用阿里巴巴同义语音实验室开源的 FunASR Paraformer 系列模型对视频进行语音识别。然后,用户可以从识别结果中自由选择文本片段或说话人,并点击剪辑按钮即可获得与所选片段对应的视频剪辑(快速体验 Modelscope⭐ HuggingFace🤗)。
亮点🎨
- 🔥立即尝试使用LLM在FunClip中进行AI剪辑。
- FunClip 集成了阿里巴巴开源的工业级模型 Paraformer-Large,这是当前表现最佳的开源中文ASR模型之一,在Modelscope平台上下载量超过1300万次。它还可以精确地以一体化方式预测时间戳。
- FunClip 集成了 SeACo-Paraformer 的热词定制功能,允许用户在ASR过程中指定某些实体词、名字等为热词以提升识别结果。
- FunClip 集成了 CAM++ 说话人识别模型,使用户可以使用自动识别的说话人ID作为剪辑目标,从特定说话人中剪辑片段。
- 功能通过Gradio交互实现,安装简单,使用方便。还可以部署在服务器上,通过浏览器访问。
- FunClip 支持多段自由剪辑,自动返回全视频SRT字幕及目标片段SRT字幕,提供简单方便的用户体验。
最新动态🚀
- 2024/06/12 FunClip 支持识别与剪辑英语音频文件。运行
python funclip/launch.py -l en
尝试。 - 🔥2024/05/13 FunClip v2.0.0 现已支持使用大型语言模型进行智能剪辑,集成了qwen系列、GPT系列等模型,提供默认提示。您还可以探索和分享设置提示的技巧,用法如下:
- 识别后,选择大型模型的名称并配置自己的apikey;
- 点击“LLM推理”按钮,FunClip将自动将两个提示与视频的srt字幕合并;
- 点击“AI剪辑”按钮,FunClip将根据上一步大型语言模型的输出结果提取时间戳进行剪辑;
- 您可以尝试更改提示以利用大型语言模型的能力获得想要的结果;
- 2024/05/09 FunClip 更新至v1.1.0,包括以下更新和修复:
- 支持配置输出文件目录,保存ASR中间结果和视频剪辑中间文件;
- UI升级(如下面的指南图片所示),现在视频和音频剪辑功能在同一页面上,按钮位置调整;
- 修复由于FunASR接口升级导致的一些严重剪辑错误;
- 支持为每个段落配置不同的开始和结束时间偏移;
- 代码更新等;
- 2024/03/06 修复使用命令行与FunClip相关的bug。
- 2024/02/28 FunASR 更新至1.0版本,使用FunASR1.0和SeACo-Paraformer进行热词定制的ASR。
- 2023/10/17 修复选择多个时间段时,返回错误时长视频的bug。
- 2023/10/10 FunClipper 现已支持带说话人分段功能的识别,在"识别说话人"选项中选择“是”,您将获得每句话带有说话人ID的识别结果。然后您可以使用FunClipper剪切某些说话人(例如'spk0'或'spk0#spk3')的时间段。
正在进行🌵
- FunClip 将支持Whisper模型以满足英语用户,很快推出(使用Whisper进行ASR并带时间戳需要大量GPU内存,我们在FunASR中支持使用vanilla Paraformer进行时间戳预测以此实现)。
- FunClip 将进一步探索基于大型语言模型的AI剪辑能力,欢迎讨论提示设置和剪辑等。
- 剪辑时选择反向时间段。
- 去除静音时间段。
安装🔨
Python 环境安装
FunClip 的基本功能只依赖于Python环境。
# 克隆funclip仓库
git clone https://github.com/alibaba-damo-academy/FunClip.git
cd FunClip
# 安装Python依赖
pip install -r ./requirements.txt
安装 imagemagick (可选)
如果希望剪辑带嵌入字幕的视频文件
- 需要 ffmpeg 和 imagemagick
- 在 Ubuntu 系统上
apt-get -y update && apt-get -y install ffmpeg imagemagick
sed -i 's/none/read,write/g' /etc/ImageMagick-6/policy.xml
- 在 MacOS 系统上
brew install imagemagick
sed -i 's/none/read,write/g' /usr/local/Cellar/imagemagick/7.1.1-8_1/etc/ImageMagick-7/policy.xml
- 在 Windows 系统上
下载并安装 imagemagick https://imagemagick.org/script/download.php#windows
找到您的 Python 安装路径,并在文件 site-packages\moviepy\config_defaults.py
中将 IMAGEMAGICK_BINARY
更改为您的 imagemagick 安装路径
- 下载字体文件到 funclip/font 目录
wget https://isv-data.oss-cn-hangzhou.aliyuncs.com/ics/MaaS/ClipVideo/STHeitiMedium.ttc -O font/STHeitiMedium.ttc
使用 FunClip
A. 用 FunClip 作为本地 Gradio 服务
您可以建立自己的 FunClip 服务,与 Modelscope Space 相同:
python funclip/launch.py
# '-l en' 用于英语音频识别
# '-p xxx' 用于设定端口号
# '-s True' 用于设立公共访问服务
然后访问 localhost:7860
会看到如下所示的 Gradio 服务,可以按照以下步骤使用 FunClip:
- 步骤1:上传您的视频文件(或尝试下面的示例视频)
- 步骤2:将需要的文本片段复制到“Text to Clip”
- 步骤3:调整字幕设置(如有需要)
- 步骤4:点击“Clip”或“Clip and Generate Subtitles”
按照以下指南探索基于LLM的剪辑:
B. 在 Modelscope 中体验 FunClip
C. 用命令行方式使用 FunClip
FunClip 支持用命令行进行识别和剪辑:
# 步骤1:识别
python funclip/videoclipper.py --stage 1 \
--file examples/2022云栖大会_片段.mp4 \
--output_dir ./output
# 现在可以在 ./output/ 目录找到识别结果和完整的 SRT 文件
# 步骤2:剪辑
python funclip/videoclipper.py --stage 2 \
--file examples/2022云栖大会_片段.mp4 \
--output_dir ./output \
--dest_text '我们把它跟乡村振兴去结合起来,利用我们的设计的能力' \
--start_ost 0 \
--end_ost 100 \
--output_file './output/res.mp4'
社区交流🍟
FunClip 首次由 FunASR 团队开源,欢迎任何有用的PR。
您还可以扫描以下钉钉群或微信群二维码加入社区群进行交流。
钉钉群 | 微信群 |
---|---|
在 FunASR 中查找语音模型
FunASR 希望在语音识别的学术研究和工业应用之间架起一座桥梁。通过支持在ModelScope上发布的工业级语音识别模型的训练与微调,研究人员和开发人员可以更方便地进行语音识别模型的研究和生产,推动语音识别生态的发展。ASR for Fun!