Skip to content

turingevo/SuperVideoCompressor

Repository files navigation

超级视频压缩工具 (SuperVideoCompressor)

turingevo.com

License Platform Language

项目简介

超级视频压缩工具是一个智能视频压缩应用程序,支持多种压缩模式和参数调整。该工具可以显著减小视频文件大小,同时保持良好的视觉质量。它提供了图形界面和命令行两种使用方式。

特性

  • 智能压缩模式:自动分析视频内容并推荐最佳压缩模式
  • 双模式压缩
    • 固定比特率模式:严格控制文件大小
    • CRF质量模式:保持视觉质量
  • 实时进度监控:显示压缩进度和预计完成时间
  • 详细日志记录:记录压缩过程中的所有信息
  • 跨平台支持:支持Linux和Windows系统
  • 命令行工具:提供bash脚本版本,方便批量处理

界面预览

主界面

安装说明

系统要求

  • Linux或Windows操作系统
  • FFmpeg工具集(需要ffmpeg和ffprobe命令)
  • Qt5开发库

编译安装

Linux

  1. 安装依赖:

    # Ubuntu/Debian
    sudo apt update
    sudo apt install ffmpeg qt5-qmake qtbase5-dev
    
    # CentOS/RHEL
    sudo yum install ffmpeg qt5-qtbase-devel
  2. 克隆项目:

    git clone <repository-url>
    cd SuperVideoCompressor
  3. 编译项目:

    # 构建debug版本
    qmake CompressVideo.pro
    make
    
    # 或构建release版本
    qmake CompressVideo.pro CONFIG+=release
    make
  4. 运行程序:

    # 运行debug版本
    ./app/debug/VideoCompressor
    
    # 或运行release版本
    ./app/release/VideoCompressor

Windows

  1. 安装依赖:

  2. 克隆项目:

    git clone <repository-url>
    cd SuperVideoCompressor
  3. 编译项目:

    # 构建debug版本
    qmake CompressVideo.pro
    nmake
    
    # 或构建release版本
    qmake CompressVideo.pro CONFIG+=release
    nmake
  4. 运行程序:

    # 运行debug版本
    app\debug\VideoCompressor.exe
    
    # 或运行release版本
    app\release\VideoCompressor.exe

GitHub Actions

本项目使用GitHub Actions进行持续集成。每次推送到mainmaster分支以及创建拉取请求时,都会自动触发构建流程。

构建流程包括:

  1. 安装Qt 5.15.2环境
  2. 安装FFmpeg依赖
  3. 编译release版本项目
  4. 验证构建结果
  5. 上传构建产物作为artifact

您可以在.github/workflows/build.yml文件中查看完整的构建配置。

使用方法

图形界面版本

  1. 启动程序后,首先设置FFmpeg路径(如果未自动检测到)
  2. 选择输入视频文件
  3. 选择输出文件路径
  4. 选择压缩模式:
    • 自动模式:自动分析视频内容并选择最佳模式
    • 固定比特率模式:严格控制文件大小(适合带宽受限场景)
    • CRF质量模式:保持视觉质量(适合存档/重编码)
  5. 调整压缩参数(如需要)
  6. 点击"压缩"按钮开始处理

命令行版本

项目还包含一个bash脚本版本,位于scripts/compress_video.sh

# 基础压缩 (自动模式)
./scripts/compress_video.sh -i input.mp4

# 严格控制文件大小 (860 kb/s 总比特率)
./scripts/compress_video.sh -i input.mp4 -b 860 -m bitrate

# 高质量压缩 (CRF 23)
./scripts/compress_video.sh -i input.mp4 -c 23 -m crf

# 测试模式 (仅压缩前10秒)
./scripts/compress_video.sh -i input.mp4 -t 10

压缩模式说明

自动模式

程序会分析视频内容并智能选择最适合的压缩模式:

  • 屏幕录制内容(低比特率+高分辨率):推荐固定比特率模式
  • 高动态视频内容(电影、游戏等):推荐CRF质量模式

固定比特率模式

  • 严格控制输出文件大小
  • 适合带宽受限的场景
  • 推荐比特率:860 kb/s(适合屏幕录制内容)

CRF质量模式

  • 保持视觉质量
  • 适合存档或重编码
  • 推荐CRF值:18-23(值越小质量越高)

高级功能

视频分析

在自动模式下,程序会分析视频的分辨率和比特率等技术参数,智能判断视频内容类型并推荐最适合的压缩模式。

测试模式

仅压缩视频的前N秒,用于快速预览压缩效果,特别适合在调整参数时使用。

参数说明

视频参数

  • 编码预设:影响压缩速度和压缩率(slow提供更好的压缩率但速度较慢)
  • H.264配置文件:影响编码兼容性(high提供最好质量)
  • 目标比特率:固定比特率模式下的总比特率
  • CRF质量值:CRF模式下的质量值(0为无损,51为最差)

音频参数

  • 音频比特率:音频流的比特率(默认128 kb/s)
  • 音频采样率:音频采样频率(默认48000 Hz)

注意事项

  1. 高动态视频使用过低比特率会导致严重质量损失
  2. CRF值越小质量越高(0为无损,51为最差)
  3. slow preset提供更好的压缩率但速度较慢
  4. 输出文件格式固定为MP4

项目结构

SuperVideoCompressor/
├── app/                   # 编译输出目录
├── scripts/               # 脚本文件
│   └── compress_video.sh  # 命令行压缩脚本
├── main.cpp               # 程序入口点
├── videocompressor.cpp    # 主要实现文件
├── videocompressor.h      # 头文件
├── videocompressor.ui     # 界面文件
└── CompressVideo.pro      # 项目文件

版本信息

当前版本:0.9.4

许可证

本项目采用MIT许可证,详情请见LICENSE文件。

MIT许可证是一个宽松的开源许可证,允许用户自由使用、复制、修改、合并、发布、分发、再许可和/或销售本软件的副本,但必须包含原始版权声明和许可证文本。

重要提示:本软件按"原样"提供,不提供任何担保。在法律允许的范围内,作者或版权持有者不对因使用本软件而产生的任何索赔、损害或其他责任承担责任。

作者

turingevo.com

如有任何问题或建议,请联系作者。

About

Super Video Compressor

Resources

License

Stars

Watchers

Forks

Packages

No packages published