项目简介
本项目基于OpenH264库,提供了一个高效的视频编解码解决方案,适用于实时应用如WebRTC。OpenH264支持H.264编码和解码,能够在多种操作系统和架构上运行,包括Windows、Mac OS X、Linux、Android和iOS。
项目的主要特性和功能
编码器特性
- 支持Constrained Baseline Profile,最高到Level 5.2。
- 支持任意分辨率,无16x16倍数限制。
- 有多种码率控制选项,如自适应量化和恒定量化。
- 支持多种切片选项。
- 自动用多线程处理多切片。
- 支持最高4层时间可伸缩性。
- 支持Simulcast AVC和Spatial Simulcast。
- 支持长期参考帧和内存管理控制操作。
- 支持动态调整比特率、帧率和分辨率。
解码器特性
- 支持Constrained Baseline Profile,最高到Level 5.2。
- 支持任意分辨率,无16x16倍数限制。
- 单线程处理所有切片。
- 支持长期参考帧和内存管理控制操作。
- 支持多参考帧。
操作系统支持
涵盖Windows(64位和32位)、Mac OS X(64位和32位,含ARM64)、Linux(64位和32位)、Android(64位和32位)、iOS(64位和32位)、Windows Phone(32位)。
处理器支持
包括Intel x86(可选支持MMX/SSE)、ARMv7(可选支持NEON)、AArch64(可选支持NEON)及任何使用C/C++回退函数的架构。
安装使用步骤
前提条件
- 安装NASM(汇编代码编译器),版本需为2.10.06或更高。
- Mac OS X 64位,NASM版本需低于2.11.08。
- Windows Phone需安装gas - preprocessor。
构建库
Android平台
- 安装Android SDK和NDK。
- 设置环境变量
ANDROID_SDK
和ANDROID_NDK
。 - 命令构建:
make OS=android NDKROOT=**ANDROID_NDK** TARGET=**ANDROID_TARGET**
iOS平台
- 用Xcode项目文件构建库和演示应用。
- 命令行构建:
make OS=ios ARCH=**ARCH**
Linux平台
命令行构建:make OS=linux ARCH=**ARCH**
Windows平台
- 安装Cygwin并确保包含
make
。 - 用批处理脚本构建:
AutoBuildForWindows.bat Win32 - Release - ASM
通用构建步骤
make
命令构建,支持自动检测和手动指定架构。- Meson构建:
shell meson builddir ninja -C builddir
使用源码
codec
:含编码器、解码器、控制台测试应用和构建文件。build
:含Makefile构建系统脚本。test
:含GTest单元测试文件。testbin
:含自动构建脚本和测试应用配置文件。res
:含YUV和比特流测试文件。
已知问题
- 编码器在分辨率超3840x2160时出错。
- 编码器在压缩帧大小超未压缩大小一半时出错。
- 解码器在压缩帧大小超1MB时出错。
- 编码器码率控制需启用帧跳过以达目标比特率。
许可证
本项目采用BSD许可证,详情见LICENSE
文件。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】