旁路推流
startRtmpStreamWithoutTranscoding:
开始非转码推流。
- (int)startRtmpStreamWithoutTranscoding:(NSString* _Nonnull)url;
详情
声网推荐你使用更加完善的服务端推流功能,详见实现服务端旁路推流。
调用该方法,你可以向指定的旁路推流地址推送直播音视频流。该方法每次只能向一个地址推送媒体流,如果你需要向多个地址转码推流,则需多次调用该方法。
调用该方法后,SDK 会在本地触发 rtcEngine:rtmpStreamingChangedToState:state:reason: 回调,报告推流的状态。
- 请在加入频道后调用该方法。
- 只有直播场景下的主播才能调用该方法。
- 调用该方法推流失败后,如果你想要重新推流,那么请你务必先调用 stopRtmpStream:,再调用该方法重推,否则 SDK 会返回与上次推流失败时一样的错误码。
参数
- url
- 旁路推流地址。格式为 RTMP 或 RTMPS。字符长度不能超过 1024 字节。不支持中文字符等特殊字符。
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
- -2:URL 或转码属性参数错误,请检查你的 URL 或参数设置。
- -7:调用该方法前,未初始化 SDK。
- -19:该旁路推流 URL 已在使用中,请使用其他旁路推流 URL。
startRtmpStreamWithoutTranscodingEx:connection:
开始非转码推流。
- (int)startRtmpStreamWithoutTranscodingEx:(NSString* _Nonnull)url
connection:(AgoraRtcConnection * _Nonnull)connection NS_SWIFT_NAME(startRtmpStreamWithoutTranscodingEx(_:connection:));
详情
声网推荐你使用更加完善的服务端推流功能,详见实现服务端旁路推流。
调用该方法,你可以向指定的旁路推流地址推送直播音视频流。该方法每次只能向一个地址推送媒体流,如果你需要向多个地址转码推流,则需多次调用该方法。
调用该方法后,SDK 会在本地触发 rtcEngine:rtmpStreamingChangedToState:state:reason: 回调,报告推流的状态。
- 请在加入频道后调用该方法。
- 只有直播场景下的主播才能调用该方法。
- 调用该方法推流失败后,如果你想要重新推流,那么请你务必先调用 stopRtmpStream:,再调用该方法重推,否则 SDK 会返回与上次推流失败时一样的错误码。
参数
- url
- 旁路推流地址。格式为 RTMP 或 RTMPS。字符长度不能超过 1024 字节。不支持中文字符等特殊字符。
- connection
- Connection 信息。详见 AgoraRtcConnection。
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
- -2:URL 或转码属性参数错误,请检查你的 URL 或参数设置。
- -7:调用该方法前,未初始化 SDK。
- -19:该旁路推流 URL 已在使用中,请使用其他旁路推流 URL。
startRtmpStreamWithTranscoding:transcoding:
开始旁路推流并设置转码属性。
- (int)startRtmpStreamWithTranscoding:(NSString* _Nonnull)url transcoding:(AgoraLiveTranscoding* _Nullable)transcoding;
详情
声网推荐你使用更加完善的服务端推流功能,详见实现服务端旁路推流。
调用该方法,你可以向指定的旁路推流地址推送直播音视频流并设置转码属性。该方法每次只能向一个地址推送媒体流,如果你需要向多个地址转码推流,则需多次调用该方法。
一次推流代表一个推流任务,最大并发任务数默认为 200,表示你在一个声网项目下最多同时运行 200 个推流任务,如需更高配额,请联系技术支持。
调用该方法后,SDK 会在本地触发 rtcEngine:rtmpStreamingChangedToState:state:reason: 回调,报告推流的状态。
- 请在加入频道后调用该方法。
- 只有直播场景下的主播才能调用该方法。
- 调用该方法推流失败后,如果你想要重新推流,那么请你务必先调用 stopRtmpStream:,再调用该方法重推,否则 SDK 会返回与上次推流失败时一样的错误码。
参数
- url
- 旁路推流地址。格式为 RTMP 或 RTMPS。字符长度不能超过 1024 字节。不支持中文字符等特殊字符。
- transcoding
旁路推流的转码属性,详见 AgoraLiveTranscoding。
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
- -2:URL 或转码属性参数错误,请检查你的 URL 或参数设置。
- -7:调用该方法前,未初始化 SDK。
- -19:该旁路推流 URL 已在使用中,请使用其他旁路推流 URL。
startRtmpStreamWithTranscodingEx:transcoding:connection:
开始旁路推流并设置转码属性。
- (int)startRtmpStreamWithTranscodingEx:(NSString* _Nonnull)url
transcoding:(AgoraLiveTranscoding* _Nullable)transcoding
connection:(AgoraRtcConnection * _Nonnull)connection NS_SWIFT_NAME(startRtmpStreamWithTranscodingEx(_:transcoding:connection:));
详情
声网推荐你使用更加完善的服务端推流功能,详见实现服务端旁路推流。
调用该方法,你可以向指定的旁路推流地址推送直播音视频流并设置转码属性。该方法每次只能向一个地址推送媒体流,如果你需要向多个地址转码推流,则需多次调用该方法。
调用该方法后,SDK 会在本地触发 rtcEngine:rtmpStreamingChangedToState:state:reason: 回调,报告推流的状态。
- 请确保已开通旁路推流服务。
- 请在加入频道后调用该方法。
- 只有直播场景下的主播才能调用该方法。
- 调用该方法推流失败后,如果你想要重新推流,那么请你务必先调用 stopRtmpStreamEx:connection:,再调用该方法重推,否则 SDK 会返回与上次推流失败时一样的错误码。
参数
- url
- 旁路推流地址。格式为 RTMP 或 RTMPS。字符长度不能超过 1024 字节。不支持中文字符等特殊字符。
- transcoding
旁路推流的转码属性,详见 AgoraLiveTranscoding。
- connection
- Connection 信息。详见 AgoraRtcConnection。
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
- -2:URL 或转码属性参数错误,请检查你的 URL 或参数设置。
- -7:调用该方法前,未初始化 SDK。
- -19:该旁路推流 URL 已在使用中,请使用其他旁路推流 URL。
stopRtmpStream:
结束旁路推流。
- (int)stopRtmpStream:(NSString* _Nonnull)url;
详情
声网推荐你使用更加完善的服务端推流功能,详见实现服务端旁路推流。
调用该方法,你可以结束指定的旁路推流地址上的直播。该方法每次只能结束一个推流地址上的直播,如果你需要结束多个推流地址的直播,则需多次调用该方法。
调用该方法后,SDK 会在本地触发 rtcEngine:rtmpStreamingChangedToState:state:reason: 回调,报告推流的状态。
参数
- url
- 旁路推流地址。格式为 RTMP 或 RTMPS。字符长度不能超过 1024 字节。不支持中文字符等特殊字符。
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
stopRtmpStreamEx:connection:
结束旁路推流。
- (int)stopRtmpStreamEx:(NSString* _Nonnull)url
connection:(AgoraRtcConnection * _Nonnull)connection NS_SWIFT_NAME(stopRtmpStreamEx(_:connection:));
详情
声网推荐你使用更加完善的服务端推流功能,详见实现服务端旁路推流。
调用该方法,你可以结束指定的旁路推流地址上的直播。该方法每次只能结束一个推流地址上的直播,如果你需要结束多个推流地址的直播,则需多次调用该方法。
调用该方法后,SDK 会在本地触发 rtcEngine:rtmpStreamingChangedToState:state:reason: 回调,报告推流的状态。
参数
- url
- 旁路推流地址。格式为 RTMP 或 RTMPS。字符长度不能超过 1024 字节。不支持中文字符等特殊字符。
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
updateRtmpTranscoding:
更新旁路推流转码属性。
- (int)updateRtmpTranscoding:(AgoraLiveTranscoding* _Nullable)transcoding;
详情
声网推荐你使用更加完善的服务端推流功能,详见实现服务端旁路推流。
开启转码推流后,你可以根据场景需求,动态更新转码属性。转码属性更新后,SDK 会触发 rtcEngineTranscodingUpdated: 回调。
参数
- transcoding
旁路推流的转码属性,详见 AgoraLiveTranscoding。
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
updateRtmpTranscodingEx:connection:
更新旁路推流转码属性。
- (int)updateRtmpTranscodingEx:(AgoraLiveTranscoding* _Nullable)transcoding
connection:(AgoraRtcConnection * _Nonnull)connection NS_SWIFT_NAME(updateRtmpTranscodingEx(_:connection:));
详情
声网推荐你使用更加完善的服务端推流功能,详见实现服务端旁路推流。
开启转码推流后,你可以根据场景需求,动态更新转码属性。转码属性更新后,SDK 会触发 rtcEngineTranscodingUpdated: 回调。
参数
- transcoding
旁路推流的转码属性,详见 AgoraLiveTranscoding。
- connection
- Connection 信息。详见 AgoraRtcConnection。
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
rtcEngine:rtmpStreamingEventWithUrl:eventCode:
旁路推流事件回调。
- (void)rtcEngine:(AgoraRtcEngineKit* _Nonnull)engine rtmpStreamingEventWithUrl:(NSString* _Nonnull)url eventCode:(AgoraRtmpStreamingEvent)eventCode;
参数
- url
- 旁路推流 URL。
- eventCode
- 旁路推流事件码。详见 AgoraRtmpStreamingEvent。
rtcEngine:rtmpStreamingChangedToState:state:reason:
旁路推流状态发生改变回调。
- (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine rtmpStreamingChangedToState:(NSString * _Nonnull)url
state:(AgoraRtmpStreamingState)state
reason:(AgoraRtmpStreamingReason)reason NS_SWIFT_NAME(rtcEngine(_:rtmpStreamingChangedToState:state:reason:));
详情
旁路推流状态发生改变时,SDK会触发该回调,并在回调中明确状态发生改变的 URL 地址及当前推流状态。该回调方便推流用户了解当前的推流状态;推流出错时,你可以通过返回的错误码了解出错的原因,方便排查问题。
参数
- engine
- AgoraRtcEngineKit 对象。
- url
推流状态发生改变的 URL 地址。
- state
- 当前的推流状态,详见 AgoraRtmpStreamingState。
- reason
- 推流状态改变的原因,详见 AgoraRtmpStreamingReason。
rtcEngineTranscodingUpdated:
旁路推流转码设置已被更新回调。
- (void)rtcEngineTranscodingUpdated:(AgoraRtcEngineKit * _Nonnull)engine;
详情
startRtmpStreamWithTranscoding:transcoding: 方法中的直播参数 AgoraLiveTranscoding 更新时,rtcEngineTranscodingUpdated: 回调会被触发并向主播报告更新信息。
参数
- engine
- AgoraRtcEngineKit 对象。