旁路推流
- Flutter
更新时间不可用
startRtmpStreamWithoutTranscoding
开始非转码推流。
Future<void> startRtmpStreamWithoutTranscoding(String url);声网推荐你使用更加完善的服务端推流功能,详见实现服务端旁路推流。 调用该方法,你可以向指定的旁路推流地址推送直播音视频流。该方法每次只能向一个地址推送媒体流,如果你需要向多个地址转码推流,则需多次调用该方法。 调用该方法后,SDK 会在本地触发 onRtmpStreamingStateChanged 回调,报告推流的状态。
注:
- 请在加入频道后调用该方法。
- 只有直播场景下的主播才能调用该方法。
- 调用该方法推流失败后,如果你想要重新推流,那么请你务必先调用 stopRtmpStream,再调用该方法重推,否则 SDK 会返回与上次推流失败时一样的错误码。
参数
返回值
方法成功调用时,无返回值;方法调用失败时,会抛出 AgoraRtcException 异常,你需要捕获异常并进行处理。详见错误码了解详情和解决建议。
所属接口类
startRtmpStreamWithoutTranscodingEx
开始非转码推流。
Future<void> startRtmpStreamWithoutTranscodingEx(
{required String url, required RtcConnection connection});声网推荐你使用更加完善的服务端推流功能,详见实现服务端旁路推流。 调用该方法,你可以向指定的旁路推流地址推送直播音视频流。该方法每次只能向一个地址推送媒体流,如果你需要向多个地址转码推流,则需多次调用该方法。 调用该方法后,SDK 会在本地触发 onRtmpStreamingStateChanged 回调,报告推流的状态。
注:
- 请在加入频道后调用该方法。
- 只有直播场景下的主播才能调用该方法。
- 调用该方法推流失败后,如果你想要重新推流,那么请你务必先调用 stopRtmpStream,再调用该方法重推,否则 SDK 会返回与上次推流失败时一样的错误码。
参数
| 参数名 | 描述 |
|---|---|
url | |
connection | Connection 信息。详见 RtcConnection。 |
返回值
方法成功调用时,无返回值;方法调用失败时,会抛出 AgoraRtcException 异常,你需要捕获异常并进行处理。详见错误码了解详情和解决建议。
所属接口类
startRtmpStreamWithTranscoding
开始旁路推流并设置转码属性。
Future<void> startRtmpStreamWithTranscoding(
{required String url, required LiveTranscoding transcoding});声网推荐你使用更加完善的服务端推流功能,详见实现服务端旁路推流。 调用该方法,你可以向指定的旁路推流地址推送直播音视频流并设置转码属性。该方法每次只能向一个地址推送媒体流,如果你需要向多个地址转码推流,则需多次调用该方法。 一次推流代表一个推流任务,最大并发任务数默认为 200,表示你在一个声网项目下最多同时运行 200 个推流任务,如需更高配额,请联系技术支持。 调用该方法后,SDK 会在本地触发 onRtmpStreamingStateChanged 回调,报告推流的状态。
注:
- 请在加入频道后调用该方法。
- 只有直播场景下的主播才能调用该方法。
- 调用该方法推流失败后,如果你想要重新推流,那么请你务必先调用 stopRtmpStream,再调用该方法重推,否则 SDK 会返回与上次推流失败时一样的错误码。
参数
| 参数名 | 描述 |
|---|---|
url | |
transcoding | 旁路推流的转码属性,详见 LiveTranscoding。 |
返回值
方法成功调用时,无返回值;方法调用失败时,会抛出 AgoraRtcException 异常,你需要捕获异常并进行处理。详见错误码了解详情和解决建议。
所属接口类
startRtmpStreamWithTranscodingEx
开始旁路推流并设置转码属性。
Future<void> startRtmpStreamWithTranscodingEx(
{required String url,
required LiveTranscoding transcoding,
required RtcConnection connection});声网推荐你使用更加完善的服务端推流功能,详见实现服务端旁路推流。 调用该方法,你可以向指定的旁路推流地址推送直播音视频流并设置转码属性。该方法每次只能向一个地址推送媒体流,如果你需要向多个地址转码推流,则需多次调用该方法。 调用该方法后,SDK 会在本地触发 onRtmpStreamingStateChanged 回调,报告推流的状态。
注:
- 请确保已开通旁路推流服务。
- 请在加入频道后调用该方法。
- 只有直播场景下的主播才能调用该方法。
- 调用该方法推流失败后,如果你想要重新推流,那么请你务必先调用 stopRtmpStreamEx,再调用该方法重推,否则 SDK 会返回与上次推流失败时一样的错误码。
参数
| 参数名 | 描述 |
|---|---|
url | |
transcoding | 旁路推流的转码属性,详见 LiveTranscoding。 |
connection | Connection 信息。详见 RtcConnection。 |
返回值
方法成功调用时,无返回值;方法调用失败时,会抛出 AgoraRtcException 异常,你需要捕获异常并进行处理。详见错误码了解详情和解决建议。
所属接口类
stopRtmpStream
结束旁路推流。
Future<void> stopRtmpStream(String url);声网推荐你使用更加完善的服务端推流功能,详见实现服务端旁路推流。 调用该方法,你可以结束指定的旁路推流地址上的直播。该方法每次只能结束一个推流地址上的直播,如果你需要结束多个推流地址的直播,则需多次调用该方法。 调用该方法后,SDK 会在本地触发 onRtmpStreamingStateChanged 回调,报告推流的状态。
参数
返回值
方法成功调用时,无返回值;方法调用失败时,会抛出 AgoraRtcException 异常,你需要捕获异常并进行处理。详见错误码了解详情和解决建议。
所属接口类
stopRtmpStreamEx
结束旁路推流。
Future<void> stopRtmpStreamEx(
{required String url, required RtcConnection connection});声网推荐你使用更加完善的服务端推流功能,详见实现服务端旁路推流。 调用该方法,你可以结束指定的旁路推流地址上的直播。该方法每次只能结束一个推流地址上的直播,如果你需要结束多个推流地址的直播,则需多次调用该方法。 调用该方法后,SDK 会在本地触发 onRtmpStreamingStateChanged 回调,报告推流的状态。
参数
| 参数名 | 描述 |
|---|---|
url | |
connection | Connection 信息。详见 RtcConnection。 |
返回值
方法成功调用时,无返回值;方法调用失败时,会抛出 AgoraRtcException 异常,你需要捕获异常并进行处理。详见错误码了解详情和解决建议。
所属接口类
updateRtmpTranscoding
更新旁路推流转码属性。
Future<void> updateRtmpTranscoding(LiveTranscoding transcoding);声网推荐你使用更加完善的服务端推流功能,详见实现服务端旁路推流。 开启转码推流后,你可以根据场景需求,动态更新转码属性。转码属性更新后,SDK 会触发 onTranscodingUpdated 回调。
参数
| 参数名 | 描述 |
|---|---|
transcoding | 旁路推流的转码属性,详见 LiveTranscoding。 |
返回值
方法成功调用时,无返回值;方法调用失败时,会抛出 AgoraRtcException 异常,你需要捕获异常并进行处理。详见错误码了解详情和解决建议。
所属接口类
updateRtmpTranscodingEx
更新旁路推流转码属性。
Future<void> updateRtmpTranscodingEx(
{required LiveTranscoding transcoding,
required RtcConnection connection});声网推荐你使用更加完善的服务端推流功能,详见实现服务端旁路推流。 开启转码推流后,你可以根据场景需求,动态更新转码属性。转码属性更新后,SDK 会触发 onTranscodingUpdated 回调。
参数
| 参数名 | 描述 |
|---|---|
transcoding | 旁路推流的转码属性,详见 LiveTranscoding。 |
connection | Connection 信息。详见 RtcConnection。 |
返回值
方法成功调用时,无返回值;方法调用失败时,会抛出 AgoraRtcException 异常,你需要捕获异常并进行处理。详见错误码了解详情和解决建议。
所属接口类
onRtmpStreamingEvent
旁路推流事件回调。
final void Function(String url, RtmpStreamingEvent eventCode)?
onRtmpStreamingEvent;参数
| 参数名 | 描述 |
|---|---|
url | |
eventCode | 旁路推流事件码。详见 RtmpStreamingEvent。 |
所属接口类
onRtmpStreamingStateChanged
旁路推流状态发生改变回调。
final void Function(String url, RtmpStreamPublishState state,
RtmpStreamPublishReason reason)? onRtmpStreamingStateChanged;旁路推流状态发生改变时,SDK会触发该回调,并在回调中明确状态发生改变的 URL 地址及当前推流状态。该回调方便推流用户了解当前的推流状态;推流出错时,你可以通过返回的错误码了解出错的原因,方便排查问题。
参数
| 参数名 | 描述 |
|---|---|
url | |
state | 当前的推流状态,详见 RtmpStreamPublishState。 |
reason | 推流状态改变的原因,详见 RtmpStreamPublishReason。 |
所属接口类
onTranscodingUpdated
旁路推流转码设置已被更新回调。
final void Function()? onTranscodingUpdated;startRtmpStreamWithTranscoding 方法中的直播参数 LiveTranscoding 更新时,onTranscodingUpdated 回调会被触发并向主播报告更新信息。
注: 首次调用 startRtmpStreamWithTranscoding 方法设置转码参数 LiveTranscoding 时,不会触发此回调。