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

问题描述 投票:2回答:1

嗨,我正在为我正在使用Videocore库开发的广播应用程序开发程序,现在我该如何在MpMoviePlayer尝试过的ios应用程序中播放流式视频,但它不支持rtmp流。所以有没有第三方图书馆可用于支持RTMP的播放器,请帮助我

ios video-streaming mpmovieplayercontroller rtmp broadcasting
1个回答
0
投票

[如果您已经准备好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()
}

但是由于要上传高分辨率的视频流,所以它会很慢而且很慢。如果您在上传视频流时将分辨率调低,则在低带宽网络中也可以正常使用。

© www.soinside.com 2019 - 2024. All rights reserved.