Skip to content

enableH265

Franken Zeng edited this page Jun 13, 2017 · 11 revisions

启用H.265进行视频编码

1. 为什么需要启用?

为了避免不想使用265编码的客户也要将265的库引入App, 导致没有必要的size 增量, 从v1.8.0开始我们将265的库做成了可选项.

1.1 RTMP中H.265扩展

由于RTMP/FLV并不支持H.265的编码,所以金山云对协议进行了扩展。

扩展说明及对应的FFmpeg代码实现请见:金山云FFmpeg扩展

2. 准备工作

用不同方式集成的客户, 可以按照自己的集成方式参照如下步骤, 启用265的支持. libksygpulive支持两种方式集成,分别为:

  • cocoapods
  • framework直接依赖

如果使用cocoapods类库管理依赖时,你需要修改podfile。 用pod或者用脚本输出framework, 两种方式二选一

2.1 使用pod集成时

将项目中Podfile文件进行修改

Podfile文件中对libksygpulive的依赖

pod 'libksygpulive/libksygpulive'

改为

pod 'libksygpulive/libksygpulive_265'

libksygpulive子模块说明:

  • libksygpulive/libksygpulive // 视频编码格式只支持264
  • libksygpulive/libksygpulive_265 // 视频编码格式既支持264编码也支持265编码

以上两个子模块,在Podfile中二者只能选取其中的一个, 同时添加会导致符号冲突

2.2 使用脚本生成framework时

将原本的命令行

./release-libKSYLive.sh libksygpulive lite

改为:

./release-libKSYLive.sh libksygpulive 265

此时输出的目录在顶层目录/framework/static下,库名称为libksygpulive.framework。将该framework导入工程即可使用。

3. 代码修改

修改KSYStreamerBase的 videoCodec 属性为KSYVideoCodec_QY265,此时即明确使用了H.265编码

对推流配置的详细配置,请参考参数

1. 推流环节说明

2. 特色功能说明

2.1 采集

2.2 音频处理

2.3 视频处理

2.4 编码

2.5 推流

2.6 输入多样化

2.7 集成

3. 第三方功能

4. 技术专栏

5. 已知问题

8. FAQ

金山云计算

Clone this wiki locally