forked from Github/frigate
Restart record process if segments stop being written. (#4604)
* Catch when recording segments are not being written to cache and restart ffmpeg responsible for record * Ensure this check is only run for role with record * Fix formatting * Redo recordings validator to watch segments time and restart if no segment for 30 seconds * Formatting * Increase wait time to 120 seconds and improve error message * Add more config checks for record args and add test * Formatting * Specify output args.
This commit is contained in:
@@ -1426,6 +1426,33 @@ class TestConfig(unittest.TestCase):
|
||||
ValidationError, lambda: frigate_config.runtime_config.cameras
|
||||
)
|
||||
|
||||
def test_fails_on_bad_segment_time(self):
|
||||
config = {
|
||||
"mqtt": {"host": "mqtt"},
|
||||
"record": {"enabled": True},
|
||||
"cameras": {
|
||||
"back": {
|
||||
"ffmpeg": {
|
||||
"output_args": {
|
||||
"record": "-f segment -segment_time 70 -segment_format mp4 -reset_timestamps 1 -strftime 1 -c copy -an"
|
||||
},
|
||||
"inputs": [
|
||||
{
|
||||
"path": "rtsp://10.0.0.1:554/video",
|
||||
"roles": ["detect"],
|
||||
},
|
||||
],
|
||||
},
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
frigate_config = FrigateConfig(**config)
|
||||
|
||||
self.assertRaises(
|
||||
ValueError, lambda: frigate_config.runtime_config.ffmpeg.output_args.record
|
||||
)
|
||||
|
||||
def test_fails_zone_defines_untracked_object(self):
|
||||
config = {
|
||||
"mqtt": {"host": "mqtt"},
|
||||
|
||||
Reference in New Issue
Block a user