5.0 KiB
5.0 KiB
视频处理整合工具
这是一个整合的视频处理工具,可以自动完成以下流程:
- 扫描输入目录中的所有视频文件
- 将每个视频切割成指定时长的片段
- 从每个视频片段中提取音频
功能特点
- 自动化流程:一键完成视频切割和音频提取
- 智能组织:按视频名称自动创建子目录
- 批量处理:支持处理整个目录的视频文件
- 灵活配置:可自定义片段时长和音频格式
- 详细日志:提供完整的处理进度和统计信息
- 错误处理:优雅处理各种异常情况
输出目录结构
video_processed/
├── 视频1名称/
│ ├── video_split/ # 视频片段目录
│ │ ├── 视频1名称_segment_001.mp4
│ │ ├── 视频1名称_segment_002.mp4
│ │ └── 视频1名称_segment_003.mp4
│ └── audio_split/ # 音频文件目录
│ ├── 视频1名称_segment_001.wav
│ ├── 视频1名称_segment_002.wav
│ └── 视频1名称_segment_003.wav
└── 视频2名称/
├── video_split/
│ ├── 视频2名称_segment_001.mp4
│ └── 视频2名称_segment_002.mp4
└── audio_split/
├── 视频2名称_segment_001.wav
└── 视频2名称_segment_002.wav
安装依赖
1. 安装Python依赖
pip install -r requirements.txt
2. 安装ffmpeg
Ubuntu/Debian:
sudo apt update
sudo apt install ffmpeg
CentOS/RHEL:
sudo yum install ffmpeg
# 或者
sudo dnf install ffmpeg
使用方法
基本用法
# 使用默认设置
python video_processor.py
# 指定输入和输出目录
python video_processor.py --input_dir /path/to/videos --output_dir /path/to/output
高级选项
# 自定义片段时长(60秒)
python video_processor.py --duration 60
# 指定音频格式(flac)
python video_processor.py --audio_format flac
# 显示详细日志
python video_processor.py --verbose
# 仅检查输出目录结构(不进行处理)
python video_processor.py --check_only
完整示例
# 完整处理示例
python video_processor.py \
--input_dir /root/autodl-tmp/video \
--output_dir /root/autodl-tmp/video_processed \
--duration 30 \
--audio_format wav \
--verbose
# 使用短参数形式
python video_processor.py -i /path/to/videos -o /path/to/output -d 60 -f flac -v
参数说明
| 参数 | 短参数 | 默认值 | 说明 |
|---|---|---|---|
--input_dir |
-i |
/root/autodl-tmp/video |
输入视频目录 |
--output_dir |
-o |
/root/autodl-tmp/video_processed |
输出目录 |
--duration |
-d |
30 |
每个片段的时长(秒) |
--audio_format |
-f |
wav |
音频格式(wav/flac/ogg) |
--verbose |
-v |
False |
显示详细日志 |
--check_only |
- | False |
仅检查输出结构,不处理 |
处理流程
- 依赖检查:验证ffmpeg和Python依赖是否可用
- 文件扫描:递归扫描输入目录中的所有视频文件
- 视频切割:将每个视频切割成指定时长的片段
- 音频提取:从每个视频片段中提取音频
- 结果统计:输出处理统计信息
支持的格式
视频格式
- MP4 (.mp4)
- AVI (.avi)
- MOV (.mov)
- MKV (.mkv)
- FLV (.flv)
- WMV (.wmv)
- WebM (.webm)
- M4V (.m4v)
音频格式
- WAV (.wav) - 无损,文件较大
- FLAC (.flac) - 无损压缩,文件较小
- OGG (.ogg) - 有损压缩,文件最小
注意事项
- 磁盘空间:确保有足够的磁盘空间存储处理后的文件
- 处理时间:大量视频处理可能需要较长时间
- 备份建议:建议在处理前备份原始视频文件
- 内存使用:处理大视频文件时可能需要较多内存
错误处理
- 如果ffmpeg未安装,程序会提示安装方法
- 处理失败的视频会记录在日志中
- 程序会继续处理其他视频,不会因单个文件失败而停止
- 最终会显示成功和失败的处理数量统计
性能优化建议
- 使用SSD:将输入和输出目录放在SSD上以提高I/O性能
- 调整片段时长:较短的片段处理更快,但文件数量更多
- 选择合适的音频格式:
- WAV:音质最好,文件最大
- FLAC:音质好,文件较小
- OGG:音质可接受,文件最小
故障排除
常见问题
-
ffmpeg未找到
sudo apt install ffmpeg -
Python依赖缺失
pip install -r requirements.txt -
权限问题
chmod +x video_processor.py -
内存不足
- 减少同时处理的视频数量
- 使用较小的片段时长
- 增加系统内存
日志分析
程序会输出详细的日志信息,包括:
- 处理进度
- 错误信息
- 统计信息
- 文件路径
使用 --verbose 参数可以获得更详细的调试信息。