正在为此开发广播应用程序,我现在正在使用视频核心库如何在 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()
}
但是由于高分辨率视频流上传,它会很慢且滞后。如果您在上传视频流时将分辨率设置为低,则在低带宽网络中也将流畅运行。