如何在ios应用程序中播放RTMP视频流


嗨,我

正在为此开发广播应用程序,我现在正在使用视频核心库如何在 ios 应用程序中播放该流视频,我尝试使用 MpMoviePlayer,但它不支持 rtmp 流。 那么是否有任何第三方库可用于 RTMP 支持的播放器请帮助我

如果您已经准备好RTMP直播流并以 HLS 播放,那么您只需在流名称后添加.m3u8并建立RTMP链接到 http .例如,您有这样的链接RTMP

rtmp://XY.Y.ZX.Z/hls/chid

您只需将网址设为如下:

http://XY.Y.ZX.Z/hls/chid.m3u8

它将在iOS中流畅播放。我已经尝试了以下代码,它工作正常。

func setPlayer()
{
    // RTMP URL rtmp://XY.Y.ZX.Z/hls/chid be transcripted like this http://XY.Y.ZX.Z/hls/chid.m3u8 it will play normally.
    let videoURL = URL(string: "http://XY.Y.ZX.Z/hls/chid.m3u8")
    let playerItem = AVPlayerItem(url: videoURL!)
    let adID = AVMetadataItem.identifier(forKey: "X-TITLE", keySpace: .hlsDateRange)
    let metadataCollector = AVPlayerItemMetadataCollector(identifiers: [adID!.rawValue], classifyingLabels: nil)
    //metadataCollector.setDelegate(self, queue: DispatchQueue.main)
    playerItem.add(metadataCollector)

    let player = AVPlayer(playerItem: playerItem)
    let playerLayer = AVPlayerLayer(player: player)
    playerLayer.frame = self.view.bounds
    self.view.layer.addSublayer(playerLayer)
    self.player = player
    player.play()
}

但是由于高分辨率视频流上传,它会很慢且滞后。如果您在上传视频流时将分辨率设置为低,则在低带宽网络中也将流畅运行。

最新更新