Closed isegals closed 4 weeks ago
It's hard to say. Looks like your config and info are OK. Maybe the camera firmware have some other implementation two ways. If you know how to take a tcpdump from mobile app, I could analyse it.
Thanks for your reply, I havnt android devices with root to make dump from Xmeye app, but I can install android in proxmox as virtual pc and make dump from it. I made dump from camera web intraface in chrome (there is button to talk in live view), but as I see it use some web components to work (VideoPlayTool). chrome_cam_webint_activate_talk.zip
Wireshark filter: tcp.stream eq 7
.
> { "Name" : "OPTalk", "OPTalk" : { "Action" : "Claim", "AudioFormat" : { "BitRate" : 128, "EncodeType" : "G711_ALAW", "SampleBit" : 8, "SampleRate" : 8000 }, "Channel" : 0 }, "SessionID" : "0x8" }
< { "Name" : "OPTalk", "Ret" : 100, "SessionID" : "0x00000008" }
I don't know. Maybe whole JSON important. Can you make your own changes to the go program?
Also I can't see Start
command in your dump, but go app has it.
I don't have any DVRIP cameras. So can't check by myself.
Sorry, but I don't have programming skills to make changes, I can make port forwarding to mycam (white IP port 34567), maybe this can help. I can try installing older firmware to check if there is any differences I made dump from Xmeye android app, and cant see Start command in it. emule_xmeye_talk.zip
I did some research with tcpdumps and my dvrip cams and recorders, as I understand there are 2 talk format in dvrip devices:
I dont know if OpTalk Start command important for 2way talk in new cams, maybe its not
Make some additinoal tests: tcpdumps from go2rtc, sofiactl, and native xmeye
go2rtc
{"Name":"OPTalk","SessionID":"0x0000000D","OPTalk":{"Action":"Claim"}} {"Name":"OPTalk","SessionID":"0x0000000D","OPTalk":{"Action":"Start"}}
sofiactl
{"Name":"OPTalk","OPTalk":{"Action":"Claim","AudioFormat":{"SampleBit":8,"BitRate":519788,"EncodeType":"G711_ALAW","SampleRate":8}} {"SessionID":"0x0000000f","OPTalk":{"Action":"Start","AudioFormat":{"SampleRate":8000,"BitRate":128,"EncodeType":"G711_ALAW","SampleBit":8}}
Native app Xmeye 2w talk to cam with old firmware
{"Name":"OPTalk","OPTalk":{"Action":"Claim","AudioFormat":{"BitRate":0,"EncodeType":"G711_ALAW","SampleBit":8,"SampleRate":8}},"SessionID":"0x0000000008"} {"Name":"OPTalk","OPTalk":{"Action":"Start","AudioFormat":{"BitRate":0,"EncodeType":"G711_ALAW","SampleBit":8,"SampleRate":8}},"SessionID":"0x0000000008"}
Native app Xmeye 2w talk to cam with new firmware
{"Name":"OPTalk","OPTalk":{"Action":"Claim","AudioFormat":{"BitRate":0,"EncodeType":"G711_ALAW","SampleBit":8,"SampleRate":8}},"SessionID":"0x000000002c"}
Try to send pcma/8000 audiofile with sofiactl perl script to new and old cams, and I hear music, seems all fine. When I try to send this file with go2rtc to new cam I hear only cracking sounds, Audio format seems incorrect, because go2rtc dont set it. You were right, seems new cameras need a more complete json format. I need almost 2 days to understand it :-)
I don't know. Maybe whole JSON important. Can you make your own changes to the go program?
I make some experiments with sofiactl utility, audiofile dont play if audio codec not set in json
"AudioFormat":{"EncodeType":"G711_ALAW"}
others AudioFormat parameters not important
I think that the Start section is not important for new cameras, and we need to check if it can be left for compatibility with older cameras
Hello, read all issues for dvrip and only after that order xmeye cam and try to use dvrip cam with 2way audio, but no success. Anyone can help me?
First of all I check 2way audio with xmeye app in my phone, all works as it shoud.
My config: