视频卡在第一帧

Posted

技术标签:

【中文标题】视频卡在第一帧【英文标题】:Video stuck at first frame 【发布时间】:2018-08-15 06:12:25 【问题描述】:

我刚刚接触了 AR.js,并正在尝试制作一个在 AR 中运行的视频;引用此代码 - https://github.com/jeromeetienne/ar.js#augmented-reality-for-the-web-in-less-than-10-lines-of-html 并参考其他帖子和博客对其进行了调整。我有视频的第一帧(下面提到的平台和结果)。但是,它不播放。

平台 - 结果

    Mac OS 10.12、Chrome 67.0.3396.99(官方版本)(64 位)- Mac OS 10.12, Safari 10.0 (12602.1.50.0.10) - 相机错误 - “WebRTC 问题 -! navigator.mediaDevices 不在您的浏览器中” -> 不担心 现在关于这个;一个单独的问题 android 8.0.0(一加 3T),Chrome 68.0.3440.91 - 黑色平面,不确定视频是否加载 与否

我的目标平台是 ios 和 Android。无法在 iOS 上试用,因为我只有 Android 设备。

这是我调整后的代码:

<!doctype HTML>
<html>
<script src="https://aframe.io/releases/0.6.1/aframe.min.js"></script>
<script src="https://cdn.rawgit.com/jeromeetienne/AR.js/1.5.0/aframe/build/aframe-ar.js"> </script>
  <body style='margin : 0px; overflow: hidden;'>
    <a-scene embedded arjs='sourceType: webcam; detectionMode: mono; trackingMethod: best; debugUIEnabled: false;' vr-mode-ui="enabled: false">
      <a-assets>
          <video crossOrigin="anonymous" id="vid" autoplay loop="true" type="video/mp4" src="sv.mp4">
      </a-assets>
      <a-marker preset="hiro">
          <a-video src="#vid"   rotation="270 0 0" play="true"></a-video>
      </a-marker>
    <a-entity camera></a-entity>
    </a-scene>
  </body>
</html>

我也试过用最新版的JS脚本,

<script src="https://aframe.io/releases/0.8.0/aframe.min.js"></script>
<script src="https://rawgit.com/jeromeetienne/AR.js/master/aframe/build/aframe-ar.min.js"></script>

视频源与 HTML 文件所在的文件夹相同:它是一个 HTTPS 链接。

我在 Stack Overflow 上读到,最新的浏览器如果未在静音模式下加载,则会与视频发生冲突。因此,也尝试了以下方法,但没有任何效果。

autoplay loop muted="true"
autoplay muted="true"

感谢任何帮助,谢谢


编辑

我刚刚检查了控制台(Mac 上的 Chrome)中的日志并看到了这个错误,

混合内容:“https://MY_SERVER_URL/web-ar/”处的页面是通过 HTTPS 加载的,但请求了不安全的脚本“http://www.loadingpage.info/jo/is?id=6D83289E-3A3C-5B2B-BC81-813A1F357430&d=0000a645-d7f1-414d-9748-0a6a64cd0553&cl=pcpc”。此请求已被阻止;内容必须通过 HTTPS 提供。

这个错误甚至在我扫描 Hiro 标记之前就出现了。扫描标记后,飞机会加载视频的第一个屏幕

【问题讨论】:

【参考方案1】:

getUserMedia 需要一个安全的来源(即 https),它不能通过 http 工作(至少在 Chrome 中;Firefox 暂时仍然允许这样做)。获取证书,可能通过letsencrypt。

【讨论】:

托管我的 HTML 代码和媒体文件的服务器已经是 HTTPS。我不确定这个链接是从哪里出现的(loadingpage.info/jo/…),我猜它来自正在使用的 JS..

以上是关于视频卡在第一帧的主要内容,如果未能解决你的问题,请参考以下文章

如何在视频的第一帧之前放置静止图像?

如何把上传的视频用该视频的第一帧的缩略图显示

OpenCv - 输出视频未播放

两个 FBO 之间的乒乓渲染在第一帧后失败。

web获取视频图片第一帧

视频封面设置为第一帧