播放 Dash 或 .mpd 视频 react-native(IOS)

Posted

技术标签:

【中文标题】播放 Dash 或 .mpd 视频 react-native(IOS)【英文标题】:Play Dash or .mpd videos react-native(IOS) 【发布时间】:2020-03-06 13:24:19 【问题描述】:

我正在开发一个具有媒体服务器的应用程序,该媒体服务器为我提供不同视频文件的 URL,这些视频采用 dash 格式或 .mpd 格式。我浏览了react-native-video,它在android上有exo-player,它已经得到了dash的支持, 我已经在andriod 上测试了exo-player,它可以工作,但另一方面,它使用AVPlayer 用于ios,它不支持破折号。 我花了一些时间在 IOS 端找到了一些解决方案,它也可以支持 React-Native androidIOS 但没有找到合适的方法,找到了两个解决方案,但对两者都不起作用。

dash.js - https://github.com/Dash-Industry-Forum/dash.js/wiki

Google Shaka 播放器 - https://github.com/google/shaka-player

我正在寻找一些关于 react-native 的快速解决方法,是否有任何可用的播放器可以在两个平台上播放 dash 或任何其他适合我的解决方法。

【问题讨论】:

【参考方案1】:

您可能不会在 iOS 中看到 DASH 播放器受到您预期的那么多关注的一个关键原因是,当前的 Apple iOS 规则要求您在 iOS 设备上使用 HLS 播放超过 10 分钟的任何视频,前提是您的应用可在移动网络上使用几乎总是这样:

2.5.7 蜂窝网络上超过 10 分钟的视频流媒体内容必须使用 HTTP 实时流媒体,并包括基线 192 kbps HTTP 实时流媒体。

(https://developer.apple.com/app-store/review/guidelines/)

这是目前大多数视频流在 HLS 和 DASH 流中都可用的关键原因。

请注意,CMAF 格式承诺最终仅允许您存储和服务器内容的单个副本,方法是有效地使分段的视频流与不同的 HLS 和 DASH“索引”或“清单”文件相同以引用它们。由于过去加密方式的一些差异,以及所有设备和播放器支持新格式和新同意的加密支持所需的时间,实际上几乎所有加密流都将是 HLS 和 DASH一段时间。

(https://developer.apple.com/documentation/http_live_streaming/about_the_common_media_application_format_with_http_live_streaming)

【讨论】:

以上是关于播放 Dash 或 .mpd 视频 react-native(IOS)的主要内容,如果未能解决你的问题,请参考以下文章

如何从 mp4 视频创建 .mpd mpeg dash 文件

如何从 .mpd 播放列表文件下载视频

MPEG-DASH - 破折号无效!错误

使用 ffmpeg 生成单个 MPEG-Dash 片段

FFMPEG 生成的 MPEG Dash 输出不起作用

如何使用 .mpd 文件中的 dash shaka-player 添加多个字幕?