嗨,我正在为我正在使用Videocore库开发的广播应用程序开发程序,现在我该如何在MpMoviePlayer尝试过的ios应用程序中播放流式视频,但它不支持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()
}
但是由于要上传高分辨率的视频流,所以它会很慢而且很慢。如果您在上传视频流时将分辨率调低,则在低带宽网络中也可以正常使用。