{"id":325599,"date":"2021-06-28T09:01:05","date_gmt":"2021-06-28T09:01:05","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=325599"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=325599","title":{"rendered":"WebRTC \u0441\u043a\u0440\u0438\u043d\u0448\u0430\u0440\u0438\u043d\u0433 \u0441 \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u0435\u0439 \u0438 \u043f\u043b\u044e\u0448\u043a\u0430\u043c\u0438"},"content":{"rendered":"\n<div class=\"post__text post__text_v2\" id=\"post-content-body\">\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/d58\/a00\/6ae\/d58a006ae7ca02f03d05c71f9fa0c873.jpg\" width=\"1024\" height=\"576\"><figcaption><\/figcaption><\/figure>\n<p>\u041f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u043e\u0441\u0442\u044c \u043e\u043d\u043b\u0430\u0439\u043d-\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0441 \u043a\u0430\u0436\u0434\u044b\u043c \u043c\u0435\u0441\u044f\u0446\u0435\u043c. \u0410 \u0433\u0434\u0435 \u0443\u0432\u0435\u043b\u0438\u0447\u0435\u043d\u0438\u0435 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u043e\u0441\u0442\u0438, \u0442\u0430\u043c \u0438 \u0432\u043e\u0437\u0440\u0430\u0441\u0442\u0430\u043d\u0438\u0435 \u043a\u043e\u043d\u043a\u0443\u0440\u0435\u043d\u0446\u0438\u0438 \u0438 \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u0435 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0430: \u043c\u043d\u043e\u0433\u0438\u0435 \u0430\u0432\u0442\u043e\u0440\u044b \u043e\u043d\u043b\u0430\u0439\u043d-\u0448\u043a\u043e\u043b \u043f\u043e\u043d\u044f\u043b\u0438, \u0447\u0442\u043e \u0443\u0436\u0435 \u043c\u0430\u043b\u043e \u0441\u043d\u0438\u043c\u0430\u0442\u044c \u043a\u0430\u043a\u0443\u044e-\u0442\u043e \u043a\u0430\u0448\u0443 \u0438\u0437 \u043f\u0438\u043a\u0441\u0435\u043b\u0435\u0439 \u043d\u0430 \u0444\u0440\u043e\u043d\u0442\u0430\u043b\u043a\u0443 \u0447\u0435\u0442\u0432\u0435\u0440\u0442\u043e\u0433\u043e \u0430\u0439\u0444\u043e\u043d\u0430 &#8212; \u043d\u0443\u0436\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u043d\u0430\u0434 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u043e\u043c \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0438, \u0437\u0432\u0443\u043a\u0430, \u043f\u043e\u0434\u0430\u0447\u0435\u0439 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0430 \u0438 \u0442.\u0434. \u041c\u0430\u043b\u043e \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u043f\u0430\u043d\u0434\u0435\u043c\u0438\u044f \u0434\u043e\u043a\u0430\u0437\u0430\u043b\u0430, \u0447\u0442\u043e \u043e\u043d\u043b\u0430\u0439\u043d \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u0435\u043f\u043e\u0434\u0430\u0432\u0430\u0442\u044c \u0445\u043e\u0442\u044c \u0441\u0430\u043b\u044c\u0441\u0443, \u0445\u043e\u0442\u044c \u0432\u044f\u0437\u0430\u043d\u0438\u0435 \u043a\u0440\u044e\u0447\u043a\u043e\u043c, \u0442\u0430\u043a \u044d\u0442\u043e \u0435\u0449\u0435 \u0438 \u0434\u0430\u043b\u043e \u043e\u0447\u0435\u043d\u044c \u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u0442\u043e\u043b\u0447\u043e\u043a \u043a \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u044e \u043f\u0440\u0435\u043f\u043e\u0434\u0430\u0432\u0430\u0435\u043c\u044b\u0445 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u043e\u0432 + \u0440\u0430\u0437\u043d\u043e\u043e\u0431\u0440\u0430\u0437\u0438\u0435 \u043d\u0430 \u0440\u044b\u043d\u043a\u0435 \u0442\u0440\u0443\u0434\u0430. \u041c\u0430\u043c\u043e\u0447\u043a\u0438 \u0432 \u0434\u0435\u043a\u0440\u0435\u0442\u0435 \u043c\u043e\u0433\u0443\u0442 \u043b\u0438\u043a\u043e\u0432\u0430\u0442\u044c &#8212; \u0442\u0435\u043f\u0435\u0440\u044c \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c \u0441\u0442\u043e \u0442\u044b\u0441\u044f\u0447 \u043c\u0438\u043b\u043b\u0438\u043e\u043d\u043e\u0432 \u0432 \u0441\u0435\u043a\u0443\u043d\u0434\u0443, \u0441\u0438\u0434\u044f \u0434\u043e\u043c\u0430.<\/p>\n<p>\u0412 \u043f\u0440\u043e\u0448\u043b\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043c\u044b \u0433\u043e\u0432\u043e\u0440\u0438\u043b\u0438 \u043e \u043d\u043e\u0432\u044b\u0445 \u043f\u0440\u043e\u0444\u0435\u0441\u0441\u0438\u044f\u0445, \u043f\u043e\u0440\u043e\u0436\u0434\u0435\u043d\u043d\u044b\u0445 \u043a\u0430\u0440\u0430\u043d\u0442\u0438\u043d\u043e\u043c \u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430\u0445 \u0434\u043b\u044f \u0438\u0445 \u0440\u0430\u0431\u043e\u0442\u044b, \u0430 \u0435\u0449\u0435, \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0432\u0441\u0435\u0433\u043e \u043b\u0438\u0448\u044c 70 \u0441\u0442\u0440\u043e\u0447\u0435\u043a \u043a\u043e\u0434\u0430, \u043d\u0430\u043a\u0438\u0434\u0430\u043b\u0438 \u0441\u043a\u0435\u043b\u0435\u0442 \u043c\u043d\u043e\u0433\u043e\u0442\u043e\u0447\u0435\u0447\u043d\u043e\u0439 \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u0438 \u0441 \u0437\u0430\u043f\u0438\u0441\u044c\u044e \u0438 \u0441\u043a\u0440\u0438\u043d\u0448\u0430\u0440\u0438\u043d\u0433\u043e\u043c. <\/p>\n<p>\u0421\u043a\u0440\u0438\u043d\u0448\u0430\u0440\u0438\u043d\u0433 \u0432\u043e\u043e\u0431\u0449\u0435 \u043e\u0447\u0435\u043d\u044c \u0432\u043e\u0441\u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u043d\u0430\u044f \u0448\u0442\u0443\u043a\u0430, \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u0432 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0440\u0435\u0430\u043b\u0438\u044f\u0445, \u043a\u043e\u0433\u0434\u0430 \u043d\u0430 \u043f\u0438\u043a\u0435 \u043c\u043e\u0434\u044b \u0440\u0430\u0437\u043d\u044b\u0435 \u043a\u0443\u0440\u0441\u044b \u0441\u0430\u043c\u043e\u0440\u0430\u0437\u0432\u0438\u0442\u0438\u044f. \u0425\u043e\u0447\u0435\u0448\u044c \u043f\u043e\u0445\u0443\u0434\u0435\u0442\u044c, \u043f\u043e\u0442\u043e\u043b\u0441\u0442\u0435\u0442\u044c, \u0437\u0430\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u043c\u0438\u043b\u043b\u0438\u043e\u043d\u044b, \u0441\u043c\u0435\u043d\u0438\u0442\u044c \u043f\u0440\u043e\u0444\u0435\u0441\u0441\u0438\u044e, \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u0432\u043e\u0441\u043f\u0438\u0442\u044b\u0432\u0430\u0442\u044c \u0434\u0435\u0442\u0435\u0439, \u0434\u043e\u0441\u0442\u0438\u0447\u044c \u043f\u0440\u043e\u0441\u0432\u0435\u0442\u043b\u0435\u043d\u0438\u044f, \u0437\u0430\u0442\u0435\u043c\u043d\u0435\u043d\u0438\u044f \u0438\u043b\u0438 \u0443\u0431\u0438\u0440\u0430\u0442\u044c\u0441\u044f \u043f\u043e \u0424\u0435\u043d-\u0428\u0443\u044e? \u0412 \u0441\u0435\u0442\u0438 \u0435\u0441\u0442\u044c \u043d\u0443\u0436\u043d\u044b\u0439 \u0442\u0435\u0431\u0435 \u043d\u0430\u0441\u0442\u0430\u0432\u043d\u0438\u043a \u0438 \u0434\u0430\u0436\u0435 \u043d\u0435 \u043e\u0434\u0438\u043d. \u0413\u043b\u0430\u0432\u043d\u044b\u0439 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u0442\u0430\u043a\u0438\u0445 \u0442\u0440\u0435\u043d\u0435\u0440\u043e\u0432 &#8212; \u043f\u0440\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0432\u0435\u0431\u0438\u043d\u0430\u0440\u043e\u0432, \u0447\u0430\u0449\u0435 \u0432\u0441\u0435\u0433\u043e \u043f\u043b\u0430\u0442\u043d\u044b\u0445.  \u0418 \u0435\u0441\u043b\u0438 \u0431\u0440\u0430\u0442\u044c\u0441\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c \u0441\u0432\u043e\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u0432\u0435\u0431\u0438\u043d\u0430\u0440\u043e\u0432, \u0442\u043e \u0441\u0440\u0430\u0437\u0443 \u043f\u043e\u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0432\u043e\u043f\u0440\u043e\u0441\u043e\u0432: <\/p>\n<ol>\n<li>\n<p>\u0413\u0434\u0435 \u0440\u0430\u0437\u043c\u0435\u0441\u0442\u0438\u0442\u044c?<\/p>\n<\/li>\n<li>\n<p>\u041a\u0430\u043a \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c?<\/p>\n<\/li>\n<li>\n<p>\u041a\u0430\u043a \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0438\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f? <\/p>\n<\/li>\n<\/ol>\n<p>\u041c\u044b \u0440\u0435\u0448\u0438\u043b\u0438 \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u0432\u0441\u0435 \u043e\u0442\u0432\u0435\u0442\u044b \u0432\u043e\u0435\u0434\u0438\u043d\u043e, \u0442\u0430\u043a \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0430\u0441\u044c \u044d\u0442\u0430 \u0441\u0442\u0430\u0442\u044c\u044f.  <\/p>\n<h3>\u041a\u0430\u043a \u0432\u044b\u0431\u0438\u0440\u0430\u0442\u044c \u0441\u0435\u0440\u0432\u0435\u0440 \u0438 \u0433\u0434\u0435 \u0440\u0430\u0437\u043c\u0435\u0449\u0430\u0442\u044c?<\/h3>\n<p>\u0414\u043b\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0441\u0442\u0440\u0438\u043c\u0438\u043d\u0433\u0430 \u0432 \u044d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0430\u0446\u0438\u044e \u043d\u0443\u0436\u043d\u043e \u043e\u0446\u0435\u043d\u0438\u0442\u044c \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u044b \u0441\u0438\u0441\u0442\u0435\u043c\u044b. <\/p>\n<ul>\n<li>\n<p>\u0447\u0438\u0441\u043b\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u0441\u0442\u0440\u0438\u043c\u0435\u0440\u043e\u0432;<\/p>\n<\/li>\n<li>\n<p>\u0447\u0438\u0441\u043b\u043e \u0432\u0445\u043e\u0434\u044f\u0449\u0438\u0445 \u0441\u0442\u0440\u0438\u043c\u043e\u0432;<\/p>\n<\/li>\n<li>\n<p>\u0447\u0438\u0441\u043b\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u043f\u043e\u0434\u043f\u0438\u0441\u0447\u0438\u043a\u043e\u0432;<\/p>\n<\/li>\n<li>\n<p>\u0447\u0438\u0441\u043b\u043e \u0438\u0441\u0445\u043e\u0434\u044f\u0449\u0438\u0445 \u0441\u0442\u0440\u0438\u043c\u043e\u0432;<\/p>\n<\/li>\n<li>\n<p>\u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0432\u0438\u0434\u0435\u043e \u0441\u0442\u0440\u0438\u043c\u043e\u0432;<\/p>\n<\/li>\n<li>\n<p>\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u043f\u0435\u0440\u0438\u043e\u0434\u044b;<\/p>\n<\/li>\n<li>\n<p>\u0433\u0435\u043e\u0433\u0440\u0430\u0444\u0438\u044f \u0440\u0430\u0437\u043c\u0435\u0449\u0435\u043d\u0438\u044f \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 \u0438 \u043f\u043e\u0434\u043f\u0438\u0441\u0447\u0438\u043a\u043e\u0432. <\/p>\n<\/li>\n<\/ul>\n<p>\u0418 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u044d\u0442\u0438\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0449\u0443\u044e \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0438\u043b\u0438 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0438\u043d\u0441\u0442\u0430\u043d\u0441\u0430. <\/p>\n<p>\u041f\u0440\u0438\u043c\u0435\u0440\u043d\u044b\u0435 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u043e \u0445\u0430\u0440\u0430\u043a\u0442\u0435\u0440\u0438\u0441\u0442\u0438\u043a\u0430\u043c \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0434\u043b\u044f \u0442\u0438\u043f\u043e\u0432\u044b\u0445 \u0437\u0430\u0434\u0430\u0447 \u0443\u043a\u0430\u0437\u0430\u043d\u044b \u043d\u0438\u0436\u0435: <\/p>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<p>\u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043f\u043e\u0434\u043f\u0438\u0441\u0447\u0438\u043a\u043e\u0432<\/p>\n<\/th>\n<th>\n<p>CPUs<\/p>\n<\/th>\n<th>\n<p>RAM, GB<\/p>\n<\/th>\n<th>\n<p>\u0422\u0440\u0430\u0444\u0438\u043a, TB<\/p>\n<\/th>\n<th>\n<p>\u041f\u0440\u0438\u043c\u0435\u0440 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f<\/p>\n<\/th>\n<\/tr>\n<tr>\n<td>\n<p>\u0434\u043e 200<\/p>\n<\/td>\n<td>\n<p>4<\/p>\n<\/td>\n<td>\n<p>8<\/p>\n<\/td>\n<td>\n<p>5<\/p>\n<\/td>\n<td>\n<p>\u0421\u0438\u0441\u0442\u0435\u043c\u0430 \u0432\u0438\u0434\u0435\u043e\u043d\u0430\u0431\u043b\u044e\u0434\u0435\u043d\u0438\u044f<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>\u0434\u043e 500<\/p>\n<\/td>\n<td>\n<p>8<\/p>\n<\/td>\n<td>\n<p>16<\/p>\n<\/td>\n<td>\n<p>6<\/p>\n<\/td>\n<td>\n<p>\u0412\u0435\u0431\u0438\u043d\u0430\u0440\u044b<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>\u0434\u043e 1000<\/p>\n<\/td>\n<td>\n<p>16<\/p>\n<\/td>\n<td>\n<p>64<\/p>\n<\/td>\n<td>\n<p>9<\/p>\n<\/td>\n<td>\n<p>\u0412\u0438\u0434\u0435\u043e\u0447\u0430\u0442<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>\u0434\u043e 2000<\/p>\n<\/td>\n<td>\n<p>20<\/p>\n<\/td>\n<td>\n<p>96<\/p>\n<\/td>\n<td>\n<p>10<\/p>\n<\/td>\n<td>\n<p>\u0421\u0442\u0440\u0438\u043c\u0438\u043d\u0433 HD \u0432\u0438\u0434\u0435\u043e<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>\u0415\u0441\u043b\u0438 \u0432 \u0432\u0430\u0448\u0435\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u0435 \u043f\u043b\u0430\u043d\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0431\u043e\u043b\u044c\u0448\u0435\u0435 \u0447\u0438\u0441\u043b\u043e \u043f\u043e\u0434\u043f\u0438\u0441\u0447\u0438\u043a\u043e\u0432, \u043d\u0435 \u0438\u043c\u0435\u0435\u0442 \u0441\u043c\u044b\u0441\u043b\u0430 \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0432\u0430\u0442\u044c \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0445\u0430\u0440\u0430\u043a\u0442\u0435\u0440\u0438\u0441\u0442\u0438\u043a\u0438 \u043e\u0434\u043d\u043e\u0433\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0442.\u043a. \u044d\u0442\u043e \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u0442 \u043a \u043f\u043e\u044f\u0432\u043b\u0435\u043d\u0438\u044e \u0435\u0434\u0438\u043d\u043e\u0439 \u0442\u043e\u0447\u043a\u0438 \u043e\u0442\u043a\u0430\u0437\u0430.  \u0412 \u044d\u0442\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438 <a href=\"https:\/\/flashphoner.com\/cdn-dlya-striminga-webrtc-s-nizkoj-zaderzhkoj\/?lang=ru\">CDN<\/a> \u0438\u0437 \u0440\u0430\u0441\u0447\u0435\u0442\u0430 1 Edge \u0441\u0435\u0440\u0432\u0435\u0440 \u043d\u0430 2000 \u043f\u043e\u0434\u043f\u0438\u0441\u0447\u0438\u043a\u043e\u0432. \u0411\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044e, \u0433\u0435\u043e\u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u043e\u043c\u0443 \u0438 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u043c\u0443 \u0440\u0430\u0437\u0434\u0435\u043b\u0435\u043d\u0438\u044e (\u0441 \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u0438\u0435\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u0442\u0440\u0430\u043d\u0441\u043a\u043e\u0434\u0438\u043d\u0433\u0430 \u0438 \u0434\u043e\u0441\u0442\u0430\u0432\u043a\u0438 \u043a\u043e\u043d\u0442\u0435\u043d\u0442\u0430) \u043c\u043e\u0436\u043d\u043e \u0433\u0438\u0431\u043a\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0439 \u0443\u0440\u043e\u0432\u0435\u043d\u044c \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0438\u0437 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432. \u041d\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u043d\u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0435 \u0440\u0435\u0441\u0443\u0440\u0441\u044b \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u043d\u0435 \u0434\u043e\u043b\u0436\u043d\u0430 \u043f\u0440\u0435\u0432\u044b\u0448\u0430\u0442\u044c 80%. \u0412 \u044d\u0442\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435, \u0432\u0441\u0435 \u043f\u043e\u0434\u043f\u0438\u0441\u0447\u0438\u043a\u0438 \u043f\u043e\u043b\u0443\u0447\u0430\u0442 \u0432\u0438\u0434\u0435\u043e\u043f\u043e\u0442\u043e\u043a\u0438 \u0441 \u043f\u0440\u0438\u0435\u043c\u043b\u0435\u043c\u044b\u043c \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u043e\u043c.  <\/p>\n<p>\u0414\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0447\u0430\u0441\u0442\u043e CDN \u0440\u0430\u0437\u0432\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u044e\u0442 \u0438 \u043f\u0440\u0438 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u043c \u0447\u0438\u0441\u043b\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439, \u0435\u0441\u043b\u0438 \u043f\u043b\u0430\u043d\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0442\u0440\u0430\u0444\u0438\u043a\u0430. \u0410\u0440\u0438\u0444\u043c\u0435\u0442\u0438\u043a\u0430 \u043f\u0440\u043e\u0441\u0442\u0430\u044f: 1 \u0441\u0442\u0440\u0438\u043c \u044d\u0442\u043e \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e 1 Mbps \u0442\u0440\u0430\u0444\u0438\u043a\u0430, \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e 1000 \u0441\u0442\u0440\u0438\u043c\u043e\u0432 &#8212; 1000 Mbps. \u041d\u0435 \u0432\u0441\u0435\u0433\u0434\u0430 \u0435\u0441\u0442\u044c \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u0438 \u0444\u0438\u043d\u0430\u043d\u0441\u043e\u0432\u0430\u044f \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u043a \u0441\u0435\u0440\u0432\u0435\u0440\u0443 \u043a\u0430\u043d\u0430\u043b 10Gbps. \u0411\u043e\u043b\u044c\u0448\u0430\u044f \u0447\u0430\u0441\u0442\u044c \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442 \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u043e\u0432 \u043d\u0435 \u043c\u043e\u0433\u0443\u0442 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u043a\u0430\u043d\u0430\u043b \u0431\u043e\u043b\u0435\u0435 400 Mbps, \u043f\u043e\u044d\u0442\u043e\u043c\u0443, \u0447\u0442\u043e\u0431\u044b \u0442\u0440\u0430\u043d\u0441\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u043e\u0442\u043e\u043a\u0438 \u0441\u043e \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c\u044e 1000 Mbps \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u0441\u044f \u0442\u0440\u0438 \u0441\u0435\u0440\u0432\u0435\u0440\u0430. <\/p>\n<p>\u0420\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 WCS, \u043e\u0442 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043a\u043e\u043d\u0435\u0447\u043d\u043e\u0435 \u0447\u0438\u0441\u043b\u043e \u0437\u0440\u0438\u0442\u0435\u043b\u0435\u0439 \u0438 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u043e \u0442\u0440\u0430\u043d\u0441\u043b\u044f\u0446\u0438\u0438.<\/p>\n<h4>\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u043f\u043e\u0440\u0442\u043e\u0432<\/h4>\n<p>\u041f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e, \u0434\u043b\u044f WebRTC \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0439 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e \u0442\u043e\u043b\u044c\u043a\u043e 499 \u043f\u043e\u0440\u0442\u043e\u0432. \u042d\u0442\u043e \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435 \u0437\u0430\u0434\u0430\u0435\u0442\u0441\u044f \u0432 \u0444\u0430\u0439\u043b\u0435 <a href=\"https:\/\/docs.flashphoner.com\/pages\/viewpage.action?pageId=1049300\">flashphoner.properties<\/a>. \u041f\u0440\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u043c\u043e\u0436\u043d\u043e \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0442\u044c \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d \u043f\u043e\u0440\u0442\u043e\u0432 \u0432 \u0441\u0442\u0440\u043e\u043a\u0430\u0445 <\/p>\n<pre><code class=\"bash\">media_port_from = 31001 media_port_to = 32000<\/code><\/pre>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/561\/6ef\/951\/5616ef951307cd466fb54329d438e72a.png\" width=\"867\" height=\"491\"><figcaption><\/figcaption><\/figure>\n<p>\u0412\u043d\u0438\u043c\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0447\u0438\u0442\u0430\u0442\u0435\u043b\u044c, \u043a\u043e\u043d\u0435\u0447\u043d\u043e, \u0432\u043e\u0437\u0440\u0430\u0437\u0438\u0442, \u0447\u0442\u043e \u0432 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u043c \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u0435 999 \u043f\u043e\u0440\u0442\u043e\u0432. \u0414\u0430, \u0442\u0430\u043a \u0438 \u0435\u0441\u0442\u044c, \u043d\u043e \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u043c\u0435\u0434\u0438\u0430\u0442\u0440\u0430\u0444\u0438\u043a\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0447\u0435\u0442\u043d\u044b\u0435 \u043f\u043e\u0440\u0442\u044b. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e \u0432\u0441\u0435\u0433\u043e 499 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0439 \u043f\u043e WebRTC. <\/p>\n<p>\u041f\u0440\u0438 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0438 \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u0430 \u043c\u0435\u0434\u0438\u0430\u043f\u043e\u0440\u0442\u043e\u0432, \u043f\u0440\u043e\u0432\u0435\u0440\u044c\u0442\u0435, \u0447\u0442\u043e \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d \u043d\u0435 \u043f\u0435\u0440\u0435\u0441\u0435\u043a\u0430\u0435\u0442\u0441\u044f \u0441 <a href=\"https:\/\/docs.flashphoner.com\/pages\/viewpage.action?pageId=9241054\">\u0434\u0440\u0443\u0433\u0438\u043c\u0438 \u043f\u043e\u0440\u0442\u0430\u043c\u0438<\/a>, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u043c\u0438 \u0432 \u0440\u0430\u0431\u043e\u0442\u0435 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0438 <a href=\"https:\/\/docs.flashphoner.com\/pages\/viewpage.action?pageId=9241213#id-%D0%A0%D0%B5%D0%BA%D0%BE%D0%BC%D0%B5%D0%BD%D0%B4%D0%B0%D1%86%D0%B8%D0%B8%D0%BF%D0%BE%D1%82%D0%BE%D0%BD%D0%BA%D0%BE%D0%B9%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B5%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0-%D0%98%D0%B7%D0%BC%D0%B5%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5%D0%B4%D0%B8%D0%B0%D0%BF%D0%B0%D0%B7%D0%BE%D0%BD%D0%B0%D0%B4%D0%B8%D0%BD%D0%B0%D0%BC%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D1%85%D0%BF%D0%BE%D1%80%D1%82%D0%BE%D0%B2%D0%B2Linux\">\u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u043e\u043c \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043f\u043e\u0440\u0442\u043e\u0432 Linux<\/a> (\u043f\u0440\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u043c\u043e\u0436\u043d\u043e \u0435\u0433\u043e \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c) <\/p>\n<p>\u0422\u0430\u043a \u0436\u0435 \u043e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435, \u0447\u0442\u043e \u043c\u0435\u0434\u0438\u0430\u043f\u043e\u0440\u0442\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f WebRTC \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0439. \u041f\u043e\u044d\u0442\u043e\u043c\u0443, \u0435\u0441\u043b\u0438 \u0432\u044b \u043e\u0442\u0434\u0430\u0435\u0442\u0435 \u043f\u043e\u0442\u043e\u043a \u043f\u043e WebRTC, \u0430 \u0437\u0440\u0438\u0442\u0435\u043b\u0438 \u0441\u043c\u043e\u0442\u0440\u044f\u0442 \u0435\u0433\u043e \u043f\u043e HLS \u043d\u0430 \u0441\u0432\u043e\u0438\u0445 \u0430\u0439\u0444\u043e\u043d\u0430\u0445, \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u044b\u0445 \u043f\u043e\u0440\u0442\u043e\u0432 \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f \u043d\u0435 \u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u0430. <\/p>\n<h4>\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0441\u0431\u043e\u0440\u0449\u0438\u043a\u0430 \u043c\u0443\u0441\u043e\u0440\u0430<\/h4>\n<p>\u041f\u0440\u0438 \u0441\u0442\u0440\u0438\u043c\u0438\u043d\u0433\u0435 \u0432 \u043f\u0430\u043c\u044f\u0442\u0438 \u0441\u043e\u0437\u0434\u0430\u0435\u0442\u0441\u044f \u0438 \u0443\u043d\u0438\u0447\u0442\u043e\u0436\u0430\u0435\u0442\u0441\u044f \u043c\u043d\u043e\u0433\u043e \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432 \u0441 \u0434\u0430\u043d\u043d\u044b\u043c\u0438.  \u042d\u0442\u0438 \u043e\u0431\u044a\u0435\u043a\u0442\u044b \u0445\u0440\u0430\u043d\u044f\u0442\u0441\u044f \u0432 Java heap, \u0435\u0441\u043b\u0438 \u043d\u0435 \u0440\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0442\u044c \u0441\u043b\u0443\u0447\u0430\u0439 \u0442\u0440\u0430\u043d\u0441\u043a\u043e\u0434\u0438\u043d\u0433\u0430, \u043f\u0440\u0438 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0438 \u0445\u0440\u0430\u043d\u044f\u0442\u0441\u044f \u0432 \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438 \u0441\u0435\u0440\u0432\u0435\u0440\u0430. <\/p>\n<p>Heap (\u043a\u0443\u0447\u0430) \u2013 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0441\u0435\u0433\u043c\u0435\u043d\u0442 \u043f\u0430\u043c\u044f\u0442\u0438, \u0433\u0434\u0435 Java VM \u0445\u0440\u0430\u043d\u0438\u0442 \u0432\u0441\u0435 \u0432\u0430\u0448\u0438 \u043e\u0431\u044a\u0435\u043a\u0442\u044b. \u041a\u043e\u0433\u0434\u0430 \u0432\u044b \u0445\u043e\u0442\u0438\u0442\u0435 \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043d\u043e\u0432\u044b\u0439 \u043e\u0431\u044a\u0435\u043a\u0442, \u043d\u043e \u043c\u0435\u0441\u0442\u0430 \u0432 heap \u0443\u0436\u0435 \u043d\u0435\u0442, JVM \u043f\u0440\u043e\u0432\u043e\u0434\u0438\u0442 garbage collection (\u0441\u0431\u043e\u0440\u043a\u0443 \u043c\u0443\u0441\u043e\u0440\u0430), \u0447\u0442\u043e \u0437\u043d\u0430\u0447\u0438\u0442, \u0447\u0442\u043e JVM \u0438\u0449\u0435\u0442 \u0432 \u043f\u0430\u043c\u044f\u0442\u0438 \u0432\u0441\u0435 \u043e\u0431\u044a\u0435\u043a\u0442\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0431\u043e\u043b\u0435\u0435 \u043d\u0435 \u043d\u0443\u0436\u043d\u044b, \u0438 \u0438\u0437\u0431\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043e\u0442 \u043d\u0438\u0445. \u0412 \u043c\u043e\u043c\u0435\u043d\u0442 \u0440\u0430\u0431\u043e\u0442\u044b garbage collection \u0440\u0430\u0431\u043e\u0442\u0430 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0445 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0432 \u0432 JVM \u043f\u0440\u0438\u043e\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442\u0441\u044f. \u041f\u043e\u044d\u0442\u043e\u043c\u0443, \u0434\u043b\u044f \u0437\u0430\u0434\u0430\u0447 \u0441\u0442\u0440\u0438\u043c\u0438\u043d\u0433\u0430, \u043a\u0440\u0430\u0439\u043d\u0435 \u0432\u0430\u0436\u043d\u043e, \u0447\u0442\u043e\u0431\u044b \u044d\u0442\u0430 \u043f\u0430\u0443\u0437\u0430 \u0437\u0430\u043d\u0438\u043c\u0430\u043b\u0430 \u043a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u043c\u0435\u043d\u044c\u0448\u0435 \u0432\u0440\u0435\u043c\u0435\u043d\u0438.  \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0432 Java \u0431\u044b\u043b \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u043d \u043d\u043e\u0432\u044b\u0439 \u0441\u0431\u043e\u0440\u0449\u0438\u043a \u043c\u0443\u0441\u043e\u0440\u0430 \u2014 &#171;Z Garbage Collector&#187; (ZGC), \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0438\u0439 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0442\u044c \u043d\u0438\u0437\u043a\u0443\u044e \u0437\u0430\u0434\u0435\u0440\u0436\u043a\u0443 \u043f\u0440\u0438 \u0441\u0431\u043e\u0440\u043a\u0435 \u043c\u0443\u0441\u043e\u0440\u0430, \u043d\u0435 \u043e\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043f\u043e\u0442\u043e\u043a\u043e\u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0431\u043e\u043b\u0435\u0435 \u0447\u0435\u043c \u043d\u0430 10 \u043c\u0438\u043b\u043b\u0438\u0441\u0435\u043a\u0443\u043d\u0434, \u0434\u0430\u0436\u0435 \u043f\u0440\u0438 \u0440\u0430\u0431\u043e\u0442\u0435 \u0441 \u043e\u0447\u0435\u043d\u044c \u0431\u043e\u043b\u044c\u0448\u043e\u0439 memory heap.<\/p>\n<p>\u0420\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u0442\u0441\u044f \u0432\u044b\u0434\u0435\u043b\u044f\u0442\u044c \u043f\u043e\u0434 Java memory heap \u043d\u0435 \u043c\u0435\u043d\u0435\u0435, \u0447\u0435\u043c 1\/2 \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438 \u0441\u0435\u0440\u0432\u0435\u0440\u0430. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0435\u0441\u043b\u0438 \u043e\u0431\u044a\u0435\u043c \u043e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0441\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 32 \u0413\u0431, \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u0442\u0441\u044f \u0432\u044b\u0434\u0435\u043b\u0438\u0442\u044c 16 \u0413\u0431.  \u0420\u0430\u0437\u043c\u0435\u0440 Java memory heap \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0432 \u0444\u0430\u0439\u043b\u0435 wcs-core.properties \u0432 \u0441\u0442\u0440\u043e\u0447\u043a\u0430\u0445<\/p>\n<pre><code class=\"bash\">### JVM OPTIONS ### -Xmx1024M<\/code><\/pre>\n<p>\u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e &#8212; 1024 \u041c\u0431. \u0427\u0442\u043e \u0431\u044b \u0432\u044b\u0434\u0435\u043b\u0438\u0442\u044c \u043f\u043e\u0434 Java memory heap 16 \u0413\u0411 \u0443\u043a\u0430\u0436\u0438\u0442\u0435 <\/p>\n<pre><code class=\"bash\">-Xmx16g -Xms16g<\/code><\/pre>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/789\/f3a\/5ab\/789f3a5abda1c3506133f00b09dccbd3.png\" width=\"869\" height=\"525\"><figcaption><\/figcaption><\/figure>\n<p>\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043c Z Garbage Collector \u0432 \u0441\u043e\u0441\u0442\u0430\u0432\u0435 OpenJDK 12.<\/p>\n<p>1.\u0421\u043a\u0430\u0447\u0438\u0432\u0430\u0435\u043c \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u044e\u044e \u0441\u0431\u043e\u0440\u043a\u0443 OpenJDK 12 \u0441\u043e \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b <a href=\"http:\/\/jdk.java.net\/12\/\">http:\/\/jdk.java.net\/12\/<\/a>: <\/p>\n<pre><code class=\"bash\">wget https:\/\/download.java.net\/java\/GA\/jdk12.0.2\/e482c34c86bd4bf8b56c0b35558996b9\/10\/GPL\/openjdk-12.0.2_linux-x64_bin.tar.gz <\/code><\/pre>\n<p>2.\u0420\u0430\u0441\u043f\u0430\u043a\u043e\u0432\u044b\u0432\u0430\u0435\u043c\u044b\u0439 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0439 \u0444\u0430\u0439\u043b \u0438 \u043f\u0435\u0440\u0435\u043c\u0435\u0449\u0430\u0435\u043c \u0435\u0433\u043e \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0432 \u0440\u0430\u0431\u043e\u0447\u0443\u044e \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u044e:<\/p>\n<pre><code class=\"bash\">tar xvf openjdk-12.0.2_linux-x64_bin.tar.gz mv jdk-12.0.2 \/usr\/java\/jdk-12.0.2<\/code><\/pre>\n<p>3.\u0421\u043e\u0437\u0434\u0430\u0435\u043c \u0441\u0438\u043c\u0432\u043e\u043b\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0441\u0441\u044b\u043b\u043a\u0438 \u043d\u0430 OpenJDK 12:<\/p>\n<pre><code class=\"bash\">ln -sfn \/usr\/java\/jdk-12.0.2 \/usr\/java\/default ln -sfn \/usr\/java\/default\/bin\/java \/usr\/bin\/java ln -sfn \/usr\/java\/default\/bin\/jstack \/usr\/bin\/jstack ln -sfn \/usr\/java\/default\/bin\/jcmd \/usr\/bin\/jcmd ln -sfn \/usr\/java\/default\/bin\/jmap \/usr\/bin\/jmap<\/code><\/pre>\n<p>4.\u0415\u0441\u043b\u0438 WCS \u0431\u044b\u043b \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d \u0440\u0430\u043d\u0435\u0435, \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0438\u0440\u0443\u0435\u043c \u0438\u043b\u0438 \u0443\u0434\u0430\u043b\u044f\u0435\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0441\u0442\u0440\u043e\u043a\u0438 \u0432 \u0444\u0430\u0439\u043b\u0435 wcs-core.properties:<\/p>\n<pre><code class=\"bash\">-XX:+UseConcMarkSweepGC -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=70 -XX:+PrintGCDateStamps -XX:+PrintGCDetails<\/code><\/pre>\n<p>\u0438 \u0437\u0430\u043c\u0435\u043d\u044f\u0435\u043c \u0441\u0442\u0440\u043e\u043a\u0443 <\/p>\n<pre><code class=\"bash\">-Xloggc:\/usr\/local\/FlashphonerWebCallServer\/logs\/gc-core-<\/code><\/pre>\n<p>\u043d\u0430 <\/p>\n<p>5.\u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0434\u043b\u044f ZGC \u0438 \u043b\u043e\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f:<\/p>\n<pre><code class=\"bash\"># ZGC -XX:+UnlockExperimentalVMOptions -XX:+UseZGC -Xms24g -Xmx24g -XX:+UseLargePages -XX:ZPath=\/hugepages   # Log -Xlog:gc*:\/usr\/local\/FlashphonerWebCallServer\/logs\/gc-core.log -XX:ErrorFile=\/usr\/local\/FlashphonerWebCallServer\/logs\/error%p.log<\/code><\/pre>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/b62\/32d\/453\/b6232d4534066ddabfd4e0df64c10c07.png\" width=\"905\" height=\"859\"><figcaption><\/figcaption><\/figure>\n<p>\u041e\u0431\u044b\u0447\u043d\u043e \u044d\u0442\u0438\u0445 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a \u0445\u0432\u0430\u0442\u0430\u0435\u0442 \u0434\u043b\u044f \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0438 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0431\u043e\u043b\u044c\u0448\u043e\u0433\u043e \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u0437\u0440\u0438\u0442\u0435\u043b\u0435\u0439. <\/p>\n<p>\u0418\u0442\u0430\u043a, \u043c\u044b \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u043b\u0438\u0441\u044c \u0441 \u0432\u044b\u0431\u043e\u0440\u043e\u043c \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0438\u043b\u0438 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0438\u043d\u0441\u0442\u0430\u043d\u0441\u0430 \u0434\u043b\u044f WCS. \u0422\u0435\u043f\u0435\u0440\u044c \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u043c \u043d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043a \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u044e \u043a\u043e\u0434\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0441\u043a\u0440\u0438\u043d\u0448\u0430\u0440\u0438\u043d\u0433\u0430 \u0434\u043b\u044f \u043f\u043e\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0433\u043e \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043d\u0430 \u0441\u0430\u0439\u0442. <\/p>\n<h3>\u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u0443\u0435\u043c<\/h3>\n<h4>\u041f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0430 \u043a \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435<\/h4>\n<p>\u0410\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0438:<\/p>\n<ol>\n<li>\n<p>\u0424\u0440\u043e\u043d\u0442\u0435\u043d\u0434 Web \u0441\u0435\u0440\u0432\u0435\u0440  &#8212; \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0443\u0435\u0442 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0441\u043e \u0441\u0442\u0440\u0438\u043c\u0435\u0440\u043e\u043c \u0438 \u0437\u0440\u0438\u0442\u0435\u043b\u044f\u043c\u0438. <\/p>\n<\/li>\n<li>\n<p>WCS &#8212; \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442 \u0432\u0445\u043e\u0434\u044f\u0449\u0438\u0439 \u0432\u0438\u0434\u0435\u043e\u043f\u043e\u0442\u043e\u043a \u043e\u0442 \u0441\u0442\u0440\u0438\u043c\u0435\u0440\u0430 \u0438 \u043e\u0442\u0434\u0430\u0435\u0442 \u0435\u0433\u043e \u0434\u043b\u044f \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u0437\u0440\u0438\u0442\u0435\u043b\u044f\u043c. <\/p>\n<\/li>\n<\/ol>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/7d9\/c06\/98c\/7d9c0698cc8319197f7aecd61d254cf3.png\" width=\"890\" height=\"396\"><figcaption><\/figcaption><\/figure>\n<p>\u041d\u0430\u0447\u043d\u0435\u043c \u0440\u0430\u0437\u0432\u0435\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u0435 \u0441 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 WCS. \u0421\u043b\u0435\u0434\u0443\u0435\u043c \u0443\u043a\u0430\u0437\u0430\u043d\u0438\u044f\u043c <a href=\"https:\/\/docs.flashphoner.com\/pages\/viewpage.action?pageId=9241019\">\u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438<\/a> \u0438\u043b\u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0439 \u0438\u043d\u0441\u0442\u0430\u043d\u0441 \u043d\u0430 <a href=\"https:\/\/flashphoner.com\/prakticheskaya-realizaciya-mcu-v-brauzere-s-funkciyami-demonstracii-ehkrana-i-zapisi\/m\/podderzhka-oblachnyh-serverov-amazon-ec2-v-web-call-server\/?lang=ru\">Amazon<\/a>, <a href=\"https:\/\/flashphoner.com\/google-cloud-platform-dlya-webrtc-cdn-s-balansirovkoj-i-avtomaticheskim-masshtabirovaniem\/?lang=ru\">Google Cloud<\/a> \u0438\u043b\u0438 <a href=\"https:\/\/flashphoner.com\/podderzhka-web-call-server-v-digital-ocean-marketplace\/?lang=ru\">DigitalOcean<\/a>.  WCS \u0442\u0430\u043a \u0436\u0435 \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u043a\u0430\u043a \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440 \u0432 <a href=\"https:\/\/flashphoner.com\/podderzhka-web-call-server-v-docker\/?lang=ru\">Docker<\/a>. \u0412\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0443 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0441\u043e\u0433\u043b\u0430\u0441\u043d\u043e \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0439 \u0433\u043b\u0430\u0432\u0435 \u0438 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0446\u0438\u044f\u043c <a href=\"https:\/\/docs.flashphoner.com\/pages\/viewpage.action?pageId=23036804\">\u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u043f\u043e \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0435 \u043a \u043f\u0440\u043e\u043c\u044b\u0448\u043b\u0435\u043d\u043d\u043e\u0439 \u044d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0430\u0446\u0438\u0438<\/a>.  <\/p>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c web \u0441\u0435\u0440\u0432\u0435\u0440. \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043c\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c <a href=\"https:\/\/www.digitalocean.com\/community\/tutorials\/how-to-install-configure-lemp-stack-software-collections-centos-7-ru\">Nginx \u043d\u0430 CentOS 7<\/a>. \u041d\u0430 Apache \u0432\u0441\u0435 \u0431\u0443\u0434\u0435\u0442 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0441\u0445\u043e\u0434\u043d\u044b\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c. \u0415\u0441\u043b\u0438 \u0443 \u0432\u0430\u0441 \u0443\u0436\u0435 \u0435\u0441\u0442\u044c \u0441\u0430\u0439\u0442, \u043a \u043a\u043e\u0442\u043e\u0440\u043e\u043c\u0443 \u043f\u043b\u0430\u043d\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b \u0441\u043a\u0440\u0438\u043d\u0448\u0430\u0440\u0438\u043d\u0433\u0430, \u0442\u043e\u0433\u0434\u0430 \u0433\u043e\u0442\u043e\u0432\u0438\u0442\u044c web \u0441\u0435\u0440\u0432\u0435\u0440 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e \u043d\u0435 \u043d\u0443\u0436\u043d\u043e. \u0418\u043b\u0438 \u043c\u043e\u0436\u043d\u043e \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u0442\u044c web \u0441\u0435\u0440\u0432\u0435\u0440 \u043d\u0430 \u0442\u043e\u0439 \u0436\u0435 \u043c\u0430\u0448\u0438\u043d\u0435, \u0447\u0442\u043e \u0438 WCS.  <\/p>\n<p>\u041d\u0430 web \u0441\u0435\u0440\u0432\u0435\u0440\u0435 \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u0434\u0432\u0430 \u0444\u0430\u0439\u043b\u0430: \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443 \u0431\u0443\u0434\u0443\u0449\u0435\u0433\u043e \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 \u0441\u043a\u0440\u0438\u043d\u0448\u0430\u0440\u0438\u043d\u0433\u0430 \u0438 \u0441\u043a\u0440\u0438\u043f\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u0443\u0434\u0435\u0442 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u044b\u0432\u0430\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u0443. \u0423 \u043d\u0430\u0441 \u044d\u0442\u043e \u0444\u0430\u0439\u043b\u044b \u2014 &#171;screen-sharing-min.html&#187; \u0438 &#171;screen-sharing-min.js&#187;. \u0420\u044f\u0434\u043e\u043c \u0441 \u044d\u0442\u0438\u043c\u0438 \u0444\u0430\u0439\u043b\u0430\u043c\u0438 \u043d\u0443\u0436\u043d\u043e \u0440\u0430\u0437\u043c\u0435\u0441\u0442\u0438\u0442\u044c \u0441\u043a\u0440\u0438\u043f\u0442 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0433\u043e API &#8212; &#171;flashphoner.js&#187;, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u043e\u0436\u043d\u043e \u0441\u043a\u0430\u0447\u0430\u0442\u044c <a href=\"https:\/\/flashphoner.com\/downloads\/builds\/flashphoner_client\/wcs_api-2.0\/current\/flashphoner.js\">\u0437\u0434\u0435\u0441\u044c<\/a>. \u0418\u043b\u0438 \u0443\u043a\u0430\u0436\u0438\u0442\u0435 \u043f\u0443\u0442\u044c \u0434\u043e \u044d\u0442\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430, \u0435\u0441\u043b\u0438 \u0440\u0430\u0431\u043e\u0442\u044b \u043f\u0440\u043e\u0432\u043e\u0434\u044f\u0442\u0441\u044f \u043d\u0430 \u0442\u043e\u0439 \u0436\u0435 \u043c\u0430\u0448\u0438\u043d\u0435, \u0433\u0434\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d WCS. <\/p>\n<h4>\u041a\u043e\u0434<\/h4>\n<p>\u041d\u0430\u0447\u043d\u0435\u043c \u0441 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0438 HTML \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b \u0441\u043e \u0432\u0441\u0435\u043c\u0438 \u043d\u0443\u0436\u043d\u044b\u043c\u0438 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430\u043c\u0438.  \u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u0441\u043a\u0440\u0438\u043f\u0442\u044b: <\/p>\n<pre><code class=\"bash\">&lt;script type=\"text\/javascript\" src=\"flashphoner.js\"&gt;&lt;\/script&gt;  &lt;script type=\"text\/javascript\" src=\"screen-sharing-min.js\"&gt;&lt;\/script&gt; <\/code><\/pre>\n<p>\u041d\u0430 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0443 \u0442\u0435\u043b\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b \u043d\u0430\u0432\u0435\u0448\u0438\u0432\u0430\u0435\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0437\u0430\u043f\u0443\u0441\u043a\u0430 API: <\/p>\n<pre><code class=\"bash\">&lt;body onload=\"init_api()\"&gt;<\/code><\/pre>\n<p>\u0418 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c div-\u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u0434\u043b\u044f \u043f\u0440\u0435\u0432\u044c\u044e \u043f\u043e\u0442\u043e\u043a\u0430 \u0441\u043a\u0440\u0438\u043d\u0448\u0430\u0440\u0438\u043d\u0433\u0430  \u0438 \u043a\u043d\u043e\u043f\u043a\u0443 \u0434\u043b\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430:<\/p>\n<pre><code class=\"bash\">&lt;div id=\"screen-sharing\" style=\"width:320px;height:240px;border: solid 1px\"&gt;&lt;\/div&gt; &lt;input type=\"button\" onclick=\"connect()\" value=\"Share Screen\"\/&gt;<\/code><\/pre>\n<p>\u041a\u043e\u0434\u0430 HTML \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b \u0441\u043e\u0432\u0441\u0435\u043c \u043d\u0435\u043c\u043d\u043e\u0433\u043e:<\/p>\n<pre><code class=\"bash\">&lt;!DOCTYPE html&gt; &lt;html lang=\"en\"&gt; &lt;head&gt;    &lt;script type=\"text\/javascript\" src=\"flashphoner.js\"&gt;&lt;\/script&gt;    &lt;script type=\"text\/javascript\" src=\"screen-sharing-min.js\"&gt;&lt;\/script&gt; &lt;\/head&gt; &lt;body onload=\"init_api()\"&gt;     &lt;div id=\"screen-sharing\" style=\"width:320px;height:240px;border: solid 1px\"&gt;&lt;\/div&gt;     &lt;input type=\"button\" onclick=\"connect()\" value=\"Share Screen\"\/&gt; &lt;\/body&gt; &lt;\/html&gt;<\/code><\/pre>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u043c \u043a \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044e JS \u0441\u043a\u0440\u0438\u043f\u0442\u0430 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441\u043a\u0440\u0438\u043d\u0448\u0430\u0440\u0438\u043d\u0433\u0430.<\/p>\n<p>\u0424\u0443\u043d\u043a\u0446\u0438\u044f &#171;init_api()&#187; \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043f\u0440\u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0435 HTML \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0435\u0442 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 API  <\/p>\n<pre><code class=\"bash\">function init_api() {     Flashphoner.init({}); }<\/code><\/pre>\n<p>\u041f\u0440\u0438 \u043d\u0430\u0436\u0430\u0442\u0438\u0438 \u043d\u0430 \u043a\u043d\u043e\u043f\u043a\u0443 &#171;Share Screen&#187; \u0431\u0443\u0434\u0443\u0442 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c\u0441\u044f \u0434\u0432\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043d\u0430\u0448\u0435\u0433\u043e \u0441\u043a\u0440\u0438\u043f\u0442\u0430  \u2014 \u0444\u0443\u043d\u043a\u0446\u0438\u044f  &#171;connect()&#187;, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0431\u0443\u0434\u0435\u0442 \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0442\u044c \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043a WCS \u043f\u043e WebSocket <\/p>\n<pre><code class=\"bash\">function connect() {     session = Flashphoner.createSession({         urlServer: \"wss:\/\/demo.flashphoner.com\"     }).on(SESSION_STATUS.ESTABLISHED, function(session) {         startStreaming(session);     }); }<\/code><\/pre>\n<p>\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u044f  &#171;startStreaming()&#187;, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0444\u043e\u0440\u043c\u0438\u0440\u0443\u0435\u0442 \u0438 \u043f\u0443\u0431\u043b\u0438\u043a\u0443\u0435\u0442 \u043f\u043e\u0442\u043e\u043a \u0441\u043a\u0440\u0438\u043d\u0448\u0430\u0440\u0438\u043d\u0433\u0430 \u043d\u0430 WCS<\/p>\n<pre><code class=\"bash\">function startStreaming(session) {     var constraints = {         video: {}     };     constraints.video.type = \"screen\";     constraints.video.withoutExtension = true;     session.createStream({         name: \"mystream\",         display: document.getElementById(\"screensharing\"),         constraints: constraints     }).publish(); }<\/code><\/pre>\n<p>\u0412\u0430\u0436\u043d\u043e\u0435 \u043e\u0442\u043b\u0438\u0447\u0438\u0435 \u043e\u0442 \u043e\u0431\u044b\u0447\u043d\u043e\u0433\u043e \u0441\u0442\u0440\u0438\u043c\u0438\u043d\u0433\u0430  \u0441 \u0432\u0435\u0431 \u043a\u0430\u043c\u0435\u0440\u044b \u2013 \u0447\u0442\u043e\u0431\u044b \u0437\u0430\u0445\u0432\u0430\u0442\u0438\u0442\u044c \u044d\u043a\u0440\u0430\u043d, \u0430 \u043d\u0435 \u043a\u0430\u043c\u0435\u0440\u0443, \u0432 constraints \u043d\u0443\u0436\u043d\u043e \u044f\u0432\u043d\u043e \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u0434\u0432\u0430 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430:<\/p>\n<pre><code class=\"bash\">constraints.video.type = \"screen\"; constraints.video.withoutExtension = true;<\/code><\/pre>\n<p>\u0424\u0430\u0439\u043b \u0441\u043a\u0440\u0438\u043f\u0442\u0430 \u0442\u043e\u0436\u0435 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043a\u043e\u043c\u043f\u0430\u043a\u0442\u043d\u044b\u0439.  \u0412\u0441\u0435\u0433\u043e 34 \u0441\u0442\u0440\u043e\u0447\u043a\u0438 \u0441 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u044f\u043c\u0438. <\/p>\n<pre><code class=\"bash\">\/\/Status constants var SESSION_STATUS = Flashphoner.constants.SESSION_STATUS; var STREAM_STATUS = Flashphoner.constants.STREAM_STATUS;   \/\/Websocket session  var session;   \/\/Init Flashphoner API on page load function init_api() {     Flashphoner.init({}); }   \/\/Connect to WCS server over websockets function connect() {     session = Flashphoner.createSession({         urlServer: \"wss:\/\/demo.flashphoner.com\"     }).on(SESSION_STATUS.ESTABLISHED, function(session) {         startStreaming(session);     }); }  \/\/Publishing Share Screen function startStreaming(session) {     var constraints = {         video: {}     };     constraints.video.type = \"screen\";     constraints.video.withoutExtension = true;     session.createStream({         name: \"mystream\",         display: document.getElementById(\"screensharing\"),         constraints: constraints     }).publish(); }<\/code><\/pre>\n<p>\u0421\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c, \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c \u0440\u0430\u0431\u043e\u0442\u0443.<\/p>\n<h4>\u0422\u0435\u0441\u0442\u0438\u0440\u0443\u0435\u043c<\/h4>\n<p>\u041d\u0430\u0436\u0438\u043c\u0430\u0435\u043c \u043d\u0430 \u043a\u043d\u043e\u043f\u043a\u0443 \u00abShare Screen\u00bb \u0438 \u0441\u043e\u043e\u0431\u0449\u0430\u0435\u043c \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0443, \u0447\u0442\u043e \u0438\u043c\u0435\u043d\u043d\u043e \u0431\u0443\u0434\u0435\u043c \u0448\u0430\u0440\u0438\u0442\u044c: \u0432\u0435\u0441\u044c \u044d\u043a\u0440\u0430\u043d, \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0438\u043b\u0438 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u0443\u044e \u0432\u043a\u043b\u0430\u0434\u043a\u0443 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430. \u041f\u0440\u0435\u0432\u044c\u044e \u043f\u043e\u0442\u043e\u043a\u0430 \u0441\u043a\u0440\u0438\u043d\u0448\u0430\u0440\u0438\u043d\u0433\u0430 \u0431\u0443\u0434\u0435\u0442 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0442\u044c\u0441\u044f \u0432 div-\u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0435 \u043d\u0430 HTML \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435. <\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/c20\/fb8\/652\/c20fb8652c5c9a0bc499beec8f494dfb.png\" width=\"875\" height=\"597\"><figcaption><\/figcaption><\/figure>\n<p>\u0412 \u043a\u043e\u0434\u0435 \u0441\u043a\u0440\u0438\u043f\u0442\u0430 \u043c\u044b \u0436\u0435\u0441\u0442\u043a\u043e \u0437\u0430\u0434\u0430\u043b\u0438 \u0438\u043c\u044f \u043f\u0443\u0431\u043b\u0438\u043a\u0443\u0435\u043c\u043e\u0433\u043e \u043f\u043e\u0442\u043e\u043a\u0430 &#8212; &#171;mystream&#187;<\/p>\n<pre><code class=\"bash\">session.createStream({         name: \"mystream\",<\/code><\/pre>\n<p>\u042d\u0442\u043e\u0442 \u043f\u043e\u0442\u043e\u043a \u0432 \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0435\u043c \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c <a href=\"https:\/\/flashphoner.com\/zapis-videopotokov-iz-brauzera-i-mob\/?lang=ru\">\u0437\u0430\u043f\u0438\u0441\u0430\u043d<\/a>, <a href=\"https:\/\/flashphoner.com\/pleer-dlya-brauzera\/?lang=ru\">\u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d<\/a>, <a href=\"https:\/\/flashphoner.com\/transkoding-potoka\/?lang=ru\">\u0442\u0440\u0430\u043d\u0441\u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d<\/a> \u0438\u043b\u0438 <a href=\"https:\/\/flashphoner.com\/translyaciya-webrtc-videopotokov-s-re-publikaciej-v-rtmp\/?lang=ru\">\u0440\u0435\u0442\u0440\u0430\u043d\u0441\u043b\u0438\u0440\u043e\u0432\u0430\u043d<\/a> \u043f\u043e \u043b\u044e\u0431\u043e\u0439 \u0438\u0437 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0439, \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u044b\u0445 WCS<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/377\/382\/a35\/377382a3563e617f53ee2c7877020dd5.png\" width=\"1024\" height=\"677\"><figcaption><\/figcaption><\/figure>\n<p>\u0418\u0442\u0430\u043a, \u0432\u0441\u0435 \u043e\u0442\u043b\u0438\u0447\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442. \u0422\u0435\u043f\u0435\u0440\u044c \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u044e \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c, \u043a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u043e\u0441\u0442\u0443\u044e \u043c\u0435\u0440\u0443 \u0437\u0430\u0449\u0438\u0442\u044b \u0432\u0430\u0448\u0435\u0433\u043e \u043a\u043e\u043d\u0442\u0435\u043d\u0442\u0430 \u2014 \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u0441\u0442\u0440\u0438\u043c\u0443 \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c Basic Auth.<\/p>\n<h3>\u0417\u0430\u0449\u0438\u0449\u0430\u0435\u043c<\/h3>\n<p>\u041d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c web \u0441\u0435\u0440\u0432\u0435\u0440 \u043d\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 Basic Auth. <\/p>\n<p>\u0421\u043e\u0437\u0434\u0430\u0435\u043c \u0444\u0430\u0439\u043b .htpasswd:<\/p>\n<pre><code class=\"bash\">sudo yum install apache2-utils sudo htpasswd -c \/etc\/nginx\/conf.d\/.htpasswd admin<\/code><\/pre>\n<p>\u041f\u0435\u0440\u0432\u0430\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u0443\u0441\u0442\u0430\u0432\u0438\u0442 \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u0443\u0442\u0438\u043b\u0438\u0442\u0443 \u0434\u043b\u044f \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 \u0444\u0430\u0439\u043b\u0430 .htpasswd. \u0412\u0442\u043e\u0440\u0430\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u0441\u043e\u0437\u0434\u0430\u0441\u0442 \u0444\u0430\u0439\u043b \u043f\u043e \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u043c\u0443 \u043f\u0443\u0442\u0438 \u0438 \u0437\u0430\u043f\u0440\u043e\u0441\u0438\u0442 \u043f\u0430\u0440\u043e\u043b\u044c \u0434\u043b\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f &#171;admin&#187;.  \u041a\u043b\u044e\u0447 &#171;<strong>-c<\/strong>&#187; \u043d\u0443\u0436\u0435\u043d \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u0438 \u043f\u0435\u0440\u0432\u0438\u0447\u043d\u043e\u0439 \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 \u0444\u0430\u0439\u043b\u0430. \u0414\u043b\u044f \u0437\u0430\u043f\u0438\u0441\u0438 \u0432 \u0444\u0430\u0439\u043b  .htpasswd \u0434\u0440\u0443\u0433\u0438\u0445 \u0443\u0447\u0435\u0442\u043d\u044b\u0445 \u0437\u0430\u043f\u0438\u0441\u0435\u0439 \u043e\u043d \u043d\u0435 \u043d\u0443\u0436\u0435\u043d.  <\/p>\n<p>\u0414\u0430\u043b\u0435\u0435 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u043c \u043a \u043a\u043e\u043d\u0444\u0438\u0433\u0430\u043c Nginx. \u041c\u044b \u043d\u0435 \u0432\u044b\u0434\u0435\u043b\u044f\u043b\u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0441\u0430\u0439\u0442\u0430 \u0432 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u043a\u043e\u043d\u0444\u0438\u0433, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0434\u0435\u043b\u0430\u0435\u043c \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0432 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u043c \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u043c \u0444\u0430\u0439\u043b\u0435 \/etc\/nginx\/nginx.conf<\/p>\n<p>\u0412 \u0441\u0435\u043a\u0446\u0438\u0438 http \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0441\u0442\u0440\u043e\u0447\u043a\u0438:<\/p>\n<pre><code class=\"bash\">auth_basic \"Enter password\"; auth_basic_user_file \/etc\/nginx\/.htpasswd;<\/code><\/pre>\n<p>\u041f\u0435\u0440\u0432\u0430\u044f \u0441\u0442\u0440\u043e\u043a\u0430 \u2013 \u0441\u0442\u0440\u043e\u043a\u0430 \u043f\u0440\u0438\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u044f, \u0432\u0442\u043e\u0440\u0430\u044f \u043f\u0443\u0442\u044c \u043a \u0444\u0430\u0439\u043b\u0443 .htpasswd<\/p>\n<p>\u041d\u0430 \u044d\u0442\u043e\u043c \u044d\u0442\u0430\u043f\u0435 \u043c\u043e\u0436\u043d\u043e \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c Nginx \u0438 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c, \u0437\u0430\u0440\u0430\u0431\u043e\u0442\u0430\u043b \u043b\u0438 \u0437\u0430\u043f\u0440\u043e\u0441 \u043f\u0430\u0440\u043e\u043b\u044f \u043f\u0440\u0438 \u043e\u0442\u043a\u0440\u044b\u0442\u0438\u0438 web \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430. <\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/119\/1aa\/4e3\/1191aa4e34f355120dddc39c262ab301.png\" width=\"928\" height=\"342\"><figcaption><\/figcaption><\/figure>\n<p>\u0414\u0430\u043b\u0435\u0435 \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c web server \u043d\u0430 \u0440\u0430\u0431\u043e\u0442\u0443 \u043f\u043e \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0443 HTTPS. \u0414\u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0441\u0442\u0440\u043e\u0447\u043a\u0438 \u0432 \u0441\u0435\u043a\u0446\u0438\u044e &#171;Server&#187; \u0432 \u0444\u0430\u0439\u043b\u0435 nginx.conf  <\/p>\n<pre><code class=\"bash\">listen 443 ssl;     ssl_certificate \/etc\/pki\/tls\/yourdomain\/yourdomain.crt;     ssl_certificate_key \/etc\/pki\/tls\/yourdomain\/yourdomain.key;     server_name wcs.yourdomain.com;     server_tokens off;     client_max_body_size 500m;     proxy_read_timeout 10m;<\/code><\/pre>\n<p>\u041d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c \u0440\u0435\u0432\u0435\u0440\u0441\u0438\u0432\u043d\u043e\u0435 \u043f\u0440\u043e\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043d\u0430 WebSocket \u043f\u043e\u0440\u0442 WCS <\/p>\n<pre><code class=\"bash\">location \/wss {     proxy_set_header Host $host;     proxy_pass http:\/\/IP:8080;     proxy_http_version 1.1;     proxy_set_header Upgrade $http_upgrade;     proxy_set_header Connection \"upgrade\";     proxy_read_timeout 86400; }<\/code><\/pre>\n<p>\u0415\u0449\u0435 \u0440\u0430\u0437 \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0435 Nginx.  \u0422\u0435\u043f\u0435\u0440\u044c \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u043c\u043e\u0434\u0438\u0444\u0438\u0446\u0438\u0440\u0443\u0435\u043c \u043a\u043e\u0434, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u044b \u043d\u0430\u043f\u0438\u0441\u0430\u043b\u0438 \u0438 \u043f\u0440\u043e\u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043b\u0438 \u0432 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0439 \u0433\u043b\u0430\u0432\u0435, \u0447\u0442\u043e\u0431\u044b \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0442\u044c \u043b\u043e\u0433\u0438\u043d \u0438 \u043f\u0430\u0440\u043e\u043b\u044c. \u0412 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0435 &#171;urlServer&#187; \u0444\u0443\u043d\u043a\u0446\u0438\u0438 &#171;Connect&#187;  \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u043e\u0431\u0440\u0430\u0449\u0435\u043d\u0438\u0435 \u043a \u0441\u0435\u0440\u0432\u0435\u0440\u0443 \u0432 \u0432\u0438\u0434\u0435 &#171;wss:\/\/login:<a href=\"mailto:password@wcs.yourdomain.com\">password@wcs.yourdomain.com<\/a>:443\/wss&#187;<\/p>\n<pre><code class=\"bash\">function connect() {     session = Flashphoner.createSession({         urlServer: \"wss:\/\/login:password@wcs.yourdomain.com:443\/wss\"     }).on(SESSION_STATUS.ESTABLISHED, function(session) {         startStreaming(session);     }); }<\/code><\/pre>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u043f\u0440\u0438 \u043e\u0431\u0440\u0430\u0449\u0435\u043d\u0438\u0438 \u043a HTML \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435 &#171;screen-sharing-min.html&#187; \u0431\u0440\u0430\u0443\u0437\u0435\u0440 \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u0442\u044c \u043b\u043e\u0433\u0438\u043d \u0438 \u043f\u0430\u0440\u043e\u043b\u044c. \u0418 \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0438\u0439 \u0434\u043e\u0441\u0442\u0443\u043f \u043f\u043e WebSocket \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0443 \u043a WCS \u0441\u0435\u0440\u0432\u0435\u0440\u0443 \u0442\u0430\u043a\u0436\u0435 \u0431\u0443\u0434\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043b\u043e\u0433\u0438\u043d \u0438 \u043f\u0430\u0440\u043e\u043b\u044c, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u044b \u0437\u0430\u0434\u0430\u043b\u0438 \u0432 \u043a\u043e\u0434\u0435. <\/p>\n<p>\u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u043c\u044b \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u043b\u0438 \u0438 \u043f\u0440\u043e\u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043b\u0438 \u043f\u0440\u0438\u043c\u0435\u0440 \u0441\u043a\u0440\u0438\u043d\u0448\u0430\u0440\u0438\u043d\u0433\u0430 \u0438 \u043f\u0440\u0438\u043a\u0440\u0443\u0442\u0438\u043b\u0438 \u043a \u043d\u0435\u043c\u0443 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u0443\u044e \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u044e \u043f\u043e \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438 Basic Auth. \u0414\u043b\u044f \u0447\u0435\u0433\u043e \u0432 2021 \u0433\u043e\u0434\u0443 \u043d\u0435 \u043d\u0443\u0436\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0438 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u0432\u043e\u0435 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435 \u0434\u043b\u044f Google Chrome \u0438 \u0443\u0442\u0440\u0443\u0436\u0434\u0430\u0442\u044c \u043a\u043e\u043d\u0435\u0447\u043d\u044b\u0445 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u043e\u0439 \u043a\u0430\u043a\u0438\u0445-\u0442\u043e \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432 \u2014 \u0432\u0441\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 &#171;\u0438\u0437 \u043a\u043e\u0440\u043e\u0431\u043a\u0438&#187;. <\/p>\n<p>\u0423\u0434\u0430\u0447\u043d\u043e\u0433\u043e \u0441\u043a\u0440\u0438\u043d\u0448\u0430\u0440\u0438\u043d\u0433\u0430! <\/p>\n<h3>\u0421\u0441\u044b\u043b\u043a\u0438<\/h3>\n<p><a href=\"https:\/\/demo.flashphoner.com\/admin\/login.html\">\u041d\u0430\u0448 \u0434\u0435\u043c\u043e \u0441\u0435\u0440\u0432\u0435\u0440<\/a><\/p>\n<p><a href=\"https:\/\/flashphoner.com\/podderzhka-oblachnyh-serverov-amazon-ec2-v-web-call-server\/?lang=ru\">WCS \u043d\u0430 Amazon EC2<\/a> &#8212; \u0411\u044b\u0441\u0442\u0440\u043e\u0435 \u0440\u0430\u0437\u0432\u0435\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u0435 WCS \u043d\u0430 \u0431\u0430\u0437\u0435 Amazon<\/p>\n<p><a href=\"https:\/\/flashphoner.com\/podderzhka-web-call-server-v-digital-ocean-marketplace\/?lang=ru\">WCS \u043d\u0430 DigitalOcean<\/a> &#8212; \u0411\u044b\u0441\u0442\u0440\u043e\u0435 \u0440\u0430\u0437\u0432\u0435\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u0435 WCS \u043d\u0430 \u0431\u0430\u0437\u0435 DigitalOcean<\/p>\n<p><a href=\"https:\/\/flashphoner.com\/podderzhka-web-call-server-v-docker\/?lang=ru\">WCS \u0432 Docker<\/a> &#8212; \u0417\u0430\u043f\u0443\u0441\u043a WCS \u043a\u0430\u043a Docker \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430 <\/p>\n<p><a href=\"https:\/\/flashphoner.com\/demonstraciya-ehkrana-iz-brauzerov-chrome-i-firefox\/?lang=ru\">\u0422\u0440\u0430\u043d\u0441\u043b\u044f\u0446\u0438\u044f \u044d\u043a\u0440\u0430\u043d\u0430 \u043f\u043e WebRTC<\/a> &#8212; \u0424\u0443\u043d\u043a\u0446\u0438\u044f \u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0430\u0446\u0438\u0438 \u0438 \u0442\u0440\u0430\u043d\u0441\u043b\u044f\u0446\u0438\u0438 \u044d\u043a\u0440\u0430\u043d\u0430 \u0438\u0437 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u043e\u0432<\/p>\n<p><a href=\"https:\/\/docs.flashphoner.com\/pages\/viewpage.action?pageId=9241061\">\u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0444\u0430\u0439\u043b\u0430 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a flashphoner.properties<\/a><\/p>\n<p><a href=\"https:\/\/docs.flashphoner.com\/pages\/viewpage.action?pageId=9241071\">\u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0444\u0430\u0439\u043b\u0430 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a wcs-core.properties<\/a><\/p>\n<p><a href=\"https:\/\/docs.flashphoner.com\/pages\/viewpage.action?pageId=14255501\">\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u043f\u043e \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044e \u043f\u0430\u043c\u044f\u0442\u044c\u044e \u0432 Java<\/a><\/p>\n<p><a href=\"https:\/\/docs.flashphoner.com\/pages\/viewpage.action?pageId=9241213\">\u0420\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0446\u0438\u0438 \u043f\u043e \u0442\u043e\u043d\u043a\u043e\u0439 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0435 \u0441\u0435\u0440\u0432\u0435\u0440\u0430<\/a><\/p>\n<p><a href=\"https:\/\/docs.flashphoner.com\/pages\/viewpage.action?pageId=23036804\">\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u043f\u043e \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0435 \u043a \u043f\u0440\u043e\u043c\u044b\u0448\u043b\u0435\u043d\u043d\u043e\u0439 \u044d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0430\u0446\u0438\u0438 WCS<\/a><\/p>\n<p><a href=\"https:\/\/docs.flashphoner.com\/pages\/viewpage.action?pageId=9241229\">Screen Sharing \u0432 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0435 \u043f\u043e WebRTC<\/a><\/p>\n<p><a href=\"https:\/\/docs.flashphoner.com\/display\/WEBSDK2RU\/Screen+Sharing\">\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u043f\u043e Screen Sharing Web SDK<\/a><\/p>\n<\/div>\n<p> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/company\/flashphoner\/blog\/564730\/\"> https:\/\/habr.com\/ru\/company\/flashphoner\/blog\/564730\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"\n<div class=\"post__text post__text_v2\" id=\"post-content-body\">\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u041f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u043e\u0441\u0442\u044c \u043e\u043d\u043b\u0430\u0439\u043d-\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0441 \u043a\u0430\u0436\u0434\u044b\u043c \u043c\u0435\u0441\u044f\u0446\u0435\u043c. \u0410 \u0433\u0434\u0435 \u0443\u0432\u0435\u043b\u0438\u0447\u0435\u043d\u0438\u0435 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u043e\u0441\u0442\u0438, \u0442\u0430\u043c \u0438 \u0432\u043e\u0437\u0440\u0430\u0441\u0442\u0430\u043d\u0438\u0435 \u043a\u043e\u043d\u043a\u0443\u0440\u0435\u043d\u0446\u0438\u0438 \u0438 \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u0435 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0430: \u043c\u043d\u043e\u0433\u0438\u0435 \u0430\u0432\u0442\u043e\u0440\u044b \u043e\u043d\u043b\u0430\u0439\u043d-\u0448\u043a\u043e\u043b \u043f\u043e\u043d\u044f\u043b\u0438, \u0447\u0442\u043e \u0443\u0436\u0435 \u043c\u0430\u043b\u043e \u0441\u043d\u0438\u043c\u0430\u0442\u044c \u043a\u0430\u043a\u0443\u044e-\u0442\u043e \u043a\u0430\u0448\u0443 \u0438\u0437 \u043f\u0438\u043a\u0441\u0435\u043b\u0435\u0439 \u043d\u0430 \u0444\u0440\u043e\u043d\u0442\u0430\u043b\u043a\u0443 \u0447\u0435\u0442\u0432\u0435\u0440\u0442\u043e\u0433\u043e \u0430\u0439\u0444\u043e\u043d\u0430 &#8212; \u043d\u0443\u0436\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u043d\u0430\u0434 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u043e\u043c \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0438, \u0437\u0432\u0443\u043a\u0430, \u043f\u043e\u0434\u0430\u0447\u0435\u0439 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0430 \u0438 \u0442.\u0434. \u041c\u0430\u043b\u043e \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u043f\u0430\u043d\u0434\u0435\u043c\u0438\u044f \u0434\u043e\u043a\u0430\u0437\u0430\u043b\u0430, \u0447\u0442\u043e \u043e\u043d\u043b\u0430\u0439\u043d \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u0435\u043f\u043e\u0434\u0430\u0432\u0430\u0442\u044c \u0445\u043e\u0442\u044c \u0441\u0430\u043b\u044c\u0441\u0443, \u0445\u043e\u0442\u044c \u0432\u044f\u0437\u0430\u043d\u0438\u0435 \u043a\u0440\u044e\u0447\u043a\u043e\u043c, \u0442\u0430\u043a \u044d\u0442\u043e \u0435\u0449\u0435 \u0438 \u0434\u0430\u043b\u043e \u043e\u0447\u0435\u043d\u044c \u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u0442\u043e\u043b\u0447\u043e\u043a \u043a \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u044e \u043f\u0440\u0435\u043f\u043e\u0434\u0430\u0432\u0430\u0435\u043c\u044b\u0445 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u043e\u0432 + \u0440\u0430\u0437\u043d\u043e\u043e\u0431\u0440\u0430\u0437\u0438\u0435 \u043d\u0430 \u0440\u044b\u043d\u043a\u0435 \u0442\u0440\u0443\u0434\u0430. \u041c\u0430\u043c\u043e\u0447\u043a\u0438 \u0432 \u0434\u0435\u043a\u0440\u0435\u0442\u0435 \u043c\u043e\u0433\u0443\u0442 \u043b\u0438\u043a\u043e\u0432\u0430\u0442\u044c &#8212; \u0442\u0435\u043f\u0435\u0440\u044c \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c \u0441\u0442\u043e \u0442\u044b\u0441\u044f\u0447 \u043c\u0438\u043b\u043b\u0438\u043e\u043d\u043e\u0432 \u0432 \u0441\u0435\u043a\u0443\u043d\u0434\u0443, \u0441\u0438\u0434\u044f \u0434\u043e\u043c\u0430.<\/p>\n<p>\u0412 \u043f\u0440\u043e\u0448\u043b\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043c\u044b \u0433\u043e\u0432\u043e\u0440\u0438\u043b\u0438 \u043e \u043d\u043e\u0432\u044b\u0445 \u043f\u0440\u043e\u0444\u0435\u0441\u0441\u0438\u044f\u0445, \u043f\u043e\u0440\u043e\u0436\u0434\u0435\u043d\u043d\u044b\u0445 \u043a\u0430\u0440\u0430\u043d\u0442\u0438\u043d\u043e\u043c \u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430\u0445 \u0434\u043b\u044f \u0438\u0445 \u0440\u0430\u0431\u043e\u0442\u044b, \u0430 \u0435\u0449\u0435, \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0432\u0441\u0435\u0433\u043e \u043b\u0438\u0448\u044c 70 \u0441\u0442\u0440\u043e\u0447\u0435\u043a \u043a\u043e\u0434\u0430, \u043d\u0430\u043a\u0438\u0434\u0430\u043b\u0438 \u0441\u043a\u0435\u043b\u0435\u0442 \u043c\u043d\u043e\u0433\u043e\u0442\u043e\u0447\u0435\u0447\u043d\u043e\u0439 \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u0438 \u0441 \u0437\u0430\u043f\u0438\u0441\u044c\u044e \u0438 \u0441\u043a\u0440\u0438\u043d\u0448\u0430\u0440\u0438\u043d\u0433\u043e\u043c. <\/p>\n<p>\u0421\u043a\u0440\u0438\u043d\u0448\u0430\u0440\u0438\u043d\u0433 \u0432\u043e\u043e\u0431\u0449\u0435 \u043e\u0447\u0435\u043d\u044c \u0432\u043e\u0441\u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u043d\u0430\u044f \u0448\u0442\u0443\u043a\u0430, \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u0432 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0440\u0435\u0430\u043b\u0438\u044f\u0445, \u043a\u043e\u0433\u0434\u0430 \u043d\u0430 \u043f\u0438\u043a\u0435 \u043c\u043e\u0434\u044b \u0440\u0430\u0437\u043d\u044b\u0435 \u043a\u0443\u0440\u0441\u044b \u0441\u0430\u043c\u043e\u0440\u0430\u0437\u0432\u0438\u0442\u0438\u044f. \u0425\u043e\u0447\u0435\u0448\u044c \u043f\u043e\u0445\u0443\u0434\u0435\u0442\u044c, \u043f\u043e\u0442\u043e\u043b\u0441\u0442\u0435\u0442\u044c, \u0437\u0430\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u043c\u0438\u043b\u043b\u0438\u043e\u043d\u044b, \u0441\u043c\u0435\u043d\u0438\u0442\u044c \u043f\u0440\u043e\u0444\u0435\u0441\u0441\u0438\u044e, \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u0432\u043e\u0441\u043f\u0438\u0442\u044b\u0432\u0430\u0442\u044c \u0434\u0435\u0442\u0435\u0439, \u0434\u043e\u0441\u0442\u0438\u0447\u044c \u043f\u0440\u043e\u0441\u0432\u0435\u0442\u043b\u0435\u043d\u0438\u044f, \u0437\u0430\u0442\u0435\u043c\u043d\u0435\u043d\u0438\u044f \u0438\u043b\u0438 \u0443\u0431\u0438\u0440\u0430\u0442\u044c\u0441\u044f \u043f\u043e \u0424\u0435\u043d-\u0428\u0443\u044e? \u0412 \u0441\u0435\u0442\u0438 \u0435\u0441\u0442\u044c \u043d\u0443\u0436\u043d\u044b\u0439 \u0442\u0435\u0431\u0435 \u043d\u0430\u0441\u0442\u0430\u0432\u043d\u0438\u043a \u0438 \u0434\u0430\u0436\u0435 \u043d\u0435 \u043e\u0434\u0438\u043d. \u0413\u043b\u0430\u0432\u043d\u044b\u0439 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u0442\u0430\u043a\u0438\u0445 \u0442\u0440\u0435\u043d\u0435\u0440\u043e\u0432 &#8212; \u043f\u0440\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0432\u0435\u0431\u0438\u043d\u0430\u0440\u043e\u0432, \u0447\u0430\u0449\u0435 \u0432\u0441\u0435\u0433\u043e \u043f\u043b\u0430\u0442\u043d\u044b\u0445.  \u0418 \u0435\u0441\u043b\u0438 \u0431\u0440\u0430\u0442\u044c\u0441\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c \u0441\u0432\u043e\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u0432\u0435\u0431\u0438\u043d\u0430\u0440\u043e\u0432, \u0442\u043e \u0441\u0440\u0430\u0437\u0443 \u043f\u043e\u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0432\u043e\u043f\u0440\u043e\u0441\u043e\u0432: <\/p>\n<ol>\n<li>\n<p>\u0413\u0434\u0435 \u0440\u0430\u0437\u043c\u0435\u0441\u0442\u0438\u0442\u044c?<\/p>\n<\/li>\n<li>\n<p>\u041a\u0430\u043a \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c?<\/p>\n<\/li>\n<li>\n<p>\u041a\u0430\u043a \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0438\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f? <\/p>\n<\/li>\n<\/ol>\n<p>\u041c\u044b \u0440\u0435\u0448\u0438\u043b\u0438 \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u0432\u0441\u0435 \u043e\u0442\u0432\u0435\u0442\u044b \u0432\u043e\u0435\u0434\u0438\u043d\u043e, \u0442\u0430\u043a \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0430\u0441\u044c \u044d\u0442\u0430 \u0441\u0442\u0430\u0442\u044c\u044f.  <\/p>\n<h3>\u041a\u0430\u043a \u0432\u044b\u0431\u0438\u0440\u0430\u0442\u044c \u0441\u0435\u0440\u0432\u0435\u0440 \u0438 \u0433\u0434\u0435 \u0440\u0430\u0437\u043c\u0435\u0449\u0430\u0442\u044c?<\/h3>\n<p>\u0414\u043b\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0441\u0442\u0440\u0438\u043c\u0438\u043d\u0433\u0430 \u0432 \u044d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0430\u0446\u0438\u044e \u043d\u0443\u0436\u043d\u043e \u043e\u0446\u0435\u043d\u0438\u0442\u044c \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u044b \u0441\u0438\u0441\u0442\u0435\u043c\u044b. <\/p>\n<ul>\n<li>\n<p>\u0447\u0438\u0441\u043b\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u0441\u0442\u0440\u0438\u043c\u0435\u0440\u043e\u0432;<\/p>\n<\/li>\n<li>\n<p>\u0447\u0438\u0441\u043b\u043e \u0432\u0445\u043e\u0434\u044f\u0449\u0438\u0445 \u0441\u0442\u0440\u0438\u043c\u043e\u0432;<\/p>\n<\/li>\n<li>\n<p>\u0447\u0438\u0441\u043b\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u043f\u043e\u0434\u043f\u0438\u0441\u0447\u0438\u043a\u043e\u0432;<\/p>\n<\/li>\n<li>\n<p>\u0447\u0438\u0441\u043b\u043e \u0438\u0441\u0445\u043e\u0434\u044f\u0449\u0438\u0445 \u0441\u0442\u0440\u0438\u043c\u043e\u0432;<\/p>\n<\/li>\n<li>\n<p>\u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0432\u0438\u0434\u0435\u043e \u0441\u0442\u0440\u0438\u043c\u043e\u0432;<\/p>\n<\/li>\n<li>\n<p>\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u043f\u0435\u0440\u0438\u043e\u0434\u044b;<\/p>\n<\/li>\n<li>\n<p>\u0433\u0435\u043e\u0433\u0440\u0430\u0444\u0438\u044f \u0440\u0430\u0437\u043c\u0435\u0449\u0435\u043d\u0438\u044f \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 \u0438 \u043f\u043e\u0434\u043f\u0438\u0441\u0447\u0438\u043a\u043e\u0432. <\/p>\n<\/li>\n<\/ul>\n<p>\u0418 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u044d\u0442\u0438\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0449\u0443\u044e \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0438\u043b\u0438 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0438\u043d\u0441\u0442\u0430\u043d\u0441\u0430. <\/p>\n<p>\u041f\u0440\u0438\u043c\u0435\u0440\u043d\u044b\u0435 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u043e \u0445\u0430\u0440\u0430\u043a\u0442\u0435\u0440\u0438\u0441\u0442\u0438\u043a\u0430\u043c \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0434\u043b\u044f \u0442\u0438\u043f\u043e\u0432\u044b\u0445 \u0437\u0430\u0434\u0430\u0447 \u0443\u043a\u0430\u0437\u0430\u043d\u044b \u043d\u0438\u0436\u0435: <\/p>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<p>\u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043f\u043e\u0434\u043f\u0438\u0441\u0447\u0438\u043a\u043e\u0432<\/p>\n<\/th>\n<th>\n<p>CPUs<\/p>\n<\/th>\n<th>\n<p>RAM, GB<\/p>\n<\/th>\n<th>\n<p>\u0422\u0440\u0430\u0444\u0438\u043a, TB<\/p>\n<\/th>\n<th>\n<p>\u041f\u0440\u0438\u043c\u0435\u0440 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f<\/p>\n<\/th>\n<\/tr>\n<tr>\n<td>\n<p>\u0434\u043e 200<\/p>\n<\/td>\n<td>\n<p>4<\/p>\n<\/td>\n<td>\n<p>8<\/p>\n<\/td>\n<td>\n<p>5<\/p>\n<\/td>\n<td>\n<p>\u0421\u0438\u0441\u0442\u0435\u043c\u0430 \u0432\u0438\u0434\u0435\u043e\u043d\u0430\u0431\u043b\u044e\u0434\u0435\u043d\u0438\u044f<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>\u0434\u043e 500<\/p>\n<\/td>\n<td>\n<p>8<\/p>\n<\/td>\n<td>\n<p>16<\/p>\n<\/td>\n<td>\n<p>6<\/p>\n<\/td>\n<td>\n<p>\u0412\u0435\u0431\u0438\u043d\u0430\u0440\u044b<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>\u0434\u043e 1000<\/p>\n<\/td>\n<td>\n<p>16<\/p>\n<\/td>\n<td>\n<p>64<\/p>\n<\/td>\n<td>\n<p>9<\/p>\n<\/td>\n<td>\n<p>\u0412\u0438\u0434\u0435\u043e\u0447\u0430\u0442<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>\u0434\u043e 2000<\/p>\n<\/td>\n<td>\n<p>20<\/p>\n<\/td>\n<td>\n<p>96<\/p>\n<\/td>\n<td>\n<p>10<\/p>\n<\/td>\n<td>\n<p>\u0421\u0442\u0440\u0438\u043c\u0438\u043d\u0433 HD \u0432\u0438\u0434\u0435\u043e<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>\u0415\u0441\u043b\u0438 \u0432 \u0432\u0430\u0448\u0435\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u0435 \u043f\u043b\u0430\u043d\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0431\u043e\u043b\u044c\u0448\u0435\u0435 \u0447\u0438\u0441\u043b\u043e \u043f\u043e\u0434\u043f\u0438\u0441\u0447\u0438\u043a\u043e\u0432, \u043d\u0435 \u0438\u043c\u0435\u0435\u0442 \u0441\u043c\u044b\u0441\u043b\u0430 \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0432\u0430\u0442\u044c \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0445\u0430\u0440\u0430\u043a\u0442\u0435\u0440\u0438\u0441\u0442\u0438\u043a\u0438 \u043e\u0434\u043d\u043e\u0433\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0442.\u043a. \u044d\u0442\u043e \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u0442 \u043a \u043f\u043e\u044f\u0432\u043b\u0435\u043d\u0438\u044e \u0435\u0434\u0438\u043d\u043e\u0439 \u0442\u043e\u0447\u043a\u0438 \u043e\u0442\u043a\u0430\u0437\u0430.  \u0412 \u044d\u0442\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438 <a href=\"https:\/\/flashphoner.com\/cdn-dlya-striminga-webrtc-s-nizkoj-zaderzhkoj\/?lang=ru\">CDN<\/a> \u0438\u0437 \u0440\u0430\u0441\u0447\u0435\u0442\u0430 1 Edge \u0441\u0435\u0440\u0432\u0435\u0440 \u043d\u0430 2000 \u043f\u043e\u0434\u043f\u0438\u0441\u0447\u0438\u043a\u043e\u0432. \u0411\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044e, \u0433\u0435\u043e\u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u043e\u043c\u0443 \u0438 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u043c\u0443 \u0440\u0430\u0437\u0434\u0435\u043b\u0435\u043d\u0438\u044e (\u0441 \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u0438\u0435\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u0442\u0440\u0430\u043d\u0441\u043a\u043e\u0434\u0438\u043d\u0433\u0430 \u0438 \u0434\u043e\u0441\u0442\u0430\u0432\u043a\u0438 \u043a\u043e\u043d\u0442\u0435\u043d\u0442\u0430) \u043c\u043e\u0436\u043d\u043e \u0433\u0438\u0431\u043a\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0439 \u0443\u0440\u043e\u0432\u0435\u043d\u044c \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0438\u0437 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432. \u041d\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u043d\u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0435 \u0440\u0435\u0441\u0443\u0440\u0441\u044b \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u043d\u0435 \u0434\u043e\u043b\u0436\u043d\u0430 \u043f\u0440\u0435\u0432\u044b\u0448\u0430\u0442\u044c 80%. \u0412 \u044d\u0442\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435, \u0432\u0441\u0435 \u043f\u043e\u0434\u043f\u0438\u0441\u0447\u0438\u043a\u0438 \u043f\u043e\u043b\u0443\u0447\u0430\u0442 \u0432\u0438\u0434\u0435\u043e\u043f\u043e\u0442\u043e\u043a\u0438 \u0441 \u043f\u0440\u0438\u0435\u043c\u043b\u0435\u043c\u044b\u043c \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u043e\u043c.  <\/p>\n<p>\u0414\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0447\u0430\u0441\u0442\u043e CDN \u0440\u0430\u0437\u0432\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u044e\u0442 \u0438 \u043f\u0440\u0438 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u043c \u0447\u0438\u0441\u043b\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439, \u0435\u0441\u043b\u0438 \u043f\u043b\u0430\u043d\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0442\u0440\u0430\u0444\u0438\u043a\u0430. \u0410\u0440\u0438\u0444\u043c\u0435\u0442\u0438\u043a\u0430 \u043f\u0440\u043e\u0441\u0442\u0430\u044f: 1 \u0441\u0442\u0440\u0438\u043c \u044d\u0442\u043e \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e 1 Mbps \u0442\u0440\u0430\u0444\u0438\u043a\u0430, \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e 1000 \u0441\u0442\u0440\u0438\u043c\u043e\u0432 &#8212; 1000 Mbps. \u041d\u0435 \u0432\u0441\u0435\u0433\u0434\u0430 \u0435\u0441\u0442\u044c \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u0438 \u0444\u0438\u043d\u0430\u043d\u0441\u043e\u0432\u0430\u044f \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u043a \u0441\u0435\u0440\u0432\u0435\u0440\u0443 \u043a\u0430\u043d\u0430\u043b 10Gbps. \u0411\u043e\u043b\u044c\u0448\u0430\u044f \u0447\u0430\u0441\u0442\u044c \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442 \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u043e\u0432 \u043d\u0435 \u043c\u043e\u0433\u0443\u0442 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u043a\u0430\u043d\u0430\u043b \u0431\u043e\u043b\u0435\u0435 400 Mbps, \u043f\u043e\u044d\u0442\u043e\u043c\u0443, \u0447\u0442\u043e\u0431\u044b \u0442\u0440\u0430\u043d\u0441\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u043e\u0442\u043e\u043a\u0438 \u0441\u043e \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c\u044e 1000 Mbps \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u0441\u044f \u0442\u0440\u0438 \u0441\u0435\u0440\u0432\u0435\u0440\u0430. <\/p>\n<p>\u0420\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 WCS, \u043e\u0442 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043a\u043e\u043d\u0435\u0447\u043d\u043e\u0435 \u0447\u0438\u0441\u043b\u043e \u0437\u0440\u0438\u0442\u0435\u043b\u0435\u0439 \u0438 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u043e \u0442\u0440\u0430\u043d\u0441\u043b\u044f\u0446\u0438\u0438.<\/p>\n<h4>\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u043f\u043e\u0440\u0442\u043e\u0432<\/h4>\n<p>\u041f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e, \u0434\u043b\u044f WebRTC \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0439 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e \u0442\u043e\u043b\u044c\u043a\u043e 499 \u043f\u043e\u0440\u0442\u043e\u0432. \u042d\u0442\u043e \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435 \u0437\u0430\u0434\u0430\u0435\u0442\u0441\u044f \u0432 \u0444\u0430\u0439\u043b\u0435 <a href=\"https:\/\/docs.flashphoner.com\/pages\/viewpage.action?pageId=1049300\">flashphoner.properties<\/a>. \u041f\u0440\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u043c\u043e\u0436\u043d\u043e \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0442\u044c \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d \u043f\u043e\u0440\u0442\u043e\u0432 \u0432 \u0441\u0442\u0440\u043e\u043a\u0430\u0445 <\/p>\n<pre><code class=\"bash\">media_port_from = 31001 media_port_to = 32000<\/code><\/pre>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u0412\u043d\u0438\u043c\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0447\u0438\u0442\u0430\u0442\u0435\u043b\u044c, \u043a\u043e\u043d\u0435\u0447\u043d\u043e, \u0432\u043e\u0437\u0440\u0430\u0437\u0438\u0442, \u0447\u0442\u043e \u0432 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u043c \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u0435 999 \u043f\u043e\u0440\u0442\u043e\u0432. \u0414\u0430, \u0442\u0430\u043a \u0438 \u0435\u0441\u0442\u044c, \u043d\u043e \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u043c\u0435\u0434\u0438\u0430\u0442\u0440\u0430\u0444\u0438\u043a\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0447\u0435\u0442\u043d\u044b\u0435 \u043f\u043e\u0440\u0442\u044b. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e \u0432\u0441\u0435\u0433\u043e 499 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0439 \u043f\u043e WebRTC. <\/p>\n<p>\u041f\u0440\u0438 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0438 \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u0430 \u043c\u0435\u0434\u0438\u0430\u043f\u043e\u0440\u0442\u043e\u0432, \u043f\u0440\u043e\u0432\u0435\u0440\u044c\u0442\u0435, \u0447\u0442\u043e \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d \u043d\u0435 \u043f\u0435\u0440\u0435\u0441\u0435\u043a\u0430\u0435\u0442\u0441\u044f \u0441 <a href=\"https:\/\/docs.flashphoner.com\/pages\/viewpage.action?pageId=9241054\">\u0434\u0440\u0443\u0433\u0438\u043c\u0438 \u043f\u043e\u0440\u0442\u0430\u043c\u0438<\/a>, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u043c\u0438 \u0432 \u0440\u0430\u0431\u043e\u0442\u0435 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0438 <a href=\"https:\/\/docs.flashphoner.com\/pages\/viewpage.action?pageId=9241213#id-%D0%A0%D0%B5%D0%BA%D0%BE%D0%BC%D0%B5%D0%BD%D0%B4%D0%B0%D1%86%D0%B8%D0%B8%D0%BF%D0%BE%D1%82%D0%BE%D0%BD%D0%BA%D0%BE%D0%B9%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B5%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0-%D0%98%D0%B7%D0%BC%D0%B5%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5%D0%B4%D0%B8%D0%B0%D0%BF%D0%B0%D0%B7%D0%BE%D0%BD%D0%B0%D0%B4%D0%B8%D0%BD%D0%B0%D0%BC%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D1%85%D0%BF%D0%BE%D1%80%D1%82%D0%BE%D0%B2%D0%B2Linux\">\u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u043e\u043c \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043f\u043e\u0440\u0442\u043e\u0432 Linux<\/a> (\u043f\u0440\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u043c\u043e\u0436\u043d\u043e \u0435\u0433\u043e \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c) <\/p>\n<p>\u0422\u0430\u043a \u0436\u0435 \u043e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435, \u0447\u0442\u043e \u043c\u0435\u0434\u0438\u0430\u043f\u043e\u0440\u0442\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f WebRTC \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0439. \u041f\u043e\u044d\u0442\u043e\u043c\u0443, \u0435\u0441\u043b\u0438 \u0432\u044b \u043e\u0442\u0434\u0430\u0435\u0442\u0435 \u043f\u043e\u0442\u043e\u043a \u043f\u043e WebRTC, \u0430 \u0437\u0440\u0438\u0442\u0435\u043b\u0438 \u0441\u043c\u043e\u0442\u0440\u044f\u0442 \u0435\u0433\u043e \u043f\u043e HLS \u043d\u0430 \u0441\u0432\u043e\u0438\u0445 \u0430\u0439\u0444\u043e\u043d\u0430\u0445, \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u044b\u0445 \u043f\u043e\u0440\u0442\u043e\u0432 \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f \u043d\u0435 \u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u0430. <\/p>\n<h4>\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0441\u0431\u043e\u0440\u0449\u0438\u043a\u0430 \u043c\u0443\u0441\u043e\u0440\u0430<\/h4>\n<p>\u041f\u0440\u0438 \u0441\u0442\u0440\u0438\u043c\u0438\u043d\u0433\u0435 \u0432 \u043f\u0430\u043c\u044f\u0442\u0438 \u0441\u043e\u0437\u0434\u0430\u0435\u0442\u0441\u044f \u0438 \u0443\u043d\u0438\u0447\u0442\u043e\u0436\u0430\u0435\u0442\u0441\u044f \u043c\u043d\u043e\u0433\u043e \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432 \u0441 \u0434\u0430\u043d\u043d\u044b\u043c\u0438.  \u042d\u0442\u0438 \u043e\u0431\u044a\u0435\u043a\u0442\u044b \u0445\u0440\u0430\u043d\u044f\u0442\u0441\u044f \u0432 Java heap, \u0435\u0441\u043b\u0438 \u043d\u0435 \u0440\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0442\u044c \u0441\u043b\u0443\u0447\u0430\u0439 \u0442\u0440\u0430\u043d\u0441\u043a\u043e\u0434\u0438\u043d\u0433\u0430, \u043f\u0440\u0438 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0438 \u0445\u0440\u0430\u043d\u044f\u0442\u0441\u044f \u0432 \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438 \u0441\u0435\u0440\u0432\u0435\u0440\u0430. <\/p>\n<p>Heap (\u043a\u0443\u0447\u0430) \u2013 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0441\u0435\u0433\u043c\u0435\u043d\u0442 \u043f\u0430\u043c\u044f\u0442\u0438, \u0433\u0434\u0435 Java VM \u0445\u0440\u0430\u043d\u0438\u0442 \u0432\u0441\u0435 \u0432\u0430\u0448\u0438 \u043e\u0431\u044a\u0435\u043a\u0442\u044b. \u041a\u043e\u0433\u0434\u0430 \u0432\u044b \u0445\u043e\u0442\u0438\u0442\u0435 \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043d\u043e\u0432\u044b\u0439 \u043e\u0431\u044a\u0435\u043a\u0442, \u043d\u043e \u043c\u0435\u0441\u0442\u0430 \u0432 heap \u0443\u0436\u0435 \u043d\u0435\u0442, JVM \u043f\u0440\u043e\u0432\u043e\u0434\u0438\u0442 garbage collection (\u0441\u0431\u043e\u0440\u043a\u0443 \u043c\u0443\u0441\u043e\u0440\u0430), \u0447\u0442\u043e \u0437\u043d\u0430\u0447\u0438\u0442, \u0447\u0442\u043e JVM \u0438\u0449\u0435\u0442 \u0432 \u043f\u0430\u043c\u044f\u0442\u0438 \u0432\u0441\u0435 \u043e\u0431\u044a\u0435\u043a\u0442\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0431\u043e\u043b\u0435\u0435 \u043d\u0435 \u043d\u0443\u0436\u043d\u044b, \u0438 \u0438\u0437\u0431\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043e\u0442 \u043d\u0438\u0445. \u0412 \u043c\u043e\u043c\u0435\u043d\u0442 \u0440\u0430\u0431\u043e\u0442\u044b garbage collection \u0440\u0430\u0431\u043e\u0442\u0430 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0445 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0432 \u0432 JVM \u043f\u0440\u0438\u043e\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442\u0441\u044f. \u041f\u043e\u044d\u0442\u043e\u043c\u0443, \u0434\u043b\u044f \u0437\u0430\u0434\u0430\u0447 \u0441\u0442\u0440\u0438\u043c\u0438\u043d\u0433\u0430, \u043a\u0440\u0430\u0439\u043d\u0435 \u0432\u0430\u0436\u043d\u043e, \u0447\u0442\u043e\u0431\u044b \u044d\u0442\u0430 \u043f\u0430\u0443\u0437\u0430 \u0437\u0430\u043d\u0438\u043c\u0430\u043b\u0430 \u043a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u043c\u0435\u043d\u044c\u0448\u0435 \u0432\u0440\u0435\u043c\u0435\u043d\u0438.  \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0432 Java \u0431\u044b\u043b \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u043d \u043d\u043e\u0432\u044b\u0439 \u0441\u0431\u043e\u0440\u0449\u0438\u043a \u043c\u0443\u0441\u043e\u0440\u0430 \u2014 &#171;Z Garbage Collector&#187; (ZGC), \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0438\u0439 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0442\u044c \u043d\u0438\u0437\u043a\u0443\u044e \u0437\u0430\u0434\u0435\u0440\u0436\u043a\u0443 \u043f\u0440\u0438 \u0441\u0431\u043e\u0440\u043a\u0435 \u043c\u0443\u0441\u043e\u0440\u0430, \u043d\u0435 \u043e\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043f\u043e\u0442\u043e\u043a\u043e\u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0431\u043e\u043b\u0435\u0435 \u0447\u0435\u043c \u043d\u0430 10 \u043c\u0438\u043b\u043b\u0438\u0441\u0435\u043a\u0443\u043d\u0434, \u0434\u0430\u0436\u0435 \u043f\u0440\u0438 \u0440\u0430\u0431\u043e\u0442\u0435 \u0441 \u043e\u0447\u0435\u043d\u044c \u0431\u043e\u043b\u044c\u0448\u043e\u0439 memory heap.<\/p>\n<p>\u0420\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u0442\u0441\u044f \u0432\u044b\u0434\u0435\u043b\u044f\u0442\u044c \u043f\u043e\u0434 Java memory heap \u043d\u0435 \u043c\u0435\u043d\u0435\u0435, \u0447\u0435\u043c 1\/2 \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438 \u0441\u0435\u0440\u0432\u0435\u0440\u0430. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0435\u0441\u043b\u0438 \u043e\u0431\u044a\u0435\u043c \u043e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0441\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 32 \u0413\u0431, \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u0442\u0441\u044f \u0432\u044b\u0434\u0435\u043b\u0438\u0442\u044c 16 \u0413\u0431.  \u0420\u0430\u0437\u043c\u0435\u0440 Java memory heap \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0432 \u0444\u0430\u0439\u043b\u0435 wcs-core.properties \u0432 \u0441\u0442\u0440\u043e\u0447\u043a\u0430\u0445<\/p>\n<pre><code class=\"bash\">### JVM OPTIONS ### -Xmx1024M<\/code><\/pre>\n<p>\u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e &#8212; 1024 \u041c\u0431. \u0427\u0442\u043e \u0431\u044b \u0432\u044b\u0434\u0435\u043b\u0438\u0442\u044c \u043f\u043e\u0434 Java memory heap 16 \u0413\u0411 \u0443\u043a\u0430\u0436\u0438\u0442\u0435 <\/p>\n<pre><code class=\"bash\">-Xmx16g -Xms16g<\/code><\/pre>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043c Z Garbage Collector \u0432 \u0441\u043e\u0441\u0442\u0430\u0432\u0435 OpenJDK 12.<\/p>\n<p>1.\u0421\u043a\u0430\u0447\u0438\u0432\u0430\u0435\u043c \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u044e\u044e \u0441\u0431\u043e\u0440\u043a\u0443 OpenJDK 12 \u0441\u043e \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b <a href=\"http:\/\/jdk.java.net\/12\/\">http:\/\/jdk.java.net\/12\/<\/a>: <\/p>\n<pre><code class=\"bash\">wget https:\/\/download.java.net\/java\/GA\/jdk12.0.2\/e482c34c86bd4bf8b56c0b35558996b9\/10\/GPL\/openjdk-12.0.2_linux-x64_bin.tar.gz <\/code><\/pre>\n<p>2.\u0420\u0430\u0441\u043f\u0430\u043a\u043e\u0432\u044b\u0432\u0430\u0435\u043c\u044b\u0439 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0439 \u0444\u0430\u0439\u043b \u0438 \u043f\u0435\u0440\u0435\u043c\u0435\u0449\u0430\u0435\u043c \u0435\u0433\u043e \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0432 \u0440\u0430\u0431\u043e\u0447\u0443\u044e \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u044e:<\/p>\n<pre><code class=\"bash\">tar xvf openjdk-12.0.2_linux-x64_bin.tar.gz mv jdk-12.0.2 \/usr\/java\/jdk-12.0.2<\/code><\/pre>\n<p>3.\u0421\u043e\u0437\u0434\u0430\u0435\u043c \u0441\u0438\u043c\u0432\u043e\u043b\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0441\u0441\u044b\u043b\u043a\u0438 \u043d\u0430 OpenJDK 12:<\/p>\n<pre><code class=\"bash\">ln -sfn \/usr\/java\/jdk-12.0.2 \/usr\/java\/default ln -sfn \/usr\/java\/default\/bin\/java \/usr\/bin\/java ln -sfn \/usr\/java\/default\/bin\/jstack \/usr\/bin\/jstack ln -sfn \/usr\/java\/default\/bin\/jcmd \/usr\/bin\/jcmd ln -sfn \/usr\/java\/default\/bin\/jmap \/usr\/bin\/jmap<\/code><\/pre>\n<p>4.\u0415\u0441\u043b\u0438 WCS \u0431\u044b\u043b \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d \u0440\u0430\u043d\u0435\u0435, \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0438\u0440\u0443\u0435\u043c \u0438\u043b\u0438 \u0443\u0434\u0430\u043b\u044f\u0435\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0441\u0442\u0440\u043e\u043a\u0438 \u0432 \u0444\u0430\u0439\u043b\u0435 wcs-core.properties:<\/p>\n<pre><code class=\"bash\">-XX:+UseConcMarkSweepGC -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=70 -XX:+PrintGCDateStamps -XX:+PrintGCDetails<\/code><\/pre>\n<p>\u0438 \u0437\u0430\u043c\u0435\u043d\u044f\u0435\u043c \u0441\u0442\u0440\u043e\u043a\u0443 <\/p>\n<pre><code class=\"bash\">-Xloggc:\/usr\/local\/FlashphonerWebCallServer\/logs\/gc-core-<\/code><\/pre>\n<p>\u043d\u0430 <\/p>\n<p>5.\u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0434\u043b\u044f ZGC \u0438 \u043b\u043e\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f:<\/p>\n<pre><code class=\"bash\"># ZGC -XX:+UnlockExperimentalVMOptions -XX:+UseZGC -Xms24g -Xmx24g -XX:+UseLargePages -XX:ZPath=\/hugepages   # Log -Xlog:gc*:\/usr\/local\/FlashphonerWebCallServer\/logs\/gc-core.log -XX:ErrorFile=\/usr\/local\/FlashphonerWebCallServer\/logs\/error%p.log<\/code><\/pre>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u041e\u0431\u044b\u0447\u043d\u043e \u044d\u0442\u0438\u0445 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a \u0445\u0432\u0430\u0442\u0430\u0435\u0442 \u0434\u043b\u044f \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0438 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0431\u043e\u043b\u044c\u0448\u043e\u0433\u043e \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u0437\u0440\u0438\u0442\u0435\u043b\u0435\u0439. <\/p>\n<p>\u0418\u0442\u0430\u043a, \u043c\u044b \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u043b\u0438\u0441\u044c \u0441 \u0432\u044b\u0431\u043e\u0440\u043e\u043c \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0438\u043b\u0438 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0438\u043d\u0441\u0442\u0430\u043d\u0441\u0430 \u0434\u043b\u044f WCS. \u0422\u0435\u043f\u0435\u0440\u044c \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u043c \u043d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043a \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u044e \u043a\u043e\u0434\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0441\u043a\u0440\u0438\u043d\u0448\u0430\u0440\u0438\u043d\u0433\u0430 \u0434\u043b\u044f \u043f\u043e\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0433\u043e \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043d\u0430 \u0441\u0430\u0439\u0442. <\/p>\n<h3>\u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u0443\u0435\u043c<\/h3>\n<h4>\u041f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0430 \u043a \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435<\/h4>\n<p>\u0410\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0438:<\/p>\n<ol>\n<li>\n<p>\u0424\u0440\u043e\u043d\u0442\u0435\u043d\u0434 Web \u0441\u0435\u0440\u0432\u0435\u0440  &#8212; \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0443\u0435\u0442 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0441\u043e \u0441\u0442\u0440\u0438\u043c\u0435\u0440\u043e\u043c \u0438 \u0437\u0440\u0438\u0442\u0435\u043b\u044f\u043c\u0438. <\/p>\n<\/li>\n<li>\n<p>WCS &#8212; \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442 \u0432\u0445\u043e\u0434\u044f\u0449\u0438\u0439 \u0432\u0438\u0434\u0435\u043e\u043f\u043e\u0442\u043e\u043a \u043e\u0442 \u0441\u0442\u0440\u0438\u043c\u0435\u0440\u0430 \u0438 \u043e\u0442\u0434\u0430\u0435\u0442 \u0435\u0433\u043e \u0434\u043b\u044f \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u0437\u0440\u0438\u0442\u0435\u043b\u044f\u043c. <\/p>\n<\/li>\n<\/ol>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u041d\u0430\u0447\u043d\u0435\u043c \u0440\u0430\u0437\u0432\u0435\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u0435 \u0441 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 WCS. \u0421\u043b\u0435\u0434\u0443\u0435\u043c \u0443\u043a\u0430\u0437\u0430\u043d\u0438\u044f\u043c <a href=\"https:\/\/docs.flashphoner.com\/pages\/viewpage.action?pageId=9241019\">\u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438<\/a> \u0438\u043b\u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0439 \u0438\u043d\u0441\u0442\u0430\u043d\u0441 \u043d\u0430 <a href=\"https:\/\/flashphoner.com\/prakticheskaya-realizaciya-mcu-v-brauzere-s-funkciyami-demonstracii-ehkrana-i-zapisi\/m\/podderzhka-oblachnyh-serverov-amazon-ec2-v-web-call-server\/?lang=ru\">Amazon<\/a>, <a href=\"https:\/\/flashphoner.com\/google-cloud-platform-dlya-webrtc-cdn-s-balansirovkoj-i-avtomaticheskim-masshtabirovaniem\/?lang=ru\">Google Cloud<\/a> \u0438\u043b\u0438 <a href=\"https:\/\/flashphoner.com\/podderzhka-web-call-server-v-digital-ocean-marketplace\/?lang=ru\">DigitalOcean<\/a>.  WCS \u0442\u0430\u043a \u0436\u0435 \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u043a\u0430\u043a \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440 \u0432 <a href=\"https:\/\/flashphoner.com\/podderzhka-web-call-server-v-docker\/?lang=ru\">Docker<\/a>. \u0412\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0443 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0441\u043e\u0433\u043b\u0430\u0441\u043d\u043e \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0439 \u0433\u043b\u0430\u0432\u0435 \u0438 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0446\u0438\u044f\u043c <a href=\"https:\/\/docs.flashphoner.com\/pages\/viewpage.action?pageId=23036804\">\u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u043f\u043e \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0435 \u043a \u043f\u0440\u043e\u043c\u044b\u0448\u043b\u0435\u043d\u043d\u043e\u0439 \u044d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0430\u0446\u0438\u0438<\/a>.  <\/p>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c web \u0441\u0435\u0440\u0432\u0435\u0440. \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043c\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c <a href=\"https:\/\/www.digitalocean.com\/community\/tutorials\/how-to-install-configure-lemp-stack-software-collections-centos-7-ru\">Nginx \u043d\u0430 CentOS 7<\/a>. \u041d\u0430 Apache \u0432\u0441\u0435 \u0431\u0443\u0434\u0435\u0442 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0441\u0445\u043e\u0434\u043d\u044b\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c. \u0415\u0441\u043b\u0438 \u0443 \u0432\u0430\u0441 \u0443\u0436\u0435 \u0435\u0441\u0442\u044c \u0441\u0430\u0439\u0442, \u043a \u043a\u043e\u0442\u043e\u0440\u043e\u043c\u0443 \u043f\u043b\u0430\u043d\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b \u0441\u043a\u0440\u0438\u043d\u0448\u0430\u0440\u0438\u043d\u0433\u0430, \u0442\u043e\u0433\u0434\u0430 \u0433\u043e\u0442\u043e\u0432\u0438\u0442\u044c web \u0441\u0435\u0440\u0432\u0435\u0440 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e \u043d\u0435 \u043d\u0443\u0436\u043d\u043e. \u0418\u043b\u0438 \u043c\u043e\u0436\u043d\u043e \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u0442\u044c web \u0441\u0435\u0440\u0432\u0435\u0440 \u043d\u0430 \u0442\u043e\u0439 \u0436\u0435 \u043c\u0430\u0448\u0438\u043d\u0435, \u0447\u0442\u043e \u0438 WCS.  <\/p>\n<p>\u041d\u0430 web \u0441\u0435\u0440\u0432\u0435\u0440\u0435 \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u0434\u0432\u0430 \u0444\u0430\u0439\u043b\u0430: \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443 \u0431\u0443\u0434\u0443\u0449\u0435\u0433\u043e \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 \u0441\u043a\u0440\u0438\u043d\u0448\u0430\u0440\u0438\u043d\u0433\u0430 \u0438 \u0441\u043a\u0440\u0438\u043f\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u0443\u0434\u0435\u0442 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u044b\u0432\u0430\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u0443. \u0423 \u043d\u0430\u0441 \u044d\u0442\u043e \u0444\u0430\u0439\u043b\u044b \u2014 &#171;screen-sharing-min.html&#187; \u0438 &#171;screen-sharing-min.js&#187;. \u0420\u044f\u0434\u043e\u043c \u0441 \u044d\u0442\u0438\u043c\u0438 \u0444\u0430\u0439\u043b\u0430\u043c\u0438 \u043d\u0443\u0436\u043d\u043e \u0440\u0430\u0437\u043c\u0435\u0441\u0442\u0438\u0442\u044c \u0441\u043a\u0440\u0438\u043f\u0442 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0433\u043e API &#8212; &#171;flashphoner.js&#187;, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u043e\u0436\u043d\u043e \u0441\u043a\u0430\u0447\u0430\u0442\u044c <a href=\"https:\/\/flashphoner.com\/downloads\/builds\/flashphoner_client\/wcs_api-2.0\/current\/flashphoner.js\">\u0437\u0434\u0435\u0441\u044c<\/a>. \u0418\u043b\u0438 \u0443\u043a\u0430\u0436\u0438\u0442\u0435 \u043f\u0443\u0442\u044c \u0434\u043e \u044d\u0442\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430, \u0435\u0441\u043b\u0438 \u0440\u0430\u0431\u043e\u0442\u044b \u043f\u0440\u043e\u0432\u043e\u0434\u044f\u0442\u0441\u044f \u043d\u0430 \u0442\u043e\u0439 \u0436\u0435 \u043c\u0430\u0448\u0438\u043d\u0435, \u0433\u0434\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d WCS. <\/p>\n<h4>\u041a\u043e\u0434<\/h4>\n<p>\u041d\u0430\u0447\u043d\u0435\u043c \u0441 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0438 HTML \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b \u0441\u043e \u0432\u0441\u0435\u043c\u0438 \u043d\u0443\u0436\u043d\u044b\u043c\u0438 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430\u043c\u0438.  \u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u0441\u043a\u0440\u0438\u043f\u0442\u044b: <\/p>\n<pre><code class=\"bash\">&lt;script type=\"text\/javascript\" src=\"flashphoner.js\"&gt;&lt;\/script&gt;  &lt;script type=\"text\/javascript\" src=\"screen-sharing-min.js\"&gt;&lt;\/script&gt; <\/code><\/pre>\n<p>\u041d\u0430 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0443 \u0442\u0435\u043b\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b \u043d\u0430\u0432\u0435\u0448\u0438\u0432\u0430\u0435\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0437\u0430\u043f\u0443\u0441\u043a\u0430 API: <\/p>\n<pre><code class=\"bash\">&lt;body onload=\"init_api()\"&gt;<\/code><\/pre>\n<p>\u0418 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c div-\u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u0434\u043b\u044f \u043f\u0440\u0435\u0432\u044c\u044e \u043f\u043e\u0442\u043e\u043a\u0430 \u0441\u043a\u0440\u0438\u043d\u0448\u0430\u0440\u0438\u043d\u0433\u0430  \u0438 \u043a\u043d\u043e\u043f\u043a\u0443 \u0434\u043b\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430:<\/p>\n<pre><code class=\"bash\">&lt;div id=\"screen-sharing\" style=\"width:320px;height:240px;border: solid 1px\"&gt;&lt;\/div&gt; &lt;input type=\"button\" onclick=\"connect()\" value=\"Share Screen\"\/&gt;<\/code><\/pre>\n<p>\u041a\u043e\u0434\u0430 HTML \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b \u0441\u043e\u0432\u0441\u0435\u043c \u043d\u0435\u043c\u043d\u043e\u0433\u043e:<\/p>\n<pre><code class=\"bash\">&lt;!DOCTYPE html&gt; &lt;html lang=\"en\"&gt; &lt;head&gt;    &lt;script type=\"text\/javascript\" src=\"flashphoner.js\"&gt;&lt;\/script&gt;    &lt;script type=\"text\/javascript\" src=\"screen-sharing-min.js\"&gt;&lt;\/script&gt; &lt;\/head&gt; &lt;body onload=\"init_api()\"&gt;     &lt;div id=\"screen-sharing\" style=\"width:320px;height:240px;border: solid 1px\"&gt;&lt;\/div&gt;     &lt;input type=\"button\" onclick=\"connect()\" value=\"Share Screen\"\/&gt; &lt;\/body&gt; &lt;\/html&gt;<\/code><\/pre>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u043c \u043a \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044e JS \u0441\u043a\u0440\u0438\u043f\u0442\u0430 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441\u043a\u0440\u0438\u043d\u0448\u0430\u0440\u0438\u043d\u0433\u0430.<\/p>\n<p>\u0424\u0443\u043d\u043a\u0446\u0438\u044f &#171;init_api()&#187; \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043f\u0440\u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0435 HTML \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0435\u0442 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 API  <\/p>\n<pre><code class=\"bash\">function init_api() {     Flashphoner.init({}); }<\/code><\/pre>\n<p>\u041f\u0440\u0438 \u043d\u0430\u0436\u0430\u0442\u0438\u0438 \u043d\u0430 \u043a\u043d\u043e\u043f\u043a\u0443 &#171;Share Screen&#187; \u0431\u0443\u0434\u0443\u0442 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c\u0441\u044f \u0434\u0432\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043d\u0430\u0448\u0435\u0433\u043e \u0441\u043a\u0440\u0438\u043f\u0442\u0430  \u2014 \u0444\u0443\u043d\u043a\u0446\u0438\u044f  &#171;connect()&#187;, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0431\u0443\u0434\u0435\u0442 \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0442\u044c \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043a WCS \u043f\u043e WebSocket <\/p>\n<pre><code class=\"bash\">function connect() {     session = Flashphoner.createSession({         urlServer: \"wss:\/\/demo.flashphoner.com\"     }).on(SESSION_STATUS.ESTABLISHED, function(session) {<\/code><\/pre>\n<\/div>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-325599","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/325599","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=325599"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/325599\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=325599"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=325599"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=325599"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}