video_template_gen/code/README_processor.md

5.0 KiB
Raw Blame History

视频处理整合工具

这是一个整合的视频处理工具,可以自动完成以下流程:

  1. 扫描输入目录中的所有视频文件
  2. 将每个视频切割成指定时长的片段
  3. 从每个视频片段中提取音频

功能特点

  • 自动化流程:一键完成视频切割和音频提取
  • 智能组织:按视频名称自动创建子目录
  • 批量处理:支持处理整个目录的视频文件
  • 灵活配置:可自定义片段时长和音频格式
  • 详细日志:提供完整的处理进度和统计信息
  • 错误处理:优雅处理各种异常情况

输出目录结构

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 仅检查输出结构,不处理

处理流程

  1. 依赖检查验证ffmpeg和Python依赖是否可用
  2. 文件扫描:递归扫描输入目录中的所有视频文件
  3. 视频切割:将每个视频切割成指定时长的片段
  4. 音频提取:从每个视频片段中提取音频
  5. 结果统计:输出处理统计信息

支持的格式

视频格式

  • MP4 (.mp4)
  • AVI (.avi)
  • MOV (.mov)
  • MKV (.mkv)
  • FLV (.flv)
  • WMV (.wmv)
  • WebM (.webm)
  • M4V (.m4v)

音频格式

  • WAV (.wav) - 无损,文件较大
  • FLAC (.flac) - 无损压缩,文件较小
  • OGG (.ogg) - 有损压缩,文件最小

注意事项

  1. 磁盘空间:确保有足够的磁盘空间存储处理后的文件
  2. 处理时间:大量视频处理可能需要较长时间
  3. 备份建议:建议在处理前备份原始视频文件
  4. 内存使用:处理大视频文件时可能需要较多内存

错误处理

  • 如果ffmpeg未安装程序会提示安装方法
  • 处理失败的视频会记录在日志中
  • 程序会继续处理其他视频,不会因单个文件失败而停止
  • 最终会显示成功和失败的处理数量统计

性能优化建议

  1. 使用SSD将输入和输出目录放在SSD上以提高I/O性能
  2. 调整片段时长:较短的片段处理更快,但文件数量更多
  3. 选择合适的音频格式
    • WAV音质最好文件最大
    • FLAC音质好文件较小
    • OGG音质可接受文件最小

故障排除

常见问题

  1. ffmpeg未找到

    sudo apt install ffmpeg
    
  2. Python依赖缺失

    pip install -r requirements.txt
    
  3. 权限问题

    chmod +x video_processor.py
    
  4. 内存不足

    • 减少同时处理的视频数量
    • 使用较小的片段时长
    • 增加系统内存

日志分析

程序会输出详细的日志信息,包括:

  • 处理进度
  • 错误信息
  • 统计信息
  • 文件路径

使用 --verbose 参数可以获得更详细的调试信息。