Compare commits
8 Commits
6d78d5f2f6
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e23157eee3 | ||
|
|
bd9bf5c6cc | ||
|
|
359709c82a | ||
|
|
7305d667ef | ||
|
|
a574a77a4b | ||
|
|
ce6479be42 | ||
|
|
63e08eeddc | ||
|
|
5eec744d13 |
@@ -1,4 +1,3 @@
|
|||||||
ffmpeg -f image2 -framerate 2 -i %*.jpg -c:v libx265 video.mp4
|
ffmpeg -f image2 -framerate 2 -i image%04d.jpg -c:v libx265 video.mp4
|
||||||
|
|
||||||
#only works in wsl
|
|
||||||
|
|
||||||
|
the command currently used in videos.txt
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ os.mkdir("Terminal dock")
|
|||||||
os.mkdir("Vanterm Alliance Grain Terminal crossing")
|
os.mkdir("Vanterm Alliance Grain Terminal crossing")
|
||||||
os.mkdir("Vanterm in gate")
|
os.mkdir("Vanterm in gate")
|
||||||
os.mkdir("Waterfront_road Centerm crossing")
|
os.mkdir("Waterfront_road Centerm crossing")
|
||||||
|
os.mkdir("Convention Centre East")
|
||||||
os.mkdir("Videos")
|
os.mkdir("Videos")
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
19
httptest.txt
19
httptest.txt
@@ -1,19 +0,0 @@
|
|||||||
#testing retreivable images
|
|
||||||
|
|
||||||
import requests
|
|
||||||
from time import time
|
|
||||||
|
|
||||||
headerz = { 'Referer' :
|
|
||||||
'https://www.portvancouver.com/' }
|
|
||||||
|
|
||||||
milliseconds = int(time() * 1000)
|
|
||||||
|
|
||||||
while True:
|
|
||||||
x = requests.get("https://ehub.portvancouver.com/Webcams/Photos/PortsideNo8?" + str(milliseconds), headers=headerz)
|
|
||||||
image_name = "image" + str(milliseconds) + ".jpg"
|
|
||||||
milliseconds -= 20000
|
|
||||||
|
|
||||||
if x.status_code == 200:
|
|
||||||
with open(image_name, 'wb') as f:
|
|
||||||
f.write(x.content)
|
|
||||||
print(x.status_code)
|
|
||||||
@@ -21,5 +21,6 @@ shutil.rmtree("Terminal dock")
|
|||||||
shutil.rmtree("Vanterm Alliance Grain Terminal crossing")
|
shutil.rmtree("Vanterm Alliance Grain Terminal crossing")
|
||||||
shutil.rmtree("Vanterm in gate")
|
shutil.rmtree("Vanterm in gate")
|
||||||
shutil.rmtree("Waterfront_road Centerm crossing")
|
shutil.rmtree("Waterfront_road Centerm crossing")
|
||||||
|
shutil.rmtree("Convention Centre East")
|
||||||
|
|
||||||
subprocess.run(["python", "folder_create.txt"])
|
subprocess.run(["python", "folder_create.txt"])
|
||||||
@@ -3,6 +3,7 @@ from time import time
|
|||||||
from time import sleep
|
from time import sleep
|
||||||
from contextlib import chdir
|
from contextlib import chdir
|
||||||
import copy
|
import copy
|
||||||
|
from concurrent.futures import ThreadPoolExecutor
|
||||||
|
|
||||||
headerz = {'Accept' : 'image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5', 'Accept-Encoding' :
|
headerz = {'Accept' : 'image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5', 'Accept-Encoding' :
|
||||||
'gzip, deflate, br, zstd', 'Accept-Language' :
|
'gzip, deflate, br, zstd', 'Accept-Language' :
|
||||||
@@ -10,114 +11,82 @@ headerz = {'Accept' : 'image/avif,image/webp,image/png,image/svg+xml,image/*;q=0
|
|||||||
'https://www.portvancouver.com/' }
|
'https://www.portvancouver.com/' }
|
||||||
|
|
||||||
milliseconds = int(time() * 1000)
|
milliseconds = int(time() * 1000)
|
||||||
x1 = requests.Response()
|
|
||||||
x2 = requests.Response()
|
|
||||||
x3 = requests.Response()
|
|
||||||
x4 = requests.Response()
|
|
||||||
x5 = requests.Response()
|
|
||||||
x6 = requests.Response()
|
|
||||||
x7 = requests.Response()
|
|
||||||
x8 = requests.Response()
|
|
||||||
x9 = requests.Response()
|
|
||||||
x10 = requests.Response()
|
|
||||||
x11 = requests.Response()
|
|
||||||
x12 = requests.Response()
|
|
||||||
x13 = requests.Response()
|
|
||||||
x14 = requests.Response()
|
|
||||||
x15 = requests.Response()
|
|
||||||
x16 = requests.Response()
|
|
||||||
x17 = requests.Response()
|
|
||||||
x18 = requests.Response()
|
|
||||||
x19 = requests.Response()
|
|
||||||
|
|
||||||
|
x = [requests.Response() for _ in range(20)]
|
||||||
|
|
||||||
str1 = "https://ehub.portvancouver.com/Webcams/Photos/CommOver?"
|
print(x)
|
||||||
str2 = "https://ehub.portvancouver.com/webcams/Photos/DPWExitWest?"
|
|
||||||
str3 = "https://ehub.portvancouver.com/Webcams/Photos/CentermMainGates?"
|
|
||||||
str4 = "https://ehub.portvancouver.com/Webcams/Photos/VantermEntrance?"
|
|
||||||
str5 = "https://ehub.portvancouver.com/Webcams/Photos/VantermGates?"
|
|
||||||
str6 = "https://ehub.portvancouver.com/Webcams/Photos/ClarkEntrance?"
|
|
||||||
str7 = "https://ehub.portvancouver.com/Webcams/Photos/ColumbiaContainerCrossing?"
|
|
||||||
str8 = "https://ehub.portvancouver.com/webcams/Photos/TerminalDock?"
|
|
||||||
str9 = "https://ehub.portvancouver.com/Webcams/Photos/CommEntrance?"
|
|
||||||
str10 = "https://ehub.portvancouver.com/Webcams/Photos/CommOverMcGill?"
|
|
||||||
str11 = "https://ehub.portvancouver.com/Webcams/Photos/CameraDP_FS1?"
|
|
||||||
str12 = "https://ehub.portvancouver.com/Webcams/Photos/DeltaportGate1?"
|
|
||||||
str13 = "https://ehub.portvancouver.com/Webcams/Photos/DMSWest?"
|
|
||||||
str14 = "https://ehub.portvancouver.com/Webcams/Photos/FSMainIntersection?"
|
|
||||||
str15 = "https://ehub.portvancouver.com/Webcams/Photos/FSTruckInGate?"
|
|
||||||
str16 = "https://ehub.portvancouver.com/Webcams/Photos/FSVACSGates?"
|
|
||||||
str17 = "https://ehub.portvancouver.com/Webcams/Photos/FS5TrackCrossing?"
|
|
||||||
str18 = "https://ehub.portvancouver.com/Webcams/Photos/PortsideNo8?"
|
|
||||||
str19 = "https://ehub.portvancouver.com/Webcams/Photos/PortsideCoast2000?"
|
|
||||||
|
|
||||||
i = [-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]
|
astr = ["Hi!"] * 20
|
||||||
|
lastr = ["Hi!"] * 20
|
||||||
|
|
||||||
|
astr[0] = "https://ehub.portvancouver.com/Webcams/Photos/CommOver?"
|
||||||
|
astr[1] = "https://ehub.portvancouver.com/webcams/Photos/DPWExitWest?"
|
||||||
|
astr[2] = "https://ehub.portvancouver.com/Webcams/Photos/CentermMainGates?"
|
||||||
|
astr[3] = "https://ehub.portvancouver.com/Webcams/Photos/VantermEntrance?"
|
||||||
|
astr[4] = "https://ehub.portvancouver.com/Webcams/Photos/VantermGates?"
|
||||||
|
astr[5] = "https://ehub.portvancouver.com/Webcams/Photos/ClarkEntrance?"
|
||||||
|
astr[6] = "https://ehub.portvancouver.com/Webcams/Photos/ColumbiaContainerCrossing?"
|
||||||
|
astr[7] = "https://ehub.portvancouver.com/webcams/Photos/TerminalDock?"
|
||||||
|
astr[8] = "https://ehub.portvancouver.com/Webcams/Photos/CommEntrance?"
|
||||||
|
astr[9] = "https://ehub.portvancouver.com/Webcams/Photos/CommOverMcGill?"
|
||||||
|
astr[10] = "https://ehub.portvancouver.com/Webcams/Photos/CameraDP_FS1?"
|
||||||
|
astr[11] = "https://ehub.portvancouver.com/Webcams/Photos/DeltaportGate1?"
|
||||||
|
astr[12] = "https://ehub.portvancouver.com/Webcams/Photos/DMSWest?"
|
||||||
|
astr[13] = "https://ehub.portvancouver.com/Webcams/Photos/FSMainIntersection?"
|
||||||
|
astr[14] = "https://ehub.portvancouver.com/Webcams/Photos/FSTruckInGate?"
|
||||||
|
astr[15] = "https://ehub.portvancouver.com/Webcams/Photos/FSVACSGates?"
|
||||||
|
astr[16] = "https://ehub.portvancouver.com/Webcams/Photos/FS5TrackCrossing?"
|
||||||
|
astr[17] = "https://ehub.portvancouver.com/Webcams/Photos/PortsideNo8?"
|
||||||
|
astr[18] = "https://ehub.portvancouver.com/Webcams/Photos/PortsideCoast2000?"
|
||||||
|
astr[19] = "https://ehub.portvancouver.com/Webcams/Photos/CPCTruckRoute?"
|
||||||
|
|
||||||
|
folder = ["Commissioner entrance","Waterfront_road Centerm crossing","Centerm in gate",
|
||||||
|
"Vanterm Alliance Grain Terminal crossing", "Vanterm in gate", "Clark Drive overpass",
|
||||||
|
"Columbia Container - crossing", "Terminal dock","Commissioner truck staging",
|
||||||
|
"Commissioner street overpass", "Deltaport causeway", "Deltaport gate 1",
|
||||||
|
"Delta truck staging", "Fraser Surrey main intersection","Fraser Surrey in gate",
|
||||||
|
"Fraser Surrey VACS gates", "Fraser Surrey track crossing", "PortsideBlundellNo.8 road intersection",
|
||||||
|
"Portside road - westbound", "Convention Centre East"]
|
||||||
|
|
||||||
|
reference = [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19]
|
||||||
|
i = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
|
||||||
|
|
||||||
|
|
||||||
image_name = "image"
|
image_name = "image"
|
||||||
|
|
||||||
def acquireImage(request_string, folder_name, response):
|
def acquireImage(request_string, folder_name, response, number):
|
||||||
global image_check
|
image_check = requests.Response()
|
||||||
image_check = copy.deepcopy(response)
|
image_check = copy.deepcopy(response)
|
||||||
response = requests.get(request_string, headers=headerz)
|
resp = requests.get(request_string, headers=headerz, timeout=(5,30))
|
||||||
|
response._content = resp.content
|
||||||
|
response.status_code = resp.status_code
|
||||||
|
|
||||||
if response.content != image_check.content:
|
if response.content != image_check.content:
|
||||||
|
|
||||||
|
global i
|
||||||
|
i[number] += 1
|
||||||
|
image_name = "image" + f"{i[number]:04}" + ".jpg"
|
||||||
|
print(response)
|
||||||
with chdir(folder_name):
|
with chdir(folder_name):
|
||||||
if response.status_code == 200:
|
if response.status_code == 200:
|
||||||
with open(image_name, 'wb') as f:
|
with open(image_name, 'wb') as f:
|
||||||
f.write(response.content)
|
f.write(response.content)
|
||||||
else:
|
else:
|
||||||
print("Copy detected and removed (folder_name)")
|
print(f"Copy detected and removed ({folder_name})")
|
||||||
|
|
||||||
|
|
||||||
def getTimeAndName(index):
|
def getName():
|
||||||
milliseconds = int(time() * 1000)
|
milliseconds = int(time() * 1000)
|
||||||
global image_name
|
global lastr
|
||||||
image_name = "image" + f"{i[index]:04}" + ".jpg"
|
lastr = [s + str(milliseconds) for s in astr]
|
||||||
i[index] += 1
|
|
||||||
|
|
||||||
|
|
||||||
while True:
|
while True:
|
||||||
getTimeAndName(1)
|
getName()
|
||||||
acquireImage(str1 + str(milliseconds), 'Commissioner entrance', x1)
|
|
||||||
getTimeAndName(2)
|
|
||||||
acquireImage(str2 + str(milliseconds), 'Waterfront_road Centerm crossing', x2)
|
|
||||||
getTimeAndName(3)
|
|
||||||
acquireImage(str3 + str(milliseconds), 'Centerm in gate', x3)
|
|
||||||
getTimeAndName(4)
|
|
||||||
acquireImage(str4 + str(milliseconds), 'Vanterm Alliance Grain Terminal crossing', x4)
|
|
||||||
getTimeAndName(5)
|
|
||||||
acquireImage(str5 + str(milliseconds), 'Vanterm in gate', x5)
|
|
||||||
getTimeAndName(6)
|
|
||||||
acquireImage(str6 + str(milliseconds), 'Clark Drive overpass', x6)
|
|
||||||
getTimeAndName(7)
|
|
||||||
acquireImage(str7 + str(milliseconds), 'Columbia Container - crossing', x7)
|
|
||||||
getTimeAndName(8)
|
|
||||||
acquireImage(str8 + str(milliseconds), 'Terminal dock', x8)
|
|
||||||
getTimeAndName(9)
|
|
||||||
acquireImage(str9 + str(milliseconds), 'Commissioner truck staging', x9)
|
|
||||||
getTimeAndName(10)
|
|
||||||
acquireImage(str10 + str(milliseconds), 'Commissioner street overpass', x10)
|
|
||||||
getTimeAndName(11)
|
|
||||||
acquireImage(str11 + str(milliseconds), 'Deltaport causeway', x11)
|
|
||||||
getTimeAndName(12)
|
|
||||||
acquireImage(str12 + str(milliseconds), 'Deltaport gate 1', x12)
|
|
||||||
getTimeAndName(13)
|
|
||||||
acquireImage(str13 + str(milliseconds), 'Delta truck staging', x13)
|
|
||||||
getTimeAndName(14)
|
|
||||||
acquireImage(str14 + str(milliseconds), 'Fraser Surrey main intersection', x14)
|
|
||||||
getTimeAndName(15)
|
|
||||||
acquireImage(str15 + str(milliseconds), 'Fraser Surrey in gate', x15)
|
|
||||||
getTimeAndName(16)
|
|
||||||
acquireImage(str16 + str(milliseconds), 'Fraser Surrey VACS gates', x16)
|
|
||||||
getTimeAndName(17)
|
|
||||||
acquireImage(str17 + str(milliseconds), 'Fraser Surrey track crossing', x17)
|
|
||||||
getTimeAndName(18)
|
|
||||||
acquireImage(str18 + str(milliseconds), 'PortsideBlundellNo.8 road intersection', x18)
|
|
||||||
getTimeAndName(19)
|
|
||||||
acquireImage(str19 + str(milliseconds), 'Portside road - westbound', x19)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
with ThreadPoolExecutor() as executor:
|
||||||
|
results = executor.map(acquireImage, lastr, folder, x, reference)
|
||||||
|
|
||||||
print(i)
|
print(i)
|
||||||
|
|
||||||
print("Scanned")
|
print("Scanned")
|
||||||
|
|||||||
32
testing.txt
32
testing.txt
@@ -1,32 +0,0 @@
|
|||||||
import requests
|
|
||||||
from time import time
|
|
||||||
from time import sleep
|
|
||||||
from contextlib import chdir
|
|
||||||
import copy
|
|
||||||
|
|
||||||
headerz = {'Accept' : 'image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5', 'Accept-Encoding' :
|
|
||||||
'gzip, deflate, br, zstd', 'Accept-Language' :
|
|
||||||
'en-CA,en-US;q=0.9,en;q=0.8', 'Referer' :
|
|
||||||
'https://www.portvancouver.com/' }
|
|
||||||
|
|
||||||
|
|
||||||
milliseconds = int(time() * 1000)
|
|
||||||
image_check = requests.get("https://ehub.portvancouver.com/Photos/CPCTruckRoute?" + str(milliseconds))
|
|
||||||
print(image_check)
|
|
||||||
|
|
||||||
while True:
|
|
||||||
milliseconds = int(time() * 1000)
|
|
||||||
str1 = "https://ehub.portvancouver.com/Photos/CPCTruckRoute?" + str(milliseconds)
|
|
||||||
|
|
||||||
image_name = "image" + str(milliseconds) + ".jpg"
|
|
||||||
|
|
||||||
|
|
||||||
x1 = requests.get(str1, headers=headerz)
|
|
||||||
if x1.content != image_check.content:
|
|
||||||
if x1.status_code == 200:
|
|
||||||
with open(image_name, 'wb') as f:
|
|
||||||
f.write(x1.content)
|
|
||||||
else:
|
|
||||||
print("Copy detected and removed (x1)")
|
|
||||||
|
|
||||||
image_check = copy.deepcopy(x1)
|
|
||||||
23
testingtemplate.txt
Normal file
23
testingtemplate.txt
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
import requests
|
||||||
|
from time import time
|
||||||
|
from time import sleep
|
||||||
|
|
||||||
|
headerz = {'Accept' : 'image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5', 'Accept-Encoding' :
|
||||||
|
'gzip, deflate, br, zstd', 'Accept-Language' :
|
||||||
|
'en-CA,en-US;q=0.9,en;q=0.8', 'Referer' :
|
||||||
|
'https://www.portvancouver.com/' }
|
||||||
|
|
||||||
|
while True:
|
||||||
|
|
||||||
|
seconds = int(time()* 1000)
|
||||||
|
print(seconds)
|
||||||
|
r = "https://ehub.portvancouver.com/Webcams/Photos/CPCTruckRoute?" + str(time)
|
||||||
|
response = requests.get(r, headers=headerz)
|
||||||
|
sleep(1)
|
||||||
|
image_name = "image" + str(seconds) + ".jpg"
|
||||||
|
if response.status_code == 200:
|
||||||
|
with open(image_name, 'wb') as f:
|
||||||
|
f.write(response.content)
|
||||||
|
print(response.status_code)
|
||||||
|
|
||||||
|
|
||||||
26
video-cleanup.txt
Normal file
26
video-cleanup.txt
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
import shutil
|
||||||
|
import os
|
||||||
|
|
||||||
|
shutil.rmtree("Videos")
|
||||||
|
|
||||||
|
os.mkdir("Videos")
|
||||||
|
os.mkdir(r"Videos\Centerm in gate - videos")
|
||||||
|
os.mkdir(r"Videos\Clark Drive overpass - videos")
|
||||||
|
os.mkdir(r"Videos\Columbia Container - crossing - videos")
|
||||||
|
os.mkdir(r"Videos\Commissioner entrance - videos")
|
||||||
|
os.mkdir(r"Videos\Commissioner street overpass - videos")
|
||||||
|
os.mkdir(r"Videos\Commissioner truck staging - videos")
|
||||||
|
os.mkdir(r"Videos\Delta truck staging - videos")
|
||||||
|
os.mkdir(r"Videos\Deltaport causeway - videos")
|
||||||
|
os.mkdir(r"Videos\Deltaport gate 1 - videos")
|
||||||
|
os.mkdir(r"Videos\Deltaport gate 3 - videos")
|
||||||
|
os.mkdir(r"Videos\Fraser Surrey in gate - videos")
|
||||||
|
os.mkdir(r"Videos\Fraser Surrey main intersection - videos")
|
||||||
|
os.mkdir(r"Videos\Fraser Surrey track crossing - videos")
|
||||||
|
os.mkdir(r"Videos\Fraser Surrey VACS gates - videos")
|
||||||
|
os.mkdir(r"Videos\Portside road - westbound - videos")
|
||||||
|
os.mkdir(r"Videos\PortsideBlundellNo.8 road intersection - videos")
|
||||||
|
os.mkdir(r"Videos\Terminal dock - videos")
|
||||||
|
os.mkdir(r"Videos\Vanterm Alliance Grain Terminal crossing - videos")
|
||||||
|
os.mkdir(r"Videos\Vanterm in gate - videos")
|
||||||
|
os.mkdir(r"Videos\Waterfront_road Centerm crossing - videos")
|
||||||
49
videos.txt
Normal file
49
videos.txt
Normal file
@@ -0,0 +1,49 @@
|
|||||||
|
import subprocess
|
||||||
|
import os
|
||||||
|
from datetime import datetime
|
||||||
|
|
||||||
|
|
||||||
|
video = ["Centerm in gate - videos", "Clark Drive overpass - videos", "Columbia Container - crossing - videos",
|
||||||
|
"Commissioner entrance - videos", "Commissioner street overpass - videos", "Commissioner truck staging - videos",
|
||||||
|
"Delta truck staging - videos", "Deltaport causeway - videos", "Deltaport gate 1 - videos",
|
||||||
|
"Fraser Surrey in gate - videos", "Fraser Surrey main intersection - videos", "Fraser Surrey track crossing - videos",
|
||||||
|
"Fraser Surrey VACS gates - videos", "Portside road - westbound - videos", "PortsideBlundellNo.8 road intersection - videos",
|
||||||
|
"Terminal dock - videos", "Vanterm Alliance Grain Terminal crossing - videos", "Vanterm in gate - videos",
|
||||||
|
"Waterfront_road Centerm crossing - videos"]
|
||||||
|
|
||||||
|
folder = ["Centerm in gate", "Clark Drive overpass", "Columbia Container - crossing",
|
||||||
|
"Commissioner entrance", "Commissioner street overpass", "Commissioner truck staging",
|
||||||
|
"Delta truck staging", "Deltaport causeway", "Deltaport gate 1",
|
||||||
|
"Fraser Surrey in gate", "Fraser Surrey main intersection", "Fraser Surrey track crossing",
|
||||||
|
"Fraser Surrey VACS gates", "Portside road - westbound", "PortsideBlundellNo.8 road intersection",
|
||||||
|
"Terminal dock", "Vanterm Alliance Grain Terminal crossing", "Vanterm in gate", "Waterfront_road Centerm crossing"]
|
||||||
|
|
||||||
|
folderpair = list(zip(video, folder))
|
||||||
|
|
||||||
|
#increment video number
|
||||||
|
def imageToVideo(folder_name, videopath):
|
||||||
|
os.chdir(folder_name)
|
||||||
|
t = os.path.getmtime("image0001.jpg")
|
||||||
|
t = int(t)
|
||||||
|
dt = datetime.fromtimestamp(t)
|
||||||
|
print(dt)
|
||||||
|
name = dt.strftime("%Y-%m-%d %H.%M.%S")
|
||||||
|
name = name + ".mp4"
|
||||||
|
print(name)
|
||||||
|
v = os.path.join("..", "Videos", videopath, name)
|
||||||
|
v = str(v)
|
||||||
|
print(v)
|
||||||
|
|
||||||
|
|
||||||
|
subprocess.run(["ffmpeg",
|
||||||
|
"-f", "image2",
|
||||||
|
"-framerate", "2",
|
||||||
|
"-i", "image%04d.jpg",
|
||||||
|
"-c:v", "libx265",
|
||||||
|
v])
|
||||||
|
os.chdir("..")
|
||||||
|
|
||||||
|
for pair in folderpair:
|
||||||
|
imageToVideo(pair[1], pair[0])
|
||||||
|
|
||||||
|
|
||||||
Reference in New Issue
Block a user