javascript - 播放 Dash 或 .mpd 视频 react-native(IOS)
问题描述
我正在开发一个具有媒体服务器的应用程序,该媒体服务器为我提供不同视频文件的 URL,这些视频采用dash
格式或.mpd
格式。我浏览了 react-native-video 并且它已经支持exo-player
,我已经测试过并且它可以工作,但另一方面,它使用它不支持 dash 。我花了一些时间在 IOS 端寻找一些解决方案,它也可以支持 React-Native ,但没有找到合适的方法,找到了两个解决方案,但对两者都不起作用。android
dash
exo-player
andriod
AVPlayer
IOS
android
IOS
dash.js - https://github.com/Dash-Industry-Forum/dash.js/wiki
谷歌沙卡播放器 - https://github.com/google/shaka-player
dash.js
仅支持web
并shaka-player
具有一些可用的嵌入式解决方案IOS
,我必须对其进行桥接,然后才能使用。
我正在寻找一些关于 react-native 的快速解决方法,是否有任何可用的播放器可以dash
在两个平台上播放或任何其他适合我的解决方法。
解决方案
您可能没有看到 iOS 中的 DASH 播放器受到您预期的那么多关注的一个关键原因是,当前的苹果 iOS 规则要求您在 iOS 设备上使用 HLS 播放超过 10 分钟的任何视频,前提是您的应用在移动网络上可用,几乎总是这样:
2.5.7 蜂窝网络上超过 10 分钟的视频流内容必须使用 HTTP Live Streaming 并包括基线 192 kbps HTTP Live 流。
(https://developer.apple.com/app-store/review/guidelines/)
这是目前大多数视频流在 HLS 和 DASH 流中都可用的关键原因。
请注意,CMAF 格式承诺最终允许您通过有效地使分段视频流与不同的 HLS 和 DASH“索引”或“清单”文件相同来引用它们,从而仅存储和服务器内容的单个副本。由于过去加密方式的一些差异,以及所有设备和播放器支持新格式和新同意的加密支持所需的时间,实际上几乎所有加密流都将是 HLS 和 DASH一段时间。
推荐阅读
- mysql - MySQL 是否有办法“合并”为聚合函数?
- c - C中的Typedef / Global结构,不使用“typedef”?
- javascript - 如何在自动完成 ajax 中发送第二个值
- javascript - Firebase Cloud Function Transaction 在 Firestore 上写入会抛出 await 作为错误
- android - 我如何通过任何链接或任何 APP 商店安装我的 PWA 应用程序,而不是从手机浏览器
- ios - 在 Swift 中以编程方式隐藏 TabBarViewController 中的选项卡
- scala - Spark - CSV - Nullable false 不会引发异常
- javascript - 我的网站如何检测浏览器是否使用深色/浅色主题而不是操作系统是否使用主题
- flutter - 当我转到不同的页面时,如何保持计时器的状态?
- java - 如何让顾客继续购物,直到顾客决定停下来?我不知道为什么我的循环不起作用