mirror of
https://github.com/blakeblackshear/frigate.git
synced 2026-02-03 17:55:21 +03:00
Update docs and tests
This commit is contained in:
parent
1b5b4219c7
commit
f564b2155a
@ -356,8 +356,12 @@ rtmp:
|
|||||||
restream:
|
restream:
|
||||||
# Optional: Enable the restream (default: True)
|
# Optional: Enable the restream (default: True)
|
||||||
enabled: True
|
enabled: True
|
||||||
# Optional: Force audio compatibility with browsers (default: shown below)
|
# Optional: Set the audio codecs to restream with
|
||||||
force_audio: True
|
# possible values are aac, copy, opus. Set to copy
|
||||||
|
# only to avoid transcoding (default: shown below)
|
||||||
|
audio_encoding:
|
||||||
|
- aac
|
||||||
|
- opus
|
||||||
# Optional: Video encoding to be used. By default the codec will be copied but
|
# Optional: Video encoding to be used. By default the codec will be copied but
|
||||||
# it can be switched to another or an MJPEG stream can be encoded and restreamed
|
# it can be switched to another or an MJPEG stream can be encoded and restreamed
|
||||||
# as h264 (default: shown below)
|
# as h264 (default: shown below)
|
||||||
|
|||||||
@ -7,9 +7,9 @@ title: Restream
|
|||||||
|
|
||||||
Frigate can restream your video feed as an RTSP feed for other applications such as Home Assistant to utilize it at `rtsp://<frigate_host>:8554/<camera_name>`. Port 8554 must be open. [This allows you to use a video feed for detection in Frigate and Home Assistant live view at the same time without having to make two separate connections to the camera](#reduce-connections-to-camera). The video feed is copied from the original video feed directly to avoid re-encoding. This feed does not include any annotation by Frigate.
|
Frigate can restream your video feed as an RTSP feed for other applications such as Home Assistant to utilize it at `rtsp://<frigate_host>:8554/<camera_name>`. Port 8554 must be open. [This allows you to use a video feed for detection in Frigate and Home Assistant live view at the same time without having to make two separate connections to the camera](#reduce-connections-to-camera). The video feed is copied from the original video feed directly to avoid re-encoding. This feed does not include any annotation by Frigate.
|
||||||
|
|
||||||
#### Force Audio
|
#### Copy Audio
|
||||||
|
|
||||||
Different live view technologies (ex: MSE, WebRTC) support different audio codecs. The `restream -> force_audio` flag tells the restream to make multiple streams available so that all live view technologies are supported. Some camera streams don't work well with this, in which case `restream -> force_audio` should be disabled.
|
Different live view technologies (ex: MSE, WebRTC) support different audio codecs. The `restream -> audio_encoding` field tells the restream to make multiple streams available so that all live view technologies are supported. Some camera streams don't work well with this, in which case `restream -> audio_encoding` should be set to `copy` only.
|
||||||
|
|
||||||
#### Birdseye Restream
|
#### Birdseye Restream
|
||||||
|
|
||||||
|
|||||||
@ -56,11 +56,13 @@ class RestreamApi:
|
|||||||
|
|
||||||
for input in camera.ffmpeg.inputs:
|
for input in camera.ffmpeg.inputs:
|
||||||
if "restream" in input.roles:
|
if "restream" in input.roles:
|
||||||
if input.path.startswith(
|
if (
|
||||||
"rtsp"
|
input.path.startswith("rtsp")
|
||||||
) and not camera.restream.audio_encoding == [
|
and camera.restream.video_encoding
|
||||||
RestreamAudioCodecEnum.copy
|
== RestreamVideoCodecEnum.copy
|
||||||
]:
|
and not camera.restream.audio_encoding
|
||||||
|
== [RestreamAudioCodecEnum.copy]
|
||||||
|
):
|
||||||
self.relays[
|
self.relays[
|
||||||
cam_name
|
cam_name
|
||||||
] = f"{escape_special_characters(input.path)}#backchannel=0"
|
] = f"{escape_special_characters(input.path)}#backchannel=0"
|
||||||
@ -68,6 +70,7 @@ class RestreamApi:
|
|||||||
# go2rtc only supports rtsp for direct relay, otherwise ffmpeg is used
|
# go2rtc only supports rtsp for direct relay, otherwise ffmpeg is used
|
||||||
self.relays[cam_name] = get_manual_go2rtc_stream(
|
self.relays[cam_name] = get_manual_go2rtc_stream(
|
||||||
escape_special_characters(input.path),
|
escape_special_characters(input.path),
|
||||||
|
camera.restream.audio_encoding,
|
||||||
camera.restream.video_encoding,
|
camera.restream.video_encoding,
|
||||||
parse_preset_hardware_acceleration_go2rtc_engine(
|
parse_preset_hardware_acceleration_go2rtc_engine(
|
||||||
self.config.ffmpeg.hwaccel_args
|
self.config.ffmpeg.hwaccel_args
|
||||||
|
|||||||
@ -25,7 +25,7 @@ class TestRestream(TestCase):
|
|||||||
},
|
},
|
||||||
"restream": {
|
"restream": {
|
||||||
"enabled": True,
|
"enabled": True,
|
||||||
"force_audio": False,
|
"audio_encoding": ["copy"],
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
"front": {
|
"front": {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user