diff --git a/Project/synthmind/项目需求.md b/Project/synthmind/项目需求.md new file mode 100644 index 00000000..fc014da2 --- /dev/null +++ b/Project/synthmind/项目需求.md @@ -0,0 +1,35 @@ + +项目目的: +- 解析提供的视频文件,提取音频,转录成文字,利用AI分析文字及视频内容,总结归纳视频内容。生成脑图或其他格式文档。 + +主要功能 +## 提取音频 +1. 扫描指定视频文件或者遍历指定目录里的视频文件 + - 同时列出已存在的 .mp3 文件,用于判断哪些已经处理过 +2. 进度追踪 + - 生成manifest文件,并标记哪些视频文件是否已经提取音频状态 + - 在视频同一目录或指定目录下维护一个JSON格式本地进度文件,记录已完成的文件 + - 执行相应命令时自动跳过已处理的文件,支持中断后重新运行继续,如 a.mp4已经标记提取了音频生成了a.mp3, 则提取音频操作不再执行此文件。 +3. 在分析阶段如果视频文件过大,可先切分成更小尺寸的视频进行后续处理,manifest文件需要记录切分后的视频文件名 +4. FFmpeg 音频提取 + - 将本地 .mp4 送入 FFmpeg,执行相应的命令提取音频轨道 + - 转码参数:MP3 格式,64k 比特率,22050Hz 采样率,单声道(主要针对语音课程优化,体积小) + - 不落地中间文件,pipe 直写输出 +5. 保存mp3文件,和原文件名保持一致如原始视频文件为 test1.mp4, 则提取音频后的音频文件名为test1.mp3 + - 支持路径中含空格的文件名 + - 支持包含中文的文件名 +6. 提取音频,转录文字,内容归纳整理分别用不同的脚本进行处理 + +## 转录文字 +1. 扫描指定视频文件或者遍历指定目录里的视频文件 + - 同时列出已存在的 .mp3 文件,用于判断哪些已经处理过 +2. 进度追踪 + - 生成manifest文件,并标记哪些视频文件是否已经转录文字的状态 + - 在视频同一目录或指定目录下维护一个JSON格式本地进度文件,记录已完成的文件 + - 执行相应命令时自动跳过已处理的文件,支持中断后重新运行继续,如 a.mp3已经标记已经转录了文字 生成了a.txt, 则转录文字操作不再执行此文件。 +3. 在分析阶段如果预估通过mp3生成的txt文件过大,可先切分成更小尺寸的MP3进行后续处理,manifest文件需要记录切分后的音频文件名 +- 显示文件大小、进度计数(当前/总数)、最终成功/失败统计,可重新执行未成功的音频转录 + + +## 内容归纳整理 +- 待定 \ No newline at end of file