合流录制模式下,你可以通过设置输出视频流的分辨率(宽和高)、帧率和码率,满足你的业务需求。我们建议参考分辨率、帧率、码率对照表进行设置。对于云端录制,你需要使用 transcodingConfig 参数进行设置;对于本地服务端录制,你需要使用 mixResolution 参数进行设置。

单流录制模式下,录制的输出视频属性与用户的原始视频属性一致,无法自行设置。

设置规则

  • 分辨率并不是越高越好,建议不要高于原始视频流的分辨率(宽 * 高)之和,即集合分辨率,否则最终录制文件可能会变模糊。
  • 该分辨率为合流模式下视频画布的分辨率,其宽高比无需与视频源一致。输出的画面中用户画面的宽高比取决于视频画布的宽高比以及合流布局方式。详情见相关文档
  • 设置帧率时,仅支持声网标准帧率:1 fps,7 fps,10 fps,15 fps,24 fps,30 fps 和 60 fps。如果你设置成其他帧率,SDK 会采用默认帧率 15 fps。
  • 对照表中的基准码率适用于通信场景。直播场景下通常需要较大码率来提升视频质量,直播码率为基准码率的两倍。
  • 提高码率可以提升画质,但也会提高对带宽的要求。码率上限为 6500 Kbps。如果设置的码率超过上限,会收到报错。

如何手动推算码率

如果你无法在对照表中找到你需要的视频属性组合,你可以结合表格,手动推算出合适值。推算码率的步骤为:

  1. 在表中找到与你目标最接近的分辨率。

  2. 根据你需要的帧率,对码率进行推算。宽和高固定的情况下,码率随帧率的变化而变化。假设帧率 15 fps 时的基准码率为 x:

    • 帧率为 5 fps 时的基准码率为 0.5x,即 x 的 0.5 倍。
    • 帧率为 30 fps 时的基准码率为 1.5x,即 x 的 1.5 倍。
    • 帧率为其他值时,你可以通过帧率的区间进行估算。例如,帧率为 10 fps 时,你可以将码率设置为 0.5x 到 x 之间。

假设你想要的分辨率为 300 * 240,帧率为 30 fps。对照表中与该需求最接近的分辨率为 320 * 240,帧率为 15 fps 时基准码率为 200 Kbps,则推算码率为 200 Kbps * 1.5,即 300 Kbps。

分辨率、帧率、码率对照表

分辨率(宽 * 高) 帧率 (fps) 基准码率(Kbps,适用于通信) 直播码率(Kbps,适用于直播)
160 * 120 15 65 130
120 * 120 15 50 100
320 * 180 15 140 280
180 * 180 15 100 200
240 * 180 15 120 240
320 * 240 15 200 400
240 * 240 15 140 280
424 * 240 15 220 440
640 * 360 15 400 800
360 * 360 15 260 520
640 * 360 30 600 1200
360 * 360 30 400 800
480 * 360 15 320 640
480 * 360 30 490 980
640 * 480 15 500 1000
480 * 480 15 400 800
640 * 480 30 750 1500
480 * 480 30 600 1200
848 * 480 15 610 1220
848 * 480 30 930 1860
640 * 480 10 400 800
1280 * 720 15 1130 2260
1280 * 720 30 1710 3420
960 * 720 15 910 1820
960 * 720 30 1380 2760
1920 * 1080 15 2080 4160
1920 * 1080 30 3150 6300
1920 * 1080 60 4780 6500

相关文档