S3 存储桶中的视频不会在页面加载时打开
Posted
技术标签:
【中文标题】S3 存储桶中的视频不会在页面加载时打开【英文标题】:Video in S3 bucket won't open on page load 【发布时间】:2020-12-20 04:06:20 【问题描述】:我在 Amazon S3 存储桶中有一个视频。该视频大小约为 6MB,已公开,并用作我的 React 应用程序主页的背景视频。我已将对象 URL 直接应用于视频 html 元素,但是当 React 应用程序加载时,视频不显示。如果我要转到其他页面并返回主页,视频会显示得很好。
代码:
import React, Component from 'react';
import black from '../../imgs/backgrounds/black.jpg';
class HeaderVideo extends Component
render()
return (
<video poster=black autoPlay=true loop>
<source src="https://beatsbyzero.s3.us-east-2.amazonaws.com/videos/blackwhite1.mp4" type="video/mp4" />
</video>
)
export default HeaderVideo;
关于如何处理这个问题的任何想法?
【问题讨论】:
我无法重现您的问题codesandbox.io/s/s3video-5y9ie?file=/src/components/HeaderVideo/…。它有效。 如果问题还没有解决,请尝试制作自己的沙箱。 您的沙箱和我的 (codesandbox.io/s/video-test-jbouq) 都在加载时显示,但由于某种原因,在我的项目中,它似乎在本地或我的实践环境中不起作用:mdberry721-001-site11.gtempurl.com 你能与项目分享你的 git 仓库吗(包含最小的本地代码被破坏)? 这是我的仓库:github.com/MDBerry/BeatsByZer0_V2/tree/master/BeatsByZer0_V2/…。所有操作都发生在 HeaderVideo 的“组件/元素”、TitleScreen 的“组件/部分”和主页的“组件/页面”中 【参考方案1】:我想我找到了根本原因: https://blog.chromium.org/2017/09/unified-autoplay.html
我为你准备了视频(没有音轨) https://drive.google.com/file/d/1lHGyoq-UHZ0YBHLY0-C_zf9yWkGgU2AZ/view?usp=sharing
您的视频有无声音频:
现在视频没有音频:
请下载视频并替换它,然后运行您的代码。 希望一切都好。
这也很有帮助: Browser denying javascript play()
如何从 mp4 视频文件中删除音轨: https://unix.stackexchange.com/questions/6402/how-to-remove-an-audio-track-from-an-mp4-video-file
【讨论】:
虽然提供的确切步骤并不能完全解决问题,但这是非常重要的知识,帮助我找到了问题。请注意,此答案中提到的音频问题是正确的,但我还必须将“静音”属性添加到修复问题的以上是关于S3 存储桶中的视频不会在页面加载时打开的主要内容,如果未能解决你的问题,请参考以下文章
使用 aws lambda node js 获取存储在 s3 存储桶中的视频的视频元数据