45 lines
1.5 KiB
Python
45 lines
1.5 KiB
Python
from flask import request,Flask, jsonify
|
|
from checkobject import get_object_location
|
|
import numpy as np
|
|
import cv2, os, requests, urllib, sys,json, time
|
|
from datetime import datetime
|
|
|
|
app = Flask(__name__)
|
|
def _progress(block_num, block_size, total_size):
|
|
'''回调函数
|
|
@block_num: 已经下载的数据块
|
|
@block_size: 数据块的大小
|
|
@total_size: 远程文件的大小
|
|
'''
|
|
sys.stdout.write('\r>> Downloading %.1f%%' % (float(block_num * block_size) / float(total_size) * 100.0))
|
|
sys.stdout.flush()
|
|
|
|
@app.route('/filtervideo', methods=['POST'])
|
|
def filtervideo():
|
|
#videourls = request.form.get('videoUrls')
|
|
dicdatas = request.get_json()
|
|
results = []
|
|
if not os.path.exists('data/'):
|
|
os.mkdir('data/')
|
|
for dicdata in dicdatas:
|
|
date = datetime.today()
|
|
videourl = dicdata["videoUrls"]
|
|
videoid = dicdata['id']
|
|
videopath = os.sep.join(['data', videoid+'.mp4'])
|
|
barcode = dicdata['barcode']
|
|
for _ in range(15):
|
|
try:
|
|
time.sleep(2)
|
|
urllib.request.urlretrieve(videourl, videopath, _progress)
|
|
break
|
|
except Exception as e:
|
|
continue
|
|
flag = get_object_location(videopath)
|
|
results.append({'id':videoid, 'result':flag})
|
|
os.remove(videopath)
|
|
print('{} >>>>{}'.format((date),(results)))
|
|
return json.dumps(results)
|
|
|
|
if __name__ == '__main__':
|
|
app.run(host='0.0.0.0', port=8085)
|