Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在浏览器中查看S3 bucket视频文件_Python_Amazon Web Services_Amazon S3 - Fatal编程技术网

Python 如何在浏览器中查看S3 bucket视频文件

Python 如何在浏览器中查看S3 bucket视频文件,python,amazon-web-services,amazon-s3,Python,Amazon Web Services,Amazon S3,在我当前的项目中,我的目标是从AWS S3 bucket访问视频文件(在mp4)。 我已经创建了S3 bucket,名为videostreambucketpankesh。这是一个具有以下权限的公用文件夹(如下所示) videostreambucketpankeshbucket的访问控制列表(ACL)如下: videostreambucketpankeshbucket的bucket策略如下: 现在,bucket“videostreambucketpankesh”包含许多子文件夹(或子buck

在我当前的项目中,我的目标是从AWS S3 bucket访问视频文件(在
mp4
)。 我已经创建了S3 bucket,名为
videostreambucketpankesh
。这是一个具有以下权限的公用文件夹(如下所示)

videostreambucketpankesh
bucket的访问控制列表(ACL)如下:

videostreambucketpankesh
bucket的bucket策略如下:

现在,bucket“
videostreambucketpankesh
”包含许多子文件夹(或子bucket),包括一个子文件夹,名为“
video
”。此子bucket包含一些
.mp4
文件(如下图所示)

我的问题是,当我单击其
对象URL
时,浏览器可以直接访问一些文件(如
firetruck.mp4
救护车.mp4
)。我可以在浏览器中播放它们

但是,当我单击浏览器的objectURL时,我无法将其他
.mp4
39cf9079-7b65-4aa8-8913-8a6b924021d3.mp4、45fd1749-95aa-488c-ac2f-be8673b8416e.mp4、8ba187f2-5148-49f6-9acc-2459e41f547b.mp4)文件播放到浏览器中

请注意,我上传了
39cf9079-7b65-4aa8-8913-8a6b924021d3.mp4、45fd1749-95aa-488c-ac2f-be8673b8416e.mp4、8ba187f2-5148-49f6-9acc-2459e41f547b.mp4
视频文件,使用python中的编程方式(请参阅以下代码)


但是,我无法在我的Google chrome浏览器中播放mp4文件(我在VLC player中播放它们)。你能建议我如何解决这个问题吗?选择文件并查看属性/元数据

它应该显示
内容类型:video/mp4
如下:

通过浏览器上载时,元数据将根据文件类型自动设置

如果您是通过自己的代码上传的,您可以如下设置元数据:

s3_client.upload_文件('video.mp4',bucketname,key,ExtraArgs={'ContentType':“video/mp4”})
或
bucket.put_对象(key,Body=data,ContentType='video/mp4')

看:

非常感谢你,约翰!根据您的建议,我已将Python文件修改为“内容类型”:video/mp4。我可以看到视频文件属性“Content-Type”:“video/mp4”现在已更改。然而,我仍然无法将我的mp4文件播放到Google Chrome浏览器中。请建议!!!再次感谢您的帮助!!!!查看工作文件上的元数据,并将其与不工作的文件进行比较。看看你是否能找到不同。另外,下载这些文件并尝试在您的计算机上播放,以确认这些文件包含正确的视频数据。非常感谢John的帮助!现在已经修好了。
def upload_to_s3(local_file, bucket, s3_file):
    data = open(local_file, 'rb')
    s3_client.put_object(Key="video/"+frame_id+".mp4", Body=data, ContentType='video/mp4', Bucket = s3_bucket)
    print("Upload succcessful")