Потоковая передача Agora CDN от нескольких пользователей Web Sdk

#javascript #cdn #live-streaming #agora.io

#javascript #cdn #прямая трансляция #agora.io

Вопрос:

Чтобы отправить канал agora с несколькими пользователями в CDN, нужно ли вызывать следующие методы для каждого пользователя? Или настройка перекодирования и запуск прямой трансляции для одного хоста автоматически запускают потоковую передачу для всех в канале. Кроме того, существуют ли какие-либо макеты транскодирования по умолчанию, например, для записи?

 client.setLiveTranscoding(LiveTranscoding);
client.startLiveStreaming("your RTMP URL", true)
  

Ответ №1:

Чтобы отправить всех пользователей в канал, вам нужно только позвонить setLiveTranscoding и startLiveStreaming от одного пользователя. В объекте конфигурации Live Transcoding вы должны установить количество пользователей с userCount помощью свойства и настроить различные параметры для каждого пользователя с transcodingUsers помощью объекта.

 // CDN transcoding settings.
var liveTranscodingConfig = {
  // 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,
  // Adds a PNG watermark image to the video. You can add more than one watermark image at the same time.
  images: [{
          url: "http://www.com/watermark.png",
          x: 0,
          y: 0,
          width: 160,
          height: 160,
      }],
  // 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(liveTranscodingConfig);
client.startLiveStreaming("your RTMP URL", true)