mirror of
https://github.com/blakeblackshear/frigate.git
synced 2026-09-26 18:48:57 +03:00
* add sub stream recording with adaptive quality playback Optionally record a second, lower bitrate stream alongside the main recording stream via a `record_sub` input role and `record.sub` config block, with its own retention windows. Recordings rows now carry the stream type plus the media details needed to serve both streams from one manifest: video codec, audio presence, audio codec and rate, and a record-time keyframe index. Playback resolves coverage across both streams and merges them into a single VOD sequence, falling back to a discontinuity manifest with per-clip init segments when the media signatures differ. The player exposes a quality selector, and an auto governor picks the stream from stall time, bandwidth, codec support, and the save-data hint. * fix tests and i18n
68 lines
2.1 KiB
JSON
68 lines
2.1 KiB
JSON
{
|
|
"noRecordingsFoundForThisTime": "No recordings found for this time",
|
|
"noPreviewFound": "No Preview Found",
|
|
"noPreviewFoundFor": "No Preview Found for {{cameraName}}",
|
|
"submitFrigatePlus": {
|
|
"title": "Submit this frame to Frigate+?",
|
|
"submit": "Submit",
|
|
"previewError": "Could not load snapshot preview. The recording may not be available at this time."
|
|
},
|
|
"livePlayerRequiredIOSVersion": "iOS 17.1 or greater is required for this live stream type.",
|
|
"streamOffline": {
|
|
"title": "Stream Offline",
|
|
"desc": "No frames have been received on the {{cameraName}} <code>detect</code> stream, check error logs"
|
|
},
|
|
"cameraOff": "Camera is off",
|
|
"quality": {
|
|
"auto": "Auto",
|
|
"autoLow": "Playing low quality (limited bandwidth)",
|
|
"autoLowCodec": "Playing low quality (Original not supported by this browser)",
|
|
"autoLowSaveData": "Playing low quality (data saver)",
|
|
"main": "Original",
|
|
"sub": "Low",
|
|
"notSupportedBrowser": "Not supported by this browser",
|
|
"label": "Quality",
|
|
"noAudio": "No audio",
|
|
"audioRate": "{{rate}} kHz audio",
|
|
"audioCodecRate": "{{codec}} {{rate}} kHz",
|
|
"noRecordings": "No recordings in this time range"
|
|
},
|
|
"stats": {
|
|
"streamType": {
|
|
"title": "Stream Type:",
|
|
"short": "Type"
|
|
},
|
|
"bandwidth": {
|
|
"title": "Bandwidth:",
|
|
"short": "Bandwidth"
|
|
},
|
|
"latency": {
|
|
"title": "Latency:",
|
|
"value": "{{seconds}} seconds",
|
|
"short": {
|
|
"title": "Latency",
|
|
"value": "{{seconds}} sec"
|
|
}
|
|
},
|
|
"totalFrames": "Total Frames:",
|
|
"droppedFrames": {
|
|
"title": "Dropped Frames:",
|
|
"short": {
|
|
"title": "Dropped",
|
|
"value": "{{droppedFrames}} frames"
|
|
}
|
|
},
|
|
"decodedFrames": "Decoded Frames:",
|
|
"droppedFrameRate": "Dropped Frame Rate:"
|
|
},
|
|
"toast": {
|
|
"success": {
|
|
"submittedFrigatePlus": "Successfully submitted frame to Frigate+"
|
|
},
|
|
"error": {
|
|
"submitFrigatePlusFailed": "Failed to submit frame to Frigate+",
|
|
"playRecordingsFailed": "Failed to play recordings (error {{code}}): {{message}}"
|
|
}
|
|
}
|
|
}
|