forked from Github/frigate
Add ability to restream birdseye (#4761)
* Try using RTSP for restream * Add ability to get snapshot of birdseye when birdseye restream is enabled * Write to pipe instead of encoding mpeg1 * Write to cache instead * Use const for location * Formatting * Add hardware encoding for birdseye based on ffmpeg preset * Provide framerate * Adjust args * Fix order * Delete pipe file if it exists * Cleanup spacing * Fix spacing
This commit is contained in:
@@ -825,6 +825,24 @@ def latest_frame(camera_name):
|
||||
|
||||
frame = cv2.resize(frame, dsize=(width, height), interpolation=cv2.INTER_AREA)
|
||||
|
||||
ret, jpg = cv2.imencode(
|
||||
".jpg", frame, [int(cv2.IMWRITE_JPEG_QUALITY), resize_quality]
|
||||
)
|
||||
response = make_response(jpg.tobytes())
|
||||
response.headers["Content-Type"] = "image/jpeg"
|
||||
response.headers["Cache-Control"] = "no-store"
|
||||
return response
|
||||
elif camera_name == "birdseye" and current_app.frigate_config.restream.birdseye:
|
||||
frame = cv2.cvtColor(
|
||||
current_app.detected_frames_processor.get_current_frame(camera_name),
|
||||
cv2.COLOR_YUV2BGR_I420,
|
||||
)
|
||||
|
||||
height = int(request.args.get("h", str(frame.shape[0])))
|
||||
width = int(height * frame.shape[1] / frame.shape[0])
|
||||
|
||||
frame = cv2.resize(frame, dsize=(width, height), interpolation=cv2.INTER_AREA)
|
||||
|
||||
ret, jpg = cv2.imencode(
|
||||
".jpg", frame, [int(cv2.IMWRITE_JPEG_QUALITY), resize_quality]
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user