uiprotect 7.5.5__py3-none-any.whl → 7.6.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of uiprotect might be problematic. Click here for more details.

uiprotect/stream.py CHANGED
@@ -18,6 +18,12 @@ if TYPE_CHECKING:
18
18
 
19
19
  _LOGGER = logging.getLogger(__name__)
20
20
 
21
+ CODEC_TO_ENCODER = {
22
+ "aac": "aac",
23
+ "opus": "libopus",
24
+ "vorbis": "libvorbis",
25
+ }
26
+
21
27
 
22
28
  class FfmpegCommand:
23
29
  ffmpeg_path: Path | None
@@ -130,6 +136,11 @@ class TalkbackStream(FfmpegCommand):
130
136
  if len(input_args) > 0:
131
137
  input_args += " "
132
138
 
139
+ codec = camera.talkback_settings.type_fmt.value
140
+ encoder = CODEC_TO_ENCODER.get(codec)
141
+ if encoder is None:
142
+ raise ValueError(f"Unsupported codec: {codec}")
143
+
133
144
  # vn = no video
134
145
  # acodec = audio codec to encode output in (aac)
135
146
  # ac = number of output channels (1)
@@ -138,7 +149,7 @@ class TalkbackStream(FfmpegCommand):
138
149
  cmd = (
139
150
  "-loglevel info -hide_banner "
140
151
  f'{input_args}-i "{content_url}" -vn '
141
- f"-acodec {camera.talkback_settings.type_fmt.value} -ac {camera.talkback_settings.channels} "
152
+ f"-acodec {encoder} -ac {camera.talkback_settings.channels} "
142
153
  f"-ar {camera.talkback_settings.sampling_rate} -b:a {camera.talkback_settings.sampling_rate} -map 0:a "
143
154
  f'-f adts "udp://{camera.host}:{camera.talkback_settings.bind_port}?bitrate={camera.talkback_settings.sampling_rate}"'
144
155
  )
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: uiprotect
3
- Version: 7.5.5
3
+ Version: 7.6.0
4
4
  Summary: Python API for Unifi Protect (Unofficial)
5
5
  License: MIT
6
6
  Author: UI Protect Maintainers
@@ -27,13 +27,13 @@ uiprotect/data/websocket.py,sha256=m4EV1Qfh08eKOihy70ycViYgEQpeNSGZQJWdtGIYJDA,6
27
27
  uiprotect/exceptions.py,sha256=kgn0cRM6lTtgLza09SDa3ZiX6ue1QqHCOogQ4qu6KTQ,965
28
28
  uiprotect/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
29
29
  uiprotect/release_cache.json,sha256=NamnSFy78hOWY0DPO87J9ELFCAN6NnVquv8gQO75ZG4,386
30
- uiprotect/stream.py,sha256=MWiTRFIhUfFLPA_csSrKl5-SkUbPZ2VhDu0XW2oVr-U,4800
30
+ uiprotect/stream.py,sha256=LPvh2YZ50bSdSzSowAYJUDVfeLUHXN33E62kunVk6fs,5051
31
31
  uiprotect/test_util/__init__.py,sha256=HlQBgIgdtrvT-gQ5OWP92LbgVr_YzsD5NFImLRonUZk,19320
32
32
  uiprotect/test_util/anonymize.py,sha256=f-8ijU-_y9r-uAbhIPn0f0I6hzJpAkvJzc8UpWihObI,8478
33
33
  uiprotect/utils.py,sha256=5Z30chqnQhQdtD1vabRtZXjBpeiJagL5KDuALQlWxk8,20559
34
34
  uiprotect/websocket.py,sha256=tEyenqblNXHcjWYuf4oRP1E7buNwx6zoECMwpBr-jig,8191
35
- uiprotect-7.5.5.dist-info/LICENSE,sha256=INx18jhdbVXMEiiBANeKEbrbz57ckgzxk5uutmmcxGk,1111
36
- uiprotect-7.5.5.dist-info/METADATA,sha256=jsEBUqvqSzzEScGbftsj77sfI0dsE7AztLir14Nsx-E,11108
37
- uiprotect-7.5.5.dist-info/WHEEL,sha256=fGIA9gx4Qxk2KDKeNJCbOEwSrmLtjWCwzBz351GyrPQ,88
38
- uiprotect-7.5.5.dist-info/entry_points.txt,sha256=J78AUTPrTTxgI3s7SVgrmGqDP7piX2wuuEORzhDdVRA,47
39
- uiprotect-7.5.5.dist-info/RECORD,,
35
+ uiprotect-7.6.0.dist-info/LICENSE,sha256=INx18jhdbVXMEiiBANeKEbrbz57ckgzxk5uutmmcxGk,1111
36
+ uiprotect-7.6.0.dist-info/METADATA,sha256=X00vg90tWWBLyFscZuG2TvzlD_Qm_ImsYRyiXbmbJKk,11108
37
+ uiprotect-7.6.0.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
38
+ uiprotect-7.6.0.dist-info/entry_points.txt,sha256=J78AUTPrTTxgI3s7SVgrmGqDP7piX2wuuEORzhDdVRA,47
39
+ uiprotect-7.6.0.dist-info/RECORD,,
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: poetry-core 2.1.2
2
+ Generator: poetry-core 2.1.3
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any