项目简介
本项目是基于FFMPEG接口和算能SE5硬件平台开发的感兴趣区域(Region of Interest, ROI)视频编码系统。系统允许用户指定视频中的ROI,提高该区域编码质量,非ROI区域采用低质量编码以减少整体码率,进而优化带宽使用和视觉体验。
项目的主要特性和功能
- ROI选择和标识:用户可在视频预览中选择一个或多个ROI区域,并为每个区域设置不同编码优先级。
- 视频编码处理:依据用户定义的ROI设置对视频进行编码处理,优化ROI区域编码质量。
- 码率和质量控制:实现动态码率控制,优化编码质量和文件大小,支持固定码率(CBR)和可变码率(VBR)控制模式。
- 用户接口:提供图形用户界面(GUI)和命令行工具,方便用户选择ROI区域和设置编码参数。
安装使用步骤
1. 安装依赖
确保安装所有必需的依赖库和工具:
bash
sudo apt install g++
sudo apt install make
sudo apt install libavcodec-dev libavutil-dev libavformat-dev
sudo apt install libx264-dev
2. 制作YUV文件
使用FFmpeg将MP4视频文件转换为1080p YUV文件:
bash
ffmpeg -i input.mp4 -s 1920x1080 -pix_fmt yuv420p input.yuv
3. 编译项目
导航到项目根目录,运行以下命令编译项目:
bash
make
4. 运行项目
编译成功后,运行生成的可执行文件:
bash
./main input.yuv output.h264
5. 分析编码结果
使用Elecard StreamEye工具分析编码后的视频码流,可从Elecard StreamEye官网下载该工具。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】