open-webrtc-toolkit / owt-server Goto Github PK
View Code? Open in Web Editor NEWGeneral server (streaming/conference/transcoding/anayltics) for OWT. (A.k.a. MediaServer)
Home Page: https://01.org/open-webrtc-toolkit
License: Apache License 2.0
General server (streaming/conference/transcoding/anayltics) for OWT. (A.k.a. MediaServer)
Home Page: https://01.org/open-webrtc-toolkit
License: Apache License 2.0
When you try to run the this script ./source/agent/video/install_openh264.sh, it will fail to install since the lib directory doesn't exist.
This is the output:
Download libopenh264-1.7.0-linux64.4.so success.
mv: cannot stat '/owt-server/source/agent/video/lib/libopenh264.so.4': No such file or directory
mv: cannot move 'libopenh264-1.7.0-linux64.4.so' to '/owt-server/source/agent/video/lib/libopenh264.so.4': No such file or directory
User 1 logs in to the meeting and opens the shared screen
User 2 logs in to the conference and gets the shared screen
User 1 moves the mouse. User 2 will delay about 1-2 seconds in acquiring the shared screen.
When I run scripts/installDepsUnattended.sh, it failed to install:
npm ERR! code ECONNRESET
npm ERR! errno ECONNRESET
npm ERR! network request to https://registry.npmjs.org/node-gyp failed, reason: socket hang up
npm ERR! network This is a problem related to network connectivity.
npm ERR! network In most cases you are behind a proxy or have bad network settings.
npm ERR! network
npm ERR! network If you are behind a proxy, please make sure that the
npm ERR! network 'proxy' config is set properly. See: 'npm help config'
Could you add proxy in the script? If there is a system proxy parameter, it will use it automatically.
And can I use owt-server inside a company intranet? Any other configurations?
Thank you.
Join room a, subscribe room a's stream, public own local stream, mix a stream, all functions well.
Join room b, subscribe room b's mix stream, success, but no stream rendered.
The webrtc_agent report:
2019-08-13 14:32:35.661 - DEBUG: Connections - Add connection: 966844107217069000 internal [email protected]_5
2019-08-13 14:32:35,664 - DEBUG: owt.RawTransport - Accept ok, local TCP listening port: 20771
2019-08-13 14:32:35,667 - WARN: owt.RawTransport - TCP transport listen in port range bind error: Address already in use
2019-08-13 14:32:35.671 - DEBUG: WebrtcNode - publish, connectionId: 705758938687604000 connectionType: internal options: { controller: '[email protected]_5',
publisher: '5d4020208584087a71fc7656-common',
audio: false,
video: { codec: 'vp8' },
ip: '192.168.1.179',
port: 0 }
chrome 推送1280x720的视频, 录制没有指定分辨率, 录制出的视频分辨率有时是640x360,有时是320x180, 而Android 推送1280x720的视频,录制出来就是1280x720的视频
推流信息:
{ "id": "143485845242848690", "type": "forward", "media": { "audio": { "status": "active", "format": { "codec": "opus", "sampleRate": 48000, "channelNum": 2 }, "source": "mic", "optional": { "format": [ { "codec": "isac", "sampleRate": 16000 }, { "codec": "isac", "sampleRate": 32000 }, { "codec": "g722", "sampleRate": 16000, "channelNum": 1 }, { "codec": "pcma" }, { "codec": "pcmu" }, { "codec": "aac", "sampleRate": 48000, "channelNum": 2 }, { "codec": "ac3" }, { "codec": "nellymoser" }, { "codec": "ilbc" } ] } }, "video": { "status": "active", "format": { "codec": "h264", "profile": "CB" }, "source": "camera", "parameters": { "resolution": { "width": 1280, "height": 720 }, "framerate": 15 }, "optional": { "format": [ { "codec": "vp8" }, { "codec": "vp9" } ], "parameters": { "resolution": [ { "width": 960, "height": 540 }, { "width": 852, "height": 480 }, { "width": 640, "height": 360 }, { "width": 426, "height": 240 }, { "width": 320, "height": 180 }, { "width": 800, "height": 600 }, { "width": 640, "height": 480 }, { "width": 352, "height": 288 } ], "framerate": [ 6, 12 ], "bitrate": [ "x0.8", "x0.6", "x0.4", "x0.2" ], "keyFrameInterval": [ 100, 30, 5, 2, 1 ] } } } }, "info": { "type": "webrtc", "owner": "8WlDsdQvGd0k69GJAAra", "attributes": { "streamName": "main", "userid": "2hrvAnc8iFI27rKj", "role": "presenter", "name": "wwww", "video": "true", "audio": "true" }, "inViews": [] } }
是不是chrome 没办法推1280x720?
in file open-webrtc-toolkit/owt-server/tree/master/source/agent/webrtc/webrtcLib/README.md, the link of erizo code is http://github.com/ging/erizo, but it can't be accessed now.
1,call create sipcalls to jitsi
2,click loggle video on jitsi repeatedly
3,get video fail
Run plugin demo "preprocess_tool" crash on Intel(R) Core(TM) i7-8700 CPU @ 3.20GHz
Error info as below:
./preprocess_tool
Initializing face_detection network...
FaceDetection plugin:CPU
FaceDetection modle:/opt/intel/computer_vision_sdk/deployment_tools/intel_models/face-detection-retail-0004/FP32/face-detection-retail-0004.xml
terminate called after throwing an instance of 'InferenceEngine::details::InferenceEngineException'
what(): dlSym cannot locate method 'CreateExtension': ./preprocess_tool: undefined symbol: CreateExtension
/opt/intel/computer_vision_sdk_2018.5.455/deployment_tools/inference_engine/include/details/os/lin_shared_object_loader.h:55
Aborted (core dumped)
Is there a Dockerfile for building owt-server? I'm getting a few compile errors and using Docker as a standardized way to build a binary would be nice.
I started writing one.. and happy to share it.. But its getting stuck running the scripts/build.js building the webrtc code.. I think it is trying to build licode, but its missing the r_types.h header file.
Which ubuntu is best?
Is there a demo server somewhere?
FYI, I'm mostly interested in IP Camera RTSP broadcasting to 0 to N viewers. Saw your server supports RTSP, but not sure if it supports rtsp feeds as a webrtc source.
Thanks!
I successfully installed owt-server
, but when I try to access the https://localhost:3004
I got following error in js console:
TypeError: publicationGlobal is undefined[Learn More] index.js:173:5
onbeforeunload https://localhost:3004/scripts/index.js:173
receiveMessage resource:///actors/BrowserTabChild.jsm:93
wrapHandlingUserInput resource://gre/modules/E10SUtils.jsm:350
receiveMessage resource:///actors/BrowserTabChild.jsm:92
receiveMessage resource://gre/modules/ActorManagerChild.jsm:160
Error: Portal is not connected. owt.js:9:45710
1,启动mcu
2,调用createroom分别创建含有sip帐号的room1和room2
3,user1 join room1 并且pub一个流
4,user2 join room2,并且pub一个流,然后发送startsipcalls请求到room2的sipurl
5,删除room1和room2
6,以上2-5步骤重复50左右,./bin/stop-all时workingNode进程无法关闭
Hi,
I am installing the dependencies. Sometimes I failed to download some of the code/zipped file because of network problem. However, when I restart the install script, all the source code, including licode/webrtc/xxx, seems to be downloaded again, which is very time consuming.
So, I am wondering whether it's a plan to implement the incremental installation? I think most developers, especially from China, will benefit a lot from it.
Thanks a a lot in advance:)
1,Shared Screen audio only,recording fail
2,Shared Screen video only,recording fail
ERROR: RecordingNode - media recording error: No input frames available
3,Shared Screen video and audio,recording Success,but Sound blurred and intermittent
Add updateRoomPartially REST API
PATCH /v1/rooms/${roomID}
1: android device join room
2: android device publish local stream with vp8
3: android subscribe mixstream with vp8
result:
1: android published stream in mcu video was bad
2: android subscribe mixstream can not show video
3: ios side also found this issue
4: all video codec found this issue
version:
mcu : Release-v20190808
Installation failed following git repo readme:
scripts/build.js -t mcu --check #20
Follow the official site guideline, https://software.intel.com/en-us/articles/intel-collaboration-suite-for-webrtc
and access 3004 port, i can see nothing but blank window, maybe installation failed either.
Anybody can help me with the installation.
1,调用restapi 先获得流的信息, 然会对forward流进行录制,
2, 偶尔会有timeout , 默认设置timeout是3s, 如果设置为6s,timeout概率变小,但是还是会出现timeout。(合流没发现timeout)
3, 此外timeout可能发生在recording最开始订阅流的阶段(这回导致视频文件不存在), 也可能出现在订阅流的过程中(这会导致录制中断)。
Three SIP users connect to mcusip. When MCU calls one of the dropuser users, the other SIP users also hang up.
Call loss happened in stress test by sipp.
Hi. Does OWT support video conference recording?
It seems the AAC codec is only supported when doing audio stream out ... Can MCU support audio PCM codec when streaming out?
Some client SDKs have implemented continual gathering. They're able to reconnect after network switch. But the ICE timeout at server is only about 10+ seconds, while the default timeout of Socket.IO connection is 2 minutes.
I'm trying to run the conference sample with docker but after run this:
./scripts/build.js -t all --check
./scripts/pack.js -t all --install-module --sample-path /owt-client-javascript/dist/samples/conference .
cd dist
./bin/init-all.sh --deps
./bin/start-all.sh
and navigate to https://localhost:3004 I got this:
Notice the request to a wrong ip address. Actually such ip address is the ip of the container network adapter but it's wrong use such address for the request
root@5e5b9f380a29:/owt-server/dist# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
2: tunl0@NONE: <NOARP> mtu 1480 qdisc noop state DOWN group default qlen 1
link/ipip 0.0.0.0 brd 0.0.0.0
3: ip6tnl0@NONE: <NOARP> mtu 1452 qdisc noop state DOWN group default qlen 1
link/tunnel6 :: brd ::
33: eth0@if34: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
link/ether 02:42:ac:11:00:04 brd ff:ff:ff:ff:ff:ff link-netnsid 0
inet 172.17.0.4/16 brd 172.17.255.255 scope global eth0
valid_lft forever preferred_lft forever
Any idea?
my server locate in ShangHai, when i install webrtc , i got timeout due to "Connecting to chromium.googlesource.com". i guess it's because the known WALL, so how to resolve it? any sugguest is welcome, Thanks!
1:在录制模块录制桌面共享流得时候,如果浏览器切出,发布和订阅桌面共享流没有影响,但是录制模块出错:
2019-06-10 16:34:26,538 - WARN: woogeen.AVStreamOut - No input frames available 474 2019-06-10 16:34:26.538 - ERROR: RecordingNode - media recording error: No input frames available
2:桌面共享流,再次重推,发布和订阅流不受影响,但是用restapi取获取流的信息出错:
{"error":{"code":2001,"message":"Error Stream not found"}}
请求参数多次确认没有问题。
owt-deps-webrtc has rebase to webrtc M70, and now owt server use 59-server branch, does has any plan to update to M70
os_version : centos7
1: systemctl stop mongod
2: ./bin/init-all.sh
log:
/home/webrtc/workspace/server/source/dist/management_api/node_modules/mongodb/lib/mongo_client.js:421
throw err
^
MongoError: failed to connect to server [localhost:27017] on first connect [MongoError: connect ECONNREFUSED 127.0.0.1:27017]
at Pool. (/home/webrtc/workspace/server/source/dist/management_api/node_modules/mongodb-core/lib/topologies/server.js:336:35)
at emitOne (events.js:116:13)
at Pool.emit (events.js:211:7)
at Connection. (/home/webrtc/workspace/server/source/dist/management_api/node_modules/mongodb-core/lib/connection/pool.js:280:12)
at Object.onceWrapper (events.js:317:30)
at emitTwo (events.js:126:13)
at Connection.emit (events.js:214:7)
at Socket. (/home/webrtc/workspace/server/source/dist/management_api/node_modules/mongodb-core/lib/connection/connection.js:189:49)
at Object.onceWrapper (events.js:315:30)
at emitOne (events.js:116:13)
请问:我在做common合流录制 和 stream out common流时,发现了一个错误, 这个错误导致我的录制和avstreamout 全都断了。 请问原因是什么? 我改如何解决? 我没有找到必现的办法。
2019-05-09 18:10:15.907 - INFO: ErizoJS - pid: 25198
2019-05-09 18:10:15.910 - INFO: ErizoJS - Connecting to rabbitMQ server...
2019-05-09 18:10:15.923 - INFO: AmqpClient - Connecting to rabbitMQ server OK, hostPort: { port: 5672, host: '172.19.99.192' }
2019-05-09 18:10:16.253 - INFO: ErizoJS - [email protected]_123 as rpc server ready
2019-05-09 18:10:16.261 - INFO: ErizoJS - [email protected]_123 as monitor ready
2019-05-09 18:57:09.102 - INFO: AccessController - onFailed, sessionId: 817101023342985200 reason: Ice procedure failed.
2019-05-09 19:00:24.756 - INFO: AccessController - onFailed, sessionId: 214967379394110700 reason: Ice procedure failed.
2019-05-09 19:00:32.894 - INFO: AccessController - onFailed, sessionId: 47526629738205980 reason: Ice procedure failed.
2019-05-09 19:02:37.681 - INFO: AccessController - onFailed, sessionId: 513596918915366400 reason: Ice procedure failed.
2019-05-09 19:02:52.946 - INFO: AccessController - onFailed, sessionId: 716003696789593700 reason: Ice procedure failed.
2019-05-09 19:03:06.752 - INFO: AccessController - onFailed, sessionId: 313260752689476600 reason: Ice procedure failed.
2019-05-09 19:07:28.474 - INFO: AccessController - onFailed, sessionId: 263852884465915600 reason: Ice procedure failed.
2019-05-09 19:07:28.477 - INFO: AccessController - onFailed, sessionId: 463073985260268100 reason: Ice procedure failed.
2019-05-09 19:07:33.283 - INFO: AccessController - onFailed, sessionId: 912684911788369300 reason: Ice procedure failed.
2019-05-09 19:07:33.427 - INFO: AccessController - onFailed, sessionId: 616268868889905700 reason: Ice procedure failed.
2019-05-09 19:07:45.884 - INFO: AccessController - onFailed, sessionId: 56709911362741840 reason: Ice procedure failed.
2019-05-09 19:07:45.891 - INFO: AccessController - onFailed, sessionId: 154503511660518900 reason: Ice procedure failed.
2019-05-09 19:14:14.649 - INFO: AccessController - onFailed, sessionId: 375296101689233800 reason: Audio/Video not enabled
2019-05-09 19:14:14.709 - INFO: ErizoJS - Reason: Session does NOT exist
2019-05-09 19:29:09.462 - INFO: AccessController - onFailed, sessionId: 649192817481452000 reason: Ice procedure failed.
2019-05-09 19:29:27.559 - INFO: AccessController - onFailed, sessionId: 499847782140638850 reason: Ice procedure failed.
2019-05-09 19:29:47.719 - INFO: AccessController - onFailed, sessionId: 840383076455240400 reason: Ice procedure failed.
2019-05-09 19:29:49.268 - INFO: AccessController - onFailed, sessionId: 172070783736275170 reason: Ice procedure failed.
2019-05-09 19:35:18.953 - INFO: AccessController - onFailed, sessionId: 421332979021594300 reason: Ice procedure failed.
2019-05-09 19:39:43.008 - INFO: AccessController - onFailed, sessionId: 464476480200873400 reason: Ice procedure failed.
2019-05-09 19:39:49.354 - INFO: AccessController - onFailed, sessionId: 796787743095899000 reason: Ice procedure failed.
2019-05-09 19:45:36.533 - INFO: AccessController - onFailed, sessionId: 204181635681597980 reason: Ice procedure failed.
2019-05-09 19:45:40.292 - INFO: AccessController - onFailed, sessionId: 310576647233127500 reason: Ice procedure failed.
2019-05-09 19:46:18.329 - INFO: AccessController - onFailed, sessionId: 810466519068879100 reason: Ice procedure failed.
2019-05-09 19:46:19.401 - INFO: AccessController - onFailed, sessionId: 457618319457187460 reason: Ice procedure failed.
2019-05-09 19:50:28.761 - INFO: AccessController - onFailed, sessionId: 874991772164875000 reason: Ice procedure failed.
2019-05-09 19:50:47.429 - INFO: AccessController - onFailed, sessionId: 863868558306994700 reason: Ice procedure failed.
2019-05-09 19:50:57.374 - INFO: AccessController - onFailed, sessionId: 560635516828806660 reason: Ice procedure failed.
2019-05-09 19:51:01.546 - INFO: AccessController - onFailed, sessionId: 763450353216536400 reason: Ice procedure failed.
2019-05-09 19:51:13.625 - INFO: AccessController - onFailed, sessionId: 192159266824961440 reason: Ice procedure failed.
2019-05-09 19:51:27.174 - INFO: AccessController - onFailed, sessionId: 567156762552735600 reason: Ice procedure failed.
2019-05-09 19:53:10.528 - INFO: AccessController - onFailed, sessionId: 313747738914956540 reason: Ice procedure failed.
2019-05-09 19:53:11.401 - INFO: AccessController - onFailed, sessionId: 429480765803332000 reason: Ice procedure failed.
2019-05-09 19:54:24.800 - INFO: AccessController - onFailed, sessionId: 899452961556146200 reason: Ice procedure failed.
2019-05-09 19:54:24.845 - INFO: AccessController - onFailed, sessionId: 571895253159079500 reason: Ice procedure failed.
2019-05-09 19:55:36.591 - INFO: AccessController - onFailed, sessionId: 904173031807513900 reason: Ice procedure failed.
2019-05-09 19:55:40.391 - INFO: AccessController - onFailed, sessionId: 361415986044764350 reason: Ice procedure failed.
2019-05-09 19:55:40.439 - INFO: AccessController - onFailed, sessionId: 74009445089235000 reason: Ice procedure failed.
2019-05-09 19:55:48.515 - INFO: AccessController - onFailed, sessionId: 262354778074207040 reason: Ice procedure failed.
2019-05-09 19:56:01.202 - INFO: AccessController - onFailed, sessionId: 24429111943926828 reason: Ice procedure failed.
2019-05-09 19:59:01.407 - INFO: AccessController - onFailed, sessionId: 338968248467986100 reason: Ice procedure failed.
2019-05-09 19:59:01.415 - INFO: AccessController - onFailed, sessionId: 366521391193370240 reason: Ice procedure failed.
2019-05-09 20:03:39.564 - INFO: AccessController - onFailed, sessionId: 441675794771840600 reason: Ice procedure failed.
2019-05-09 20:07:21.136 - INFO: AccessController - onFailed, sessionId: 159687649460667400 reason: Ice procedure failed.
2019-05-09 20:07:21.334 - INFO: AccessController - onFailed, sessionId: 353760667193920640 reason: Ice procedure failed.
2019-05-09 20:08:18.949 - INFO: AccessController - onFailed, sessionId: 307652679454497800 reason: Ice procedure failed.
2019-05-09 20:08:28.278 - INFO: AccessController - onFailed, sessionId: 163692181848575040 reason: Ice procedure failed.
2019-05-09 20:14:57.258 - INFO: AccessController - onFailed, sessionId: 967525552841901000 reason: Ice procedure failed.
2019-05-09 20:15:30.717 - INFO: AccessController - onFailed, sessionId: 663634617257125200 reason: Ice procedure failed.
2019-05-09 20:15:31.773 - INFO: AccessController - onFailed, sessionId: 170878463672961440 reason: Ice procedure failed.
2019-05-09 20:20:41.221 - INFO: AccessController - onFailed, sessionId: 530109445859163100 reason: Ice procedure failed.
2019-05-09 20:23:47.477 - INFO: AccessController - onFailed, sessionId: 703833212190790400 reason: Ice procedure failed.
2019-05-09 20:24:13.522 - INFO: AccessController - onFailed, sessionId: 658038670454330600 reason: Ice procedure failed.
2019-05-09 20:25:20.075 - INFO: AccessController - onFailed, sessionId: 148747911546617920 reason: Ice procedure failed.
2019-05-09 20:29:55.328 - INFO: AccessController - onFailed, sessionId: 817122533853637200 reason: Ice procedure failed.
2019-05-09 20:30:00.193 - INFO: AccessController - onFailed, sessionId: 833908848761391100 reason: Ice procedure failed.
2019-05-09 20:34:21.665 - INFO: AccessController - onFailed, sessionId: 890179194714945300 reason: Ice procedure failed.
2019-05-09 20:34:21.711 - INFO: AccessController - onFailed, sessionId: 594819073159767800 reason: Ice procedure failed.
2019-05-09 21:00:33.205 - INFO: AccessController - onFailed, sessionId: 722580959832934900 reason: Ice procedure failed.
2019-05-09 21:00:59.773 - INFO: AccessController - onFailed, sessionId: 384484073046253760 reason: Ice procedure failed.
2019-05-09 21:01:49.196 - INFO: AccessController - onFailed, sessionId: 12584509804759670 reason: Ice procedure failed.
2019-05-09 21:02:06.439 - INFO: AccessController - onFailed, sessionId: 363868304468609700 reason: Ice procedure failed.
2019-05-09 21:09:41.889 - ERROR: RoomController - subscribe failed, reason: Subscription does not exist:990411044389816700
2019-05-09 21:09:41.889 - INFO: Conference - roomController.subscribe failed, reason: Subscription does not exist:990411044389816700
2019-05-09 21:09:41.889 - INFO: Conference - Exception: roomController.subscribe failed, reason: Subscription does not exist:990411044389816700
2019-05-09 21:09:41.889 - INFO: Conference - Exception: Session does NOT exist
2019-05-09 21:09:41.895 - ERROR: AccessController - Session does NOT exist
2019-05-09 21:09:41.895 - INFO: ErizoJS - Reason: Session does NOT exist
2019-05-09 21:09:41.920 - ERROR: RoomController - spreadStream failed, stream_id: 204134646954899900 reason: Stream does not exist!
2019-05-09 21:09:41.920 - ERROR: RoomController - subscribe failed, reason: Stream does not exist!
2019-05-09 21:09:41.921 - INFO: Conference - roomController.subscribe failed, reason: Stream does not exist!
2019-05-09 21:09:41.921 - INFO: Conference - Exception: roomController.subscribe failed, reason: Stream does not exist!
2019-05-09 21:09:41.921 - INFO: Conference - Exception: Session does NOT exist
2019-05-09 21:09:41.988 - ERROR: RoomController - subscribe failed, reason: Uncomplished subscription.
2019-05-09 21:09:41.989 - INFO: Conference - roomController.subscribe failed, reason: Uncomplished subscription.
2019-05-09 21:09:41.989 - INFO: Conference - Exception: roomController.subscribe failed, reason: Uncomplished subscription.
2019-05-09 21:09:41.989 - INFO: Conference - Exception: Session does NOT exist
/var/www/dream/atlas-agent/Release-v4.1/conference_agent/roomController.js:1
(function (exports, require, module, __filename, __dirname) { "use strict";var typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},assert=require("assert"),logger=require("./logger").logger,makeRPC=require("./makeRPC").makeRPC,log=logger.getLogger("RoomController");function isResolutionEqual(e,i){return e.width&&i.width&&e.height&&i.height&&e.width===i.width&&e.height===i.height}module.exports.create=function(e,i,o){var r,t={},u=e.cluster,d=e.rpcReq,k=e.rpcClient,s=e.config,P=e.room,g=e.selfRpcId,R=s.transcoding&&!!s.transcoding.audio,=s.transcoding&&!!s.transcoding.video,p=s.internalConnProtocol,C={},I={},S={},c=((r={}).video={encode:s.mediaOut.video.format.map(H),decode:s.mediaIn.video.map(H)},s.mediaOut.video.format,s.views.forEach(function(e){e.video.format&&r.video.encod
TypeError: Cannot read property 'waiting' of undefined
at /var/www/dream/atlas-agent/Release-v4.1/conference_agent/roomController.js:1:4544
at _combinedTickCallback (internal/process/next_tick.js:131:7)
at process._tickCallback (internal/process/next_tick.js:180:9)
1, Replace the index.js in 4.2.1 package with the attached one
2, Run the sample app, joining room by opening https://localhost:3004/?user={username}
3, Make sure joining room and subscribing the mixed stream OK, then disconnect the network
4, Wait for sometime, watch console output and see “subscription end”, then reconnect the network
我们在通过接口批量创建service和room时发现两个问题:
一、创建接口延迟高;
二、创建房间时nuve模块报错;
我是在阿里云上测试的,rabbitmq部署在本机,mongo使用阿里云的mongo-v3.2,所有服务都是纯内网连接,OWT组件都在同一台设备,配置使用默认。
测试步骤:
1、init nuve生成serviceid和key;
2、api接口并行500左右的请求创建房间;
3、大概30分钟左右会出现接口超时(5S)和nuve报错的情况;
具体错误信息:
`<--- Last few GCs --->
[10094:0x2d506c0] 1597301 ms: Mark-sweep 1392.8 (1457.9) -> 1392.6 (1458.9) MB, 1695.0 / 0.0 ms allocation failure GC in old space requested
[10094:0x2d506c0] 1598820 ms: Mark-sweep 1392.6 (1458.9) -> 1392.6 (1425.9) MB, 1518.6 / 0.0 ms last resort GC in old space requested
[10094:0x2d506c0] 1599636 ms: Mark-sweep 1392.6 (1425.9) -> 1392.6 (1425.9) MB, 816.5 / 0.0 ms last resort GC in old space requested
<--- JS stacktrace --->
==== JS stack trace =========================================
Security context: 0xb6564aa5879
1: /* anonymous */ [/var/www/dream/atlas-agent/Release-v4.1/nuve/node_modules/mongoose/lib/plugins/validateBeforeSave.js:~8] [pc=0x3d51114b8998](this=0x284e7e736491 ,next=0xd82daf226f1 <JSFunction fnWrapper (sfi = 0x116a26637471)>,options=0xd82daf223e9 <JSFunction (sfi = 0x116a26635b81)>)
2: _next [/var/www/dream/atlas-agent/Release-v4.1/nuve/node_modules/hooks...
FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory
1: node::Abort() [/var/www/dream/atlas-agent/node-v8.11.4-linux-x64/bin/node]
2: 0x8c21ec [/var/www/dream/atlas-agent/node-v8.11.4-linux-x64/bin/node]
3: v8::Utils::ReportOOMFailure(char const*, bool) [/var/www/dream/atlas-agent/node-v8.11.4-linux-x64/bin/node]
4: v8::internal::V8::FatalProcessOutOfMemory(char const*, bool) [/var/www/dream/atlas-agent/node-v8.11.4-linux-x64/bin/node]
5: v8::internal::Factory::NewFixedArray(int, v8::internal::PretenureFlag) [/var/www/dream/atlas-agent/node-v8.11.4-linux-x64/bin/node]
6: v8::internal::HashTable<v8::internal::NameDictionary, v8::internal::NameDictionaryShape>::New(v8::internal::Isolate*, int, v8::internal::PretenureFlag, v8::internal::MinimumCapacity) [/var/www/dream/atlas-agent/node-v8.11.4-linux-x64/bin/node]
7: v8::internal::HashTable<v8::internal::NameDictionary, v8::internal::NameDictionaryShape>::EnsureCapacity(v8::internal::Handlev8::internal::NameDictionary, int, v8::internal::PretenureFlag) [/var/www/dream/atlas-agent/node-v8.11.4-linux-x64/bin/node]
8: v8::internal::BaseNameDictionary<v8::internal::NameDictionary, v8::internal::NameDictionaryShape>::EnsureCapacity(v8::internal::Handlev8::internal::NameDictionary, int) [/var/www/dream/atlas-agent/node-v8.11.4-linux-x64/bin/node]
9: v8::internal::BaseNameDictionary<v8::internal::NameDictionary, v8::internal::NameDictionaryShape>::Add(v8::internal::Handlev8::internal::NameDictionary, v8::internal::Handlev8::internal::Name, v8::internal::Handlev8::internal::Object, v8::internal::PropertyDetails, int*) [/var/www/dream/atlas-agent/node-v8.11.4-linux-x64/bin/node]
10: v8::internal::LookupIterator::ApplyTransitionToDataProperty(v8::internal::Handlev8::internal::JSObject) [/var/www/dream/atlas-agent/node-v8.11.4-linux-x64/bin/node]
11: v8::internal::Object::AddDataProperty(v8::internal::LookupIterator*, v8::internal::Handlev8::internal::Object, v8::internal::PropertyAttributes, v8::internal::Object::ShouldThrow, v8::internal::Object::StoreFromKeyed) [/var/www/dream/atlas-agent/node-v8.11.4-linux-x64/bin/node]
12: v8::internal::Object::SetProperty(v8::internal::LookupIterator*, v8::internal::Handlev8::internal::Object, v8::internal::LanguageMode, v8::internal::Object::StoreFromKeyed) [/var/www/dream/atlas-agent/node-v8.11.4-linux-x64/bin/node]
13: v8::internal::Runtime_SetProperty(int, v8::internal::Object**, v8::internal::Isolate*) [/var/www/dream/atlas-agent/node-v8.11.4-linux-x64/bin/node]
14: 0x3d5110f842fd
2019-03-20 18:37:07.162 - INFO: Nuve - Worker 10094 died`
When I build native moduls: scripts/build.js -t all --check,
I get the following error:
fatal error: mfxdefs.h: No such file or directory
mfxdefs.h is a header file from Intel Media SDK, so it seems like I need download the Media SDK manually, or did I miss any steps?
I noticed that some npm modules are installed here without specifying a version. Some of the latest versions expect node 8.12.0 and warn about it, though we only have node 8.10.0 in Ubuntu 18.04.
This seems dangerous because users might get different results building at different times? Should we add some versions here?
Two lines below a version is being used, FWIW.
can't set room's views empty list, always a "common" view.
OWT4.2 Background Configuration SIP Server, SIP normal use, apply this operation will make the SIP password encrypted, restart will lead to sip registration is not up.
ninja: Entering directory `out'
[394/1331] CXX obj/third_party/libyuv/libyuv_internal/row_any.o
../third_party/libyuv/source/row_any.cc: In function ‘void libyuv::HalfFloatRow_Any_SSE2(const uint16*, uint16*, float, int)’:
../third_party/libyuv/source/row_any.cc:724:23: warning: ‘memset’ used with length equal to number of elements without multiplication by element size [-Wmemset-elt-size]
memset(temp, 0, 32); /* for msan /
^
../third_party/libyuv/source/row_any.cc:736:1: note: in expansion of macro ‘ANY11P16’
ANY11P16(HalfFloatRow_Any_SSE2, HalfFloatRow_SSE2, float, 2, 2, 7)
^~~~~~~~
../third_party/libyuv/source/row_any.cc: In function ‘void libyuv::HalfFloatRow_Any_AVX2(const uint16, uint16*, float, int)’:
../third_party/libyuv/source/row_any.cc:724:23: warning: ‘memset’ used with length equal to number of elements without multiplication by element size [-Wmemset-elt-size]
memset(temp, 0, 32); /* for msan /
^
../third_party/libyuv/source/row_any.cc:739:1: note: in expansion of macro ‘ANY11P16’
ANY11P16(HalfFloatRow_Any_AVX2, HalfFloatRow_AVX2, float, 2, 2, 15)
^~~~~~~~
[459/1331] CC obj/webrtc/common_audio/common_audio_c/vad_core.o
FAILED: obj/webrtc/common_audio/common_audio_c/vad_core.o
gcc -MMD -MF obj/webrtc/common_audio/common_audio_c/vad_core.o.d -DV8_DEPRECATION_WARNINGS -DUSE_UDEV -DUSE_AURA=1 -DUSE_PANGO=1 -DUSE_CAIRO=1 -DUSE_GLIB=1 -DUSE_NSS_CERTS=1 -DUSE_X11=1 -DFULL_SAFE_BROWSING -DSAFE_BROWSING_CSD -DSAFE_BROWSING_DB_LOCAL -DCHROMIUM_BUILD -DENABLE_MEDIA_ROUTER=1 -DFIELDTRIAL_TESTING_ENABLED -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D_FORTIFY_SOURCE=2 -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DWEBRTC_ENABLE_PROTOBUF=0 -DWEBRTC_INCLUDE_INTERNAL_AUDIO_DEVICE -DEXPAT_RELATIVE_PATH -DWEBRTC_POSIX -DWEBRTC_LINUX -I.. -Igen -I../webrtc/common_audio/resampler/include -I../webrtc/common_audio/signal_processing/include -I../webrtc/common_audio/vad/include -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -Wno-builtin-macro-redefined -D__DATE__= -D__TIME__= -D__TIMESTAMP__= -funwind-tables -fPIC -pipe -m64 -march=x86-64 -pthread -Wall -Wno-unused-local-typedefs -Wno-maybe-uninitialized -Wno-missing-field-initializers -Wno-unused-parameter -O2 -fno-ident -fdata-sections -ffunction-sections -fomit-frame-pointer -g0 -fvisibility=hidden -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wno-strict-overflow -c ../webrtc/common_audio/vad/vad_core.c -o obj/webrtc/common_audio/common_audio_c/vad_core.o
../webrtc/common_audio/vad/vad_core.c:118:1: error: attributes should be specified before the declarator in a function definition
static inline int32_t OverflowingMulS16ByS32ToS32(int16_t a, int32_t b)
^~~~~~
../webrtc/common_audio/vad/vad_core.c: In function ‘GmmProbability’:
../webrtc/common_audio/vad/vad_core.c:391:22: warning: implicit declaration of function ‘OverflowingMulS16ByS32ToS32’ [-Wimplicit-function-declaration]
tmp2_s32 = OverflowingMulS16ByS32ToS32(tmp_s16, tmp1_s32);
^~~~~~~~~~~~~~~~~~~~~~~~~~~
[523/1331] CXX obj/webrtc/base/rtc_task_queue/task_queue_libevent.o
../webrtc/base/task_queue_libevent.cc: In destructor ‘rtc::TaskQueue::PostAndReplyTask::~PostAndReplyTask()’:
../webrtc/base/task_queue_libevent.cc:182:10: warning: ignoring return value of ‘ssize_t write(int, const void, size_t)’, declared with attribute warn_unused_result [-Wunused-result]
write(reply_pipe_, &message, sizeof(message));
~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[528/1331] CXX obj/webrtc/modules/audio_coding/neteq/neteq_impl.o
../webrtc/modules/audio_coding/neteq/neteq_impl.cc: In member function ‘int webrtc::NetEqImpl::GetAudioInternal(webrtc::AudioFrame*, bool*)’:
../webrtc/modules/audio_coding/neteq/neteq_impl.cc:975:41: warning: this statement may fall through [-Wimplicit-fallthrough=]
sync_buffer_->IncreaseEndTimestamp(
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
static_cast<uint32_t>(output_size_samples_));
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../webrtc/modules/audio_coding/neteq/neteq_impl.cc:981:5: note: here
case kAudioRepetition: {
^~~~
[532/1331] CC obj/third_party/libvpx/libvpx_intrinsics_sse2/fwd_txfm_sse2.o
ninja: build stopped: subcommand failed.
Currently user defines roles and permissions when creating room, this is not necessary and also not good for centralized management. It should be defined at service level.
Hello,
"Once you have launched OWT servers, you can then access the console via a browser at https://XXXX:3300/console/ by default. You will be asked for your the service-id and service-key in order to access the service."
when i use management console , i can't find service-id and service-key in management_console.toml and management_api.toml , so where can i find them? Please help,thanks!
hi all
在ubuntu 16.04上安装owt, 步骤参考 OWT Server 快速入门, 但是无法正常运行
chrome 错误提示server connection failed: Error: Joining room failed.
logs/conference-*log,
错误提示:ERROR: RoomController - Init media processor failed.: Timeout to make rpc to [email protected]_0.init.
logs/viideo-agent.stdout 错误提示:NodeManager - Node [email protected]_0 is closed on unexpected code: null
看node 中 video-agent 的进程也是伴随着 浏览器的刷新访问, 一直崩溃重启.
重装过了几次,现象依旧, 求大神指点, 谢谢!
Steps to reproduce:
Participant joining/stream added event for user joined from PC2 are not received in PC1.
I try rtmp with the MCU server,but failed,
POST /rooms/5c6a239bfe81c28b25c634a4/streaming-outs
body: {"media":{"audio":{"from":"5c6a239bfe81c28b25c634a4-common"},"video":{"from":"5c6a239bfe81c28b25c634a4-common"}},"url":"rtmp://192.168.1.118:1935/live/1"}
then received HTTP/1.1 500 Internal Server Error
How do I solve the problem?
1调用createroom rest API
2调用 createtoken rest API
3调用ConferenceClient.join
4上述1,2,3,循环多次,会出现以下错误
Error: Joining room failed
Error: Joining room failed
at http://localhost:9876/absolute/home/webrtc/jinpeng/mcu/dist/extras/basic_example/public/scripts/owt.js?7f8bf6801b7a57996e831dbaefa5ffecd823dc8e:9:43817
When updatesipcalls are called, the request fails when the bitrate value is assigned to the request body
TypeError: icsREST.API.stopAnalyzing is not a function
at /root/Release-v4.2.1/extras/basic_example/samplertcservice.js:143:19
at Layer.handle [as handle_request] (/root/Release-v4.2.1/extras/basic_example/node_modules/express/lib/router/layer.js:95:5)
at next (/root/Release-v4.2.1/extras/basic_example/node_modules/express/lib/router/route.js:137:13)
at Route.dispatch (/root/Release-v4.2.1/extras/basic_example/node_modules/express/lib/router/route.js:112:3)
at Layer.handle [as handle_request] (/root/Release-v4.2.1/extras/basic_example/node_modules/express/lib/router/layer.js:95:5)
at /root/Release-v4.2.1/extras/basic_example/node_modules/express/lib/router/index.js:281:22
at param (/root/Release-v4.2.1/extras/basic_example/node_modules/express/lib/router/index.js:354:14)
at param (/root/Release-v4.2.1/extras/basic_example/node_modules/express/lib/router/index.js:365:14)
at param (/root/Release-v4.2.1/extras/basic_example/node_modules/express/lib/router/index.js:365:14)
at Function.process_params (/root/Release-v4.2.1/extras/basic_example/node_modules/express/lib/router/index.js:410:3)
it will still collect candidates on all interfaces.
1, jitsi calls mcu and audio only
2, Switching Audio and Video
3, Hang up after 6 seconds
access sample via Chrome. cannot join room.
2019-08-01 03:26:10.760 - DEBUG: AmqpClient - New message received { data: 'error',
corrID: 717,
type: 'callback',
err: 'Joining room failed : ERR roomController init failed. reason --: node not ready' }
2019-08-01 03:26:10.760 - DEBUG: AmqpClient - Callback callback - error
2019-08-01 03:26:10.761 - INFO: SocketIOServer - Login failed: Joining room failed : ERR roomController init failed. reason --: node not ready
2019-08-01 03:26:10.761 - DEBUG: SocketIOServer - socket.io disconnected, reason: server namespace disconnect
我编译mcu4.2版本时报错,不知道该如何解决
../../../../../node_modules/nan/nan.h:1655:3: note: declared here Call(int argc, v8::Local<v8::Value> argv[]) const { ^~~~ ../WebRtcConnection.cc: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE WebRtcConnection::New(Nan::NAN_METHOD_ARGS_TYPE)’: ../WebRtcConnection.cc:361:17: error: ‘class erizo::IceConfig’ has no member named ‘ip_addresses’ iceConfig.ip_addresses = ipAddresses; ^~~~~~~~~~~~ ../WebRtcConnection.cc: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE WebRtcConnection::removeRemoteCandidate(Nan::NAN_METHOD_ARGS_TYPE)’: ../WebRtcConnection.cc:543:16: error: ‘using element_type = class erizo::WebRtcConnection {aka class erizo::WebRtcConnection}’ has no member named ‘removeRemoteCandidate’; did you mean ‘addRemoteCandidate’? bool r = me->removeRemoteCandidate(mid, sdpMLine, sdp); ^~~~~~~~~~~~~~~~~~~~~ addRemoteCandidate ../WebRtcConnection.cc: In static member function ‘static void WebRtcConnection::eventsCallback(uv_async_t*)’: ../WebRtcConnection.cc:707:102: warning: ‘v8::Local<v8::Value> Nan::MakeCallback(v8::Local<v8::Object>, v8::Local<v8::Function>, int, v8::Local<v8::Value>*)’ is deprecated [-Wdeprecated-declarations] Nan::MakeCallback(Nan::GetCurrentContext()->Global(), obj->eventCallback_->GetFunction(), 2, args); ^ In file included from ../WebRtcConnection.h:4:0, from ../WebRtcConnection.cc:5: ../../../../../node_modules/nan/nan.h:958:46: note: declared here NAN_DEPRECATED inline v8::Local<v8::Value> MakeCallback( ^~~~~~~~~~~~ ../WebRtcConnection.cc: In static member function ‘static void WebRtcConnection::statsCallback(uv_async_t*)’: ../WebRtcConnection.cc:722:104: warning: ‘v8::Local<v8::Value> Nan::MakeCallback(v8::Local<v8::Object>, v8::Local<v8::Function>, int, v8::Local<v8::Value>*)’ is deprecated [-Wdeprecated-declarations] Nan::MakeCallback(Nan::GetCurrentContext()->Global(), obj->statsCallback_->GetFunction(), 1, args); ^ In file included from ../WebRtcConnection.h:4:0, from ../WebRtcConnection.cc:5: ../../../../../node_modules/nan/nan.h:958:46: note: declared here NAN_DEPRECATED inline v8::Local<v8::Value> MakeCallback( ^~~~~~~~~~~~ ../VideoFrameConstructorWrapper.cc: In static member function ‘static void VideoFrameConstructor::Callback(uv_async_t*)’: ../VideoFrameConstructorWrapper.cc:147:97: warning: ‘v8::Local<v8::Value> Nan::MakeCallback(v8::Local<v8::Object>, v8::Local<v8::Function>, int, v8::Local<v8::Value>*)’ is deprecated [-Wdeprecated-declarations] Nan::MakeCallback(Nan::GetCurrentContext()->Global(), obj->Callback_->GetFunction(), 1, args); ^ In file included from ../MediaDefinitions.h:4:0, from ../VideoFrameConstructorWrapper.h:8, from ../VideoFrameConstructorWrapper.cc:9: ../../../../../node_modules/nan/nan.h:958:46: note: declared here NAN_DEPRECATED inline v8::Local<v8::Value> MakeCallback( ^~~~~~~~~~~~ webrtc.target.mk:236: recipe for target 'Release/obj.target/webrtc/WebRtcConnection.o' failed make: *** [Release/obj.target/webrtc/WebRtcConnection.o] Error 1 make: *** Waiting for unfinished jobs.... make: Leaving directory '/home/phenix/qianzn/owt-server-4.2/source/agent/webrtc/webrtcLib/build' gyp ERR! build error gyp ERR! stack Error:
make` failed with exit code: 2
gyp ERR! stack at ChildProcess.onExit (/home/phenix/.nvm/versions/node/v8.15.0/lib/node_modules/node-gyp/lib/build.js:190:23)
gyp ERR! stack at emitTwo (events.js:126:13)
gyp ERR! stack at ChildProcess.emit (events.js:214:7)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:198:12)
gyp ERR! System Linux 4.15.0-51-generic
gyp ERR! command "/home/phenix/.nvm/versions/node/v8.15.0/bin/node" "/home/phenix/.nvm/versions/node/v8.15.0/bin/node-gyp" "build" "-j" "8" "--loglevel=error"
gyp ERR! cwd /home/phenix/qianzn/owt-server-4.2/source/agent/webrtc/webrtcLib
gyp ERR! node -v v8.15.0
gyp ERR! node-gyp -v v5.0.0
gyp ERR! not ok
child_process.js:650
throw err;
^
Error: Command failed: node-gyp build -j 8 --loglevel=error
at checkExecSyncError (child_process.js:607:13)
at execSync (child_process.js:647:13)
at buildTarget (/home/phenix/qianzn/owt-server-4.2/scripts/build.js:129:5)
at buildList.map (/home/phenix/qianzn/owt-server-4.2/scripts/build.js:153:10)
at Array.map ()
at Object. (/home/phenix/qianzn/owt-server-4.2/scripts/build.js:152:23)
at Module._compile (module.js:653:30)
at Object.Module._extensions..js (module.js:664:10)
at Module.load (module.js:566:32)
at tryModuleLoad (module.js:506:12)
`
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.