iOS 无法播放某些视频 - CoreMediaErrorDomain Code=-12939
iOS Not playing some Videos - CoreMediaErrorDomain Code=-12939
我正在使用 CTVideoView 在 iOS 的 UITableView 中播放视频。最近这一切正常,但由于某种原因,似乎有些东西误入歧途了。
大约 10% 的视频将在 table 中播放,但许多视频根本无法播放。当 iOS 尝试下载视频时会发生错误,如下面的错误消息所示。由于某种原因,iOS 10 和 11 中的错误消息不同,但代码相同。
根据 iOS 10 的消息,人们会认为网络不可用,但如果我将我的 safari/chrome 浏览器指向同一台 iOS 设备,它就可以正常播放视频.
至于 iOS 11 消息,我什至不知道从哪里开始,因为这是我第一次看到这条消息。
如能提供任何帮助,我们将不胜感激。
iOS 10 条错误信息
FAILED TO PREPARE VIDEO WITH ERROR: Error Domain=NSURLErrorDomain
Code=-1 "unknown error" UserInfo={NSLocalizedDescription=unknown
error,
NSErrorFailingURLStringKey=URLOBSCUREDFORPRIVACY,
NSErrorFailingURLKey=URLOBSCUREDFORPRIVACY,
NSURL=URLOBSCUREDFORPRIVACY,
NSUnderlyingError=0x17044bd00 {Error Domain=CoreMediaErrorDomain
Code=-12939 "CFNetwork error unavailable"
UserInfo={NSDescription=CFNetwork error unavailable,
NSURL=URLOBSCUREDFORPRIVACY}}}
iOS 11 条错误信息
FAILED TO PREPARE VIDEO WITH ERROR: Error Domain=NSURLErrorDomain
Code=-1 "unknown error" UserInfo={NSUnderlyingError=0x1c08483d0 {Error
Domain=CoreMediaErrorDomain Code=-12939 "content range mismatch -
should be start 0 length 1247166 is start 0 length 1048575"
UserInfo={NSDescription=content range mismatch - should be start 0
length 1247166 is start 0 length 1048575,
NSURL=URLOBSCUREDFORPRIVACY}},
NSErrorFailingURLStringKey=URLOBSCUREDFORPRIVACY,
NSErrorFailingURLKey=URLOBSCUREDFORPRIVACY,
NSURL=URLOBSCUREDFORPRIVACY,
NSLocalizedDescription=unknown error}
更新(可能的线索)
因此,经过一些测试后,我将范围缩小到长度大于或等于 10 秒的视频。在所有其他情况下,视频都会播放。
我已经解决了这个问题。问题出在 ParseServer 上,事实上它无法将视频流式传输到 iOS,因为它不是开箱即用的 byte-range headers 配置。
解决方案是将 GridStoreAdapter 实施到服务器中,然后从那里将文件存储迁移到 S3 或 GCS(取决于您的偏好)。这将需要与您的服务的相应适配器一起完成。
完成后,应用程序再次开始正常运行。
我正在使用 CTVideoView 在 iOS 的 UITableView 中播放视频。最近这一切正常,但由于某种原因,似乎有些东西误入歧途了。
大约 10% 的视频将在 table 中播放,但许多视频根本无法播放。当 iOS 尝试下载视频时会发生错误,如下面的错误消息所示。由于某种原因,iOS 10 和 11 中的错误消息不同,但代码相同。
根据 iOS 10 的消息,人们会认为网络不可用,但如果我将我的 safari/chrome 浏览器指向同一台 iOS 设备,它就可以正常播放视频.
至于 iOS 11 消息,我什至不知道从哪里开始,因为这是我第一次看到这条消息。
如能提供任何帮助,我们将不胜感激。
iOS 10 条错误信息
FAILED TO PREPARE VIDEO WITH ERROR: Error Domain=NSURLErrorDomain Code=-1 "unknown error" UserInfo={NSLocalizedDescription=unknown error, NSErrorFailingURLStringKey=URLOBSCUREDFORPRIVACY, NSErrorFailingURLKey=URLOBSCUREDFORPRIVACY, NSURL=URLOBSCUREDFORPRIVACY, NSUnderlyingError=0x17044bd00 {Error Domain=CoreMediaErrorDomain Code=-12939 "CFNetwork error unavailable" UserInfo={NSDescription=CFNetwork error unavailable, NSURL=URLOBSCUREDFORPRIVACY}}}
iOS 11 条错误信息
FAILED TO PREPARE VIDEO WITH ERROR: Error Domain=NSURLErrorDomain Code=-1 "unknown error" UserInfo={NSUnderlyingError=0x1c08483d0 {Error Domain=CoreMediaErrorDomain Code=-12939 "content range mismatch - should be start 0 length 1247166 is start 0 length 1048575" UserInfo={NSDescription=content range mismatch - should be start 0 length 1247166 is start 0 length 1048575, NSURL=URLOBSCUREDFORPRIVACY}}, NSErrorFailingURLStringKey=URLOBSCUREDFORPRIVACY, NSErrorFailingURLKey=URLOBSCUREDFORPRIVACY, NSURL=URLOBSCUREDFORPRIVACY, NSLocalizedDescription=unknown error}
更新(可能的线索)
因此,经过一些测试后,我将范围缩小到长度大于或等于 10 秒的视频。在所有其他情况下,视频都会播放。
我已经解决了这个问题。问题出在 ParseServer 上,事实上它无法将视频流式传输到 iOS,因为它不是开箱即用的 byte-range headers 配置。
解决方案是将 GridStoreAdapter 实施到服务器中,然后从那里将文件存储迁移到 S3 或 GCS(取决于您的偏好)。这将需要与您的服务的相应适配器一起完成。
完成后,应用程序再次开始正常运行。