3

我有几个 SerComm IP 摄像机(RC8221、RC8230、OC821D)。他们三个都内置了扬声器,并且根据他们的 API,将播放发布给他们的音频。

文档说....

音频上传(将音频流上传到相机)

方法:POST

URL:http://[ip]/img/g726.cgi G.726 音频流(16Kbps 或 32Kbps,

URL:http://[ip]/img/g711a.cgi G.711 a-law 音频流 (64Kbps)

网址:http://[ip]/img/g711u.cgi G.711 u-law 音频流 (64Kbps)

示例(客户端):

POST /IMG/g726.cgi HTTP/1.0\r\n

主机: 192.168.0.99\r\n

返回:

好的

HTTP/1.0 200 正常\r\n

客户端开始上传音频流。

我有一些在 Audacity 中创建的 a-law 和 u-law G.711 文件。Mplayer 确认了他们的规格。

我正在尝试使用 POST 音频

curl -vv -F "file=@alaw8ktest.wav;type=audio/wav" -A "Mozilla/5.0" http://user:pass@192.168.0.42/img/g711a.cgi

但是,摄像机没有声音。我得到的回应是

* About to connect() to 192.168.0.42 port 80 (#0)
*   Trying 192.168.0.42... connected
* Server auth using Basic with user 'user'
> POST /img/g711a.cgi HTTP/1.1
> Authorization: Basic abc123==
> User-Agent: Mozilla/5.0
> Host: 192.168.0.42
> Accept: */*
> Content-Length: 18940
> Expect: 100-continue
> Content-Type: multipart/form-data; boundary=----------------------------68ffb6462b1c
> 

大约一分钟后,返回以下内容。

* Done waiting for 100-continue
< HTTP/1.1 200 OK
< Status: 200 OK
< Content-Length: 0
< Date: Wed, 30 Oct 2013 15:21:14 GMT
< Server: ip-camera
< 
* Connection #0 to host 192.168.0.42 left intact
* Closing connection #0

我尝试了各种方法 - 更改 UA,将音频发布到不同的 URL,不包括 MIME 类型。似乎没有任何效果。我已确保在管理界面中将扬声器设置为“开启”,并将音量设置为响亮。

那么 - 有人对如何制作 CURL 请求有任何想法吗?我敢肯定这是显而易见的:-)

4

2 回答 2

0

尝试将您的声音文件 chmod 到 755,或者如果这不起作用,请执行 777(这对您的文件的安全性有风险,但它只是声音文件吗?)

可能发生的情况可能是文件的连接和传递工作正常,但是当相机尝试保存文件时,它的访问权限可能会被您的声音文件的权限拒绝。

于 2014-07-15T06:27:54.500 回答
0

这适用于我的 Sercomm RC8021 相机:-

curl -vv --data-binary @testcam.wav http://192.168.1.195/img/g711a.cgi

希望有帮助。

于 2013-11-05T17:58:27.963 回答