Skip to content

liveScene

buliaoyin edited this page Jul 28, 2017 · 4 revisions

场景编码

1. 功能简介

SDK在v4.0.5以后支持在软编264模式下配置场景模式和性能档次。
在v4.2.4以后支持在硬编264模式下配置性能档次(仅在部分机型上生效,其他不支持机型会自动fallback)。

在给定性能和场景参数后,会极大提升直播画面质量和有效降低CPU负载。
性能和场景参数开始推流前设置有效,在成功推流后不支持动态修改。

1.1. 场景模式

目前支持两种场景模式:
  • ENCODE_SCENE_DEFAULT

    通用模式(不确定场景时使用)

  • ENCODE_SCENE_SHOWSELF

    秀场模式, 主播上半身为主

Note
在主播上半身占画面主要内容时,使用秀场模式,可以有效降低带宽,或者有效提升画面质量。
不过,在运动场景、户外风格拍摄时,会引入一定的负作用,还请跟进业务选用合适场景。

1.2. 性能档次

目前支持以下三个性能档次
  • ENCODE_PROFILE_LOW_POWER

    低功耗档次

    cpu资源消耗较低, 视频质量差一些(硬编模式下对应 H264 的 baseline profile)

  • ENCODE_PROFILE_BALANCE

    均衡档次

    cpu消耗与视频质量较为均衡(硬编模式下对应 H264 的 main profile)

  • ENCODE_PROFILE_HIGH_PERFORMANCE

    高性能档次

    cpu资源占用较高,画面质量最佳(硬编模式下对应 H264 的 high profile)

Note
编码档次可以根据手机实际配置进行选择,低端手机可以选择低功耗模式,高端手机可以选择高性能模式。
硬编模式下选用均衡或者高性能档次,SDK会尝试配置MediaCodec使用H264的main/high profile进行编码, 如果当前机型不支持(目前支持的机型还比较有限),则会自动fallback回baseline profile.
另外,硬编模式下选用高性能档次,并不会有显著的cpu占用提升,因此建议开发者使用264硬编时开启高性能模式以获取更好的画质。

2. 使用方法

设置编码场景模式及性能档次
// 设置编码场景模式
mStreamer.setVideoEncodeScene(VideoEncodeFormat.ENCODE_SCENE_SHOWSELF);
// 设置编码性能档次
mStreamer.setVideoEncodeProfile(VideoEncodeFormat.ENCODE_PROFILE_LOW_POWER);
Clone this wiki locally