javascript - Amazon S3 视频无法以 HTML 格式运行

标签 javascript html video amazon-s3

我在访问 AmazonS3 上的视频时遇到问题。

我从类似的服务器获取链接

https://myabc.s3.amazonaws.com/myvideo.mp4?Expires=1730335925&AWSAccessKeyId=ACDG57GDUYHLP7LYQ46Q&Signature=%2FkR9QTXf6bdHdHA%2ByTHwXdfDfo%3D .

现在我想通过使用 html 视频在网站上显示此内容,但我得到的只是一个错误。 当我在 Chrome 中输入网址时,它会执行某些操作,然后下载视频,以便文件存在。

如何在视频标签中显示该视频?或者有没有可能在javascript中做到这一点?

最佳答案

我建议将 ACL 设置为公共(public),并将所有非 HTML5 格式转换为 mp4,因为 mp4 拥有最多的浏览器支持。

如果您没有桌面 S3 实用程序,您可能想尝试免费的 Cloudberry Explorer。

将您的 ACL 设置更改为公开,无需访问 key 即可访问该文件。

确保内容类型为视频/mp4

如果没有 mp4 的实际链接,我无法查明问题所在。

如果您遇到与提供的示例链接相同的错误,您需要生成新的访问 key 。

如果 ACL 不是公开的,并且客户端将为您生成一组访问 key ,则无能为力。

我可以通过您提供的链接下载该视频。

它是一个 AVI 文件而不是 mp4,因此它无法在 HTML5 中工作 <video> .

这是没有访问 key 的错误。

<Error>
<Code>AccessDenied</Code>
<Message>Access Denied</Message>
<RequestId>63085EEB23066C91</RequestId>
<HostId>1bPb9fYkki/LnQIVRVpHfKiSEUGbfX3blBfHLQbwzjZYSzzD8hGBQFp0l9WE=
</HostId>
</Error>

如果您熟悉 PHP,这里有一个简单的 S3 API。

Services_Amazon_S3

require_once 'Services/Amazon/S3.php';
require_once 'Services/Amazon/S3/Stream.php';
$key    = 'ASJMGERQERMGADMA';
$secret = 'hA9/wrWUMX7A0UADLNGBQEUIROH2cPjx+C';
$s3     = Services_Amazon_S3::getAccount($key, $secret);
$stream = Services_Amazon_S3_Stream::register('s3',array('access_key_id'=> $key,'secret_access_key' => $secret));
foreach ($s3->getBuckets() as $bucket){
    $name = $bucket->name ;
    $path = "s3://$name/";
}
$cnt = 0;
$ndx = 0;
$bucket = $s3->getBucket($name);
foreach ($bucket->getObjects() as $object){
    $key = $object->key;
    $url = urldecode($object->getURL());
    echo "<p>$key => $url";   
}

关于javascript - Amazon S3 视频无法以 HTML 格式运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28286675/

相关文章:

javascript - 类型错误 'undefined' 不是对象(评估 'navigator.connection.type' )

html - 需要有关查找 div 内容的好方法的建议

html - 视频背景仅播放1个视频

javascript - HTML 视频没有图像,只有声音

jquery - Youtube Player Iframe,在 Firefox 上没有视频的声音

javascript - firebase.auth.signInWithCustomToken 不是函数node.js

javascript - 如何在鼠标悬停时创建跨度内容?

javascript - 如何将数组中的所有 onNext 值放在一起?

html - 具有流动内容的容器内的固定侧边栏

html - ipad 上带有 div 的复选框标签不可点击