Mercurial > hg > nsaunier > traffic-intelligence
comparison scripts/play-synced-videos.py @ 833:8d1dd771aeb3
updated for play synced
| author | Nicolas Saunier <nicolas.saunier@polymtl.ca> |
|---|---|
| date | Thu, 30 Jun 2016 14:01:13 -0400 |
| parents | 2a5856961933 |
| children | 75530d8c0090 |
comparison
equal
deleted
inserted
replaced
| 832:02f2809c2f66 | 833:8d1dd771aeb3 |
|---|---|
| 1 #! /usr/bin/env python | 1 #! /usr/bin/env python |
| 2 | 2 |
| 3 import sys, argparse, os.path | 3 import sys, argparse, os.path |
| 4 import cvutils, utils | 4 import cvutils, utils |
| 5 from metadata import createDatabase, Site, VideoSequence | 5 from metadata import createDatabase, Site, CameraView, VideoSequence |
| 6 from datetime import datetime, timedelta | 6 from datetime import datetime, timedelta |
| 7 | 7 |
| 8 parser = argparse.ArgumentParser(description='The program displays several views of the same site synchronously.') | 8 parser = argparse.ArgumentParser(description='The program displays several views of the same site synchronously.') |
| 9 parser.add_argument('-i', dest = 'metadataFilename', help = 'name of the metadata file', required = True) | 9 parser.add_argument('-i', dest = 'metadataFilename', help = 'name of the metadata file', required = True) |
| 10 parser.add_argument('-n', dest = 'siteId', help = 'site id or site name', required = True) | 10 parser.add_argument('-n', dest = 'siteId', help = 'site id or site name', required = True) |
| 25 site = site[0] | 25 site = site[0] |
| 26 | 26 |
| 27 dirname = os.path.split(args.metadataFilename)[0] | 27 dirname = os.path.split(args.metadataFilename)[0] |
| 28 | 28 |
| 29 startTime = datetime.strptime(args.startTime, utils.datetimeFormat) | 29 startTime = datetime.strptime(args.startTime, utils.datetimeFormat) |
| 30 videoSequences = session.query(VideoSequence).filter(VideoSequence.site == site).filter(VideoSequence.startTime <= startTime).all() | 30 cameraViews = session.query(CameraView).filter(CameraView.site == site) |
| 31 videoSequences = [v for v in videoSequences if v.containsInstant(startTime)] | 31 videoSequences = session.query(VideoSequence).filter(VideoSequence.name != None).filter(VideoSequence.startTime <= startTime).all() |
| 32 #videoSequences = session.query(VideoSequence).filter(VideoSequence.site == site).filter(VideoSequence.startTime <= startTime).all() | |
| 33 videoSequences = [v for v in videoSequences if v.containsInstant(startTime) and v.cameraView in cameraViews] | |
| 32 filenames = [dirname+os.path.sep+v.getVideoSequenceFilename() for v in videoSequences] | 34 filenames = [dirname+os.path.sep+v.getVideoSequenceFilename() for v in videoSequences] |
| 33 firstFrameNums = [v.getFrameNum(startTime) for v in videoSequences] | 35 firstFrameNums = [v.getFrameNum(startTime) for v in videoSequences] |
| 34 | 36 |
| 35 cvutils.playVideo(filenames, [v.cameraView.description for v in videoSequences], firstFrameNums, args.frameRate, rescale = args.rescale, step = args.step) | 37 cvutils.playVideo(filenames, [v.cameraView.description for v in videoSequences], firstFrameNums, args.frameRate, rescale = args.rescale, step = args.step) |
