【问题标题】:Quicktime video not playing on Safari using iPhone or iPad使用 iPhone 或 iPad 无法在 Safari 上播放 Quicktime 视频
【发布时间】:2020-09-30 11:32:23
【问题描述】:

我有一个网站,可以让我的用户加载视频。我有一个简单的文件输入表单。由于用户都是手机或平板电脑用户,因此手机或平板电脑会提示他们(通过浏览器)录制将用作输入的视频。

<input type="file" id="ikid-foto" name="ikid-foto" accept="image/*,video/mp4">

然后我允许他们预览视频:

var fileItem = document.getElementById('ikid-foto');
var files = fileItem.files;
var file = files[0];
var url = URL.createObjectURL(file);
var video = document.getElementsByTagName('video')[0];
video.src = url;
video.load();

然后我使用 jQuery.ajax 将视频文件存储在服务器上。在另一个页面上,我让用户查看他之前在网站中加载的视频,只需将视频的 url 作为源放到 htm 视频 html 标记中即可。

<video width="300" height="225" src="<?php echo wp_get_attachment_url($foto);?>" controls playsinline type="video/mp4"></video>

这通常没有问题。但是有一个例外。

由于用户使用不同的浏览器和设备,我发现一些用户上传文件类型为 video/mp4 文件的视频,而其他用户则上传视频/quicktime 视频。

在某些视频/快速视频的情况下会出现此问题。

如果用户使用的是 iPhone 或 iPad,并且他使用的是 Safari 浏览器,则一旦将视频上传到服务器,他将无法查看这些视频。 因此,如果用户在带有 Safari 的 iPad 上,他可以上传他正在录制的视频。该快速视频将显示在预览中。但是,当他浏览想要播放该视频的页面时,该视频未显示。 如果从不是 iPhone 或 iPad 的设备上查看已上传到服务器的相同 quicktime 视频,则可以毫无问题地查看。此外,如果我尝试从 iPad 或 iPhone 观看 quicktime 视频,但我改用 Chrome,我可以观看视频。

我已阅读其他类似问题的问题,这些问题表明在 html 视频标签中使用 playinline 参数,但没有成功。我尝试了其他选项,但没有任何变化。

我的网站是一个 wordpress 网站。我尝试下载在 iPad 上录制的 quicktime 视频,并直接将其上传到我的网站服务器。然后我尝试从 wordpress 媒体管理面板查看视频,但 Wordpress 没有显示视频。

有什么想法可以让 iPhone 和 iPad 用户录制视频并让他们在存储在我的服务器上后能够看到它们吗?

【问题讨论】:

  • 这里有同样的问题,但它与插件无关。使用 HTML5 输入 type="file" 捕获的任何 Safari iOS 视频都不会在用户自己的浏览器上播放

标签: ios video safari quicktime


【解决方案1】:

发现这是一个导致问题的插件。 Super Progressive Web Apps 插件在使用它的 service worker 的方式上与 Safari 产生了冲突。问题尚未解决。

https://wordpress.org/support/topic/it-will-cause-issue-media-error-formats-not-supported-or-sources/

【讨论】:

    猜你喜欢
    • 2013-01-03
    • 2012-06-07
    • 2012-01-30
    • 2014-12-14
    • 2020-02-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多