直播推流

智能视频SDK VideoCreatingSDK

  • 智能视频SDK开发者个人信息保护合规指引
  • 智能视频SDK隐私政策
  • 功能发布记录
  • 播放器SDK
    • SDK&Demo下载
    • 产品简介与下载
    • ios播放器
      • SDK集成
      • 快速开始
      • 简介
      • 版本更新记录
      • 接口速查
      • 快速进阶
      • 功能列表
      • 高级版功能接入
        • 端上超分功能接入
        • VR功能接入
        • 绿幕抠图功能接入
        • 投屏功能接入
        • 全景声功能接入
        • HDR功能接入
        • 超低延时直播功能接入
    • Unity播放器
      • SDK集成
      • 快速开始
      • 简介
      • 版本更新记录
      • 接口速查
      • 快速进阶
    • uniapp播放器
      • SDK集成
      • 快速开始
      • 简介
      • 版本更新记录
      • 快速进阶
    • HarmonyOS NEXT
      • SDK集成
      • 快速开始
      • 简介
      • 版本更新记录
      • 接口速查
      • 快速进阶
    • Andriod播放器
      • SDK集成
      • 快速开始
      • 简介
      • 版本更新记录
      • 接口速查
      • 快速进阶
      • 高级版功能接入
        • 端上超分功能接入
        • VR功能接入
        • 绿幕抠图功能接入
        • 投屏功能接入
        • 全景声功能接入
        • HDR功能接入
        • 超低延时直播功能接入
    • Web 播放器
      • license指引
      • 简介
      • 使用指南
      • 版本更新记录
      • 开发指南
      • 接口速查
        • 事件响应接口
        • 控制接口
  • 图片加载SDK
    • SDK&Demo下载
    • SDK集成
    • 快速开始
    • 版本更新记录
    • 接口速查
    • 产品简介
    • 快速进阶
  • 短视频SDK
    • 产品描述
      • 名词解释
      • 功能说明
      • 产品简介
      • 核心优势
    • SDK体验
      • 能力限制
      • DEMO体验
      • SDK下载
    • 使用指南
      • License申请
    • 常见问题
      • 内容制作类问题
      • 开发类问题
      • 常见问题总览
      • 常见错误码
    • 购买指南
      • 欠费说明
      • 如何购买
      • 产品定价
    • 开发指南
      • IOS开发说明
        • 录制
        • 编辑
        • 字幕
        • 转场
        • 合成
        • 快速接入
        • IOS版本开发接入文档
      • 视频指导
        • 视频指南
      • Android开发说明
        • 录制
        • Android版本开发接入文档
        • 字幕
        • 转场
        • 合成
        • 快速接入
        • 概述
  • 移动直播SDK
    • 产品描述
      • 名词解释
      • 功能说明
      • 产品简介
      • 核心优势
    • SDK体验
      • demo体验
      • SDK下载
    • 使用指南
      • 接入教程
      • License申请
      • License续费
    • 常见问题
      • 内容制作类问题
      • 开发类问题
      • 常见问题总览
      • 常见错误码
    • 购买指南
      • 欠费说明
      • 如何购买
      • 产品定价
    • 开发指南
      • IOS开发说明
        • 互动直播
        • 特效直播
        • 拉流
        • IOS接入概述
        • 超低延迟直播
        • 直播推流
      • Android开发说明
        • 超低延时直播
        • 互动直播
        • 普通直播
        • 特效直播
        • 拉流
        • Android接入概述
        • 推流参数配置
所有文档
menu
没有找到结果,请重新输入

