Python 如何在浏览器中查看S3 bucket视频文件
在我当前的项目中,我的目标是从AWS 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
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")