teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

5

typoの修正

2020/09/04 17:53

投稿

yymmt
yymmt

スコア1615

answer CHANGED
@@ -11,11 +11,11 @@
11
11
  ```python
12
12
  cap1 = cv2.VideoCapture('udp://0.0.0.0:11111')
13
13
  ```
14
- の部分です。3台全てのTelloがPC側の同じUDPのアドレスに同時に映像を(ブロードキャストで)投げ込んでいるため、サーバ側ではそれらが混在して正しく映像として結合できないことが問題です。
14
+ の部分です。3台全てのTelloがPC側の同じUDPのアドレスに同時に映像を(ブロードキャストで)投げ込んでいるため、サーバであるPC側ではそれらが混在して正しく映像として結合できないことが問題です。
15
15
 
16
16
  # 解決方法
17
17
 
18
- Tello側にcで指定したポートに映像送り込めるコマンドがあれば良いのですが、残念ながらそのようなコマンドはありませんでした。したがってPC側で受けた映像をIPアドレスに応じて別のポートに投げ込む、いわゆるプロキシサーバを使う必要があります。Pythonで書くと以下のようになります。
18
+ Tello側に指定したポートに映像送り込めるコマンドがあれば良いのですが、残念ながらそのようなコマンドはありませんでした。したがってPC側で受けた映像をIPアドレスに応じて別のポートに投げ込む、いわゆるプロキシサーバを使う必要があります。Pythonで書くと以下のようになります。
19
19
 
20
20
  ```python
21
21
  # udp_proxy.py

4

日本語を微修正

2020/09/04 17:53

投稿

yymmt
yymmt

スコア1615

answer CHANGED
@@ -15,7 +15,7 @@
15
15
 
16
16
  # 解決方法
17
17
 
18
- Tello側にコマンドで指定したポートに映像送り込めれば良いのですが、残念ながらそのようなコマンドはありませんでした。したがってPC側で受けた映像をIPアドレスに応じて別のポートに投げ込む、いわゆるプロキシサーバを使う必要があります。Pythonで書くと以下のようになります。
18
+ Tello側にで指定したポートに映像送り込めるコマンドがあれば良いのですが、残念ながらそのようなコマンドはありませんでした。したがってPC側で受けた映像をIPアドレスに応じて別のポートに投げ込む、いわゆるプロキシサーバを使う必要があります。Pythonで書くと以下のようになります。
19
19
 
20
20
  ```python
21
21
  # udp_proxy.py

3

日本語をより正確に修正

2020/09/04 17:51

投稿

yymmt
yymmt

スコア1615

answer CHANGED
@@ -4,14 +4,14 @@
4
4
  この認識は間違いです。telloとカメラは1つの装置として認識されています。
5
5
 
6
6
  TELLO SDK 2.0 User GuideのReceive Tello Video Streamを見ると
7
+ - TelloはUDPのクライアントとしてPort 11111にブロードキャストで(サブネット上の全てのマシンに)映像を送信する
7
8
  - PCはUDPのサーバとしてPort 11111として待ち受ける
8
- - TelloはUDPのクライアントとしてPort 11111にブロードキャストで(サブネット上の全てのマシンに)送信する
9
9
 
10
10
  となっています。PC側をUDPのサーバとして動作させているのは
11
11
  ```python
12
12
  cap1 = cv2.VideoCapture('udp://0.0.0.0:11111')
13
13
  ```
14
- の部分です。問題は3台全てのTelloがPC側の同じUDPのアドレスに同時に映像を(ブロードキャストで)投げ込んでいるため、サーバ側ではそれらが混在して正しく映像として結合できないことが問題です。
14
+ の部分です。3台全てのTelloがPC側の同じUDPのアドレスに同時に映像を(ブロードキャストで)投げ込んでいるため、サーバ側ではそれらが混在して正しく映像として結合できないことが問題です。
15
15
 
16
16
  # 解決方法
17
17
 

2

ニュアンスを修正

2020/09/04 17:49

投稿

yymmt
yymmt

スコア1615

answer CHANGED
@@ -11,7 +11,7 @@
11
11
  ```python
12
12
  cap1 = cv2.VideoCapture('udp://0.0.0.0:11111')
13
13
  ```
14
- の部分です。問題は3台全てのTelloがPC側の同じUDPのアドレスに同時に異なるデータを(ブロードキャストで)投げ込んでいるため、それらが混在して正しく映像として認識できていないことが問題です。
14
+ の部分です。問題は3台全てのTelloがPC側の同じUDPのアドレスに同時に映像を(ブロードキャストで)投げ込んでいるため、サーバ側ではそれらが混在して正しく映像として結合できないことが問題です。
15
15
 
16
16
  # 解決方法
17
17
 

1

日本語を正しく修正

2020/09/04 17:47

投稿

yymmt
yymmt

スコア1615

answer CHANGED
@@ -11,11 +11,11 @@
11
11
  ```python
12
12
  cap1 = cv2.VideoCapture('udp://0.0.0.0:11111')
13
13
  ```
14
- の部分です。問題は3台全てのTelloがPC側の同じUDPのアドレスに同時に異なるデータを(ブロードキャストで)投げ込んでいるため、それらが混在して正しく動画として認識できていないことが問題です。
14
+ の部分です。問題は3台全てのTelloがPC側の同じUDPのアドレスに同時に異なるデータを(ブロードキャストで)投げ込んでいるため、それらが混在して正しく映像として認識できていないことが問題です。
15
15
 
16
16
  # 解決方法
17
17
 
18
- Tello側にコマンドで異なるデータは異なる待ち受けポートに送り込めれば良いのですが、残念ながらそのようなコマンドはありませんでした。したがってPC側で受けたデータをIPアドレスに応じて別のポートに投げ込む、いわゆるプロキシサーバを使う必要があります。Pythonで書くと以下のようになります。
18
+ Tello側にコマンドで指定したポートに映像送り込めれば良いのですが、残念ながらそのようなコマンドはありませんでした。したがってPC側で受けた映像をIPアドレスに応じて別のポートに投げ込む、いわゆるプロキシサーバを使う必要があります。Pythonで書くと以下のようになります。
19
19
 
20
20
  ```python
21
21
  # udp_proxy.py