cv2 如何访问 AWS s3 存储桶中的视频
How would cv2 access videos in AWS s3 bucket
我现在可以使用 SageMaker 笔记本了。但这里有一个重要的问题。当我想使用 cv2.VideoCapture 读取 s3 存储桶中的视频时。它说路径不存在。 Whosebug 中的一个答案说 cv2 仅支持本地文件,这意味着我们必须将视频从 s3 存储桶下载到笔记本,但我不想这样做。我想知道你是怎么看视频的?谢谢
我发现一种解决方案是使用 CloudFront,但这会收费吗?速度快吗?
您正在 SageMaker 中使用 Python,因此您可以使用:
import boto3
s3_client = boto3.client('s3')
s3_client.download_file('deepfake2020', 'dfdc_train_part_1/foo.mp4', foo.mp4')
这会将文件从 Amazon S3 下载到本地磁盘中名为 foo.mp4
.
的文件中
参见:download_file()
在 boto3
这需要 SageMaker 实例已被授予访问 Amazon S3 存储桶的权限。
此解决方案也有效。
要使用 AWS SageMaker,
1) 去支持中心要求提高笔记本实例限制。他们通常会在 1 天内回复。
2) 创建笔记本时,将本地磁盘大小更改为 1TB(双倍数据大小)。
3) 打开 Jupyter lab
并在终端
上输入 cd SageMaker
4) 使用CurlWget 获取数据集的下载link。
5) 下载后解压数据
unzip dfdc_train_all.zip
unzip '*.zip'
给你。
我现在可以使用 SageMaker 笔记本了。但这里有一个重要的问题。当我想使用 cv2.VideoCapture 读取 s3 存储桶中的视频时。它说路径不存在。 Whosebug 中的一个答案说 cv2 仅支持本地文件,这意味着我们必须将视频从 s3 存储桶下载到笔记本,但我不想这样做。我想知道你是怎么看视频的?谢谢
我发现一种解决方案是使用 CloudFront,但这会收费吗?速度快吗?
您正在 SageMaker 中使用 Python,因此您可以使用:
import boto3
s3_client = boto3.client('s3')
s3_client.download_file('deepfake2020', 'dfdc_train_part_1/foo.mp4', foo.mp4')
这会将文件从 Amazon S3 下载到本地磁盘中名为 foo.mp4
.
参见:download_file()
在 boto3
这需要 SageMaker 实例已被授予访问 Amazon S3 存储桶的权限。
此解决方案也有效。
要使用 AWS SageMaker,
1) 去支持中心要求提高笔记本实例限制。他们通常会在 1 天内回复。
2) 创建笔记本时,将本地磁盘大小更改为 1TB(双倍数据大小)。
3) 打开 Jupyter lab
并在终端
cd SageMaker
4) 使用CurlWget 获取数据集的下载link。
5) 下载后解压数据
unzip dfdc_train_all.zip
unzip '*.zip'
给你。