Agora.io 的 Web SDK 没有提供任何通过 RTMP 访问流的方法,因为 Agora Web SDK 是基于 Web RTC 的,这是一个不同的协议。
setLiveTranscoding
Agora.io 的 Web SDK 确实支持使用、startLiveStreaming
和方法将 Agora 流推送到 RTMP url(由 Facebook Live、YouTube live、Vimeo live 等服务提供)stopLiveStreaming
。
// CDN transcoding settings.
var LiveTranscoding = {
// Width of the video (px). The default value is 640.
width: 640,
// Height of the video (px). The default value is 360.
height: 360,
// Bitrate of the video (Kbps). The default value is 400.
videoBitrate: 400,
// Frame rate of the video (fps). The default value is 15. Agora adjusts all values over 30 to 30.
videoFramerate: 15,
audioSampleRate: AgoraRTC.AUDIO_SAMPLE_RATE_48000,
audioBitrate: 48,
audioChannels: 1,
videoGop: 30,
// Video codec profile. Choose to set as Baseline (66), Main (77), or High (100). If you set this parameter to other values, Agora adjusts it to the default value of 100.
videoCodecProfile: AgoraRTC.VIDEO_CODEC_PROFILE_HIGH,
userCount: 1,
userConfigExtraInfo: {},
backgroundColor: 0x000000,
// Sets the output layout for each user.
transcodingUsers: [{
x: 0,
y: 0,
width: 640,
height: 360,
zOrder: 0,
alpha: 1.0,
// The uid must be identical to the uid used in Client.join.
uid: 1232,
}],
};
client.setLiveTranscoding(LiveTranscoding);
// Adds a URL to which the host pushes a stream. Set the transcodingEnabled parameter as true to enable the transcoding service. Once transcoding is enabled, you need to set the live transcoding configurations by calling the setLiveTranscoding method. We do not recommend transcoding in the case of a single host.
client.startLiveStreaming("your RTMP URL", true)
// Removes a URL to which the host pushes a stream.
client.stopLiveStreaming("your RTMP URL")
完整指南:https ://docs.agora.io/en/Interactive%20Broadcast/cdn_streaming_web?platform=Web