Python因x-amz-security-token令牌cv2而崩溃

时间:2019-05-07 20:01:29

标签: python opencv amazon-s3 video-capture cv2

我正在使用opencv从S3存储桶中的图像/视频创建缩略图。 与其从S3下载图像/视频,不如直接在opencv中使用aws s3预签名的url。

如果我们通过以下跟踪,则没有任何问题
1.来自本地的图像/视频,例如:cv2.VideoCapture(test.mp4)
2.不带x-amz-security-token的预签名网址。
   示例:https://bucket/key?AWSAccessKeyId= {id_value}&Expires = {date_value}&Signature = {signature_value}

但是如果预签名的网址具有x-amz-security-token,Python就会崩溃
   示例:https://bucket/key?AWSAccessKeyId= {id_value}&Expires = {date_value}& x-amz-security-token = {token_value} &Signature = {signature_value}

以下python代码段

import boto3 
import cv2
s3_client = boto3.client('s3')
url = s3_client.generate_presigned_url(
    ClientMethod='get_object',
    Params={'Bucket': bucket, 'Key': key}
    )
cap = cv2.VideoCapture(url)

视频捕获应该可以正常工作,而不会导致python崩溃,但是 Windows中的Python.exe已停止工作并出现错误“问题导致程序无法正常运行。请关闭程序”

相同的代码在Linux中有错误“分段错误(代码已转储)”

0 个答案:

没有答案