From cab9e438c5735b5abe33cf6244ad1a4566c3f7f2 Mon Sep 17 00:00:00 2001 From: zhangkeyang Date: Mon, 22 Apr 2024 10:23:08 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E9=A1=B9=E7=9B=AE=E6=8F=8F?= =?UTF-8?q?=E8=BF=B0=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 89 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ main.py | 3 +++ 2 files changed, 92 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..4997679 --- /dev/null +++ b/README.md @@ -0,0 +1,89 @@ +此仓库是ICDD实验室的视频摘要生成项目根目录。 + +# 环境配置 + +本节介绍项目环境的安装与配置流程。 + +## 创建虚拟环境 + +如果使用的是```conda```,可以使用以下命令创建并激活虚拟环境: + +```bash +$ conda init bash +$ conda deactivate +$ conda create --name vsumm python=3.10 +$ conda activate vsumm +``` + +如果使用的是```venv```,首先需要安装[Python 3.10](https://www.python.org/downloads/release/python-3100/),并创建并激活虚拟环境: + +```bash +$ python --version # 确保当前正在使用的是python 3.10 +$ python -m venv venv/ +$ source venv/Scripts/activate +``` + +## 安装项目的依赖包 + +首先安装```ffmpeg```。如果是实验室的服务器环境,可以直接使用以下命令安装软件包: + +```bash +$ apt install ffmpeg +``` + +如果是个人的Windows开发环境,需要从官方网站[ffmpeg](https://ffmpeg.org/)下载二进制发布包,并配置环境变量。 + +在控制台中,使用如下指令验证安装是否成功: + +```bash +$ ffmpeg +ffmpeg version 7.0-full_build-www.gyan.dev Copyright (c) 2000-2024 the FFmpeg developers +# ... +``` + +接下来安装```torch```与```torchvision```。项目使用的版本是:```torch-2.1.0+cu118-cp310```与```torchvision-0.16.0+cu118-cp310```,可以在[官方的下载连接]()找到下载地址;下载完成后,使用以下指令安装2个软件包: + +```bash +$ pip install <下载的whl文件路径> +``` + +之后,就可以安装项目的其他依赖包: + +```bash +$ pip install -r requirements.txt +``` + +# 启动服务器 + +在项目的根目录下,激活虚拟环境后,使用以下指令启动服务器: + +```bash +$ python main.py +``` + +或者: + +```bash +$ uvicorn main:app +``` + +之后,可以访问```http://localhost:8000/home```进入主页。 + +# 当前使用的数据集 + +当前使用的两个数据集分别是:[TVSUM](https://pan.baidu.com/s/1j6p5itt5aslhrp-cDxpwdw&pwd=a5h2)与[SumMe](https://pan.baidu.com/s/1gM8oXlqnYUTxKpL2aCzVhQ&pwd=dw5t) + +# 当前项目进度 + +项目使用的模型来自:[DSNet](https://github.com/li-plus/DSNet)的anchor-free版本。 + +```master```分支是一期项目的工作。当前开发进度是:完成主页界面与前后端接口设计、部署模型并完成推理流程。 + +当前工作存在以下不足: + +1. 在上传文件并生成摘要后,没有设计“历史记录”页面。这导致在刷新页面后,无法查看此前已经生成的摘要 +2. 一次只能上传一个文件并执行推理。这是因为官方提供的推理方法给定的Batch为1,暂未调研提高Batch之后带来的影响 +3. 当前使用的```opencv```暂不支持```H264```编解码,因此需要在推理结束后使用```ffmpeg```再次转码,以支持在线预览摘要视频 +4. 当前使用的摘要方法使用```opencv```逐帧写入视频文件(与官方版本保持一致),因此生成的视频不包含音轨 + + diff --git a/main.py b/main.py index 985a8e3..cffe852 100644 --- a/main.py +++ b/main.py @@ -140,5 +140,8 @@ async def generate_file(id: str = Form(...)): if __name__ == "__main__": + os.makedirs(ServerConfig.videos_upload_path, exist_ok=True) + os.makedirs(ServerConfig.videos_play_path, exist_ok=True) + os.makedirs(ServerConfig.h5s_root_path, exist_ok=True) uvicorn.run(app=app)