OpenVidu / openvidu

OpenVidu Platform main repository
https://openvidu.io
Apache License 2.0
1.87k stars 464 forks source link

Request element 'typeOfVideo' is missing. #22

Closed maxifjaved closed 6 years ago

maxifjaved commented 6 years ago

I am trying to do screen share using NodeJS(backend) and ReactJs(frontend) and it throw and error. I am confused where to add this parameter.

Here is the full error message

Error #1

ERROR:java.lang.RuntimeException:Request element 'typeOfVideo' is missing in Request: method:publishVideo params:{"sdpOffer":"v=0\r\no=- 3309172586902494015 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE audio video data\r\na=msid-semantic: WMS vqpE1uZxPbRuW63RdW8nVScqg4fbP3xcM2HM\r\nm=audio 55878 UDP/TLS/RTP/SAVPF 111 103 104 9 0 8 106 105 13 110 112 113 126\r\nc=IN IP4 192.168.8.100\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=candidate:2901037939 1 udp 2122260223 192.168.8.100 55878 typ host generation 0 network-id 1 network-cost 50\r\na=candidate:3603154059 1 udp 2122194687 172.17.5.69 46972 typ host generation 0 network-id 2 network-cost 10\r\na=ice-ufrag:+21O\r\na=ice-pwd:BpWfB3Q/dn9L+4d4wOm04eKa\r\na=ice-options:trickle\r\na=fingerprint:sha-256 8A:37:D8:A9:D8:08:26:AF:71:68:1F:CB:27:EC:94:15:F7:53:94:BB:AC:7A:95:8D:F5:DF:93:AC:37:0F:20:1B\r\na=setup:actpass\r\na=mid:audio\r\na=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level\r\na=sendonly\r\na=rtcp-mux\r\na=rtpmap:111 opus/48000/2\r\na=rtcp-fb:111 transport-cc\r\na=fmtp:111 minptime=10;useinbandfec=1\r\na=rtpmap:103 ISAC/16000\r\na=rtpmap:104 ISAC/32000\r\na=rtpmap:9 G722/8000\r\na=rtpmap:0 PCMU/8000\r\na=rtpmap:8 PCMA/8000\r\na=rtpmap:106 CN/32000\r\na=rtpmap:105 CN/16000\r\na=rtpmap:13 CN/8000\r\na=rtpmap:110 telephone-event/48000\r\na=rtpmap:112 telephone-event/32000\r\na=rtpmap:113 telephone-event/16000\r\na=rtpmap:126 telephone-event/8000\r\na=ssrc:2146590847 cname:Juh/tZCEMchdfeAY\r\na=ssrc:2146590847 msid:vqpE1uZxPbRuW63RdW8nVScqg4fbP3xcM2HM 9980a70c-9684-4978-a5a3-adb6509642ed\r\na=ssrc:2146590847 mslabel:vqpE1uZxPbRuW63RdW8nVScqg4fbP3xcM2HM\r\na=ssrc:2146590847 label:9980a70c-9684-4978-a5a3-adb6509642ed\r\nm=video 48433 UDP/TLS/RTP/SAVPF 96 97 98 99 100 101 102 125 127\r\nc=IN IP4 192.168.8.100\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=candidate:2901037939 1 udp 2122260223 192.168.8.100 48433 typ host generation 0 network-id 1 network-cost 50\r\na=candidate:3603154059 1 udp 2122194687 172.17.5.69 47505 typ host generation 0 network-id 2 network-cost 10\r\na=ice-ufrag:+21O\r\na=ice-pwd:BpWfB3Q/dn9L+4d4wOm04eKa\r\na=ice-options:trickle\r\na=fingerprint:sha-256 8A:37:D8:A9:D8:08:26:AF:71:68:1F:CB:27:EC:94:15:F7:53:94:BB:AC:7A:95:8D:F5:DF:93:AC:37:0F:20:1B\r\na=setup:actpass\r\na=mid:video\r\na=extmap:2 urn:ietf:params:rtp-hdrext:toffset\r\na=extmap:3 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:4 urn:3gpp:video-orientation\r\na=extmap:5 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:6 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay\r\na=extmap:7 http://www.webrtc.org/experiments/rtp-hdrext/video-content-type\r\na=extmap:8 http://www.webrtc.org/experiments/rtp-hdrext/video-timing\r\na=sendonly\r\na=rtcp-mux\r\na=rtcp-rsize\r\na=rtpmap:96 VP8/90000\r\na=rtcp-fb:96 ccm fir\r\na=rtcp-fb:96 nack\r\na=rtcp-fb:96 nack pli\r\na=rtcp-fb:96 goog-remb\r\na=rtcp-fb:96 transport-cc\r\na=rtpmap:97 rtx/90000\r\na=fmtp:97 apt=96\r\na=rtpmap:98 VP9/90000\r\na=rtcp-fb:98 ccm fir\r\na=rtcp-fb:98 nack\r\na=rtcp-fb:98 nack pli\r\na=rtcp-fb:98 goog-remb\r\na=rtcp-fb:98 transport-cc\r\na=rtpmap:99 rtx/90000\r\na=fmtp:99 apt=98\r\na=rtpmap:100 H264/90000\r\na=rtcp-fb:100 ccm fir\r\na=rtcp-fb:100 nack\r\na=rtcp-fb:100 nack pli\r\na=rtcp-fb:100 goog-remb\r\na=rtcp-fb:100 transport-cc\r\na=fmtp:100 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f\r\na=rtpmap:101 rtx/90000\r\na=fmtp:101 apt=100\r\na=rtpmap:102 red/90000\r\na=rtpmap:125 rtx/90000\r\na=fmtp:125 apt=102\r\na=rtpmap:127 ulpfec/90000\r\na=ssrc-group:FID 1421376676 299668970\r\na=ssrc:1421376676 cname:Juh/tZCEMchdfeAY\r\na=ssrc:1421376676 msid:vqpE1uZxPbRuW63RdW8nVScqg4fbP3xcM2HM 75289079-409b-4c34-9088-92a00be09d23\r\na=ssrc:1421376676 mslabel:vqpE1uZxPbRuW63RdW8nVScqg4fbP3xcM2HM\r\na=ssrc:1421376676 label:75289079-409b-4c34-9088-92a00be09d23\r\na=ssrc:299668970 cname:Juh/tZCEMchdfeAY\r\na=ssrc:299668970 msid:vqpE1uZxPbRuW63RdW8nVScqg4fbP3xcM2HM 75289079-409b-4c34-9088-92a00be09d23\r\na=ssrc:299668970 mslabel:vqpE1uZxPbRuW63RdW8nVScqg4fbP3xcM2HM\r\na=ssrc:299668970 label:75289079-409b-4c34-9088-92a00be09d23\r\nm=application 55103 DTLS/SCTP 5000\r\nc=IN IP4 192.168.8.100\r\na=candidate:2901037939 1 udp 2122260223 192.168.8.100 55103 typ host generation 0 network-id 1 network-cost 50\r\na=candidate:3603154059 1 udp 2122194687 172.17.5.69 58280 typ host generation 0 network-id 2 network-cost 10\r\na=ice-ufrag:+21O\r\na=ice-pwd:BpWfB3Q/dn9L+4d4wOm04eKa\r\na=ice-options:trickle\r\na=fingerprint:sha-256 8A:37:D8:A9:D8:08:26:AF:71:68:1F:CB:27:EC:94:15:F7:53:94:BB:AC:7A:95:8D:F5:DF:93:AC:37:0F:20:1B\r\na=setup:actpass\r\na=mid:data\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n","doLoopback":false,"audioActive":true,"videoActive":true} request:undefined

