首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

具有HLS冗余流和不良网络的奇怪AVPlayer行为

当使用AVPlayer播放具有HLS冗余流配置的流时,如果遇到奇怪的行为,可能是由于网络条件变化或播放器配置不当所致。以下是一些可能的原因和解决方法:

HLS冗余流基础概念

  • 冗余流:为了提高视频播放的可靠性,HLS支持冗余流,即在视频流中包含多个相同内容的副本,这样即使一个流中断,播放器可以切换到另一个流继续播放。
  • M3U8文件:这是一个包含视频流信息的文本文件,列出了所有视频片段的URL,播放器根据这个文件下载并播放视频片段。

可能遇到的不良网络行为

  • 卡顿:在网络条件不佳时,播放器可能会频繁卡顿。
  • 缓冲:播放器可能会在不适当的时候进行缓冲,影响播放流畅性。
  • 质量波动:在网络状况波动时,视频质量可能会不稳定。

解决方法

  • 检查网络状况:确保网络连接稳定,尝试在不同的网络环境下测试。
  • 更新播放器:确保使用的是最新版本的AVPlayer,因为新版本可能修复了已知的问题。
  • 优化HLS配置:检查HLS流的配置,确保冗余流设置合理,可以根据网络状况动态调整。
  • 使用网络监控工具:通过工具监控网络状况,及时发现并解决网络问题。

通过上述方法,可以有效地解决AVPlayer在播放具有HLS冗余流配置的视频时遇到的奇怪行为,提升用户体验。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

基于 HTTP 的低延迟流媒体播放器的性能

相同的编码参数已用于生成 LL-DASH 和 LL-HLS 流。 我们用来测试每个播放器在每个网络下的表现的总会话持续时间为 10 分钟。...在表 3 中,我们进一步列出了与它们相关的基本统计数据。我们注意到,这些网络轨迹非常具有挑战性,可以捕获实际中可能发生的移动切换和其他形式的损伤情况。...尽管 HLS.js 的平均延迟较低,但它在整个会话中的行为并不稳定:它变化非常显着,在会话中间产生大量延迟峰值。在我们看来,应该避免这种峰值。...HLS.js 和 Shaka 播放器更接近流的实时边缘,因此,它们比 AVPlayer 更容易重新缓冲(HLS.js 为 36 次,Shaka 播放器为 12 次)。...多次观察到 HLS.js 必须以 1.5 倍的速度播放才能赶上实时边缘。 最后,我们看看 LL-DASH 播放器的行为。这些播放器实现的比特率和延迟变化的动态分别如图 10 和图 11 所示。

8.8K40

HLS 和 DASH 多编解码器和封装

(规范统一上述规则) 具有原始流的多包 用 shaka 和 Bento4 封装 HLS 和 DASH fuboTV 公司简介 FuboTV 是一家美国流媒体电视服务公司,为美国、加拿大和西班牙的客户提供服务...根据国家/地区的不同,Fubo 提供的频道可能包括访问 NFL、MLB、NBA、NHL、MLS、CPL 和国际足球,以及新闻、网络电视连续剧和电影。...具体行为方式: CMAF 有不同的加密方法—— CENC, CBCS; Apple 播放器需要 hevc 编码的 cbcs; 大多数其他播放器也可以解密 cenc 和 hevc。...具有原始流的多包 如图 2 所示,如果播放器可以解码 HEVC,则 master 会发出 get 请求原始流。...图 2 具有原始逻辑流程的多包 用 shaka 和 Bento4 封装 HLS 和 DASH 需要注意的是,fvboTV 已经使用 shaka 和 Bento4 为每种类型的客户建立自定义解决方案。

2.2K40
  • 如何像抖音直播一样,从 App 直播间到桌面画中画实现画面无缝切换?丨有问有答

    ,所以只能播放 hls 的流。...在 App 的直播间依然使用腾讯云的播放器播放 flv 的流,同时在 flv 的首帧渲染成功后,再拉起一个 AVPlayer 来播放一路占位的 hls 流(可以静音、全黑、小尺寸画面)。...3)hls 流只要跟 flv 流的比例一致就好了,大小不影响,画中画的尺寸是按比例来的。 这个方案有个问题,即真实直播流 flv 和占位流 hls 这两个流的状态其实是不一致的。...如果 hls 那路流一直不出问题还好,画中画始终依赖 flv 的流状态控制 UI 就好,但是如果 hls 那路流出错导致 AVPlayer 报错就会直接影响到画中画的状态。...如果你确实感兴趣或者有更好的方案,可以在通过本文后的二维码加入我们关键帧的音视频开发圈一起了解和探讨。 - 完 -

    1.8K30

    HarmonyOS 开发实践——基于AVPlayer的视频播放

    1 场景描述示例场景:AVPlayer播放视频ArkTS实现,创建AVPlayer,设置播放资源和窗口,设置播放参数,播放控制(播放/暂停/跳转),重置,销毁资源,播放完成后切换视频。...2 方案描述AVPlayer:功能较完善的音视频播放ArkTS API,集成了流媒体和本地资源解析,媒体资源解封装,视频解码和渲染功能,适用于对媒体资源进行端到端播放的场景,可直接播放mp4、mkv等格式的视频文件...2.1 创建AVPlayer实例调用createAVPlayer()创建AVPlayer实例1.通过url设置网络地址来实现播放,网络视频地址为https://sns-video-bd.xhscdn.com...bitrateDone响应API调用,用于HLS协议流,监听setBitrate()请求完成情况。当使用setBitrate()指定播放比特率后,如果setBitrate操作成功,将上报该事件。...availableBitrates用于HLS协议流,监听HLS资源的可选bitrates,用于setBitrate()。bufferingUpdate用于网络播放,监听网络播放缓冲信息。

    27220

    一文看完 WWDC 2022 音视频相关的更新要点丨音视频工程示例

    Steering 是苹果公司为了提高全球性流媒体服务的可用性而提出的技术方案,它可以根据服务端负载和冗余情况来动态地将客户端引导到不同的服务器。...2)使用 AVKit 和 AVFoundation 如果需要简单的播放 HDR 视频媒体渲染到 EDR,可以使用 AVPlayerViewController 渲染 AVPlayer,也可以使用 AVPlayer...3)视觉智能 新的播放器可以支持像处理其他文本一样获取视频帧中的文字: 获取视频画面中的文字 4)插片广告 新的 iOS 播放器开始支持插片广告了,其中 HLS 流协议对插片广告的支持在前面 HLS...对于每个视频数据输出,可以自定义分辨率、防抖、方向和像素格式。 当我们需要预览采集的视频并进行录制时,我们可以对预览和录制分两路流采用不同的设置。...3)平面锚点(Plane Anchor) ARKit 6 中更新了平面锚点的行为,可以清晰地分离平面锚点和底层几何平面。

    2.6K10

    HLS 协议:直播回放首选这个协议?丨音视频基础

    对于 HLS 直播,相对于常见的流媒体直播协议,例如 RTMP 协议、RTSP 协议等,HLS 最大的不同在于直播客户端获取到的并不是一个完整的数据流,而是连续的、短时长的媒体文件(如 MPEG-TS...HLS 作为苹果公司提出的协议,在 iOS 客户端上得到了很好的支持,比如 AVPlayer 和 Safari 都支持对 HLS 流媒体的播放;再加上 M3U8/TS 封装格式可以在直播中持续处理和存储流媒体数据...HLS 协议的整体框架如下图所示: HLS 协议涉及到 3 个部分: 1)服务端组件 服务端组件主要的职责是处理上传链路的媒体流,并对齐进行编码和格式封装,为资源分发做好准备。...2)分发组件 分发组件一般是一组 Web 服务器,主要负责接受客户端的请求并将媒体数据和相关的资源分发给客户端去消费。一般需要通过 CDN 网络来进行资源分发。...在典型的 HLS 协议实现中,一般是采集音频和视频输入,将它们编码为 H.264 和 AAC 格式,最终经过服务端组件处理成 MPEG-2 的传输流。

    1.5K20

    Apple 低延迟HLS分析

    不过从我的测试来看,iOS13 beta版里带的AVPlayer实现并没有完整实现低延迟HLS,确实只是个“参考”。...之后又按照苹果的要求自己写了一个基于AVPlayer的demo app,配置好了必要的provision profile和entitlements,但结果也是一样。...否则按照CDN的缺省行为,不存在的内容直接转去请求源站的话,源站会迅速被打垮。...AVPlayer的实现发现服务端对低延迟HLS支持不好的话,会自动切换回标准的HLS,让视频继续正常播放,所以测试低延迟HLS的时候只看视频是否能播放还不行,要抓包分析,确认低延迟HLS机制正常工作。...(EXT-X-DISCONTINUITY)标记,Periscope的方案是直接让播放器忽略不连续标记,仅根据时间戳和ES流中的SPS来控制播放行为,不过理论上直播流也不太可能出现这个标记。

    4.4K63

    直播协议的选择:RTMP vs. HLS

    这里不多说,就主要结合 iOS 平台,从观看端出发,介绍一下对直播协议的选择。 通常在 iOS 平台做直播业务,会有两种协议可供选择:HLS 和 RMTP。...HLS,是苹果公司实现的基于 HTTP 的流媒体传输协议,全称 HTTP Live Streaming,可支持流媒体的直播和点播,主要应用在 iOS 系统,为 iOS 设备(如 iPhone、iPad)...RTMP 是一种设计用来进行实时数据通信的网络协议,主要用来在 Flash/AIR 平台和支持RTMP协议的流媒体/交互服务器之间进行音视频和数据通信。...HLS 的基本原理就是当采集推流端将视频流推送到流媒体服务器时,服务器将收到的流信息每缓存一段时间就封包成一个新的 ts 文件,同时服务器会建立一个 m3u8 的索引文件来维护最新几个 ts 片段的索引...HLS 是苹果推出的流媒体协议,在 iOS 平台上可以获得天然的支持,采用系统提供的 AVPlayer 就能直接播放,不用自己开发播放器。

    4K41

    音视频多码率自适应:能屈能伸的流媒体

    在媒体业务形态、网络基建、终端技术等多方面因素的共同作用下,视频类业务的流量和分布也在出现明显变化,比如2020年6月快手推出全景视频,2021年8月抖音宣布支持2K视频播放,2021年12月B站上线8K...与此同时,用户的交互行为也在潜移默化中受到影响,耐心在视频业务中似乎越发少见,我国9.44亿网络视听用户里39.4%的用户选择加速观看,8.7%的用户会边拉动进度条边看,即点即开与视频刷新需要控制在400ms...而数据万象则能通过数据工作流提供的自适应多码流帮您在如此繁杂的工作流程中大幅简化应付网络不良状况的工作,针对对象存储COS上的文件能够提供快速处理的能力。...网络环境理想的情况下,控制时延相对来说并没有什么意外因素,而在抖动的环境下,不同的用户网络间,单一的视频质量(码率、分辨率)或固定的档位下发策略难以适应不同的网络需求,数据万象自适应码流支持目前最为广泛的流媒体网络传输协议为...HLS和MPEG-DASH,根据您的设备和应用,可以灵活选择协议,避免因流媒体协议不匹配带来的格式转换与框架改动工作,让您轻松应对变动的互联网接收条件,帮助您有效提升客户粘性,轻松为客户带来低延迟、平滑

    1.1K20

    如何快速搭建完整的视频直播系统?| 码云周刊第 69 期

    项目简介:ckplayer (超酷网页视频播放器),支持 http 协议下的 flv,f4v,mp4,支持 rtmp 视频流和 rtmp 视频回放,支持 m3u8 格式,是你做视频直播,视频点播的理想播放器...项目简介:HTML5 播放器、M3U8 直播和点播、RTMP 直播、低延迟、推流/播流地址鉴权、优化浏览器兼容性,HLS+扩展。...项目地址:Tinywan/html5-dash-hls-rtmp 3、项目名称:yjPlay ?...项目简介:SGPlayer 是一款基于 AVPlayer、FFmpeg 的媒体资源播放器框架。...支持双眼模式,具有畸变校正、色散校正。 支持 iOS、macOS、tvOS。 支持 RTMP、RTSP 等直播流。 支持选择音频轨道。 支持控制音频输出音量。 支持无损视频截图。

    2.4K20

    视频直播| 搭建一个本地nginx服务器以及实现推流和拉流

    几个名词的解释 CDN: CDN全称:Content Delivery Network或Content Ddistribute Network, 即内容分发网络基本思路:尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节...通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络, CDN系统能够实时地根据网络流量和各节点的连接、 负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上...尤其值得一提的是,H.264在具有高压缩比的同时还拥有高质量流畅的图像, 正因为如此,经过H.264压缩的视频数据,在网络传输过程中所需要的带宽更少,也更加经济。...(注:手机需要和电脑连接同一网络!) ? B:通过手机观看手机的推流(这也就是市面上的那些直播App的最终实现形式了) 通过集成 ijkplayer 把地址换成推流的地址即可观看。...PS:一个很隐蔽的报错: 如果你发现你的推流地址和拉流地址在电脑上都是好好的,但是通过手机实现的时候就是报错,那么估计就是因为Mac防火墙的问题。

    14.6K42

    直播APP开发的注意事项

    协议选择:直播通常使用RTMP、HLS、WebRTC等协议,需根据场景选择适合的协议(如RTMP适合低延迟,HLS适合高兼容性)。...2.性能优化低延迟优化:通过优化编解码、网络传输和CDN分发,降低直播延迟,确保实时性。流畅性保障:在网络波动时,通过自适应码率、丢帧策略等保证视频流畅播放。...防盗链:使用Token鉴权、HLS加密等技术,防止视频流被非法盗用。用户隐私:确保用户数据(如个人信息、支付信息)的安全性,遵守相关法律法规(如GDPR、CCPA)。...反作弊:防止刷量、刷礼物等作弊行为,维护平台公平性。5.网络与CDNCDN加速:使用CDN分发直播流,确保全球用户都能流畅观看。...7.法律与合规内容合规:确保直播内容符合当地法律法规,避免传播违法或不良信息。版权保护:防止未经授权的内容传播,保护主播和平台的版权。实名认证:根据要求实现用户实名认证,确保平台合规运营。

    12810

    69 篇文章带你系统性的学习音视频开发(收藏起来假期看)

    这篇文章从时域冗余、频域冗余、听觉冗余等方面介绍了音频压缩的原理。同时也介绍了 PCM 编码流程,并重点探讨了目前广泛流行的 AAC 编码的工具集、编码流程、编码规格以及对应的数据格式。...视频编码主要是建立在空间冗余、时间冗余、编码冗余、视觉冗余的基础上进行的。本文主要介绍了 H.264(AVC)编码的基本概念、分层结构、编码工具及码流结构。...---- 《HLS 协议》概要 17)《HLS 协议:直播回放常用协议》 HLS 作为苹果公司提出的协议,在 iOS 客户端上得到了很好的支持,比如 AVPlayer 和 Safari 都支持对 HLS...HLS 协议的实现是和 M3U8 文件的定义密切相关的,这部分的知识在《M3U8 格式》中已经做了详细介绍。本文则简单介绍一下 HLS 协议的整体框架。...2、音视频工具 这个章节的几篇文章介绍了常用的音视频工具,这些工具对于我们进行音视频数据分析、网络数据抓包、竞品分析等工作会有很大的帮助。借助这些工具往往可以让我们在工作中事半功倍。

    3.2K45

    AVKit框架详细解析(四) —— 基于AVKit 和 AVFoundation框架的视频流App的构建

    开始 首先看下主要内容: 了解如何使用 AVKit 和 AVFoundation 框架构建视频流应用。内容来自翻译。...是的,你可能可以做一些基本的网络。 甚至可能会引入一些 JSON 并将一个像样的table view与包含文本和图像的单元格放在一起。...2) 在这里,您获取 url 并创建一个 AVPlayer 对象。 AVPlayer 是在 iOS 上播放视频的核心。 播放器对象可以启动和停止您的视频,更改其播放速率,甚至可以调高和调低音量。...唯一的区别是第二个 URL表示 HTTP live stream (HLS)。 HLS 的工作原理是将视频分成 10 秒的块。 这些然后一次一个块地提供给客户端。...当谈到“跟踪”播放器的信息时,唯一的途径就是使用键值观察(KVO)。 是的,这是 Apple 提出的最奇怪的 API 之一。 如果你小心,它是一种实时观察和响应状态变化的强大方法。

    7K10

    HLS与RTL语言使用情况调查

    平均而言,与HLS一起工作的人在所有类别中花费的时间更少。RTL流的最大,平均和最小时间使用总计分别为37.7、15.1和3.7 h,而HLS流的相同值为25.0、10.1和1.6 h。 ?...D.测试人员的反馈 完成测试任务后,向参与者询问HLS和RTL设计流程的优缺点,最后他们必须从中选择自己喜欢的。答案在HLS和RTL流之间平均分配(3–3)。...HLS的验证方面在最近的一篇论文中进行了广泛的讨论[72]。作者指出,逻辑冗余会降低测试覆盖率,这是HLS的主要问题。逻辑冗余可能出现在源规范中,但也可能在RTL生成中由HLS工具引入。...因此,HLS工具的开发人员应努力消除产生逻辑冗余的趋势。除此之外,在验证过程中可以使用正式的工具来识别冗余。本文还提倡使用源掉毛作为改善HLS的一种方法。...另一方面,已经注意到,由于可以广泛验证行为源代码,并且HLS工具确保所生成的RTL是正确的,因此ECO在HLS流中并不常见[66]。

    2.5K40

    优化延迟的最佳视频传输方案(二)

    冗余问题 最终的用户体验通常受到工作流中最薄弱环节的限制,比如说对于冗余和盈利方面的考虑, CDN用户应评估冗余功能和可用选项,以达到合理的折衷。...例如,如果广告插入时间过长或产生错误,CDN应通过插入静态广告或将未修饰的清单返回给观众来确保流的连续性。所以CDN提供商应该要具有越来越强大的能力来处理一系列的问题。...有些情况下,即使本机支持HLS流格式,播放也可能会有停顿,崩溃或渲染不良的情况。 媒体播放器的新基准 这些复杂性可以通过使用先进但轻巧的媒体播放器来解决,无论何种情况都可以支持高质量的播放。...这些播放器必须能够处理设备兼容性、操作系统和协议不兼容、以及缓解启动失败、播放故障和其他意外行为。...换句话说,播放器必须能够执行以下操作: 根据设备及其软件支持的编解码器,容器和流协议确定正确的播放技术 根据屏幕分辨率,网络速度和设备功能等因素选择合适的流 根据可用性,支持使用基于UDP和TCP传输的流

    1.3K20

    优化延迟的最佳视频传输方案(一)

    这需要在第一英里的传输阶段满足具有完全备份冗余功能的卫星和传统光纤传输的性能参数, 并且具有快速识别和解决问题的能力。 ? 图1....TCP历来确保IP数据包到达其目的地并在客户端呈现时能够正确排序,从而具有高可靠性,但如果数据包流中断,随着更高比特率的增加会导致高延迟。视频信号通过互联网传输的距离越长,中断和重新缓冲事件就越多。...必须呈现和同步所有这些元素,以确保在客户端设备上进行精确,流畅的播放。通常使用具有HLS和DASH的fMP4容器以及最大化CDN效率的最佳方案是利用新兴的通用媒体文件格式(CMAF)。...这有助于降低内容准备和存储成本,同时通过提高缓存命中率提供更好的CDN效率。 在播放实时流的情况下,最佳方案是使用DASH或HLS,fMP4容器和CMAF。...CMAF还具有用于实时流的可选分块编码模式,当与通过origin和CDN的分块传输支持相结合时,可以将端到端延迟减少到几秒,并且还允许延迟与切片持续时间分离。

    2.6K30

    鸿蒙开发实战案例:视频悬浮窗

    初始化视频播放控制器 url string传入在线视频资源 实现思路本例涉及的关键特性和实现方案如下:使用媒体的...= url; // 播放hls网络直播码流}使用PiPWindow开启悬浮窗从而实现小窗口播放视频。...PipManager.getInstance().player.init(this.url); })使用@Watch监听AVPlayer的发生变化时,会触发onPlayingChange的回调方法...组件中需要手动控制视频的播放与暂停,因为视频的播放状态是需要根据视频加载进度和手动控制来改变的,所以可以使用@Watch进行监听。...『点赞和评论』,才是我创造的动力;关注小编,同时可以期待后续文章ing,不定期分享原创知识;想要获取更多完整鸿蒙最新学习知识点,可关注B站:码牛课堂;

    7610

    制作一个OpenHarmony视频播放器

    媒体子系统提供以下常用功能:音视频播放(AVPlayer9+),AudioPlayer6+ 和 VideoPlayer8+ 整合,升级了状态机和错误码,推荐使用音视频录制(AVRecorder9+),AudioRecorder6...+),AVRecorder9+ 发布后停止维护,请使用 AVRecorder9+从 3.2 开始 OpenHarmony 推出了 AVPlayer 和 AVRecorder 接口,之前的 VideoPlayer...storage/el2/base/haps/entry/files" // pathDir在FA模型和Stage模型的获取方式不同,请参考开发步骤首行的说明,根据实际情况自行获取。...// path路径的码流可通过"hdc file send D:\xxx\H264_AAC.mp4 /data/app/el2/100/base/ohos.acts.multimedia.media.avplayer...『点赞和评论』,才是我创造的动力;关注小编,同时可以期待后续文章ing,不定期分享原创知识;想要获取更多完整鸿蒙最新学习知识点,可关注B站:码牛课堂;

    16420

    低广播延迟及实现协议

    在最小延迟方面,这些协议已经超过了HTTP上的自适应广播,同时保持了可靠的传递,具有低冗余并支持加密(SRT中的AES和WebRTC中的DTLS /SRTP)。...对于UDP,具有冗余功能(带有额外的测试流量或开销)的前向纠错技术可以很好地完成工作。同时,对网络吞吐率的要求不可避免地会增加,因此,延迟和冗余级别也会随之增加,具体取决于丢失数据包的预期百分比。...它具有支持TLS / SSL加密甚至基于UDP的变体的多种变体,即RTFMP(实时媒体流协议,用于点对点连接)。RTMP将流分割成可以动态更改大小的片段。...HLS具有出色的可扩展性,加密和自适应比特率支持跨平台功能,并且向后兼容,因此在开放网络中的广播中得到了广泛的使用,这在播放器不支持LL HLS时非常有用。...该协议具有内部复用机制,该机制允许使用一个UDP端口将一个会话的多个流复用到一个连接中。SRT还适用于快速文件传输,这是UDT中首次引入的。 SRT具有网络拥塞控制机制。

    1.6K50
    领券