Как создать прямую трансляцию для нескольких социальных сетей, таких как Facebook, Youtube, используя RTMP в iOS - PullRequest
0 голосов
/ 11 марта 2019

Я сделал прямую трансляцию для одной платформы, такой как Facebook, используя LFLivekit.Когда я пытаюсь использовать две платформы, этого не происходит.

Код:

import UIKit
import LFLiveKit

class VideoViewController: UIViewController {

var sessionO: LFLiveSession =
    {
        let audioConfiguration = LFLiveAudioConfiguration.defaultConfiguration(for: LFLiveAudioQuality.high)
        let videoConfiguration = LFLiveVideoConfiguration.defaultConfiguration(for: LFLiveVideoQuality.low3)
        let session = LFLiveSession(audioConfiguration: audioConfiguration, videoConfiguration: videoConfiguration)
        return session!
    }()


    override func viewDidLoad() {
        super.viewDidLoad()
        self.streamUrl = "live-api-s.facebook.com:80/rtmp/"
        self.streamName = "17XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"

        self.sessionO.delegate = self
        self.sessionO.preView = self.view
        self.sessionO.running = true
    }

    override func viewDidAppear(_ animated: Bool)
    {
        super.viewDidAppear(animated)
        let stream = LFLiveStreamInfo()
        stream.url = "rtmp://\(self.streamUrl!)/LiveApp/\(self.streamName!)"
        self.sessionO.startLive(stream)
}
}

Примечание. Если я создаю еще один сеанс и поток также для YouTube, он не работает.

1 Ответ

0 голосов
/ 27 марта 2019

Нам нужно создать отдельное соединение RTMP и создать прослушиватель.

fbRtmpStream = RTMPStream(connection: fbRtmpConnection)
ytRtmpStream = RTMPStream(connection: ytRtmpConnection)

self.fbRtmpConnection1.addEventListener(Event.RTMP_STATUS, selector:#selector(self.fbRtmpStatusHandler1(_:)), observer: self)
        self.fbRtmpConnection1.connect("rtmp://live-api-s.facebook.com:80/rtmp/")
        self.fbStreamName1 = "xxxxxx"

self.ytRtmpConnection.addEventListener(Event.RTMP_STATUS, selector:#selector(self.ytRtmpStatusHandler(_:)), observer: self)
        self.ytRtmpConnection.connect("rtmp://a.rtmp.youtube.com/live2/LiveApp/")
        self.ytStreamName = "xxxxxxxxx"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...