视频无法在 iOS 设备上播放

Posted

技术标签:

【中文标题】视频无法在 iOS 设备上播放【英文标题】:Video not playing on iOS devices 【发布时间】:2015-04-23 09:51:05 【问题描述】:

我创建了一个 Web 服务来列出用户的所有视频,我使用 Django 和 Django Rest Framework 来创建 Web 服务。视频的网址是这样的:

http://example.com/media/2015/04/uploadedFile_e0pmVxB.mov.

以下是来自网络服务的响应:


    "status": 1,
    "message": "successful",
    "result": [
        
            "user_id": 17,
            "receiver_id": 27,
            "video": "/media/2015/04/uploadedFile_e0pmVxB.mov",
            "thumbnail": "/media/thumbnails/844702.jpeg",
            "timestamp": "2015-04-23 09:02:27"
        
    ]

此视频 URL 在 android 设备、浏览器中有效,但在 ios 设备中无效。我尝试在 iOS 中使用不同的播放器,使用不同的视频编解码器,但仍然无法正常工作。这里缺少什么,我需要在 Web 服务中做些什么吗?

感谢任何帮助...

【问题讨论】:

【参考方案1】:

问题是 apache 服务器不提供媒体文件。请尝试更改您的配置。

参考:Exception happened during processing of request from IOS Device

【讨论】:

【参考方案2】:

Django 不能直接流式传输视频文件,iOS 需要这样才能播放它们。您需要确保您的代理服务器 (nginx/Apache) 正在处理媒体目录。

iOS 将发送一个Range 标头,因此只请求文件的一部分。因为 Django 会忽略这一点,它通常不会允许播放视频。

【讨论】:

我没有得到你试图解释的内容,这个视频适用于从同一个媒体文件夹访问的安卓设备(所以 apache 应该处理 meida 目录)。那么我应该怎么做才能让它工作。请解释一下。 如果您不使用 Apache 提供媒体文件夹,则此答案适用。你没有提到你是否是,但我想这个答案并不特别适用于你。但它确实适用于其他人,因为这是一个常见问题。【参考方案3】:

尝试使用 H.264 编解码器将您的视频转换为 mp4。

【讨论】:

您的视频文件现在是 .mov,因此请尝试使用 H.264 编解码器将其转换为 .mp4 @JoeR .mov 可以是 H.264 编码的视频,这是 iPad 默认采用的。 .mov.mp4 只需指定使用的容器即可。

以上是关于视频无法在 iOS 设备上播放的主要内容,如果未能解决你的问题,请参考以下文章

YouTube iOS SDK:正确的 GTLQueryYouTube 参数以过滤出无法在移动设备上播放的视频?

YouTube iOS SDK:正确的 GTLQueryYouTube 参数以过滤出无法在移动设备上播放的视频?

iOS 9 无法播放下载到设备的音频/视频文件

我无法在某些 ios 设备(ipad 和 iphone)上播放 HTML5 视频

使用 admob 展示广告后,无法在 iOS 设备上的 ionic 应用程序的 iframe 内播放嵌入的 youtube 视频

在 android 设备上捕获视频并在 iOS 设备上播放