我正在尝试一些服务器管理员和Web开发人员的麻烦,因为我是一个C / C开发...

我想要做的是通过访问像http://www.mywebsite.com/username/video_001.mp4这样的链接来查看一些视频我在OVH的VPS Cloud 上运行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,三星浏览器)上的所有东西 works fine . 但是在iDevices上,浏览器的播放器启动视频,但在视频的持续时间内显示黑色图像(尝试使用Safari,Chrome和Firefox的iPhone和iPad,以及iMac,Safari和Chrome无效,但我可以下载视频并使用VLC而非QuickTime查看 .

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

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

我以为我会将.mp4文件转换为.ogv和.webm,将所有内容放在一个目录中,并创建一个小的html页面,列出目录内容,隐藏不兼容的文件 . 就像我检测到HTTP_AGENT /浏览器一样,我在我的网页上添加了类似内容(例如:对于Android,我的页面将作为"Index Of",仅在iDevices上显示.mp4文件/其他内容) . 但似乎不太可靠......

编辑:我发现使用 openRTSP 录制的iDevices和Windows Microsoft Edge can't read MP4视频(1920x1072,5fps,1Mb / s)内的原生视频播放器 . 但是,如果我使用 FFMPEG 转换文件,它是 readable .

也许我对openRTSP的选项做错了,但是我想继续使用它而不是FFMPEG(我们改用它来解决大量的人工制品) .

随意请求补充!