Как включить запись в видеоконференции Twilio? - PullRequest
0 голосов
/ 13 ноября 2018

У меня проблемы с включением 'RecordParticipantsOnConnect', как указано здесь: https://www.twilio.com/docs/video/api/recordings-resource в моей реализации twilio, но я не могу заставить ее работать, где я могу установить RecordParticipantsOnConnect в true?

Они говорят, что вам нужно пропустить эту опцию при создании комнаты, но я не создаю комнату, это делается автоматически, я просто передаю имя комнаты в виде строки, и я получаю маркер:

class TwilioServices
  ACCOUNT_SID     = ENV['TWILIO_ACCOUNT_SID']
  API_KEY_SID     = ENV['TWILIO_API_KEY_SID']
  API_KEY_SECRET  = ENV['TWILIO_API_KEY_SECRET']

  def self.get_token(type, room)
    # Create an Access Token
    token = Twilio::JWT::AccessToken.new ACCOUNT_SID, API_KEY_SID, API_KEY_SECRET, ttl: 7200, identity: type,

    # Grant access to Video
    grant = Twilio::JWT::AccessToken::VideoGrant.new
    grant.room = room
    token.add_grant grant
    # Serialize the token as a JWT
    token.to_jwt
  end
end

Как мне решить эту проблему?

1 Ответ

0 голосов
/ 14 ноября 2018

Twanio Developer Evangelist здесь.

Если вы позволяете SDK динамически создавать комнату, когда вы присоединяетесь к ней, вы не сможете установить флаг записи в своем коде.Вместо этого у вас есть два варианта:

  1. Вы можете настроить параметры комнаты по умолчанию в консоли Twilio .Здесь вы можете установить комнаты по умолчанию для групповых комнат и включить запись.(Вы не можете записывать одноранговые комнаты, потому что носители не проходят через серверы Twilio.)

  2. Вы можете создать свою комнату заранее, используя Video Rooms RESTAPI .Создавая комнату самостоятельно, вы также можете установить тип и то, будет ли она записана.Для этого вы должны обновить свой метод get_token на что-то вроде:

    class TwilioServices
      ACCOUNT_SID     = ENV['TWILIO_ACCOUNT_SID']
      API_KEY_SID     = ENV['TWILIO_API_KEY_SID']
      API_KEY_SECRET  = ENV['TWILIO_API_KEY_SECRET']
    
      def self.get_token(type, room)
        # Create an Access Token
        token = Twilio::JWT::AccessToken.new ACCOUNT_SID, API_KEY_SID, API_KEY_SECRET, ttl: 7200, identity: type,
    
        client = Twilio::REST::Client.new(API_KEY_SID, API_KEY_SECRET, ACCOUNT_SID)
        video_room = client.video.rooms.create(
          unique_name: room,
          record_participants_on_connect: true,
          type: 'group'
        )
    
        # Grant access to Video
        grant = Twilio::JWT::AccessToken::VideoGrant.new
        grant.room = room
        token.add_grant grant
        # Serialize the token as a JWT
        token.to_jwt
      end
    end
    

Дайте мне знать, если это вообще поможет.

...