VCED项目实战1

VCED项目实战1

文章目录

  • VCED项目实战1
    • 介绍
    • 前期准备
    • 启动sever
    • 启动 web
    • 项目结构

介绍

VCED(Video Clip Extraction by description)VCED 可以通过你的文字描述来自动识别视频中相符合的片段进行视频剪辑。该项目基于跨模态搜索与向量检索技术搭建,通过前后端分离的模式,帮助你快速的接触新一代搜索技术。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tzGXsVd9-1668350681121)(https://github.com/datawhalechina/vced/raw/main/pics/demo.gif)]

  • 源项目地址

前期准备

  • 本项目在WSL中搭建,需要预先配置WSL

  • 创建虚拟环境

    • #cd project  项目路径
      python -m venv venv
      # 启动虚拟环境
      source ./venv/bin/activate
      
  • 安装rust,ffmpeg,jina

    • # rust
      curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
      
    • # ffmpeg
      sudo apt install ffmpeg
      ffmpeg -version
      
    • # jina
      pip install -U jina
      
  • 安装clip

    •  pip install git+https://github.com/openai/CLIP.git
      
  • clone项目

    •  git clone https://github.com/datawhalechina/vced.git
        
      

启动sever

# 进入 server 文件夹
cd code/service
# 安装相关依赖
pip install -r requirements.txt
# 启动服务端
python app.py

启动后会有如下画面

VCED项目实战1_第1张图片

启动 web

前端我们通过 Streamlit 搭建。Streamlit 是一个 Python Web 应用框架,但和常规 Web 框架,如 Flask/Django 的不同之处在于,它不需要你去编写任何客户端代码(HTML/CSS/JS),只需要编写普通的 Python 模块,就可以在很短的时间内创建美观并具备高度交互性的界面。

# 进入 web 文件夹
cd code/web
# 安装相关依赖
pip install -r requirements.txt
# 启动服务端
streamlit run app.py

Streamlit默认启动的端口为8501,也可以通过 localhost:8501 进行访问

VCED项目实战1_第2张图片

启动后在浏览器打开相应的url

VCED项目实战1_第3张图片

项目结构

    ├── code/service
        ├── customClipImage (通过 CLIP 模型处理上传的视频)
        ├── customClipText  (通过 CLIP 模型处理输入的文字)
        ├── customIndexer   (创建向量数据的索引)
        ├── videoLoader     (对上传的视频进行处理)
        ├── workspace       (用于存储生成的向量数据)
        ├── app.py          (后端主程序)                                                       
    ├── code/web
        ├── data            (用于存储上传的视频)
        │   ├── videos      (用于存储简介好的视频片段)
        ├── app.py          (前端主程序)  
	  ├── Dockerfile                                                     
    ├── requirements.txt  

你可能感兴趣的:(python)