智能视频SDK VideoCreatingSDK

  • 智能视频SDK开发者个人信息保护合规指引
  • 智能视频SDK隐私政策
  • 功能发布记录
  • 播放器SDK
    • SDK&Demo下载
    • 产品简介与下载
    • ios播放器
      • SDK集成
      • 快速开始
      • 简介
      • 版本更新记录
      • 接口速查
      • 快速进阶
      • 功能列表
      • 高级版功能接入
        • 端上超分功能接入
        • VR功能接入
        • 绿幕抠图功能接入
        • 投屏功能接入
        • 全景声功能接入
        • HDR功能接入
        • 超低延时直播功能接入
    • Unity播放器
      • SDK集成
      • 快速开始
      • 简介
      • 版本更新记录
      • 接口速查
      • 快速进阶
    • uniapp播放器
      • SDK集成
      • 快速开始
      • 简介
      • 版本更新记录
      • 快速进阶
    • HarmonyOS NEXT
      • SDK集成
      • 快速开始
      • 简介
      • 版本更新记录
      • 接口速查
      • 快速进阶
    • Andriod播放器
      • SDK集成
      • 快速开始
      • 简介
      • 版本更新记录
      • 接口速查
      • 快速进阶
      • 高级版功能接入
        • 端上超分功能接入
        • VR功能接入
        • 绿幕抠图功能接入
        • 投屏功能接入
        • 全景声功能接入
        • HDR功能接入
        • 超低延时直播功能接入
    • Web 播放器
      • license指引
      • 简介
      • 使用指南
      • 版本更新记录
      • 开发指南
      • 接口速查
        • 事件响应接口
        • 控制接口
  • 图片加载SDK
    • SDK&Demo下载
    • SDK集成
    • 快速开始
    • 版本更新记录
    • 接口速查
    • 产品简介
    • 快速进阶
  • 短视频SDK
    • 产品描述
      • 名词解释
      • 功能说明
      • 产品简介
      • 核心优势
    • SDK体验
      • 能力限制
      • DEMO体验
      • SDK下载
    • 使用指南
      • License申请
    • 常见问题
      • 内容制作类问题
      • 开发类问题
      • 常见问题总览
      • 常见错误码
    • 购买指南
      • 欠费说明
      • 如何购买
      • 产品定价
    • 开发指南
      • IOS开发说明
        • 录制
        • 编辑
        • 字幕
        • 转场
        • 合成
        • 快速接入
        • IOS版本开发接入文档
      • 视频指导
        • 视频指南
      • Android开发说明
        • 录制
        • Android版本开发接入文档
        • 字幕
        • 转场
        • 合成
        • 快速接入
        • 概述
  • 移动直播SDK
    • 产品描述
      • 名词解释
      • 功能说明
      • 产品简介
      • 核心优势
    • SDK体验
      • demo体验
      • SDK下载
    • 使用指南
      • 接入教程
      • License申请
      • License续费
    • 常见问题
      • 内容制作类问题
      • 开发类问题
      • 常见问题总览
      • 常见错误码
    • 购买指南
      • 欠费说明
      • 如何购买
      • 产品定价
    • 开发指南
      • IOS开发说明
        • 互动直播
        • 特效直播
        • 拉流
        • IOS接入概述
        • 超低延迟直播
        • 直播推流
      • Android开发说明
        • 超低延时直播
        • 互动直播
        • 普通直播
        • 特效直播
        • 拉流
        • Android接入概述
        • 推流参数配置
  • 文档中心
  • arrow
  • 智能视频SDKVideoCreatingSDK
  • arrow
  • 移动直播SDK
  • arrow
  • 开发指南
  • arrow
  • IOS开发说明
  • arrow
  • 直播推流
本页目录
  • 1.1 推流参数设置
  • 推流地址
  • 断网内部重连
  • 设置协议类型
  • 设置视频编码参数
  • 设置音频编码参数
  • 1.2 metadata发送参数
  • 设置鉴权参数AK
  • 设置鉴权参数SK
  • 设置鉴权参数Token
  • 设置鉴权参数expiredTime
  • 设置流参数domin
  • 设置流参数appName
  • 设置流参数streamName
  • 1.3 状态回调代理
  • 直播连接成功回调
  • 直播断开回调

直播推流

更新时间:2025-08-22

音视频直播的相关接口是在BDCloudAVLiveContext.h文件里,包括开始/结束推流、开始/结束动态码率、开/关静音推流、发送metadata信息等功能。
注意:直播SDK所有的类都是以“BDCloud”开头。

音视频推流直播需要注意以下两点:

  1. 直播推流模块仅用来处理音视频数据(编码,打包,上传),不含音视频数据采集功能,我们需要依赖短视频模块进行数据采集后传递给直播模块。当然我们同样支持用户自己采集音视频数据按照我们要求的结构转入直播模块也能实现完整的直播功能。
  2. 直播推流SDK当前支持两种网络协议(RTMP和SRT),不同协议的延迟不同。使用的场景需要根据自身业务情况自行评估。

1.1 推流参数设置

BDCloudAVLiveParameter用于配置推流地址、协议类型、断网内部重连次数、重连时间间隔、音视频编码参数等。
常见的音视频编码信息配置信息如下:

  1. 视频分辨率:视频编码分辨率,视频编码场景中分辨率与清晰度正相关。
  2. 视频帧率:视频编码帧率,视频编码场景中帧率与画面连贯正相关。
  3. 视频码率:视频编码码率,视频编码场景中码率与清晰度正相关。
  4. 视频gop长度:视频编码关键帧间隔,视频编码场景中关键帧间隔时间。
  5. 视频编码显示类型:视频编码物理分辨率与显示分辨率不一致时的编码显示类型(等比、剪裁、拉伸)。
  6. 音频采样率:音频编码采样率,音频编码场景中可以修改音频的采样率。
  7. 音频码率:音频编码码率,音频编码场景中码率与清晰度成正相关。
    对于不熟悉音视频产品的用户,直播SDK提供默认的音视频编码配置,方便用户初始化。对于熟悉音视频直播推流的用户,可以自行修改参数以适配业务场景。

推流地址

主要用于RTMP协议下的推流地址。
类型:属性
默认值:nil
@property(nonatomic, copy) NSURL* url;
示例代码:

Plain Text
11.	par.url = [NSURL URLWithString:[settings pushUrl]];

主要用于SRT协议下的推流地址。
类型:属性
默认值:nil
@property(nonatomic, copy) NSString* c_url;
示例代码:

Plain Text
11.	par.url = [settings pushUrl];

断网内部重连

