質問編集履歴
1
cURLの質問に絞りました。
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
curlでONVIFカメラからbackchannel URI を取得したい
|
test
CHANGED
@@ -3,10 +3,6 @@
|
|
3
3
|
|
4
4
|
|
5
5
|
PCでマイク入力もしくは音声ファイルを送信して、IPカメラのオーディオ出力端子から音声出力できる事が目的です。
|
6
|
-
|
7
|
-
なるべく多くのIPカメラに対応したいと考えており、カメラ個別のAPIではなくONVIF等の規格に対応したいと考えています。
|
8
|
-
|
9
|
-
Pythonしか経験が無く、最終的にはUbuntuサーバー上で動かしたいので、できればPythonを使いたいと考えています。
|
10
6
|
|
11
7
|
|
12
8
|
|
@@ -14,54 +10,68 @@
|
|
14
10
|
|
15
11
|
|
16
12
|
|
17
|
-
|
13
|
+
ONVIF対応カメラに対し、curlを使って以下画像のようなレスポンスを受け取りたいのですが、期待するレスポンスが返ってきません。
|
18
14
|
|
19
|
-
|
15
|
+
DESCRIBE の部分の書き方が悪いのかなとも思っていますが、どのように直せばよいのか見つけられていません。
|
20
|
-
|
21
|
-
cとc#であり、これをどうPythonで実現するのかという所で詰まっています。
|
22
16
|
|
23
17
|
|
24
18
|
|
25
|
-
[
|
19
|
+
![![イメージ説明](f241f4229be601aa98393df07c2c8143.png)](fe7b3c75774f0e4bb48292dda5e88726.png)
|
26
20
|
|
27
|
-
|
28
|
-
|
29
|
-
[
|
21
|
+
[ONVIF Core Specification 211ページ](http://developer.onvif.org/pub/core/Core_2.00.pdf)
|
30
22
|
|
31
23
|
|
32
24
|
|
33
25
|
# 試したこと
|
34
26
|
|
35
|
-
ONVIFで行うという事だったので、onvifをpythonから扱えるライブラリを使用しようと考えました。
|
36
27
|
|
37
|
-
ライブラリは以下でしたが、サンプルコードや解説どおりに動かしても不明なエラーが出たり、WSDLファイルをうまく読めずに、定義に合わせた記述ができず、別の方策を探すことにしました。
|
38
28
|
|
29
|
+
```bash
|
30
|
+
|
31
|
+
$ curl -v -X DESCRIBE "rtsp://admin:password@192.168.1.212:554/Streaming/Channels/101 RTSP/1.0" -H "Content-
|
32
|
+
|
33
|
+
Type: application/sdp" -H "User-Agent: ONVIF Rtsp client" -H "Require: www.onvif.org/ver20/backchannel"
|
34
|
+
|
35
|
+
* Trying 192.168.1.212...
|
36
|
+
|
37
|
+
* TCP_NODELAY set
|
38
|
+
|
39
|
+
* Connected to 192.168.1.212 (192.168.1.212) port 554 (#0)
|
40
|
+
|
41
|
+
* Server auth using Basic with user 'admin'
|
42
|
+
|
43
|
+
> OPTIONS * RTSP/1.0
|
44
|
+
|
45
|
+
> CSeq: 1
|
46
|
+
|
47
|
+
> Authorization: Basic YWRtaW46QW5zdXNlcjA=
|
48
|
+
|
39
|
-
|
49
|
+
> Content-Type: application/sdp
|
50
|
+
|
51
|
+
> User-Agent: ONVIF Rtsp client
|
52
|
+
|
53
|
+
> Require: www.onvif.org/ver20/backchannel
|
54
|
+
|
55
|
+
>
|
56
|
+
|
57
|
+
< RTSP/1.0 200 OK
|
58
|
+
|
59
|
+
< CSeq: 1
|
60
|
+
|
61
|
+
< Connection: Keep-Alive
|
62
|
+
|
63
|
+
< Date: Thu, 02 Dec 2021 04:24:30 GMT
|
64
|
+
|
65
|
+
< Public: OPTIONS, DESCRIBE, SETUP, PLAY, PAUSE, GET_PARAMETER, TEARDOWN, SET_PARAMETER
|
66
|
+
|
67
|
+
<
|
68
|
+
|
69
|
+
* Connection #0 to host 192.168.1.212 left intact
|
70
|
+
|
71
|
+
```
|
40
72
|
|
41
73
|
|
42
74
|
|
43
|
-
[python-onvif-zeep](https://github.com/FalkTannhaeuser/python-onvif-zeep)
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
Gstreamerというライブラリからonvifのオブジェクトを扱えるという事で、python bindingという物を使おうとしましたが、上記内容を実行したサンプルコードなどはみつからず。
|
48
|
-
|
49
|
-
ヒントになりそうなコードだと思っても、Gstreamerやpythonのバージョン違いのコードばかりが見つかり、困っております。
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
[gst-python](https://github.com/GStreamer/gst-python)
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
75
|
+
ご指南いただければ幸いです。
|
60
|
-
|
61
|
-
IPカメラからオーディオを出力するという点について、上記のアプローチ方法は普通なのでしょうか。
|
62
|
-
|
63
|
-
こんなに暗中模索しながら開発しないはずだと勝手に思っているのですが、皆様はどのように開発されていらっしゃるのでしょうか。
|
64
|
-
|
65
|
-
より良いと思われる方法や、必要な知識の在処などについて、アドバイスいただけますと幸いです。
|
66
76
|
|
67
77
|
よろしくお願いいたします。
|