Replaying an event gives a 404 error #1163
Replies: 2 comments
-
|
Could you repost the config with triple backticks to preserve formatting? It's odd that you can download the video but not view in the interface since they both use the underlying segments. Can you enable debug logging for the webserver component, reproduce the 404 and send the log? |
Beta Was this translation helpful? Give feedback.
-
|
here's the config: Here's the log when I go to the events.... 2025-11-24 12:31:40.632 [WARNING ] [tornado.access] - 404 GET /files/segments/camera_2/init.mp4 (127.0.0.1) 0.99ms I only grabbed a snippet... but the log has a ton of the 404 error...but only when I go to events. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Hi, I am hoping someone can help me out here. When I try to replay an even that happened about an hour ago, I get "HTTP ERROR 404".
If I try to play an even that happened yesterday, I get the same error.
I am able to download a video in the time frame that I specify.
I can see there are tons of files in the /segments directory. Including the date that I specify.
I've tried another camera, and I get the same error. Doesn't matter which event I click on.
Here is my config.yaml:
Start by adding some cameras
ffmpeg:
ffmpeg_loglevel: error
ffmpeg_recoverable_errors:
- error while decoding MB
camera:
camera_1: # This value has to be unique across all cameras
name: West_Yard
host: 172.25.175.50
port: 554
path: /cam/realmonitor?channel=1&subtype=0
username:
password:
fps: 15
substream:
path: /cam/realmonitor?channel=1&subtype=1
stream_format: rtsp
port: 554
fps: 1
mjpeg_streams:
objects:
draw_objects: true
still_image:
refresh_interval: 2
go2rtc:
streams:
camera_1:
- rtsp://172.25.175.50:554/cam/realmonitor?channel=1&subtype=0
camera_2:
- rtsp://xxx:[email protected]:554/cam/realmonitor?channel=1&subtype=0
camera_3:
- rtsp://xxx:[email protected]:554/h264Preview_01_main
camera_4:
- rtsp://xxx:[email protected]:554/Streaming/Channels/101
webrtc:
candidates:
- 172.25.175.50:8555
- stun:8555
- 172.25.175.51:8555
- stun:8555
- 172.25.175.52
- stun:8555
- 172.25.175.53
- stun:8555
Then add an object detector
#darknet:
object_detector:
cameras:
camera_1: # Attach detector to the configured camera_1 above
fps: 1
scan_on_motion_only: false # Scan for objects even when there is no motion
labels:
- label: person
confidence: 0.75
trigger_event_recording: true
camera_2: # Attach detector to the configured camera_2 above
fps: 1
labels:
- label: person
confidence: 0.75
trigger_event_recording: true
camera_3: # Attach detector to the configured camera_2 above
fps: 1
labels:
- label: person
confidence: 0.75
trigger_event_recording: true
yolo:
object_detector:
model_path: /detectors/models/yolo/yolo11n.pt
cameras:
camera_1:
fps: 1
scan_on_motion_only: true
log_all_objects: true
labels:
- label: person
confidence: 0.6
trigger_event_recording: true
- label: cat
confidence: 0.6
trigger_event_recording: true
- label: car
confidence: 0.6
trigger_event_recording: true
- label: motorcycle
confidence: 0.6
trigger_event_recording: true
- label: bus
confidence: 0.6
trigger_event_recording: true
- label: truck
confidence: 0.6
trigger_event_recording: true
camera_2:
fps: 1
scan_on_motion_only: true
log_all_objects: true
labels:
- label: person
confidence: 0.6
trigger_event_recording: true
- label: bicycle
confidence: 0.6
trigger_event_recording: true
- label: car
confidence: 0.6
trigger_event_recording: true
- label: motorcycle
confidence: 0.6
trigger_event_recording: true
- label: bus
confidence: 0.6
trigger_event_recording: true
- label: truck
confidence: 0.6
trigger_event_recording: true
- label: cat
confidence: 0.6
trigger_event_recording: true
- label: dog
confidence: 0.6
trigger_event_recording: true
#- label: fedex
# confidence: 0.7
# trigger_event_recording: true
##- label: ups
# confidence: 0.7
# trigger_event_recording: true
#- label: amazon
# confidence: 0.7
# trigger_event_recording: true
#- label: vehicle
# confidence: 0.7
# trigger_event_recording: true
#- label: bird
# confidence: 0.7
# trigger_event_recording: true
#- label: raccoon
# confidence: 0.7
# trigger_event_recording: true
#- label: skunk
# confidence: 0.7
# trigger_event_recording: true
#- label: squirrel
# confidence: 0.7
# trigger_event_recording: true
#- label: bicycle
# confidence: 0.7
# trigger_event_recording: true
#- label: garbage
# confidence: 0.7
# trigger_event_recording: true
#- label: uhaul
# confidence: 0.7
# trigger_event_recording: true
camera_3:
fps: 1
scan_on_motion_only: true
labels:
- label: person
confidence: 0.6
trigger_event_recording: true
- label: bicycle
confidence: 0.6
trigger_event_recording: true
- label: car
confidence: 0.6
trigger_event_recording: true
- label: motorcycle
confidence: 0.6
trigger_event_recording: true
- label: bus
confidence: 0.6
trigger_event_recording: true
- label: truck
confidence: 0.6
trigger_event_recording: true
- label: cat
confidence: 0.6
trigger_event_recording: true
- label: dog
confidence: 0.6
trigger_event_recording: true
You can also use motion detection
mog2:
motion_detector:
cameras:
camera_1:
fps: 1
detect_shadows: false
learning_rate: -1
trigger_event_recording: true
threshold: 15
recorder_keepalive: true
max_recorder_keepalive: 5
To tie everything together we need to configure one more component.
nvr:
camera_1:
camera_2:
camera_3:
camera_4:
storage:
recorder:
tiers:
- path: /segments
events:
max_age:
days: 45
max_size:
gb: 3200 # adjust to your disk size, e.g., 80% of available space
#snapshots:
tiers:
- path: /snapshots
max_age:
days: 45
max_size:
gb: 3200
#logger:
logs:
viseron.components.ffmpeg: critical
viseron.components.nvr: debug
viseron.components.storage: debug
Now you can restart Viseron and you should be good to go!
Beta Was this translation helpful? Give feedback.
All reactions