次数设置
类型:属性
默认值:5
@property(nonatomic, assign) NSInteger reconnectCount;
示例代码:

Plain Text
11.	par.reconnectCount = 5;

重连间隔
类型:属性
默认值:1
@property(nonatomic, assign) NSTimeInterval reconnectInterval;
示例代码:

Plain Text
11.	par.reconnectInterval = 1;

设置协议类型

直播SDK支持两种协议类型(RTMP、SRT),我们需要通过枚举区分设置。

类型:属性
默认值:BDCloudAVLiveTypeNormal.
@property(nonatomic, assign) BDCloudAVLiveType streamType;
示例代码:

Plain Text
11.	par.streamType = NO

设置视频编码参数

视频编码参数支持分辨率、帧率、码率、关键帧间隔、编码类型(H264/H265)、显示类型、编码profile。
类型:属性
默认值:nil
@property(nonatomic, strong) BDCloudAVVideoOutputSettings* videoSettings;
示例代码:

Plain Text
11.	par.videoSettings = [BDCloudAVVideoOutputSettings defaultSettings];
22.	// 编码分辨率
33.	par.videoSettings.dimension =  self.settings.dimension;
44.	// 编码码率
55.	par.videoSettings.bitRate = self.settings.bitRate * 1000;
66.	// 编码帧率
77.	par.videoSettings.frameRate = self.settings.frameRate;
88.	// 关键帧间隔
99.	par.videoSettings.maxKeyFrameInterval = 2;
1010.	// 编码类型
1111.	par.videoSettings.codecID = AVVideoCodecH264
1212.	// 显示类型
1313.	par.videoSettings.scalingMode = AVVideoScalingModeResizeAspect
1414.	// 编码profile
1515.	par.videoSettings.profile = AVVideoProfileLevelH264HighAutoLevel

设置音频编码参数

音频编码参数支持修改原有的音频参数,重新采样成目标采样率。同时支持修改编码码率。
类型:属性
默认值:nil
@property(nonatomic, strong) BDCloudAVAudioOutputSettings* audioSettings;
示例代码:

Plain Text
11.	par.audioSettings = [BDCloudAVAudioOutputSettings defaultSettings];
22.	// 设置码率
33.	par.audioSettings.bitrate = 96000;
44.	// 设置采样率
55.	par.audioSettings.sampleRate = 44100;

1.2 metadata发送参数

用于配置直播流中发送metadata消息。可由百度云播放器解析并通过通知发送给每一个观众用户。常用于直播答题、直播换装等需要由主播添加进实时流内的消息功能。

设置鉴权参数AK

鉴权参数主要是百度云STS服务。由AK、SK、Token、expiredTime组成。
类型:属性
默认值:nil
@property(nonatomic, copy) NSString *accessKey;
示例代码:

Plain Text
11.	self.config.accessKey = signature[@"stsAccessKey"];

设置鉴权参数SK

鉴权参数主要是百度云STS服务。由AK、SK、Token、expiredTime组成。
类型:属性
默认值:nil
@property(nonatomic, copy) NSString * secretKey;
示例代码:

Plain Text
11.	self.config.secretKey = signature[@"stsSecretKey"];

设置鉴权参数Token

鉴权参数主要是百度云STS服务。由AK、SK、Token、expiredTime组成。
类型:属性
默认值:nil
@property(nonatomic, copy) NSString * tokenKey;
示例代码:

Plain Text
11.self.config.tokenKey= signature[@"stsToken"];

设置鉴权参数expiredTime

鉴权参数主要是百度云STS服务。由AK、SK、Token、expiredTime组成。
类型:属性
默认值:nil
@property(nonatomic, copy) NSString * expiredTimeInSeconds;
示例代码:

Plain Text
11. self.config.expiredTimeInSeconds= 1800;

设置流参数domin

流参数主要时拉流服务。由domin、appName、streamName组成。主要定位到flv拉流地址进行metadata信息下发。
类型:属性
默认值:nil
@property(nonatomic, copy) NSString *domin;
示例代码:

Plain Text
11._config.domin = domin;

设置流参数appName

流参数主要时拉流服务。由domin、appName、streamName组成。主要定位到flv拉流地址进行metadata信息下发。
类型:属性
默认值:nil
@property(nonatomic, copy) NSString *appName;
示例代码:

Plain Text
11. _config.appName = appName;

设置流参数streamName

流参数主要时拉流服务。由domin、appName、streamName组成。主要定位到flv拉流地址进行metadata信息下发。
类型:属性
默认值:nil
@property(nonatomic, copy) NSString *streamName;
示例代码:

Plain Text
11.	_config.streamName = streamName;

1.3 状态回调代理

直播状态回调提供给用户连接成功或者连接失败,当失败时提供错误码提醒用户,用户可以根据自身业务情况判断是否进行重连。

直播连接成功回调

类型:方法

  • (void)liveContextConnected;

直播断开回调

类型:方法
参数:错误码。

  • (void)liveContextError:(RtmpSocketErrorCode)code;

上一篇
超低延迟直播
下一篇
Android开发说明