File name
Commit message
Commit date
후처리 모듈 및 메인 서버 전달을 위한 수정 1. ITS cctv 스트리밍 정보를 하나의 프로세스가 하나의 영상을 담당하여 처리 및 실행하기 위한 스크립트와 bash 스크립트 2. FrameCapturer 객체에 위경도 정보 필수 arg
05-20
hls 스트리밍 및 추론 병합을 위한 테스트 및 코드 작성, config 파일들의 디렉토리 및 명명 리펙토링, ITS api 코드 가독성을 위한 변수 이름 및 잘못 하드코딩되어 있는 (도로 타입 변수 지정 불가) 부분 수정.
05-20
후처리 모듈 및 메인 서버 전달을 위한 수정 1. ITS cctv 스트리밍 정보를 하나의 프로세스가 하나의 영상을 담당하여 처리 및 실행하기 위한 스크립트와 bash 스크립트 2. FrameCapturer 객체에 위경도 정보 필수 arg
05-20
hls 스트리밍 및 추론 병합을 위한 테스트 및 코드 작성, config 파일들의 디렉토리 및 명명 리펙토링, ITS api 코드 가독성을 위한 변수 이름 및 잘못 하드코딩되어 있는 (도로 타입 변수 지정 불가) 부분 수정.
05-20
File name
Commit message
Commit date
# This script only works if this is the main process.
# This script must be executed with bash script that is located in the root directory of this project
# This is by design, and is a way to circumvent GIL of python, because the server needs to handle multiple video streaming at once.
if __name__ == "__main__":
from dotenv import load_dotenv
import os
load_dotenv()
print("PYTHONPATH:", os.getenv("PYTHONPATH"))
print("_____")
print(os.path.dirname(os.path.abspath(__file__)))
from ITS.api import gather_cctv_list
from hls_streaming.hls import FrameCapturer
import argparse
import pandas as pd
import time
def refresh_hls_address(lat, lon, lat_lon_interval=0.00001):
api_result = gather_cctv_list(
xmin=lat - lat_lon_interval, ymin=lon - lat_lon_interval,
xmax=lat + lat_lon_interval, ymax=lon + lat_lon_interval,
intervals=1, roadType="its", cctvType=1
)
return api_result.loc[0]["cctvurl"]
args = argparse.ArgumentParser()
args.add_argument("--cctv_num", type=int, help="index number of cctv, see cctv_list.csv")
args = args.parse_args()
cctv_ind = args.cctv_num
cctv_info = pd.read_csv("config/cctv_list.csv")
cctv_info = cctv_info.iloc[0]
lat = cctv_info["coordx"]
lon = cctv_info["coordy"]
name = cctv_info["cctvname"]
if name.find("국도"):
roadtype = 'its'
else:
roadtype = 'ex'
# initiate ITS CCTV streaming via hls
while True:
cctv_url = refresh_hls_address(lat, lon, )
hls_streaming = FrameCapturer(cctv_url, name, 5, 15, 300, "Asia/Seoul",
endpoint= "http://localhost:12345/cctv/infer")
hls_streaming.start()
time.sleep(60000)
hls_streaming.stop()