こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

[html]クロスドメインのストリームを張り付ける

mjpg-streamerを利用して、定点カメラで撮影している動画を
ストリーム配信しています。
mjpg-streamerは8080番ポートで動作中で、
<http://xxx:8080/?action=stream>で動画が参照できます。
同一ノード上の80番ポートでウェブサーバが稼働しており、
そのhtmlページにmjpg-streamerのストリーム動画を張り付けたいです。
<img src="http://xxx:8080/?action=stream" />
で張り付けたところ、スマホのchromeからは動画が確認できましたが、
PCのchromeでは表示できません。デバッガ上には以下のメッセージが出ています。
GET http://xxx:8080/?action=stream net::ERR_CONNECTION_REFUSED
同一ノードとはいえ、ポートが違うのでクロスドメインと判定され、
接続拒否されているものと思います。

ボタンクリック等の際にクロスドメインのjavascriptからデータ取得等を行う場合には、jsonpやjquery.xdomainajax.jsを利用することで回避していますが、
streamを埋め込む場合にはどのようにすればよいのか分からず困っています。

解決方法が分かる方、教えてください。

投稿日時 - 2017-10-19 03:57:55

QNo.9387431

困ってます

質問者が選んだベストアンサー

Google Chrome バージョン: 62.0.3202.62(Official Build) (64 ビット)

まったくドメイン自体別のmjpg-streamerを表示してみましたが、問題なく表示されました。

そもそもcrossorigin 制約の対象ではないような?

それに、クロスドメイン制約するのはブラウザ側であって、サーバ側がブラウザ側の状況見て拒否するわけではないから、ERR_CONNECTION_REFUSEDしてる時点で状況が異なると思います。

表示されない原因は別だと思います。

投稿日時 - 2017-10-19 07:21:47

お礼

ありがとうございます。
異なるドメインでも問題なく表示可能なのですね。
別の線で調べてみます。

投稿日時 - 2017-10-19 10:10:26

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)