首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在ios应用中播放RTMP视频流?

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

Stack Overflow用户
提问于 2016-02-10 10:26:24
回答 1查看 3K关注 0票数 2

嗨,我正在开发广播应用程序,我正在使用视频库,现在我如何在ios应用程序中播放这个流媒体视频,我尝试了用MpMoviePlayer,但它不支持rtmp流。那么,是否有任何第三方库可供RTMP支持的播放器使用,请帮助我。

EN

回答 1

Stack Overflow用户

发布于 2020-01-15 07:18:05

如果您已经准备好了RTMP活动流,并将其作为HLS播放,那么您可以简单地在流名之后添加.m3u8,并使RTMP链接到http。例如,您有这样的RTMP链接:

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

你得把这个网址做成这样:

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

而且它将顺利地在iOS播放。我试过遵循代码,它运行良好。

代码语言:javascript
运行
复制
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()
}

但由于高分辨率的视频流上传,它将是缓慢和滞后的。如果在上传视频流时将分辨率降到较低,那么在低带宽网络中也会很顺利。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35312591

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档