ios - Apache2 服务器视频流与移动设备和 PC 的兼容性

标签 ios apache mobile video-streaming apache2.4

由于我是 C/C++ 开发人员,我在尝试一些服务器管理和 Web 开发方面遇到了麻烦...

我想做的是能够通过访问像 http://www.mywebsite.com/username/video_001.mp4 这样的链接来观看一些视频。 我在 OVH 的 VPS 云上运行 Ubuntu 16.04.4 LTS 服务器。 我安装了 apache2 并放置了一个 .htpasswd 文件来限制对特定有效用户的访问。 在我的网站 .conf 文件中,我将一些重定向到我的视频文件夹:

Alias /username/ "/home/path/to/videos/username/"
<Directory "/home/path/to/videos/">
    AuthType Basic
    AuthName "Restricted Content"
    AuthUserFile /etc/apache2/.htpasswd
    Require user username
    Options Indexes
</Directory>

我的视频是 MP4/H.264、1080p/5fps、1Mb/s 比特率格式。

在 Windows Chrome 和 Android(Chrome、三星浏览器)上一切运行良好。 但是在 iDevices 上,浏览器的播放器开始播放视频,但在视频播放期间显示黑色图像(尝试使用 Safari、Chrome 和 Firefox 的 iPhone 和 iPad/在 iMac 上,Safari 和 Chrome 不起作用,但我可以下载视频并使用 VLC 而非 QuickTime 观看)。

我在某处读到,出于兼容性原因,我必须保留原始文件并让设备/浏览器的播放器读取它。这就是为什么我真的不想开发 HTML5 播放器。

但是,如果我想获得最大的兼容性,最好的解决方案是什么?

我想我应该将我的 .mp4 文件转换为 .ogv.webm,将所有内容放在一个目录中,然后制作一个将列出目录内容的小 html 页面,隐藏不兼容的文件。 就像我检测到 HTTP_AGENT/浏览器一样,我会知道我会在我的网页中放置哪个文件(例如:对于 Android,我的页面将作为“索引”,仅显示 .mp4 文件/在 iDevices 上是其他东西)。 但似乎不太可靠......

编辑: 我发现 iDevices 和 Windows Microsoft Edge 中的原生视频播放器无法读取 使用openRTSP 录制的 MP4 视频(1920x1072、5fps、1Mb/s)。但是,如果我使用 FFMPEG 转换文件,它是可读的

也许我在 openRTSP 的选项上做错了什么,但我想继续使用它而不是 FFMPEG(我们从它切换到解决很多人工制品)。

欢迎大家补充!

最佳答案

使用 openRTSP 录制的视频无法在 iDevices 上播放。 看来Live555(openRTSP团队)在其FAQ中已经表明了这一点,并且已经将信息转移到Apple而没有任何消息。

关于ios - Apache2 服务器视频流与移动设备和 PC 的兼容性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52309355/

相关文章:

apache - Vagrant 的端口转发不起作用

regex - RewriteRule 导致速度变慢

javascript - HTML5在手机中的应用

ios - 如何在 Objective-C (iOS) 中的图像上写文字?

linux - 确定 HTTPS apache 连接使用的密码强度

ios - 如何使 UITableView 与大标题 VoiceOver 兼容?

mobile - 发布一个 iOS 应用程序并通过 "generic publisher"支付低于 99 美元/年的费用?

video - 用于移动设备的 ffmpeg 视频编码

android - Microsoft Intune SSO - iOS/Android

ios - 如何将文档文件传递给 UIActivityViewController 即共享表