Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # USAGE
- # python getvideo.py
- # DESCRIPTION
- # This will connect to the specifiec NVR, check for all recordings for the last X minute
- # It will download all videos to the downloads dir make sure its the same as in video_detect.py
- # import the necessary packages
- import requests
- import json
- import time
- import os
- from datetime import datetime
- def getvideo():
- #Basic vars
- base = "https://<ip-of-nvr>:7443/api/2.0/recording/"
- apiKey = "?apiKey=<nvr-apikey>"
- interval = int(1)
- downloadDir = 'downloads/'
- d = datetime.now()
- curUnixtime = time.mktime(d.timetuple())
- curUnixtime = str(curUnixtime)[0:10]
- oneAgoUnixtime = str(int(curUnixtime) - interval * 60)
- recordIds = []
- recordCams = []
- files = []
- #Disable SSL warnings for now
- requests.packages.urllib3.disable_warnings()
- #Get the url
- r = requests.get(base+apiKey, verify=False)
- #Parse it to json
- items = r.json()["data"]
- #Go through each item
- for item in items:
- meta = item["meta"]
- cameraName = meta["cameraName"]
- recording = item["_id"]
- endTime = str(item["endTime"])[0:10]
- if str(item["endTime"])[0:10] > oneAgoUnixtime :
- #print("Cam: "+cameraName+", Starttime: "+endTime+", RecordingID: "+recording)
- #print("\r\n")
- recordCams.append(cameraName)
- recordIds.append(str(recording))
- count = 0
- for record in recordIds:
- #print(record+" cam "+recordCams[count])
- if not os.path.isfile(downloadDir+str(recordCams[count])+'-'+str(record)+'.mp4') :
- r = requests.get(base+record+"/download"+apiKey, verify=False)
- open(downloadDir+str(recordCams[count])+'-'+str(record)+'.mp4', 'wb').write(r.content)
- files.append(str(recordCams[count])+'-'+str(record)+'.mp4')
- count = count + 1
- return files
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement