Hi everybody,
I have a Reolink Duo PoE
running firmware v3.0.0.1388_22100600
. It is integrated via Reolink
integration. I stumbled upon a blog entry somewhere (unfortunately, cannot find the link atm) mentioning you can send audio and/or TTS to 2-way cameras utilizing go2rtc.
So I tried, but am stuck.
Here is what I did
on Camera
- create user
rtc
, password12345
(not really, just to have a value to work with here)
Home Assistant
- Add-Ons > Repositories > add
https://github.com/AlexxIT/hassio-addons
- Install
go2rtc
Add-On - Start
go2rtc
Add-On
At first, this didnât work. It kept telling me that port 1984
was already in use; I couldnât really troubleshoot this, but I had also installed and configured the webrtc
integration, which I then deactivated and restarted Home Assistant.
Now I could successfully run go2rtc
, the port had been free to use.
go2rtc
- open
go2rtc
from lovelace sidebar - click
config
; contents:
streams:
einfahrt: onvif://rtc:[email protected]:8000
rtc_einfahrt: rtsp://rtc:[email protected]:554/h264Preview_01_main
Save & Restart
The einfahrt
entry (onvif
) did not work. It would point at http://192.168.100.3:8000/onvif
, which would only show this
<SOAP-ENV:Envelope>
<SOAP-ENV:Body>
<SOAP-ENV:Fault>
<faultcode>SOAP-ENV:Client</faultcode>
<faultstring>HTTP GET method not implemented</faultstring>
</SOAP-ENV:Fault>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
I did not find any setting on the Reolink camera to implement HTTP GET method; when Iâd try to open the stream in go2rtc, I would get an error message pointing to that link from above. So I removed that camera.
So weâre working with rtc_einfahrt
only now. The webUI looks like this
Here are the contents:
0 / info
{
"producers": [
{
"url": "rtsp://rtc:[email protected]:554/h264Preview_01_main"
}
],
"consumers": []
}
1 / info
sometimes, I believe after actually loading the camera stream through this UI, 0 / info
would change to 1 / info
and show this content
{
"producers": [
{
"type": "RTSP active producer",
"url": "rtsp://192.168.100.3/h264Preview_01_main/",
"remote_addr": "192.168.100.3:554",
"user_agent": "go2rtc/1.5.0",
"medias": [
"video, recvonly, H.264 High 5.1",
"audio, recvonly, MPEG4-GENERIC/16000"
],
"receivers": [
"96 H264, bytes=1022948, senders=1",
"97 MPEG4-GENERIC/16000, bytes=16512, senders=0"
],
"recv": 1048688
}
],
"consumers": [
{
"type": "WebRTC/WebSocket async passive consumer",
"remote_addr": "udp4 prflx 10.0.0.25:59602 related :0",
"user_agent": "Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/114.0",
"medias": [
"video, sendonly, VP8, RTX, VP9, H264",
"audio, sendonly, OPUS/48000/2, G722/8000, PCMU/8000, PCMA/8000, TELEPHONE-EVENT/8000, L16"
],
"senders": [
"126 H264, bytes=1022948, receivers=1"
],
"send": 1033721
}
]
}
stream
Would actually show the camera stream in the browser, including camera audio.
links
A bunch of different links to streams provided by this Add-On, as well as this part
So I entered ffmpeg:http://<hass>:8123/local/audio/tom-green_ding-dong.mp3#audio=pcma#input=file
. This file exists, and is available to the camera.
The camera does not play this audio after pressing send
.
I also added this to my configuration
media_player:
- platform: webrtc
name: RTC/Einfahrt
stream: rtc_einfahrt
audio: pcmu/8000
Which creates this entity
(translates to something like `error calling service media_player/play_media.âwebrtcâ)
Does anybody know what I need to do in order to get this working? Thanks for your ideas