|
@@ -12,6 +12,7 @@
|
|
|
@Contact: chanjunkai@163.com
|
|
|
"""
|
|
|
import os
|
|
|
+import traceback
|
|
|
from io import BytesIO
|
|
|
|
|
|
import botocore
|
|
@@ -55,6 +56,7 @@ from Ansjer.config import SERVER_DOMAIN_SSL
|
|
|
SERVER_DOMAIN = 'http://test.dvema.com/'
|
|
|
ACCESS_KEY = "AKIA2E67UIMD3CYTIWPA"
|
|
|
SECRET_KEY = "mHl79oiKxEf+89friTtwIcF8FUFIdVksUwySixwQ"
|
|
|
+LOGGER = logging.getLogger('info')
|
|
|
|
|
|
|
|
|
# 测试接口sdk
|
|
@@ -162,31 +164,37 @@ class testView(View):
|
|
|
@classmethod
|
|
|
def generate_video(cls, request_dict, response):
|
|
|
# 设计抽取图片规则通过消息随机还是时间随机,调试copy S3对象查询是否携带失效时间
|
|
|
- DIR = os.path.abspath(os.path.dirname(os.path.dirname(__file__)))
|
|
|
- arr_list = ['1666756086.jpeg', '1666831275.jpeg', '1666841492.jpeg']
|
|
|
- s3 = AmazonS3Util(AWS_ACCESS_KEY_ID[0], AWS_SECRET_ACCESS_KEY[0], 'cn-northwest-1')
|
|
|
- bucket = 'push-cloud-photo'
|
|
|
- for item in arr_list:
|
|
|
- path = DIR + r'\Ansjer\file\{}'.format(item)
|
|
|
- s3_key = 'HA154GVEDH41RY8Y111A/1/{}'.format(item)
|
|
|
- s3.download_object(bucket, s3_key, path)
|
|
|
- video_dir = DIR + r'\Ansjer\file\result.mp4' # 输出视频的保存路径
|
|
|
- fps = 0.5 # 帧率
|
|
|
- img_size = (1920, 1080) # 图片尺寸
|
|
|
- fourcc = cv2.VideoWriter_fourcc(*"mp4v")
|
|
|
- videoWriter = cv2.VideoWriter(video_dir, fourcc, fps, img_size)
|
|
|
- for i in arr_list:
|
|
|
- img_path = DIR + r'\Ansjer\file\{}'.format(i)
|
|
|
- frame = cv2.imread(img_path)
|
|
|
- frame = cv2.resize(frame, img_size) # 生成视频 图片尺寸和设定尺寸相同
|
|
|
- videoWriter.write(frame) # 将图片写进视频里
|
|
|
- os.remove(img_path)
|
|
|
- videoWriter.release() # 释放资源
|
|
|
- data = open(video_dir, 'rb')
|
|
|
- key = 'HA154GVEDH41RY8Y111A/1/20221027.mp4'
|
|
|
- s3.upload_file_obj(bucket, key, data)
|
|
|
- response_url = s3.generate_file_obj_url(bucket, key)
|
|
|
- os.remove(video_dir)
|
|
|
+ try:
|
|
|
+ DIR = os.path.abspath(os.path.dirname(os.path.dirname(__file__)))
|
|
|
+ arr_list = ['1666756086.jpeg', '1666831275.jpeg', '1666841492.jpeg']
|
|
|
+ s3 = AmazonS3Util(AWS_ACCESS_KEY_ID[0], AWS_SECRET_ACCESS_KEY[0], 'cn-northwest-1')
|
|
|
+ bucket = 'push-cloud-photo'
|
|
|
+ for item in arr_list:
|
|
|
+ path = DIR + r'\Ansjer\file\{}'.format(item)
|
|
|
+ s3_key = 'HA154GVEDH41RY8Y111A/1/{}'.format(item)
|
|
|
+ s3.download_object(bucket, s3_key, path)
|
|
|
+ video_dir = DIR + r'\Ansjer\file\result.mp4' # 输出视频的保存路径
|
|
|
+ fps = 0.5 # 帧率
|
|
|
+ img_size = (1920, 1080) # 图片尺寸
|
|
|
+ fourcc = cv2.VideoWriter_fourcc(*"mp4v")
|
|
|
+ videoWriter = cv2.VideoWriter(video_dir, fourcc, fps, img_size)
|
|
|
+ for i in arr_list:
|
|
|
+ img_path = DIR + r'\Ansjer\file\{}'.format(i)
|
|
|
+ frame = cv2.imread(img_path)
|
|
|
+ frame = cv2.resize(frame, img_size) # 生成视频 图片尺寸和设定尺寸相同
|
|
|
+ videoWriter.write(frame) # 将图片写进视频里
|
|
|
+ os.remove(img_path)
|
|
|
+ videoWriter.release() # 释放资源
|
|
|
+ data = open(video_dir, 'rb')
|
|
|
+ key = 'HA154GVEDH41RY8Y111A/1/20221027.mp4'
|
|
|
+ s3.upload_file_obj(bucket, key, data)
|
|
|
+ response_url = s3.generate_file_obj_url(bucket, key)
|
|
|
+ os.remove(video_dir)
|
|
|
+ except Exception as e:
|
|
|
+ print(e)
|
|
|
+ ex = traceback.format_exc()
|
|
|
+ LOGGER.info('--->抽取推送图片异常:{}'.format(ex))
|
|
|
+ return response.json(177, ex)
|
|
|
return response.json(0, response_url)
|
|
|
|
|
|
@classmethod
|