【FunClip】部署教程
📌
FunClip是由阿里达摩院精心打造的一款完全开源、本地部署的自动化视频剪辑工具。它依托于阿里巴巴通义实验室的FunASR Paraformer系列模型,实现了视频中语音的自动识别。FunClip让用户能够根据识别结果,轻松选择文本片段或特定说话人,从而快速裁剪出所需视频片段。FunClip的特色功能包括集成高精度的中文ASR模型、支持热词定制化、说话人识别,以及提供Gradio交互界面,大大简化了视频剪辑的复杂度。此外,FunClip还支持多段剪辑,并且能够自动为视频生成SRT字幕文件。
1、前置准备
在星海智算平台创建实例,实例的具体创建步骤详见星海快速使用教程:
实例创建成功后,win+r输入cmd,打开终端,通过SSH连接服务器:
输入用户名和密码之后,成功进入服务器,准备进一步部署和调试
2、项目部署
FunClip github地址:https://github.com/alibaba-damo-academy/FunClip.git
2.1 从Github克隆项目
git clone https://github.com/alibaba-damo-academy/FunClip.git
为了使克隆过程更加快速,推荐使用学术加速,命令如下:
source /etc/network_turbo
使用ls命令查看root文件夹下是否存在FunClip文件夹,如果存在说明克隆成功,如果失败请重新使用clone命令或者添加国内镜像下载
git clone https://gh-proxy.com/...
在完成下载之后,需要安装相关依赖,命令如下:
pip install -r ./requirements.txt
依赖安装完成之后,即可启动程序:
python funclip/launch.py
Ruuning on local URL: http://127.0.0.1:7860说明通过7860端口可以进行访问,接下来需要使用ssh隧道将8888端口连接到7860端口以实现本地web访问
2.2 错误解决
当执行python funclip/launch.py命令时 当出现下边代码所示的错误时,原因为代理问题,需要手动添加代码
When localhost is not accessible, a shareable link must be created. Please set share=True. // [!code error]
unset http_proxy
unset https_proxy
3、本地部署web访问
3.1 使用终端通过SSH进行访问
3.1.1 打开你的终端或命令提示符。
3.1.2 执行SSH命令。
3.1.3 假设:
- 远程服务器的IP地址是your-server-ip。
- 你在远程服务器上的用户名是root。
- 远程服务器上Stable Diffusion应用运行的端口是7860。
- 你想要将此服务映射到本地机器的8888端口。
3.1.4 命令格式如下:
ssh -CNg -L 8888:localhost:7860 root@your-server-ip -p 22
3.2 结果演示
通过输入localhost:8888在浏览器中进行访问:
localhost:8888
3.3 项目插件安装
根据官方手册,如果希望使用自动生成字幕的视频裁剪功能,需要安装imagemagick,代码如下:
Ubuntu系统
bashapt-get -y update && apt-get -y install ffmpeg imagemagick sed -i 's/none/read,write/g' /etc/ImageMagick-6/policy.xml
MacOS系统
bashbrew 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的exe路径
之后下载你需要的字体文件,可以使用官方文档提供的默认的黑体字体文件
bashwget https://isv-data.oss-cn-hangzhou.aliyuncs.com/ics/MaaS/ClipVideo/STHeitiMedium.ttc -O font/STHeitiMedium.ttc