# 剪气口 **Repository Path**: litao851025/cut-1 ## Basic Information - **Project Name**: 剪气口 - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2025-08-23 - **Last Updated**: 2025-08-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 视频气口剪切工具 自动检测并剪切视频中的气口(呼吸间隙、静音段),生成去除气口的新视频文件。 ## 功能特性 - **自动化处理**: 无需手动标记,自动识别气口位置 - **智能检测**: 基于音频能量和频谱分析的智能气口识别 - **高质量输出**: 保持原始视频质量的前提下去除气口 - **批量处理**: 支持多个视频文件的批量处理(命令行和GUI均支持) - **GUI界面**: 提供直观的图形界面,支持单文件和批量处理模式 - **可配置参数**: 支持自定义检测阈值和处理参数 - **预览模式**: 可以先分析再决定是否处理 ## 适用场景 - 播客制作 - 在线教育内容创作 - 企业培训视频制作 - 个人视频博主内容优化 ## 安装依赖 ### 系统要求 - Python 3.8+ - FFmpeg(moviepy依赖) ### 安装FFmpeg **macOS:** ```bash brew install ffmpeg ``` **Ubuntu/Debian:** ```bash sudo apt update sudo apt install ffmpeg ``` **Windows:** 下载 FFmpeg 并添加到系统 PATH ### 安装Python依赖 ```bash # 创建虚拟环境(推荐) python -m venv venv source venv/bin/activate # Linux/macOS # 或 venv\\Scripts\\activate # Windows # 安装依赖 pip install -r requirements.txt ``` ## 使用方法 ### 基本使用 ```bash # 处理单个视频文件 python main.py -i input.mp4 -o output.mp4 # 仅分析不处理(预览模式) python main.py -i input.mp4 --preview # 获取处理时间预估 python main.py -i input.mp4 --estimate ``` ### 自定义参数 ```bash # 调整检测参数 python main.py -i speech.mp4 -o cleaned.mp4 \\ --threshold -35 \\ # 静音阈值 (dB) --min-duration 300 \\ # 最小静音时长 (ms) --padding 80 # 边缘保留时间 (ms) # 设置输出质量 python main.py -i input.mp4 -o output.mp4 --quality high ``` ### 批量处理 ```bash # 批量处理目录中的所有视频 python main.py --batch --input-dir ./videos --output-dir ./processed # 批量预览分析 python main.py --batch --input-dir ./videos --preview # 导出分析报告 python main.py --batch --input-dir ./videos --output-dir ./processed --report report.md ``` ### 详细输出 ```bash # 显示详细处理信息 python main.py -i input.mp4 -o output.mp4 --verbose ``` ## 参数说明 ### 输入输出选项 - `-i, --input`: 输入视频文件路径 - `-o, --output`: 输出视频文件路径 ### 批量处理选项 - `--batch`: 启用批量处理模式 - `--input-dir`: 输入目录路径 - `--output-dir`: 输出目录路径 ### 处理参数 - `-t, --threshold`: 静音阈值 (dB),默认: -40.0 - `-d, --min-duration`: 最小静音时长 (ms),默认: 200 - `-p, --padding`: 边缘保留时间 (ms),默认: 50 - `--quality`: 输出质量 (low/medium/high/original),默认: original ### 控制选项 - `-c, --config`: 配置文件路径 - `-v, --verbose`: 详细输出 - `--preview`: 仅分析不处理 - `--estimate`: 获取处理时间预估 - `--report`: 导出分析报告到指定文件 ## 支持的视频格式 - MP4 (.mp4) - AVI (.avi) - MOV (.mov) - MKV (.mkv) - WMV (.wmv) - FLV (.flv) - M4V (.m4v) - 3GP (.3gp) ## 配置文件 可以通过配置文件自定义默认参数,配置文件示例见 `config/default.ini`。 ```ini [detection] # 静音检测参数 silence_threshold = -40.0 min_silence_duration = 200 edge_padding = 50 [video] # 视频处理参数 output_quality = original keep_metadata = true [performance] # 性能设置 max_workers = 4 ``` ## 使用示例 ### 示例1:基本使用 ```bash python main.py -i "presentation.mp4" -o "presentation_clean.mp4" ``` ### 示例2:调整敏感度 ```bash # 对于语音较轻的视频,降低阈值 python main.py -i "whisper_talk.mp4" -o "clean_talk.mp4" --threshold -45 # 对于背景噪音较多的视频,提高阈值 python main.py -i "noisy_video.mp4" -o "clean_video.mp4" --threshold -35 ``` ### 示例3:批量处理播客 ```bash python main.py --batch --input-dir "./podcast_episodes" --output-dir "./cleaned_episodes" --verbose ``` ## 注意事项 1. **处理时间**: 处理时间通常为视频时长的0.3-0.5倍 2. **文件大小**: 处理后的文件大小会相应减少 3. **质量保持**: 默认设置下会保持原始视频质量 4. **备份建议**: 建议在处理前备份原始文件 ## 常见问题 ### Q: 为什么检测不到气口? A: 可能需要调整静音阈值参数,尝试使用更高的阈值(如-35dB)。 ### Q: 误删了语音内容怎么办? A: 可以提高最小静音时长参数,或降低静音阈值。建议先使用--preview模式测试。 ### Q: 处理速度太慢? A: 可以在配置文件中调整性能参数,或选择较低的输出质量。 ### Q: 支持哪些语言? A: 工具基于音频特征检测,理论上支持所有语言。 ## 开发信息 - 核心算法基于音频RMS能量、零交叉率和频谱质心分析 - 使用自适应阈值算法提高检测准确性 - 支持边缘平滑处理避免音频突变 - 采用模块化设计,易于扩展和维护 ## 许可证 MIT License