com.unity.webrtc
com.unity.webrtc copied to clipboard
[BUG]: ブラウザーに映像が表示されない。
Package version
2.4.0-exp.6
Environment
* OS: Windows 11 (22H2)
* Unity version: 2021.30f1
* Node.js 16
Steps To Reproduce
実装に問題があると思いますがちょっと思い当たる問題点が見当たらずに先に進めない状態となっています。 再現する小さなプロジェクトをまとめましたので見ていただければ幸いです。
UnityWebRTCSender リポジトリ // シーン:SampleScene WebRTCReceiver リポジトリ SimpleSIgnalingServer リポジトリ
実行手順
- 最初に SimpleSignalingServer の SignalingServer.js を Node.js を実行してシグナリングサーバーを立ち上げます。
- UnityWebRTCSender を実行し送信側を受信側より先に実行します。
- 送信側を実行した後に受信側である WebRTCReceiver のウェブページにアクセスします。
受信側で ontrack イベントが発生し iceGatheringState が "complete" + connectionState が "connected" になるのですがWebページ側には映像が表示されません。
Current Behavior
受信側のウェブページに映像が表示されない。
Expected Behavior
受信側のウェブページに映像が表示される。
Anything else?
No response
@gtk2k シグナリングサーバ経由せずに、同じビルド内で送受信用の2つのピアを用意してストリーミングしても問題は再現しますか? 受信側はブラウザなので、まずはブラウザのみで問題が再現するか確認するのが良いかと思います。
@gtk2k シグナリングサーバ経由せずに、同じビルド内で送受信用の2つのピアを用意してストリーミングしても問題は再現しますか? 受信側はブラウザなので、まずはブラウザのみで問題が再現するか確認するのが良いかと思います。
ためしてみます
ブラウザのみ(JS)だと問題は起きません。また、1ビルド内で2つのピアでも問題なく映像が表示されましたが、やはりUnity -> ブラウザ (ソフトウェアエンコーダー) だと表示されません。
@gtk2k そうすると Unity とブラウザ間でのシグナリングの問題ということになるかと思います。 SDP が正しく交換されているか確認することは可能でしょうか。
Unity: Sender(Offerer) / Web: Receiver (answerer) SDPのやり取りは正しく行われていると思います。 ちなみに、Offer / Answer は以下の内容となっています。
Offer
v=0
o=- 6760500727948930488 2 IN IP4 127.0.0.1
s=-
t=0 0
a=group:BUNDLE 0
a=extmap-allow-mixed
a=msid-semantic: WMS 8da4c4f6-63b3-4c90-b46a-349f96f92441
m=video 9 UDP/TLS/RTP/SAVPF 127 120 125 119 124 118 35 36 123 117 122
c=IN IP4 0.0.0.0
a=rtcp:9 IN IP4 0.0.0.0
a=ice-ufrag:Q5N5
a=ice-pwd:nSxF7GEN90uST3IJTBDTH/K0
a=ice-options:trickle
a=fingerprint:sha-256 42:56:99:C5:38:D8:5D:F7:AF:00:D6:D6:7D:AE:AA:48:51:CB:F1:3B:32:4B:62:BD:64:F8:6E:F1:8E:8F:94:B3
a=setup:actpass
a=mid:0
a=extmap:1 urn:ietf:params:rtp-hdrext:toffset
a=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time
a=extmap:3 urn:3gpp:video-orientation
a=extmap:4 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01
a=extmap:5 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay
a=extmap:6 http://www.webrtc.org/experiments/rtp-hdrext/video-content-type
a=extmap:7 http://www.webrtc.org/experiments/rtp-hdrext/video-timing
a=extmap:8 http://www.webrtc.org/experiments/rtp-hdrext/color-space
a=extmap:9 urn:ietf:params:rtp-hdrext:sdes:mid
a=extmap:10 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id
a=extmap:11 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id
a=sendrecv
a=msid:8da4c4f6-63b3-4c90-b46a-349f96f92441 b30d6a5c-708d-4e65-99d5-57cbabe65a64
a=rtcp-mux
a=rtcp-rsize
a=rtpmap:127 VP8/90000
a=rtcp-fb:127 goog-remb
a=rtcp-fb:127 transport-cc
a=rtcp-fb:127 ccm fir
a=rtcp-fb:127 nack
a=rtcp-fb:127 nack pli
a=rtpmap:120 rtx/90000
a=fmtp:120 apt=127
a=rtpmap:125 VP9/90000
a=rtcp-fb:125 goog-remb
a=rtcp-fb:125 transport-cc
a=rtcp-fb:125 ccm fir
a=rtcp-fb:125 nack
a=rtcp-fb:125 nack pli
a=fmtp:125 profile-id=0
a=rtpmap:119 rtx/90000
a=fmtp:119 apt=125
a=rtpmap:124 VP9/90000
a=rtcp-fb:124 goog-remb
a=rtcp-fb:124 transport-cc
a=rtcp-fb:124 ccm fir
a=rtcp-fb:124 nack
a=rtcp-fb:124 nack pli
a=fmtp:124 profile-id=2
a=rtpmap:118 rtx/90000
a=fmtp:118 apt=124
a=rtpmap:35 AV1X/90000
a=rtcp-fb:35 goog-remb
a=rtcp-fb:35 transport-cc
a=rtcp-fb:35 ccm fir
a=rtcp-fb:35 nack
a=rtcp-fb:35 nack pli
a=rtpmap:36 rtx/90000
a=fmtp:36 apt=35
a=rtpmap:123 red/90000
a=rtpmap:117 rtx/90000
a=fmtp:117 apt=123
a=rtpmap:122 ulpfec/90000
a=ssrc-group:FID 818153011 1909080631
a=ssrc:818153011 cname:8FgmzW29P3Se2+KN
a=ssrc:818153011 msid:8da4c4f6-63b3-4c90-b46a-349f96f92441 b30d6a5c-708d-4e65-99d5-57cbabe65a64
a=ssrc:818153011 mslabel:8da4c4f6-63b3-4c90-b46a-349f96f92441
a=ssrc:818153011 label:b30d6a5c-708d-4e65-99d5-57cbabe65a64
a=ssrc:1909080631 cname:8FgmzW29P3Se2+KN
a=ssrc:1909080631 msid:8da4c4f6-63b3-4c90-b46a-349f96f92441 b30d6a5c-708d-4e65-99d5-57cbabe65a64
a=ssrc:1909080631 mslabel:8da4c4f6-63b3-4c90-b46a-349f96f92441
a=ssrc:1909080631 label:b30d6a5c-708d-4e65-99d5-57cbabe65a64
Answer
v=0
o=- 7647182636125229486 2 IN IP4 127.0.0.1
s=-
t=0 0
a=group:BUNDLE 0
a=extmap-allow-mixed
a=msid-semantic: WMS
m=video 9 UDP/TLS/RTP/SAVPF 127 120 125 119 124 118 123 117 122
c=IN IP4 0.0.0.0
a=rtcp:9 IN IP4 0.0.0.0
a=ice-ufrag:AZZa
a=ice-pwd:uONUtmbS28kprFWiJHPQWthZ
a=ice-options:trickle
a=fingerprint:sha-256 12:62:3F:56:4A:DD:78:55:94:67:F6:93:FF:4F:7D:5E:4F:69:CC:B6:FB:77:EB:F2:32:BA:35:06:A1:3D:92:24
a=setup:active
a=mid:0
a=extmap:1 urn:ietf:params:rtp-hdrext:toffset
a=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time
a=extmap:3 urn:3gpp:video-orientation
a=extmap:4 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01
a=extmap:5 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay
a=extmap:6 http://www.webrtc.org/experiments/rtp-hdrext/video-content-type
a=extmap:7 http://www.webrtc.org/experiments/rtp-hdrext/video-timing
a=extmap:8 http://www.webrtc.org/experiments/rtp-hdrext/color-space
a=extmap:9 urn:ietf:params:rtp-hdrext:sdes:mid
a=extmap:10 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id
a=extmap:11 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id
a=recvonly
a=rtcp-mux
a=rtcp-rsize
a=rtpmap:127 VP8/90000
a=rtcp-fb:127 goog-remb
a=rtcp-fb:127 transport-cc
a=rtcp-fb:127 ccm fir
a=rtcp-fb:127 nack
a=rtcp-fb:127 nack pli
a=rtpmap:120 rtx/90000
a=fmtp:120 apt=127
a=rtpmap:125 VP9/90000
a=rtcp-fb:125 goog-remb
a=rtcp-fb:125 transport-cc
a=rtcp-fb:125 ccm fir
a=rtcp-fb:125 nack
a=rtcp-fb:125 nack pli
a=fmtp:125 profile-id=0
a=rtpmap:119 rtx/90000
a=fmtp:119 apt=125
a=rtpmap:124 VP9/90000
a=rtcp-fb:124 goog-remb
a=rtcp-fb:124 transport-cc
a=rtcp-fb:124 ccm fir
a=rtcp-fb:124 nack
a=rtcp-fb:124 nack pli
a=fmtp:124 profile-id=2
a=rtpmap:118 rtx/90000
a=fmtp:118 apt=124
a=rtpmap:123 red/90000
a=rtpmap:117 rtx/90000
a=fmtp:117 apt=123
a=rtpmap:122 ulpfec/90000
@gtk2k 2つのピアはそれぞれ同じ PC 上で実行しているのでしょうか。それとも別 PC でしょうか。 利用可能な通信経路が見つからなかった可能性はありませんか?
@karasusan LAN内の別々のPCです。
@gtk2k こちら何かお手伝いできることはありますか? Offer/Answer に関しては以下の問題が報告されており、シグナリングの実装によっては正しく動作しない場合があります。 https://github.com/Unity-Technologies/com.unity.webrtc/issues/792
@karasusan あ、こちら問題解決しており、クローズするのを忘れていました。申し訳ございません。