2024/05/27 15:17:05
设置输出视频属性
合流录制下,你可以通过设置输出视频流的分辨率(宽和高)、帧率和码率,满足你的业务需求。我们建议参考分辨率、帧率、码率对照表进行设置。对于云端录制,你需要使用 start
请求 Body 中 clientRequest.recordingConfig.transcodingConfig
字段进行设置。
信息
单流录制模式下,录制的输出视频属性与用户的原始视频属性一致,无法自行设置。
设置规则
在设置输出视频属性时,你需要关注如下规则:
- 分辨率并不是越高越好,建议不要高于原始视频流的分辨率(宽 × 高)之和,即集合分辨率,否则最终录制文件可能会变模糊。
- 该分辨率为合流模式下视频画布的分辨率,其宽高比无需与视频源一致。输出的画面中用户视窗的宽高比取决于视频画布的宽高比以及合流布局方式。详情见设置合流布局。
- 设置帧率时,仅支持声网标准帧率:1 fps,7 fps,10 fps,15 fps,24 fps,30 fps 和 60 fps。如果你设置成其他帧率,SDK 会采用默认帧率 15 fps。
- 对照表中的基准码率适用于通信场景。直播场景下通常需要较大码率来提升视频质量,直播码率为基准码率的两倍。
- 提高码率可以提升画质,但也会提高对带宽的要求。码率上限为 6500 Kbps。如果设置的码率超过上限,会收到报错。
如何手动推算码率
如果你无法在对照表中找到你需要的视频属性组合,你可以结合表格,手动推算出合适值。推算码率的步骤为:
-
在表中找到与你目标最接近的分辨率。
-
根据你需要的帧率,对码率进行推算。宽和高固定的情况下,码率随帧率的变化而变化。假设帧率 15 fps 时的基准码率为 a:
- 帧率为 5 fps 时的基准码率为 0.5 × a,即 a 的 0.5 倍。
- 帧率为 30 fps 时的基准码率为 1.5 × a,即 a 的 1.5 倍。
- 帧率为其他值时,你可以通过帧率的区间进行估算。例如,帧率为 10 fps 时,你可以将码率设置为 0.5 × a 到 a 之间。
假设你想要的分辨率为 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 |
API 参考
你可以参考 start
方法了解字段详情。