-
Notifications
You must be signed in to change notification settings - Fork 397
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
2-way audio with ICSee/dvrip cameras #633
Comments
2-way audio works through its web UI: Although it requires the installation of a "VideoPlayTool" to properly open it. @AlexxIT if someday you are interested in implementing this I can give you direct access to the camera. |
Oh, and by the way DVRIP source also works with this camera: streams:
icsee_camera:
- dvrip://tema:<password>@192.168.1.21:34567?channel=0&subtype=1 Meaning that maybe the support for 2-way audio could be general for any DVRIP-based camera. |
Agreed. It would be great to support 2-way audio for DVRIP/XM/Sofia-based cameras. |
Oh yes! I was trying to do it but couldn't ... i can talk trough that xmeye application tho. |
@Djeloan, Please vote on the initial message at the top of this page. The author must see that it is important enhancement. |
Here is the
|
Supported in latest master: streams:
stream: dvrip://username:password@192.168.1.123:34567
tts_only: dvrip://username:password@192.168.1.123:34567?backchannel=1
two_way:
- dvrip://username:password@192.168.1.123:34567
- dvrip://username:password@192.168.1.123:34567?backchannel=1 |
OMG this is amazing. I will test it asap. |
Means that will be available in some next update or the current one (1.7.1) ? |
@felipecrs have you tried? |
Great work! Thank you very much! |
Frigate Card is now supporting external go2rtc in latest dev. Meaning you don't need Frigate. |
I'm sorry not yet. But I will try it very soon. My ICSee camera is currently far away from my current location. |
@felipecrs you can send audio to it an check result via stream (if you have remote access) |
Oh, yes. This is what I see: {
"producers": [
{
"type": "RTSP passive producer",
"url": "rtsp://127.0.0.1:8554/8aa14331e4a4907604463ca9c8ca54eb",
"remote_addr": "127.0.0.1:38036",
"user_agent": "ffmpeg/go2rtc",
"sdp": "v=0\r\no=- 0 0 IN IP4 127.0.0.1\r\ns=go2rtc/1.7.1\r\nc=IN IP4 127.0.0.1\r\nt=0 0\r\na=tool:libavformat LIBAVFORMAT_VERSION\r\nm=video 0 RTP/AVP 96\r\na=rtpmap:96 H264/90000\r\na=fmtp:96 packetization-mode=1; sprop-parameter-sets=Z2QMKawsqAoBbpp4AAADAAgAAAMAxHhAIVA=,aO44sA==; profile-level-id=640C29\r\na=control:streamid=0\r\n",
"medias": ["video, recvonly, H.264 High 4.1"],
"receivers": ["96 H264, bytes=5876964, senders=1"],
"recv": 5928476
},
{
"type": "RTSP active producer",
"url": "rtsp://127.0.0.1:8554/rua_h265?audio=all",
"remote_addr": "127.0.0.1:8554",
"user_agent": "go2rtc/1.7.1",
"sdp": "v=0\r\no=- 1 1 IN IP4 0.0.0.0\r\ns=go2rtc/1.7.1\r\nc=IN IP4 0.0.0.0\r\nt=0 0\r\nm=audio 0 RTP/AVP 96\r\na=rtpmap:96 PCMA/8000\r\na=control:trackID=0\r\nm=audio 0 RTP/AVP 97\r\na=rtpmap:97 MPEG4-GENERIC/8000\r\na=fmtp:97 profile-level-id=1;mode=AAC-hbr;sizelength=13;indexlength=3;indexdeltalength=3; config=158856E500\r\na=control:trackID=1\r\n",
"medias": [
"audio, recvonly, PCMA/8000",
"audio, recvonly, MPEG4-GENERIC/8000"
],
"receivers": ["96 PCMA/8000, bytes=297920, senders=1"],
"recv": 453571
}
],
"consumers": [
{
"type": "WebRTC/WebSocket async passive consumer",
"remote_addr": "udp4 srflx 179.106.189.52:64259 related 192.168.1.15:64259",
"user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36",
"medias": [
"video, sendonly, VP8, RTX, VP9, H264, AV1, RED, ULPFEC, FLEXFEC-03",
"audio, sendonly, OPUS/48000/2, RED/48000/2, G722/8000, PCMU/8000, PCMA/8000, CN/8000, TELEPHONE-EVENT/48000, TELEPHONE-EVENT/8000, L16, PCML",
"audio, recvonly, OPUS/48000/2, RED/48000/2, G722/8000, PCMU/8000, PCMA/8000, CN/8000, TELEPHONE-EVENT/48000, TELEPHONE-EVENT/8000"
],
"receivers": ["111 OPUS/48000/2, bytes=16351, senders=0"],
"senders": [
"102 H264, bytes=1290962, receivers=1",
"8 PCMA/8000, bytes=65920, receivers=1"
],
"recv": 23261,
"send": 1371330
}
]
} |
Oh sorry, wait a sec. I think I made a mistake. |
I don't need logs. Just check via live stream if you can hear some audio file. You can send it via WebUI links.html page |
Yes I can hear myself!!! That's amazing! It's working nice, thanks a lot! |
Nice. Thanks to @slydiman for perl and sharing access to camera. |
go2rtc.zip (latest artifact for amd64) If someone wants to quickly try this out with Frigate: ha addons stop ccab4aaf_frigate
wget https://github.com/AlexxIT/go2rtc/files/12884449/go2rtc.zip -O /config/go2rtc
chmod +x /config/go2rtc
ha addons start ccab4aaf_frigate |
I tried it yesterday - no luck. @felipecrs, can you provide a link to the documentation or config example? |
@slydiman, before anything else you need to have go2rtc exposed as https with a valid certificate. I do that using the NGINX Proxy Manager add-on. But go2rtc itself also supports https/tls, although it will be harder to configure. Do you have this part done? |
Sure. HA with https and go2rts master work just fine. I tried to update AlexxIT's WebRTC camera custom card today. I have successfully enabled the microphone recording in the browser but stuck with creating the correct rtc offer request. |
Sorry, I have no config samples to provide. As I mentioned, I use NGINX Proxy Manager to expose go2rtc through HTTPS. Also, I don't use the Frigate card without the Frigate integration.
I think you missed my point that this feature was only added to the development branch of the Frigate card. Maybe you can find more help in dermotduffy/frigate-hass-card#1206. |
I have configured NGINX to access go2rtc addon through HTTPS.
But go2rtc does not have any authorization and it will be a security hole. I can't use it outside my home network. |
Yes, that is far from ideal. But you can set go2rtc to require user and password, and maybe you can embed the user and password in the go2rtc.url in the frigate card like I agree it would be great if WebRTC Camera had built-in support for 2-way audio. But @AlexxIT is aware, he just didn't have the time and to ship it yet. Similarly, support for go2rtc without its direct exposure is something @dermotduffy is also aware and he would like to ship it. Likewise, he probably didn't have time to work on it yet.
Few months ago we did not have any kind of 2-way audio support at all in Home Assistant. Things are evolving, and will continue to evolve and be more seamless as the time goes. :) |
I have updated WebRTC Camera to enable the microphone for 2-way audio. It works just fine in a browser with go2rtc addon. HA must be HTTPS. Unfortunately the mic does not work inside the Android HA app - it shows that the mic is used, but there is no any transmission. |
Sorry if my question might sound silly, but is there any chance this can work also with a Amcrest AD410 video doorbell or does it have no DVRIP support? |
Seems it uses VoIP/SIP protocols for audio conversations. It is not DVRIP compatible at all. |
@slydiman that's what I was fearing... OK thanks. |
Amcrest AD410 doorbell support RTSP with two way audio |
Guys, since we are talking about two-way audio here, I have two feature requests in Frigate Card that may interest you too:
If you find them useful, please vote on them with a thumbs up. But please do not vote if you don't find them useful. |
How does the go2rtc config looks like? Also is your HA exposed as HTTPS? |
You need to add a go2rtc configuration with the drip: back channel link. |
sorry for beeing noob, but how can I achieve this ? I only installed webrtc to have greater cam cards, and go2rtc is included in web2rtc hacs integration |
I use the go2rtc add-on, but I think you can probably create one file named go2rtc.yaml at config with something like: streams:
camera.jardin_profile_000:
- "{input}"
- dvrip://username:password@192.168.1.123:34567?backchannel=1 But I am not sure if the "{input}" line will work as I intended. @AlexxIT can comment more on this. |
go2rtc add-on config must look like
Here is the correct sample of webrtc-camera card AlexxIT/WebRTC#579 (comment)
|
Hi all, streams:
And then use this code for the card : type: 'custom:webrtc-camera'
Thanks guys |
Right. Be sure the addon go2rtc is started. You can open go2rtc addon settings and click Note the yaml rules. The padding for
|
So, I tried with my tablet, it asked me for audio permissions, then I can hear myself speaking, but very low, I only realised it because of the larsen (being close to the camera). The cam speaker is at 100% volume, when I try with icsee, it's clear and loud. |
I didn't test it yet, But I want to say thank you guys for all effort in this feature ❤️ |
Hey @dbuezas |
It's working just fine for me since the day it was implemented. |
Many cheap chinese cameras are using this ICSee. I bought this one: https://aliexpress.com/item/1005005731238053.html
It's relatively good, although it does not have the capability of changing the stream codec from H265 to H264.
But I have another ICSee based camera as well.
The app is good as well. A lot better than Tuya.
It looks like these cameras uses the DVRIP protocol. My RTSP URLs looks like:
It would be awesome if 2-way audio could work with it.
The text was updated successfully, but these errors were encountered: