Skip to content

Can't get Continuous Recording #917

Open
@SherifMEldeeb

Description

@SherifMEldeeb

I have been trying to setup a simple recording server I managed to get LiveView to work but I can't get recording to work at all there is no segments gets created I am not sure what am I missing

Container Logs:

viseron  | Starting PostgreSQL Server...
> viseron  | /var/run/postgresql:5432 - no response
> viseron  | Waiting for PostgreSQL Server to start...
> viseron  | 2025-03-09 11:24:31.310 EET [437] LOG:  starting PostgreSQL 14.15 (Ubuntu 14.15-0ubuntu0.22.04.1) on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0, 64-bit
> viseron  | 2025-03-09 11:24:31.310 EET [437] LOG:  listening on IPv6 address "::1", port 5432
> viseron  | 2025-03-09 11:24:31.311 EET [437] LOG:  listening on IPv4 address "127.0.0.1", port 5432
> viseron  | 2025-03-09 11:24:31.391 EET [437] LOG:  listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
> viseron  | 2025-03-09 11:24:31.466 EET [439] LOG:  database system was shut down at 2025-03-09 11:24:20 EET
> viseron  | 2025-03-09 11:24:31.525 EET [437] LOG:  database system is ready to accept connections
> viseron  | /var/run/postgresql:5432 - accepting connections
> viseron  | PostgreSQL Server has started!
> viseron  | 2025-03-09 11:24:35.953 [INFO    ] [viseron.core] - -------------------------------------------
> viseron  | 2025-03-09 11:24:35.957 [INFO    ] [viseron.core] - Initializing Viseron dev
> viseron  | 2025-03-09 11:24:35.978 [INFO    ] [viseron.components] - Setting up component logger
> viseron  | 2025-03-09 11:24:35.987 [INFO    ] [viseron.components] - Setup of component logger took 0.0 seconds
> viseron  | 2025-03-09 11:24:35.989 [INFO    ] [viseron.components] - Setting up component data_stream
> viseron  | 2025-03-09 11:24:35.993 [DEBUG   ] [viseron.components.data_stream] - ulimit -u output: unlimited
> viseron  | 2025-03-09 11:24:35.995 [DEBUG   ] [viseron.components.data_stream] - Max threads: 999999
> viseron  | 2025-03-09 11:24:35.996 [DEBUG   ] [viseron.watchdog] - Registering <RestartableThread(data_stream, initial daemon)> in the watchdog
> viseron  | 2025-03-09 11:24:35.998 [INFO    ] [viseron.components] - Setup of component data_stream took 0.0 seconds
> viseron  | 2025-03-09 11:24:35.999 [INFO    ] [viseron.components] - Setting up component storage
> viseron  | 2025-03-09 11:24:36.003 [DEBUG   ] [tzlocal] - /etc/timezone found, contents:
> viseron  |  Etc/UTC
> viseron  | 
> viseron  | 2025-03-09 11:24:36.006 [DEBUG   ] [tzlocal] - /etc/localtime found
> viseron  | 2025-03-09 11:24:36.010 [DEBUG   ] [tzlocal] - 2 found:
> viseron  |  {'/etc/timezone': 'Etc/UTC', '/etc/localtime is a symlink to': 'Etc/UTC'}
> viseron  | 2025-03-09 11:24:36.030 [DEBUG   ] [viseron.components.data_stream] - Subscribing to data topic viseron/signal/shutdown, <bound method CleanupManager.stop of <viseron.components.storage.jobs.CleanupManager object at 0x7f040f4e8a60>>
> viseron  | 2025-03-09 11:24:36.207 [INFO    ] [alembic.runtime.migration] - Context impl PostgresqlImpl.
> viseron  | 2025-03-09 11:24:36.208 [INFO    ] [alembic.runtime.migration] - Will assume transactional DDL.
> viseron  | 2025-03-09 11:24:36.225 [DEBUG   ] [viseron.components.storage] - Current database revision: 7b1f82f2ec39
> viseron  | 2025-03-09 11:24:36.303 [DEBUG   ] [viseron.components.data_stream] - Subscribing to data topic event/domain/registered/camera, <bound method Storage._camera_registered of <viseron.components.storage.Storage object at 0x7f040f4e8b80>>
> viseron  | 2025-03-09 11:24:36.304 [DEBUG   ] [viseron.components.data_stream] - Subscribing to data topic viseron/signal/stopping, <bound method Storage._shutdown of <viseron.components.storage.Storage object at 0x7f040f4e8b80>>
> viseron  | 2025-03-09 11:24:36.305 [INFO    ] [viseron.components] - Setup of component storage took 0.3 seconds
> viseron  | 2025-03-09 11:24:36.306 [INFO    ] [viseron.components] - Setting up component webserver
> viseron  | 2025-03-09 11:24:36.308 [DEBUG   ] [asyncio] - Using selector: EpollSelector
> viseron  | 2025-03-09 11:24:36.316 [DEBUG   ] [viseron.components.data_stream] - Subscribing to data topic viseron/signal/shutdown, <bound method Webserver.stop of <Webserver(Tornado Webserver, initial daemon)>>
> viseron  | 2025-03-09 11:24:36.317 [INFO    ] [viseron.components] - Setup of component webserver took 0.0 seconds
> viseron  | 2025-03-09 11:24:36.319 [INFO    ] [viseron.components] - Setting up component nvr
> viseron  | 2025-03-09 11:24:36.319 [INFO    ] [viseron.components] - Setting up component ffmpeg
> viseron  | 2025-03-09 11:24:36.323 [INFO    ] [viseron.components] - Setup of component nvr took 0.0 seconds
> viseron  | 2025-03-09 11:24:36.331 [INFO    ] [viseron.components] - Setup of component ffmpeg took 0.0 seconds
> viseron  | 2025-03-09 11:24:36.836 [INFO    ] [viseron.components] - Setting up domain camera for component ffmpeg with identifier mobile_test
> viseron  | 2025-03-09 11:24:36.837 [INFO    ] [viseron.components] - Setting up domain nvr for component nvr with identifier mobile_test
> viseron  | 2025-03-09 11:24:36.839 [DEBUG   ] [viseron.components] - Domain nvr for component nvr with identifier mobile_test will wait for dependencies ['domain: camera, identifier: mobile_test']
> viseron  | 2025-03-09 11:24:36.884 [DEBUG   ] [viseron.components.ffmpeg.stream.mobile_test] - Getting stream information for rtsp://*****:*****@192.168.1.6:1935/h264_ulaw.sdp
> viseron  | 2025-03-09 11:24:36.885 [DEBUG   ] [viseron.components.ffmpeg.stream.mobile_test] - FFprobe command: ffprobe -hide_banner -loglevel error -print_format json -show_error -show_entries stream=codec_type,codec_name,width,height,avg_frame_rate -rtsp_transport tcp rtsp://*****:*****@192.168.1.6:1935/h264_ulaw.sdp
> viseron  | 2025-03-09 11:24:38.803 [DEBUG   ] [viseron.components.webserver.websocket_api] - WebSocket opened
> viseron  | 2025-03-09 11:24:38.829 [DEBUG   ] [viseron.components.webserver.websocket_api] - Received {"type":"subscribe_timespans","camera_identifiers":["mobile_test"],"date":"2025-03-09","debounce":5,"command_id":1}
> viseron  | 2025-03-09 11:24:38.853 [DEBUG   ] [viseron.components.webserver.api.handlers] - Routing to CamerasAPIHandler.get_cameras(*args=[], **kwargs={}, request_arguments={})
> viseron  | 2025-03-09 11:24:39.137 [DEBUG   ] [viseron.components.webserver.websocket_api] - Received {"type":"subscribe_states","entity_id":"binary_sensor.mobile_test_connected","command_id":2}
> viseron  | 2025-03-09 11:24:39.139 [DEBUG   ] [viseron.components.webserver.api.handlers] - Routing to CamerasAPIHandler.get_failed_cameras(*args=[], **kwargs={}, request_arguments={})
> viseron  | 2025-03-09 11:24:39.144 [DEBUG   ] [viseron.components.data_stream] - Subscribing to data topic event/state_changed, <function subscribe_states.<locals>.forward_state_change at 0x7f040d335d80>
> viseron  | 2025-03-09 11:24:39.146 [DEBUG   ] [viseron.components.webserver.api.handlers] - Routing to EventsAPIHandler.get_events(*args=[], **kwargs={'camera_identifier': 'mobile_test'}, request_arguments={'date': '2025-03-09'})
> viseron  | 2025-03-09 11:24:39.148 [WARNING ] [tornado.access] - 404 GET /api/v1/events/mobile_test?date=2025-03-09 (172.19.0.1) 60.46ms
> viseron  | 2025-03-09 11:24:39.149 [DEBUG   ] [viseron.components.webserver.api.handlers] - Routing to CameraAPIHandler.get_camera_endpoint(*args=[], **kwargs={'camera_identifier': 'mobile_test'}, request_arguments={'failed': False})
> viseron  | 2025-03-09 11:24:39.150 [WARNING ] [tornado.access] - 404 GET /api/v1/camera/mobile_test (172.19.0.1) 295.54ms
> viseron  | 2025-03-09 11:24:39.152 [DEBUG   ] [viseron.components.webserver.websocket_api] - Received {"type":"subscribe_states","entity_id":"binary_sensor.mobile_test_still_image_available","command_id":3}
> viseron  | 2025-03-09 11:24:39.155 [DEBUG   ] [viseron.components.webserver.api.handlers] - Routing to EventsAPIHandler.post_events_amount_multiple(*args=[], **kwargs={}, request_arguments={})
> viseron  | 2025-03-09 11:24:39.156 [DEBUG   ] [viseron.components.data_stream] - Subscribing to data topic event/state_changed, <function subscribe_states.<locals>.forward_state_change at 0x7f040d3367a0>
> viseron  | 2025-03-09 11:24:39.161 [DEBUG   ] [viseron.components.webserver.websocket_api] - Received {"type":"subscribe_states","entity_id":"toggle.mobile_test_connection","command_id":4}
> viseron  | 2025-03-09 11:24:39.172 [DEBUG   ] [viseron.components.data_stream] - Subscribing to data topic event/state_changed, <function subscribe_states.<locals>.forward_state_change at 0x7f040c79d6c0>
> viseron  | 2025-03-09 11:24:39.178 [DEBUG   ] [viseron.components.webserver.websocket_api] - Received {"type":"subscribe_states","entity_id":"sensor.mobile_test_access_token","command_id":5}
> viseron  | 2025-03-09 11:24:39.183 [DEBUG   ] [viseron.components.data_stream] - Subscribing to data topic event/state_changed, <function subscribe_states.<locals>.forward_state_change at 0x7f040d335510>
> viseron  | 2025-03-09 11:24:39.186 [DEBUG   ] [viseron.components.webserver.websocket_api] - Received {"type":"subscribe_event","event":"domain/registered/camera","command_id":6}
> viseron  | 2025-03-09 11:24:39.190 [DEBUG   ] [viseron.components.data_stream] - Subscribing to data topic event/domain/registered/camera, <function subscribe_event.<locals>.forward_event at 0x7f040d336290>
> viseron  | 2025-03-09 11:24:39.192 [DEBUG   ] [viseron.components.webserver.websocket_api] - Received {"type":"subscribe_event","event":"domain/setup/domain_failed/camera/*","command_id":7}
> viseron  | 2025-03-09 11:24:39.194 [DEBUG   ] [viseron.components.data_stream] - Subscribing to data topic event/domain/setup/domain_failed/camera/*, <function subscribe_event.<locals>.forward_event at 0x7f040d3360e0>
> viseron  | 2025-03-09 11:24:39.196 [DEBUG   ] [viseron.components.webserver.websocket_api] - Received {"type":"subscribe_event","event":"domain/setup/domain_loaded/camera/*","command_id":8}
> viseron  | 2025-03-09 11:24:39.199 [DEBUG   ] [viseron.components.data_stream] - Subscribing to data topic event/domain/setup/domain_loaded/camera/*, <function subscribe_event.<locals>.forward_event at 0x7f040c79d870>
> viseron  | 2025-03-09 11:24:39.200 [DEBUG   ] [viseron.components.webserver.websocket_api] - Received {"type":"subscribe_event","event":"mobile_test/camera_event/*/*","debounce":5,"command_id":9}
> viseron  | 2025-03-09 11:24:39.203 [DEBUG   ] [viseron.components.data_stream] - Subscribing to data topic event/mobile_test/camera_event/*/*, <function subscribe_event.<locals>.debounced_forward_event at 0x7f040c79cc10>
> viseron  | 2025-03-09 11:24:39.204 [DEBUG   ] [viseron.components.webserver.websocket_api] - Received {"type":"subscribe_event","event":"mobile_test/recorder/start","debounce":5,"command_id":10}
> viseron  | 2025-03-09 11:24:39.207 [DEBUG   ] [viseron.components.data_stream] - Subscribing to data topic event/mobile_test/recorder/start, <function subscribe_event.<locals>.debounced_forward_event at 0x7f040c79dea0>
> viseron  | 2025-03-09 11:24:39.209 [DEBUG   ] [viseron.components.webserver.websocket_api] - Received {"type":"subscribe_event","event":"mobile_test/recorder/stop","debounce":5,"command_id":11}
> viseron  | 2025-03-09 11:24:39.213 [DEBUG   ] [viseron.components.data_stream] - Subscribing to data topic event/mobile_test/recorder/stop, <function subscribe_event.<locals>.debounced_forward_event at 0x7f040c79e0e0>
> viseron  | 2025-03-09 11:24:39.214 [DEBUG   ] [viseron.components.webserver.websocket_api] - Received {"type":"subscribe_timespans","camera_identifiers":["mobile_test"],"date":"2025-03-09","debounce":5,"command_id":12}
> viseron  | 2025-03-09 11:24:43.788 [DEBUG   ] [viseron.components.ffmpeg.stream.mobile_test] - Closing LogPipe
> viseron  | 2025-03-09 11:24:43.790 [DEBUG   ] [viseron.components.ffmpeg.stream.mobile_test] - Stream information from FFprobe: Width: 1920 Height: 1080 FPS: 30 Video Codec: h264 Audio Codec: pcm_mulaw
> viseron  | 2025-03-09 11:24:43.791 [DEBUG   ] [viseron.components.ffmpeg.stream.mobile_test] - LogPipe thread ended
> viseron  | 2025-03-09 11:24:43.794 [DEBUG   ] [viseron.states] - Adding entity MobileTest Connected from component ffmpeg
> viseron  | 2025-03-09 11:24:43.796 [DEBUG   ] [viseron.components.data_stream] - Subscribing to data topic event/mobile_test/camera/status, <bound method ConnectionStatusBinarySensor.handle_event of <viseron.domains.camera.entity.binary_sensor.ConnectionStatusBinarySensor object at 0x7f040d331ea0>>
> viseron  | 2025-03-09 11:24:43.796 [DEBUG   ] [viseron.states] - Setting state of binary_sensor.mobile_test_connected to state: off, attributes {'name': 'MobileTest Connected', 'domain': 'binary_sensor'}
> viseron  | 2025-03-09 11:24:44.245 [DEBUG   ] [viseron.states] - Adding entity MobileTest Still Image Available from component ffmpeg
> viseron  | 2025-03-09 11:24:44.249 [DEBUG   ] [viseron.components.data_stream] - Subscribing to data topic event/mobile_test/still_image/available, <bound method StillImageAvailableBinarySensor.handle_event of <viseron.domains.camera.entity.binary_sensor.StillImageAvailableBinarySensor object at 0x7f040d332c20>>
> viseron  | 2025-03-09 11:24:44.252 [DEBUG   ] [viseron.states] - Setting state of binary_sensor.mobile_test_still_image_available to state: off, attributes {'name': 'MobileTest Still Image Available', 'domain': 'binary_sensor'}
> viseron  | 2025-03-09 11:24:44.532 [DEBUG   ] [viseron.states] - Adding entity MobileTest Connection from component ffmpeg
> viseron  | 2025-03-09 11:24:44.536 [DEBUG   ] [viseron.components.data_stream] - Subscribing to data topic event/mobile_test/camera/start, <bound method CameraConnectionToggle.handle_start_event of <viseron.domains.camera.entity.toggle.CameraConnectionToggle object at 0x7f040d332ce0>>
> viseron  | 2025-03-09 11:24:44.538 [DEBUG   ] [viseron.components.data_stream] - Subscribing to data topic event/mobile_test/camera/stop, <bound method CameraConnectionToggle.handle_stop_event of <viseron.domains.camera.entity.toggle.CameraConnectionToggle object at 0x7f040d332ce0>>
> viseron  | 2025-03-09 11:24:44.539 [DEBUG   ] [viseron.components.data_stream] - Subscribing to data topic event/mobile_test/camera/started, <bound method CameraConnectionToggle.handle_started_stopped_event of <viseron.domains.camera.entity.toggle.CameraConnectionToggle object at 0x7f040d332ce0>>
> viseron  | 2025-03-09 11:24:44.540 [DEBUG   ] [viseron.components.data_stream] - Subscribing to data topic event/mobile_test/camera/stopped, <bound method CameraConnectionToggle.handle_started_stopped_event of <viseron.domains.camera.entity.toggle.CameraConnectionToggle object at 0x7f040d332ce0>>
> viseron  | 2025-03-09 11:24:44.542 [DEBUG   ] [viseron.states] - Setting state of toggle.mobile_test_connection to state: off, attributes {'name': 'MobileTest Connection', 'domain': 'toggle'}
> viseron  | 2025-03-09 11:24:44.855 [DEBUG   ] [viseron.states] - Adding entity MobileTest Access Token from component ffmpeg
> viseron  | 2025-03-09 11:24:44.859 [DEBUG   ] [viseron.states] - Setting state of sensor.mobile_test_access_token to state: adc6f46ccccdd80e8fd8e0e9cd95bc16e8f9b48a6f8afd5303be111ff2844d1656f198c51535fcc14e6370e7bf99e1438163e7b620001db93e891f6861022b2d, attributes {'name': 'MobileTest Access Token', 'domain': 'sensor'}
> viseron  | 2025-03-09 11:24:45.169 [DEBUG   ] [viseron.states] - Setting state of sensor.mobile_test_access_token to state: 4b48accab5dd6105d7b7dd7ce773f3eb422c6fe349a1f098bfbebdb9550dadb2a755b880c99e61f135abf762980e367d6d015d019d0f33ca82d46708cae9ef4f, attributes {'name': 'MobileTest Access Token', 'domain': 'sensor'}
> viseron  | 2025-03-09 11:24:45.267 [DEBUG   ] [viseron.components.storage.tier_handler.mobile_test.tier_0.recorder.segments] - Adding handler for /files/segments/mobile_test/(.*.m4s$)
> viseron  | 2025-03-09 11:24:45.278 [DEBUG   ] [viseron.components.storage.tier_handler.mobile_test.tier_0.recorder.segments] - Adding handler for /files/segments/mobile_test/(.*.mp4$)
> viseron  | 2025-03-09 11:24:45.280 [DEBUG   ] [viseron.components.data_stream] - Subscribing to data topic viseron/signal/last_write, <bound method TierHandler._shutdown of <viseron.components.storage.tier_handler.SegmentsTierHandler object at 0x7f040c777640>>
> viseron  | 2025-03-09 11:24:45.281 [DEBUG   ] [viseron.components.data_stream] - Subscribing to data topic viseron/signal/stopping, <bound method TierHandler._stop_observer of <viseron.components.storage.tier_handler.SegmentsTierHandler object at 0x7f040c777640>>
> viseron  | 2025-03-09 11:24:45.282 [DEBUG   ] [viseron.watchdog] - Registering <RestartableThread(tier_handler_mobile_test, initial daemon)> in the watchdog
> viseron  | 2025-03-09 11:24:45.284 [DEBUG   ] [viseron.components.storage.tier_handler.mobile_test.tier_0.recorder.segments] - Tier 0 monitoring path: /segments/mobile_test
> viseron  | 2025-03-09 11:24:45.289 [DEBUG   ] [viseron.components.storage.tier_handler.mobile_test.tier_0.recorder.event_clips] - Adding handler for /files/event_clips/mobile_test/(.*.mobile_test$)
> viseron  | 2025-03-09 11:24:45.290 [DEBUG   ] [viseron.components.data_stream] - Subscribing to data topic viseron/signal/last_write, <bound method TierHandler._shutdown of <viseron.components.storage.tier_handler.EventClipTierHandler object at 0x7f040c7c8a90>>
> viseron  | 2025-03-09 11:24:45.291 [DEBUG   ] [viseron.components.data_stream] - Subscribing to data topic viseron/signal/stopping, <bound method TierHandler._stop_observer of <viseron.components.storage.tier_handler.EventClipTierHandler object at 0x7f040c7c8a90>>
> viseron  | 2025-03-09 11:24:45.292 [DEBUG   ] [viseron.watchdog] - Registering <RestartableThread(tier_handler_mobile_test, initial daemon)> in the watchdog
> viseron  | 2025-03-09 11:24:45.294 [DEBUG   ] [viseron.components.storage.tier_handler.mobile_test.tier_0.recorder.event_clips] - Tier 0 monitoring path: /event_clips/mobile_test
> viseron  | 2025-03-09 11:24:45.296 [DEBUG   ] [viseron.components.storage.tier_handler.mobile_test.tier_0.recorder.thumbnails] - Adding handler for /files/thumbnails/mobile_test/(.*.jpg$)
> viseron  | 2025-03-09 11:24:45.297 [DEBUG   ] [viseron.components.data_stream] - Subscribing to data topic viseron/signal/last_write, <bound method TierHandler._shutdown of <viseron.components.storage.tier_handler.ThumbnailTierHandler object at 0x7f040c7c9870>>
> viseron  | 2025-03-09 11:24:45.298 [DEBUG   ] [viseron.components.data_stream] - Subscribing to data topic viseron/signal/stopping, <bound method TierHandler._stop_observer of <viseron.components.storage.tier_handler.ThumbnailTierHandler object at 0x7f040c7c9870>>
> viseron  | 2025-03-09 11:24:45.299 [DEBUG   ] [viseron.watchdog] - Registering <RestartableThread(tier_handler_mobile_test, initial daemon)> in the watchdog
> viseron  | 2025-03-09 11:24:45.300 [DEBUG   ] [viseron.components.storage.tier_handler.mobile_test.tier_0.recorder.thumbnails] - Tier 0 monitoring path: /thumbnails/mobile_test
> viseron  | 2025-03-09 11:24:45.304 [DEBUG   ] [viseron.components.storage.tier_handler.mobile_test.tier_0.snapshots.face_recognition] - Adding handler for /files/snapshots/face_recognition/mobile_test/(.*.jpg$)
> viseron  | 2025-03-09 11:24:45.305 [DEBUG   ] [viseron.components.data_stream] - Subscribing to data topic viseron/signal/last_write, <bound method TierHandler._shutdown of <viseron.components.storage.tier_handler.SnapshotTierHandler object at 0x7f040c7cbc40>>
> viseron  | 2025-03-09 11:24:45.306 [DEBUG   ] [viseron.components.data_stream] - Subscribing to data topic viseron/signal/stopping, <bound method TierHandler._stop_observer of <viseron.components.storage.tier_handler.SnapshotTierHandler object at 0x7f040c7cbc40>>
> viseron  | 2025-03-09 11:24:45.307 [DEBUG   ] [viseron.watchdog] - Registering <RestartableThread(tier_handler_mobile_test, initial daemon)> in the watchdog
> viseron  | 2025-03-09 11:24:45.309 [DEBUG   ] [viseron.components.storage.tier_handler.mobile_test.tier_0.snapshots.face_recognition] - Tier 0 monitoring path: /snapshots/face_recognition/mobile_test
> viseron  | 2025-03-09 11:24:45.311 [DEBUG   ] [viseron.components.storage.tier_handler.mobile_test.tier_0.snapshots.object_detector] - Adding handler for /files/snapshots/object_detector/mobile_test/(.*.jpg$)
> viseron  | 2025-03-09 11:24:45.313 [DEBUG   ] [viseron.components.data_stream] - Subscribing to data topic viseron/signal/last_write, <bound method TierHandler._shutdown of <viseron.components.storage.tier_handler.SnapshotTierHandler object at 0x7f040c7fb340>>
> viseron  | 2025-03-09 11:24:45.313 [DEBUG   ] [viseron.components.data_stream] - Subscribing to data topic viseron/signal/stopping, <bound method TierHandler._stop_observer of <viseron.components.storage.tier_handler.SnapshotTierHandler object at 0x7f040c7fb340>>
> viseron  | 2025-03-09 11:24:45.314 [DEBUG   ] [viseron.watchdog] - Registering <RestartableThread(tier_handler_mobile_test, initial daemon)> in the watchdog
> viseron  | 2025-03-09 11:24:45.315 [DEBUG   ] [viseron.components.storage.tier_handler.mobile_test.tier_0.snapshots.object_detector] - Tier 0 monitoring path: /snapshots/object_detector/mobile_test
> viseron  | 2025-03-09 11:24:45.318 [DEBUG   ] [viseron.components.storage.tier_handler.mobile_test.tier_0.snapshots.license_plate_recognition] - Adding handler for /files/snapshots/license_plate_recognition/mobile_test/(.*.jpg$)
> viseron  | 2025-03-09 11:24:45.319 [DEBUG   ] [viseron.components.data_stream] - Subscribing to data topic viseron/signal/last_write, <bound method TierHandler._shutdown of <viseron.components.storage.tier_handler.SnapshotTierHandler object at 0x7f040c7f94e0>>
> viseron  | 2025-03-09 11:24:45.320 [DEBUG   ] [viseron.components.data_stream] - Subscribing to data topic viseron/signal/stopping, <bound method TierHandler._stop_observer of <viseron.components.storage.tier_handler.SnapshotTierHandler object at 0x7f040c7f94e0>>
> viseron  | 2025-03-09 11:24:45.321 [DEBUG   ] [viseron.watchdog] - Registering <RestartableThread(tier_handler_mobile_test, initial daemon)> in the watchdog
> viseron  | 2025-03-09 11:24:45.322 [DEBUG   ] [viseron.components.storage.tier_handler.mobile_test.tier_0.snapshots.license_plate_recognition] - Tier 0 monitoring path: /snapshots/license_plate_recognition/mobile_test
> viseron  | 2025-03-09 11:24:45.325 [DEBUG   ] [viseron.components.storage.tier_handler.mobile_test.tier_0.snapshots.motion_detector] - Adding handler for /files/snapshots/motion_detector/mobile_test/(.*.jpg$)
> viseron  | 2025-03-09 11:24:45.327 [DEBUG   ] [viseron.components.data_stream] - Subscribing to data topic viseron/signal/last_write, <bound method TierHandler._shutdown of <viseron.components.storage.tier_handler.SnapshotTierHandler object at 0x7f040c7fa890>>
> viseron  | 2025-03-09 11:24:45.327 [DEBUG   ] [viseron.components.data_stream] - Subscribing to data topic viseron/signal/stopping, <bound method TierHandler._stop_observer of <viseron.components.storage.tier_handler.SnapshotTierHandler object at 0x7f040c7fa890>>
> viseron  | 2025-03-09 11:24:45.329 [DEBUG   ] [viseron.watchdog] - Registering <RestartableThread(tier_handler_mobile_test, initial daemon)> in the watchdog
> viseron  | 2025-03-09 11:24:45.330 [DEBUG   ] [viseron.components.storage.tier_handler.mobile_test.tier_0.snapshots.motion_detector] - Tier 0 monitoring path: /snapshots/motion_detector/mobile_test
> viseron  | 2025-03-09 11:24:45.333 [DEBUG   ] [viseron.components.data_stream] - Subscribing to data topic viseron/signal/shutdown, <bound method Fragmenter._shutdown of <viseron.domains.camera.fragmenter.Fragmenter object at 0x7f040c777520>>
> viseron  | 2025-03-09 11:24:45.362 [DEBUG   ] [viseron.states] - Adding entity MobileTest Recorder from component ffmpeg
> viseron  | 2025-03-09 11:24:45.363 [DEBUG   ] [viseron.components.data_stream] - Subscribing to data topic event/mobile_test/recorder/start, <bound method RecorderBinarySensor.handle_start_event of <viseron.domains.camera.entity.binary_sensor.RecorderBinarySensor object at 0x7f040c328070>>
> viseron  | 2025-03-09 11:24:45.364 [DEBUG   ] [viseron.components.data_stream] - Subscribing to data topic event/mobile_test/recorder/stop, <bound method RecorderBinarySensor.handle_stop_event of <viseron.domains.camera.entity.binary_sensor.RecorderBinarySensor object at 0x7f040c328070>>
> viseron  | 2025-03-09 11:24:45.364 [DEBUG   ] [viseron.states] - Setting state of binary_sensor.mobile_test_recorder to state: off, attributes {'name': 'MobileTest Recorder', 'domain': 'binary_sensor'}
> viseron  | 2025-03-09 11:24:45.529 [DEBUG   ] [viseron.states] - Adding entity MobileTest Latest Thumbnail from component ffmpeg
> viseron  | 2025-03-09 11:24:45.532 [DEBUG   ] [viseron.components.data_stream] - Subscribing to data topic event/mobile_test/recorder/start, <bound method ThumbnailImage.handle_event of <viseron.domains.camera.entity.image.ThumbnailImage object at 0x7f040c328310>>
> viseron  | 2025-03-09 11:24:45.533 [DEBUG   ] [viseron.states] - Setting state of image.mobile_test_latest_thumbnail to state: unknown, attributes {'name': 'MobileTest Latest Thumbnail', 'domain': 'image', 'start_time': None, 'thumbnail_path': None}
> viseron  | 2025-03-09 11:24:45.650 [DEBUG   ] [viseron.components.ffmpeg.recorder.mobile_test] - Initializing recorder
> viseron  | 2025-03-09 11:24:45.652 [DEBUG   ] [viseron.components.ffmpeg.camera.mobile_test] - Initializing camera MobileTest
> viseron  | 2025-03-09 11:24:45.652 [DEBUG   ] [viseron.components.ffmpeg.camera.mobile_test] - Resolution: 1920x1080 @ 30 FPS
> viseron  | 2025-03-09 11:24:45.653 [DEBUG   ] [viseron.components.ffmpeg.camera.mobile_test] - Camera MobileTest initialized
> viseron  | 2025-03-09 11:24:45.654 [DEBUG   ] [viseron.core] - Registering domain camera with identifier mobile_test
> viseron  | 2025-03-09 11:24:45.654 [INFO    ] [viseron.components] - Setup of domain camera for component ffmpeg with identifier mobile_test took 8.8 seconds
> viseron  | 2025-03-09 11:24:45.657 [DEBUG   ] [viseron.components.nvr.nvr.mobile_test] - Initializing NVR for camera MobileTest
> viseron  | 2025-03-09 11:24:45.659 [INFO    ] [viseron.components.nvr.nvr.mobile_test] - Motion detector is disabled
> viseron  | 2025-03-09 11:24:45.661 [INFO    ] [viseron.components.nvr.nvr.mobile_test] - Object detector is disabled
> viseron  | 2025-03-09 11:24:45.662 [DEBUG   ] [viseron.components.nvr.nvr.mobile_test] - Running without any detectors
> viseron  | 2025-03-09 11:24:45.664 [DEBUG   ] [viseron.components.data_stream] - Subscribing to data topic no_detector/mobile_test/result, <queue.Queue object at 0x7f040c776800>
> viseron  | 2025-03-09 11:24:45.665 [DEBUG   ] [viseron.components.data_stream] - Subscribing to data topic mobile_test/camera/frame_bytes, <queue.Queue object at 0x7f040c7ba4d0>
> viseron  | 2025-03-09 11:24:45.666 [DEBUG   ] [viseron.watchdog] - Registering <RestartableThread(NVR_mobile_test, initial)> in the watchdog
> viseron  | 2025-03-09 11:24:45.667 [DEBUG   ] [viseron.components.nvr.nvr.mobile_test] - Waiting for first frame
> viseron  | 2025-03-09 11:24:45.667 [DEBUG   ] [viseron.states] - Adding entity MobileTest Operation State from component nvr
> viseron  | 2025-03-09 11:24:45.670 [DEBUG   ] [viseron.components.data_stream] - Subscribing to data topic event/mobile_test/nvr/operation_state, <bound method OperationStateSensor.handle_event of <viseron.components.nvr.sensor.OperationStateSensor object at 0x7f040c3282b0>>
> viseron  | 2025-03-09 11:24:45.672 [DEBUG   ] [viseron.states] - Setting state of sensor.mobile_test_operation_state to state: unknown, attributes {'name': 'MobileTest Operation State', 'domain': 'sensor'}
> viseron  | 2025-03-09 11:24:45.686 [DEBUG   ] [viseron.components.webserver.api.handlers] - Routing to CamerasAPIHandler.get_cameras(*args=[], **kwargs={}, request_arguments={})
> viseron  | 2025-03-09 11:24:45.691 [DEBUG   ] [viseron.components.webserver.api.handlers] - Routing to CamerasAPIHandler.get_failed_cameras(*args=[], **kwargs={}, request_arguments={})
> viseron  | 2025-03-09 11:24:45.704 [DEBUG   ] [viseron.components.webserver.api.handlers] - Routing to CamerasAPIHandler.get_failed_cameras(*args=[], **kwargs={}, request_arguments={}), message repeated 2 times
> viseron  | 2025-03-09 11:24:45.738 [DEBUG   ] [viseron.states] - Setting state of sensor.mobile_test_operation_state to state: idle, attributes {'name': 'MobileTest Operation State', 'domain': 'sensor'}
> viseron  | 2025-03-09 11:24:45.827 [DEBUG   ] [viseron.components.data_stream] - Subscribing to data topic viseron/signal/shutdown, <bound method NVR.stop of NVR_mobile_test>
> viseron  | 2025-03-09 11:24:45.829 [DEBUG   ] [viseron.components.ffmpeg.camera.mobile_test] - Starting capture thread
> viseron  | 2025-03-09 11:24:45.830 [DEBUG   ] [viseron.watchdog] - Registering <RestartableThread(viseron.camera.mobile_test, initial daemon)> in the watchdog
> viseron  | 2025-03-09 11:24:45.831 [WARNING ] [viseron.components.ffmpeg.stream.mobile_test] - Container mp4 does not support pcm_mulaw audio codec. Audio will be transcoded as aac.
> viseron  | 2025-03-09 11:24:45.834 [DEBUG   ] [viseron.components.ffmpeg.stream.mobile_test] - FFmpeg decoder command: ffmpeg_mobile_test -hide_banner -loglevel error -avoid_negative_ts make_zero -fflags nobuffer -flags low_delay -strict experimental -fflags +genpts -use_wallclock_as_timestamps 1 -vsync 0 -timeout 5000000 -rtsp_transport tcp -i rtsp://*****:*****@192.168.1.6:1935/h264_ulaw.sdp -f hls -hls_time 5 -hls_segment_type fmp4 -hls_list_size 10 -hls_flags program_date_time+delete_segments -strftime 1 -hls_segment_filename /tmp/viseron/segments/mobile_test/%s.m4s -c:v copy -c:a aac /tmp/viseron/segments/mobile_test/index.m3u8 -vf transpose=2,transpose=2,drawtext=text='%{localtime}':x=(w-tw):y=h-(2*lh):fontcolor=white:box=1:boxcolor=0x00000000@1:fontsize=26,fps=1 -f rawvideo -pix_fmt nv12 pipe:1
> viseron  | 2025-03-09 11:24:45.836 [DEBUG   ] [viseron.components.webserver.websocket_api] - Received {"type":"subscribe_timespans","camera_identifiers":["mobile_test"],"date":"2025-03-09","debounce":5,"command_id":13}
> viseron  | 2025-03-09 11:24:45.837 [WARNING ] [viseron.components.ffmpeg.stream.mobile_test] - Container mp4 does not support pcm_mulaw audio codec. Audio will be transcoded as aac.
> viseron  | 2025-03-09 11:24:45.847 [DEBUG   ] [viseron.components.data_stream] - Subscribing to data topic event/file_created/mobile_test/recorder/segments/*, <function subscribe_timespans.<locals>.forward_timespans at 0x7f040c321900>
> viseron  | 2025-03-09 11:24:45.848 [DEBUG   ] [viseron.components.data_stream] - Subscribing to data topic event/file_deleted/mobile_test/recorder/segments/*, <function subscribe_timespans.<locals>.forward_timespans at 0x7f040c321900>
> viseron  | 2025-03-09 11:24:45.860 [INFO    ] [viseron.components.nvr.nvr.mobile_test] - NVR for camera MobileTest initialized
> viseron  | 2025-03-09 11:24:45.875 [DEBUG   ] [viseron.states] - Setting state of toggle.mobile_test_connection to state: on, attributes {'name': 'MobileTest Connection', 'domain': 'toggle'}
> viseron  | 2025-03-09 11:24:45.887 [INFO    ] [viseron.components] - Setup of domain nvr for component nvr with identifier mobile_test took 0.2 seconds
> viseron  | 2025-03-09 11:24:45.902 [DEBUG   ] [viseron.helpers.storage] - Writing data to /config/.viseron/critical_components_config
> viseron  | 2025-03-09 11:24:45.909 [INFO    ] [viseron.core] - Viseron initialized in 10.0 seconds
> viseron  | 2025-03-09 11:24:45.921 [DEBUG   ] [viseron.components.webserver.api.handlers] - Routing to EventsAPIHandler.get_events(*args=[], **kwargs={'camera_identifier': 'mobile_test'}, request_arguments={'date': '2025-03-09'})
> viseron  | 2025-03-09 11:24:45.929 [DEBUG   ] [viseron.components.webserver.api.handlers] - Routing to CameraAPIHandler.get_camera_endpoint(*args=[], **kwargs={'camera_identifier': 'mobile_test'}, request_arguments={'failed': False})
> viseron  | 2025-03-09 11:24:45.933 [DEBUG   ] [viseron.components.webserver.api.handlers] - Routing to HlsAPIHandler.get_hls_playlist_time_period(*args=[], **kwargs={'camera_identifier': 'mobile_test'}, request_arguments={'start_timestamp': 1741512227, 'daily': True, 'end_timestamp': None})
> viseron  | 2025-03-09 11:24:45.965 [ERROR   ] [viseron.components.webserver.api.v1.hls] - Could not find init.mp4 file for camera mobile_test
> viseron  | 2025-03-09 11:24:45.972 [WARNING ] [tornado.access] - 404 GET /api/v1/hls/mobile_test/index.m3u8?start_timestamp=1741512227&daily=true (172.19.0.1) 70.18ms
> viseron  | 2025-03-09 11:24:46.335 [DEBUG   ] [viseron.domains.camera.fragmenter.mobile_test] - Checking for new segments to fragment in /tmp/viseron/segments/mobile_test
> viseron  | 2025-03-09 11:24:47.335 [DEBUG   ] [viseron.domains.camera.fragmenter.mobile_test] - Checking for new segments to fragment in /tmp/viseron/segments/mobile_test, message repeated 2 times
> viseron  | 2025-03-09 11:24:48.335 [DEBUG   ] [viseron.domains.camera.fragmenter.mobile_test] - Checking for new segments to fragment in /tmp/viseron/segments/mobile_test, message repeated 3 times
> viseron  | 2025-03-09 11:24:49.335 [DEBUG   ] [viseron.domains.camera.fragmenter.mobile_test] - Checking for new segments to fragment in /tmp/viseron/segments/mobile_test, message repeated 4 times
> viseron  | 2025-03-09 11:24:50.335 [DEBUG   ] [viseron.domains.camera.fragmenter.mobile_test] - Checking for new segments to fragment in /tmp/viseron/segments/mobile_test, message repeated 5 times
> viseron  | 2025-03-09 11:24:51.094 [DEBUG   ] [viseron.components.webserver.api.handlers] - Routing to HlsAPIHandler.get_hls_playlist_time_period(*args=[], **kwargs={'camera_identifier': 'mobile_test'}, request_arguments={'start_timestamp': 1741512227, 'daily': True, 'end_timestamp': None})
> viseron  | 2025-03-09 11:24:51.114 [ERROR   ] [viseron.components.webserver.api.v1.hls] - Could not find init.mp4 file for camera mobile_test
> viseron  | 2025-03-09 11:24:51.117 [WARNING ] [tornado.access] - 404 GET /api/v1/hls/mobile_test/index.m3u8?start_timestamp=1741512227&daily=true (172.19.0.1) 26.29ms
> viseron  | 2025-03-09 11:24:51.335 [DEBUG   ] [viseron.domains.camera.fragmenter.mobile_test] - Checking for new segments to fragment in /tmp/viseron/segments/mobile_test
> viseron  | 2025-03-09 11:24:52.335 [DEBUG   ] [viseron.domains.camera.fragmenter.mobile_test] - Checking for new segments to fragment in /tmp/viseron/segments/mobile_test, message repeated 2 times
> viseron  | 2025-03-09 11:24:53.120 [ERROR   ] [viseron.components.ffmpeg.stream.mobile_test] - Fontconfig error: Cannot load default config file
> viseron  | 2025-03-09 11:24:53.335 [DEBUG   ] [viseron.domains.camera.fragmenter.mobile_test] - Checking for new segments to fragment in /tmp/viseron/segments/mobile_test
> viseron  | 2025-03-09 11:24:54.335 [DEBUG   ] [viseron.domains.camera.fragmenter.mobile_test] - Checking for new segments to fragment in /tmp/viseron/segments/mobile_test, message repeated 2 times
> viseron  | 2025-03-09 11:24:55.093 [DEBUG   ] [viseron.states] - Setting state of binary_sensor.mobile_test_connected to state: on, attributes {'name': 'MobileTest Connected', 'domain': 'binary_sensor'}
> viseron  | 2025-03-09 11:24:55.152 [DEBUG   ] [viseron.states] - Setting state of binary_sensor.mobile_test_still_image_available to state: on, attributes {'name': 'MobileTest Still Image Available', 'domain': 'binary_sensor'}
> viseron  | 2025-03-09 11:24:55.155 [DEBUG   ] [viseron.components.nvr.nvr.mobile_test] - First frame received
> viseron  | 2025-03-09 11:24:55.244 [DEBUG   ] [viseron.components.webserver.api.handlers] - Routing to CameraAPIHandler.get_camera_endpoint(*args=[], **kwargs={'camera_identifier': 'mobile_test'}, request_arguments={'failed': False})
> viseron  | 2025-03-09 11:24:55.248 [DEBUG   ] [viseron.components.webserver.api.handlers] - Routing to CameraAPIHandler.get_camera_endpoint(*args=[], **kwargs={'camera_identifier': 'mobile_test'}, request_arguments={'failed': False}), message repeated 2 times
> viseron  | 2025-03-09 11:24:55.335 [DEBUG   ] [viseron.domains.camera.fragmenter.mobile_test] - Checking for new segments to fragment in /tmp/viseron/segments/mobile_test
> viseron  | 2025-03-09 11:24:56.197 [DEBUG   ] [viseron.components.webserver.api.handlers] - Routing to HlsAPIHandler.get_hls_playlist_time_period(*args=[], **kwargs={'camera_identifier': 'mobile_test'}, request_arguments={'start_timestamp': 1741512227, 'daily': True, 'end_timestamp': None})
> viseron  | 2025-03-09 11:24:56.211 [ERROR   ] [viseron.components.webserver.api.v1.hls] - Could not find init.mp4 file for camera mobile_test
> viseron  | 2025-03-09 11:24:56.213 [WARNING ] [tornado.access] - 404 GET /api/v1/hls/mobile_test/index.m3u8?start_timestamp=1741512227&daily=true (172.19.0.1) 20.13ms
> viseron  | 2025-03-09 11:24:56.336 [DEBUG   ] [viseron.domains.camera.fragmenter.mobile_test] - Checking for new segments to fragment in /tmp/viseron/segments/mobile_test
> viseron  | 2025-03-09 11:24:57.335 [DEBUG   ] [viseron.domains.camera.fragmenter.mobile_test] - Checking for new segments to fragment in /tmp/viseron/segments/mobile_test, message repeated 2 times
> viseron  | 2025-03-09 11:24:58.335 [DEBUG   ] [viseron.domains.camera.fragmenter.mobile_test] - Checking for new segments to fragment in /tmp/viseron/segments/mobile_test, message repeated 3 times
> viseron  | 2025-03-09 11:24:59.335 [DEBUG   ] [viseron.domains.camera.fragmenter.mobile_test] - Checking for new segments to fragment in /tmp/viseron/segments/mobile_test, message repeated 4 times
> viseron  | 2025-03-09 11:25:00.335 [DEBUG   ] [viseron.domains.camera.fragmenter.mobile_test] - Checking for new segments to fragment in /tmp/viseron/segments/mobile_test, message repeated 5 times
> viseron  | 2025-03-09 11:25:01.340 [DEBUG   ] [viseron.domains.camera.fragmenter.mobile_test] - Checking for new segments to fragment in /tmp/viseron/segments/mobile_test, message repeated 6 times
> viseron  | 2025-03-09 11:25:01.348 [DEBUG   ] [viseron.components.webserver.api.handlers] - Routing to HlsAPIHandler.get_hls_playlist_time_period(*args=[], **kwargs={'camera_identifier': 'mobile_test'}, request_arguments={'start_timestamp': 1741512227, 'daily': True, 'end_timestamp': None})
> viseron  | 2025-03-09 11:25:01.361 [ERROR   ] [viseron.components.webserver.api.v1.hls] - Could not find init.mp4 file for camera mobile_test
> viseron  | 2025-03-09 11:25:01.363 [WARNING ] [tornado.access] - 404 GET /api/v1/hls/mobile_test/index.m3u8?start_timestamp=1741512227&daily=true (172.19.0.1) 29.52ms
> viseron  | 2025-03-09 11:25:02.337 [DEBUG   ] [viseron.domains.camera.fragmenter.mobile_test] - Checking for new segments to fragment in /tmp/viseron/segments/mobile_test
> viseron  | 2025-03-09 11:25:03.335 [DEBUG   ] [viseron.domains.camera.fragmenter.mobile_test] - Checking for new segments to fragment in /tmp/viseron/segments/mobile_test, message repeated 2 times
> viseron  | 2025-03-09 11:25:04.335 [DEBUG   ] [viseron.domains.camera.fragmenter.mobile_test] - Checking for new segments to fragment in /tmp/viseron/segments/mobile_test, message repeated 3 times
> viseron  | 2025-03-09 11:25:05.335 [DEBUG   ] [viseron.domains.camera.fragmenter.mobile_test] - Checking for new segments to fragment in /tmp/viseron/segments/mobile_test, message repeated 4 times
> viseron  | 2025-03-09 11:25:06.335 [DEBUG   ] [viseron.domains.camera.fragmenter.mobile_test] - Checking for new segments to fragment in /tmp/viseron/segments/mobile_test, message repeated 5 times
> viseron  | 2025-03-09 11:25:06.486 [DEBUG   ] [viseron.components.webserver.api.handlers] - Routing to HlsAPIHandler.get_hls_playlist_time_period(*args=[], **kwargs={'camera_identifier': 'mobile_test'}, request_arguments={'start_timestamp': 1741512227, 'daily': True, 'end_timestamp': None})
> viseron  | 2025-03-09 11:25:06.503 [ERROR   ] [viseron.components.webserver.api.v1.hls] - Could not find init.mp4 file for camera mobile_test
> viseron  | 2025-03-09 11:25:06.506 [WARNING ] [tornado.access] - 404 GET /api/v1/hls/mobile_test/index.m3u8?start_timestamp=1741512227&daily=true (172.19.0.1) 23.63ms
> viseron  | 2025-03-09 11:25:07.335 [DEBUG   ] [viseron.domains.camera.fragmenter.mobile_test] - Checking for new segments to fragment in /tmp/viseron/segments/mobile_test
> viseron  | 2025-03-09 11:25:08.335 [DEBUG   ] [viseron.domains.camera.fragmenter.mobile_test] - Checking for new segments to fragment in /tmp/viseron/segments/mobile_test, message repeated 2 times
> viseron  | 2025-03-09 11:25:08.897 [DEBUG   ] [viseron.components.webserver.websocket_api] - Received {"type":"ping","command_id":14}
> viseron  | 2025-03-09 11:25:09.335 [DEBUG   ] [viseron.domains.camera.fragmenter.mobile_test] - Checking for new segments to fragment in /tmp/viseron/segments/mobile_test
> viseron  | 2025-03-09 11:25:10.336 [DEBUG   ] [viseron.domains.camera.fragmenter.mobile_test] - Checking for new segments to fragment in /tmp/viseron/segments/mobile_test, message repeated 2 times
> viseron  | 2025-03-09 11:25:11.337 [DEBUG   ] [viseron.domains.camera.fragmenter.mobile_test] - Checking for new segments to fragment in /tmp/viseron/segments/mobile_test, message repeated 3 times
> viseron  | 2025-03-09 11:25:11.630 [DEBUG   ] [viseron.components.webserver.api.handlers] - Routing to HlsAPIHandler.get_hls_playlist_time_period(*args=[], **kwargs={'camera_identifier': 'mobile_test'}, request_arguments={'start_timestamp': 1741512227, 'daily': True, 'end_timestamp': None})
> viseron  | 2025-03-09 11:25:11.642 [ERROR   ] [viseron.components.webserver.api.v1.hls] - Could not find init.mp4 file for camera mobile_test
> viseron  | 2025-03-09 11:25:11.644 [WARNING ] [tornado.access] - 404 GET /api/v1/hls/mobile_test/index.m3u8?start_timestamp=1741512227&daily=true (172.19.0.1) 17.21ms
> viseron  | 2025-03-09 11:25:12.335 [DEBUG   ] [viseron.domains.camera.fragmenter.mobile_test] - Checking for new segments to fragment in /tmp/viseron/segments/mobile_test
> viseron  | 2025-03-09 11:25:13.335 [DEBUG   ] [viseron.domains.camera.fragmenter.mobile_test] - Checking for new segments to fragment in /tmp/viseron/segments/mobile_test, message repeated 2 times
> viseron  | 2025-03-09 11:25:14.335 [DEBUG   ] [viseron.domains.camera.fragmenter.mobile_test] - Checking for new segments to fragment in /tmp/viseron/segments/mobile_test, message repeated 3 times
> viseron  | 2025-03-09 11:25:15.335 [DEBUG   ] [viseron.domains.camera.fragmenter.mobile_test] - Checking for new segments to fragment in /tmp/viseron/segments/mobile_test, message repeated 4 times
> viseron  | 2025-03-09 11:25:16.335 [DEBUG   ] [viseron.domains.camera.fragmenter.mobile_test] - Checking for new segments to fragment in /tmp/viseron/segments/mobile_test, message repeated 5 times
> viseron  | 2025-03-09 11:25:16.780 [DEBUG   ] [viseron.components.webserver.api.handlers] - Routing to HlsAPIHandler.get_hls_playlist_time_period(*args=[], **kwargs={'camera_identifier': 'mobile_test'}, request_arguments={'start_timestamp': 1741512227, 'daily': True, 'end_timestamp': None})
> viseron  | 2025-03-09 11:25:16.797 [ERROR   ] [viseron.components.webserver.api.v1.hls] - Could not find init.mp4 file for camera mobile_test
> viseron  | 2025-03-09 11:25:16.799 [WARNING ] [tornado.access] - 404 GET /api/v1/hls/mobile_test/index.m3u8?start_timestamp=1741512227&daily=true (172.19.0.1) 23.56ms
> viseron  | 2025-03-09 11:25:17.335 [DEBUG   ] [viseron.domains.camera.fragmenter.mobile_test] - Checking for new segments to fragment in /tmp/viseron/segments/mobile_test
> viseron  | 2025-03-09 11:25:18.335 [DEBUG   ] [viseron.domains.camera.fragmenter.mobile_test] - Checking for new segments to fragment in /tmp/viseron/segments/mobile_test, message repeated 2 times
> viseron  | 2025-03-09 11:25:19.335 [DEBUG   ] [viseron.domains.camera.fragmenter.mobile_test] - Checking for new segments to fragment in /tmp/viseron/segments/mobile_test, message repeated 3 times
> viseron  | 2025-03-09 11:25:20.335 [DEBUG   ] [viseron.domains.camera.fragmenter.mobile_test] - Checking for new segments to fragment in /tmp/viseron/segments/mobile_test, message repeated 4 times
> viseron  | 2025-03-09 11:25:21.335 [DEBUG   ] [viseron.domains.camera.fragmenter.mobile_test] - Checking for new segments to fragment in /tmp/viseron/segments/mobile_test, message repeated 5 times

SETUP:

  • Compose File:
name: Viseron

services:
  viseron:
    image: roflcoopter/viseron:dev
    container_name: viseron
    restart: always
    shm_size: "1024mb"
    volumes:
      - ${SEGMENTS_LOCATION}:/segments
      - ${SNAPSHOTS_LOCATION}:/snapshots
      - ${THUMBNAILS_LOCATION}:/thumbnails
      - ${EVENTCLIPS_LOCATION}:/event_clips
      - ${RECORDINGS_LOCATION}:/recordings
      - ${CONFIG_LOCATION}:/config
      - /etc/localtime:/etc/localtime:ro
    ports:
      - 8888:8888
    environment:
      - PUID=1000
      - PGID=1000
  • Configs:
logger:
  default_level: debug
  
storage:
  recorder:
    tiers:
      - path: / # Will store segments in /segments folder inside the container
        continuous:
          max_age:
            days: 14
          max_size:
            gb: 50
  snapshots:
    tiers:
      - path: /
        move_on_shutdown: true
        max_age:
          days: 1
        max_size:
          gb: 0.5  

## Start by adding some cameras
ffmpeg:
  camera:
    mobile_test: # This value has to be unique across all cameras
      name: MobileTest
      host: !secret mobile_cam_ip
      port: !secret mobile_cam_port
      path: /h264_ulaw.sdp
      username: !secret username
      password: !secret password
      stream_format: rtsp
      fps: 30
      width: 1920 
      height: 1080 
      video_filters:
        - transpose=2
        - transpose=2
        - drawtext=text='%{localtime}':x=(w-tw):y=h-(2*lh):fontcolor=white:box=1:boxcolor=0x00000000@1:fontsize=26

## To tie everything together we need to configure one more component.
nvr:
  mobile_test: # Run NVR for camera_1

Thank you so much for this amazing project ^_^

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions