mirror of
https://github.com/blakeblackshear/frigate.git
synced 2024-12-23 19:11:14 +01:00
4eb3e98076
* Update go2rtc to rc3 * Simplify ffmpeg / audio conversions * Set ffmpeg bin location * Manually set video as copied * Run go2rtc with env vars * Remove manual ffmpeg declaration * Enable force_audio by default * Fix test
66 lines
2.1 KiB
Python
66 lines
2.1 KiB
Python
"""Test restream.py."""
|
|
|
|
from unittest import TestCase, main
|
|
from unittest.mock import patch
|
|
|
|
from frigate.config import FrigateConfig
|
|
from frigate.restream import RestreamApi
|
|
|
|
|
|
class TestRestream(TestCase):
|
|
def setUp(self) -> None:
|
|
"""Setup the tests."""
|
|
self.config = {
|
|
"mqtt": {"host": "mqtt"},
|
|
"restream": {"enabled": False},
|
|
"cameras": {
|
|
"back": {
|
|
"ffmpeg": {
|
|
"inputs": [
|
|
{
|
|
"path": "rtsp://10.0.0.1:554/video",
|
|
"roles": ["detect", "restream"],
|
|
},
|
|
]
|
|
},
|
|
"restream": {
|
|
"enabled": True,
|
|
"force_audio": False,
|
|
},
|
|
},
|
|
"front": {
|
|
"ffmpeg": {
|
|
"inputs": [
|
|
{
|
|
"path": "http://10.0.0.1:554/video/stream",
|
|
"roles": ["detect", "restream"],
|
|
},
|
|
]
|
|
},
|
|
"restream": {
|
|
"enabled": True,
|
|
},
|
|
},
|
|
},
|
|
}
|
|
|
|
@patch("frigate.restream.requests")
|
|
def test_rtsp_stream(self, mock_requests) -> None:
|
|
"""Test that the normal rtsp stream is sent plainly."""
|
|
frigate_config = FrigateConfig(**self.config)
|
|
restream = RestreamApi(frigate_config)
|
|
restream.add_cameras()
|
|
assert restream.relays["back"].startswith("rtsp")
|
|
|
|
@patch("frigate.restream.requests")
|
|
def test_http_stream(self, mock_requests) -> None:
|
|
"""Test that the http stream is sent via ffmpeg."""
|
|
frigate_config = FrigateConfig(**self.config)
|
|
restream = RestreamApi(frigate_config)
|
|
restream.add_cameras()
|
|
assert not restream.relays["front"].startswith("rtsp")
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main(verbosity=2)
|