Error #2

jsonrpcclient.js:176 ERROR DATA:"java.lang.RuntimeException: Request element 'typeOfVideo' is missing\n\tat io.openvidu.server.rpc.JsonRpcUserControl.getStringParam(JsonRpcUserControl.java:233)\n\tat io.openvidu.server.rpc.JsonRpcUserControl.publishVideo(JsonRpcUserControl.java:114)\n\tat io.openvidu.server.RoomJsonRpcHandler.handleRequest(RoomJsonRpcHandler.java:93)\n\tat org.kurento.jsonrpc.internal.JsonRpcHandlerManager.handleRequest(JsonRpcHandlerManager.java:128)\n\tat org.kurento.jsonrpc.internal.server.ProtocolManager$3.run(ProtocolManager.java:218)\n\tat java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)\n\tat java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)\n\tat java.lang.Thread.run(Thread.java:748)\n"

Error #3

Error on publishVideo: {"code":-1,"message":"java.lang.RuntimeException:Request element 'typeOfVideo' is missing","data":"java.lang.RuntimeException: Request element 'typeOfVideo' is missing\n\tat io.openvidu.server.rpc.JsonRpcUserControl.getStringParam(JsonRpcUserControl.java:233)\n\tat io.openvidu.server.rpc.JsonRpcUserControl.publishVideo(JsonRpcUserControl.java:114)\n\tat io.openvidu.server.RoomJsonRpcHandler.handleRequest(RoomJsonRpcHandler.java:93)\n\tat org.kurento.jsonrpc.internal.JsonRpcHandlerManager.handleRequest(JsonRpcHandlerManager.java:128)\n\tat org.kurento.jsonrpc.internal.server.ProtocolManager$3.run(ProtocolManager.java:218)\n\tat java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)\n\tat java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)\n\tat java.lang.Thread.run(Thread.java:748)\n","requestTime":1515447125224

pabloFuente commented 6 years ago

Hi

This is for sure a problem of version incompatibility between openvidu-browser and openvidu-server (probably your openvidu-server is a higher version than your openvidu-browser). Make sure you use the same version from both of the modules (here you can get last version, which is 1.3.0).

Regards.

maxifjaved commented 6 years ago

I have confirmed on server npm pakage version of openvidu-node-client versoin is 1.1.0 and same version on the client side browser library. more over i know latest is 1.3.0. Let me try out with updated version.

pabloFuente commented 6 years ago

The only mandatory requirement is to use the same version on openvidu-server and openvidu-browser. Other artifacts such as openvidu-node-client or openvidu-java-client can remain on 1.1.0.

talentedandrew commented 6 years ago

I had the same error. After updating openvidu-browser to 1.3.0 and adding the parameter typeOfVideo : 'CAMERA' (or 'SCREEN') to initPublisher method, everything worked fine. I think the docs are not updated till yet.

pabloFuente commented 6 years ago

As long as openvidu-browser has the same version number, the library will internally and automatically ensure that all required parameters are sent to the server. For example, there's no need to add "typeOfVideo" on version 1.3.0, as it is an internal parameter that the library manages itself.

maxifjaved commented 6 years ago

@pabloFuente i am able to fix this issue after updating my openvidu-browser library to latest version. On the other hand my npm package version is 1.1.0