Skip to content

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

3 Commits

Folders and files

Repository files navigation

视频平台二压策略测试工具

这是一个用于测试视频平台二次压缩策略的工具集,支持 H.264/H.265/AV1 编码测试,可以使用 CPU 或 NVIDIA GPU 进行编码。

功能特点

  • 支持多种编码器:
    • H.264 (CPU: libx264, GPU: NVENC)
    • H.265/HEVC (CPU: libx265, GPU: NVENC)
    • AV1 (CPU: SVT-AV1, GPU: NVENC)
  • 自动计算 VMAF 质量分数
  • 生成详细的码率分析图表
  • 支持多进程并行计算 VMAF
  • 生成完整的测试报告和可视化结果

系统要求

  • Python 3.6+
  • FFmpeg (支持 NVENC)
  • libvmaf
  • NVIDIA GPU (如果使用 GPU 编码)
  • 依赖 Python 包:
    • matplotlib
    • pandas
    • tqdm
    • numpy

安装

  1. 安装 FFmpeg:

    • Windows: 下载并安装 FFmpeg,确保添加到系统 PATH
    • Linux: sudo apt-get install ffmpeg
  2. 安装 Python 依赖:

pip install matplotlib pandas tqdm numpy
  1. 安装 libvmaf:
    • Windows: 通过 FFmpeg 内置支持
    • Linux: sudo apt-get install libvmaf

使用方法

1. 准备测试视频

将源视频文件(.mov)放入 ./source_videos/ 目录。

2. 执行编码测试

CPU 编码:

python video_compression_tester.py --encode --cpu

GPU 编码:

python video_compression_tester.py --encode --nvidia

同时使用 CPU 和 GPU:

python video_compression_tester.py --encode --cpu --nvidia

3. 分析二压结果

将平台二压后的文件放入 ./second_pass/ 目录(文件命名格式:场景名_编码器类型.mp4),然后运行:

python video_compression_tester.py --analyze

4. 执行完整流程

python video_compression_tester.py --full --cpu --nvidia

5. 仅计算 VMAF 分数

python video_compression_tester.py --vmaf-only

6. 码率分析

使用 bitrate_plot.py 分析单个视频文件的码率:

python bitrate_plot.py <视频文件路径>

输出结果

测试结果将保存在 ./results/ 目录下:

  • first_pass_results.csv: 首次编码结果
  • compression_results.csv: 二压分析结果
  • visualizations/: 包含各种分析图表
    • first_pass_quality.png: 首次编码质量分析
    • bitrate_vs_vmaf.png: 码率与 VMAF 关系
    • compression_ratio.png: 码率压缩比分析
    • scene_comparison.png: 场景对比分析

文件命名规则

  • 源文件:./source_videos/dance.mov
  • 首次编码:./first_pass/dance_h264_cpu.mp4, dance_h264_nvidia.mp4
  • 二压文件:./second_pass/dance_h264_cpu.mp4, dance_h264_nvidia.mp4

编码参数配置

默认编码参数配置(可在代码中修改):

CPU 编码

  • H.264: CRF 23, medium preset, high profile
  • H.265: CRF 25, medium preset, main10 profile
  • AV1: CRF 32

NVIDIA GPU 编码

  • H.264: CQ 25, medium preset, high profile
  • H.265: CQ 27, medium preset, main10 profile
  • AV1: CQ 33, medium preset

注意事项

  1. 确保 FFmpeg 支持所需的编码器
  2. 使用 GPU 编码时需要安装 NVIDIA 驱动和 CUDA
  3. 建议使用较新版本的 FFmpeg 以支持所有功能
  4. 对于大文件,VMAF 计算可能需要较长时间

常见问题

  1. 如果遇到编码器不支持的错误,请检查 FFmpeg 版本和安装
  2. 如果 GPU 编码失败,请确认 NVIDIA 驱动和 CUDA 是否正确安装
  3. 如果 VMAF 计算失败,请检查 libvmaf 是否正确安装

许可证

MIT License

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages