{"id":6482,"date":"2019-03-28T12:34:00","date_gmt":"2019-03-28T12:34:00","guid":{"rendered":"https:\/\/www.intexsoft.com\/?post_type=blog&#038;p=6482"},"modified":"2022-07-19T12:12:26","modified_gmt":"2022-07-19T12:12:26","slug":"what-is-webrtc-advantages-technical-hurdles-and-a-case-study","status":"publish","type":"blog","link":"https:\/\/intexsoft.com\/blog\/what-is-webrtc-advantages-technical-hurdles-and-a-case-study\/","title":{"rendered":"WebRTC: advantages, technical hurdles, and a case study"},"content":{"rendered":"<section  class=\"hero hero-blog \">\n\t<div class=\"content\">\n\t\t\t\t\t<div class=\"hero__overlay\"><\/div>\n\t\t\t\t<div class=\"hero__container\">\n\t\t\t<a href=\"https:\/\/intexsoft.com\/blog\/\">\n\t\t\t\t<div class=\"hero-blog-btn\">\n\t\t\t\t\t\n\t\t\t\t<\/div>\n\t\t\t<\/a>\n\t\t\t<div class=\"hero-blog-date-author\"> March 28, 2019 \u2022 by \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tAlexandra\n\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<h1 class=\"hero__title \">WebRTC: advantages, technical hurdles, and a case study<\/h1>\n\t\t\t\t\t\t\t\t\t\t<div class=\"hero-blog-categories\">\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"hero-blog-category\" data-id=\"18\" data-parent=\"0\">\n\t\t\t\t\t\t\tTech Staff\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<div class=\"hero-blog-image\">\n\t\t\t\t<picture>\n\t\t\t\t\t\t\t\t\t\t\t<source type=\"image\/webp\" srcset=\"https:\/\/intexsoft.com\/app\/uploads\/uploads-webp\/2021\/07\/360\u0445510-What-is-WebRTC_-advantages-technical-hurdles-and-a-case-study-min.jpg.webp\" media=\"(max-width: 480px)\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<source type=\"image\/webp\" srcset=\"https:\/\/intexsoft.com\/app\/uploads\/uploads-webp\/2021\/07\/768\u0445773-What-is-WebRTC_-advantages-technical-hurdles-and-a-case-study-min.jpg.webp\" media=\"(max-width: 992px)\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<source type=\"image\/webp\" srcset=\"https:\/\/intexsoft.com\/app\/uploads\/uploads-webp\/2021\/07\/1920x437-What-is-WebRTC_-advantages-technical-hurdles-and-a-case-study-min.jpg.webp\">\n\t\t\t\t\t\t\t\t\t\t<source srcset=\"https:\/\/intexsoft.com\/app\/uploads\/2021\/07\/360\u0445510-What-is-WebRTC_-advantages-technical-hurdles-and-a-case-study-min.jpg\" media=\"(max-width: 480px)\">\n\t\t\t\t\t<source srcset=\"https:\/\/intexsoft.com\/app\/uploads\/2021\/07\/768\u0445773-What-is-WebRTC_-advantages-technical-hurdles-and-a-case-study-min.jpg\" media=\"(max-width: 992px)\">\n\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/intexsoft.com\/app\/uploads\/2021\/07\/1920x437-What-is-WebRTC_-advantages-technical-hurdles-and-a-case-study-min.jpg\" loading=\"lazy\" alt=\"image\">\n\t\t\t\t<\/picture>\n\t\t\t<\/div>\n\t\t\t<\/div>\n<\/section>\n\t\t\t\t\t\t\t\n\t\t\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-1 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:70%\"><section id=\"\"\n\t\t\t\t\t class=\"custom-wysiwyg-editor wysiwyg-portfolio \">\n\t\t<div class=\"content\">\n\n\n\n\t\t\t\t\t\t\t\n\t\t\t\t<div class=\"custom-wysiwyg-editor__anchors\">\n\t\t\t\t<\/div>\n\t\t\t\t\t\t<p><span style=\"color: #333333;\">WebRTC is a browser technology designed to transfer streaming data between browsers or applications using point-to-point transmission technology.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #333333;\">This technology is attractive because it allows you to establish the connection between users using only a browser. For many developers, when they learn about WebRTC, this becomes a discovery: you can create a video chat without using a third-party server, you only need a browser \u2013 and this is cool!<\/span><\/p>\n<div><\/div>\n<p><span style=\"color: #333333;\">WebRTC does not require the installation of additional plug-ins. You just need to write the code in JavaScript and the video streams run smoothly in the browser.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #333333;\">You can implement WebRTC not only for video chats; the technology allows for the transfer of files of any format and text messages as well.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<h2>APIs of WebRTC<\/h2>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #333333;\">WebRTC has a fairly large set of functions and tools. We are going to describe the three APIs of this technology.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<h3><span style=\"color: #000000;\">1. getUserMedia<\/span><\/h3>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #333333;\">The API allows you to manage user devices from a browser. You can choose:<\/span><\/p>\n<p>&nbsp;<\/p>\n<ul>\n<li><span style=\"color: #333333;\">a camera with which the video should be broadcast<\/span><\/li>\n<li><span style=\"color: #333333;\">the desired microphone<\/span><\/li>\n<li><span style=\"color: #333333;\">the quality of the broadcast image<\/span><\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #333333;\">Such settings help to optimize the project. For speedier work, a high-quality image could be reduced to 360 pixels. Thanks to this, users do not depend on device settings: they can set their own quality limits.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #333333;\">The noise control algorithm also helps a lot: it effectively eliminates noise and background sounds from an audio stream.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<h3><span style=\"color: #000000;\">2. RTCPeerConnection<\/span><\/h3>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #333333;\">This API wraps around Peer-to-peer (P2P) technology, which is a direct combination of two browsers, that doesn\u2019t use a server. Thus, there is a direct transfer of video streams from one device to another.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #333333;\">There is an important feature inside the RTCPeerConnection \u2013 built-in support for Stun\/Turn servers, which are needed to bypass the NAT provider, due to which video streams may not reach users.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #333333;\">Developers can access Stun\/Turn servers as a single user and receive a clean address to transmit a video stream. You can then connect to Stun\/Turn servers from another user and reconnect. This way, failures and problems with the connection of users because of NAT technology are avoided.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<h3><span style=\"color: #000000;\">3. RTCDataChannel<\/span><\/h3>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #333333;\">Using RTCDataChannel, it is possible to transmit text and files of various formats in parallel with the video stream.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #333333;\">Thanks to this API, you can develop a simple and fast chat for application users. It does not require an installation on the server, it can be rewritten and transfer files of any format up to 4 GB in size (and more, if a browser allows it).<\/span><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<h2>Flash to WebRTC migration<\/h2>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #333333;\">Flash technology is outdated and is gradually going out of use. It is not updated and will soon be removed from the browser. Therefore, it is important to transfer projects developed using Flash to other technologies, including WebRTC.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #333333;\">WebRTC allows you to show videos in convenient players in the form of video files or live streams, and transfer files of any format and text messages. In addition, it is a fresh, optimized technology that has many internal settings and does not require the installation of additional servers or plug-ins.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #333333;\">WebRTC is not a replacement for Flash. WebRTC is a tool with which you can partially implement the functionality of Flash.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<h2>Technical hurdles<\/h2>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #333333;\">WebRTC technology has its difficulties.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #333333;\">WebRTC uses two network protocols \u2013 TCP and UDP.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #333333;\">The peculiarity of the TCP protocol is that it transmits data without loss: the user receives a stable image, the video has neither loss nor damage. But this protocol has limitations on the amount of data transfer. For example, you cannot transfer Full HD video to five people at the same time.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #333333;\">This problem is solved with UDP protocol. With it, users can transmit high-quality images and video without limitation. But this protocol also has a drawback: it permits packet loss. There is a high probability that the transmitted file will be damaged: the image may shake, pixels may be visible, etc.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #333333;\">This drawback can be overcome by connecting to third-party servers. If a large-scale project based on WebRTC is being developed, where the connection will occur between hundreds of users, then you need to use some additional server to reduce the load from the browser.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<h2>Which projects WebRTC suits best?<\/h2>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #333333;\">Initially, WebRTC was conceived and planned to create video conferencing using peer-to-peer technology, without using any additional server. Therefore, the technology is ideal for browser-based video conferencing. We can say this is a full-featured Skype functionality inside a single browser.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<h2>Is WebRTC secure?<\/h2>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #333333;\">WebRTC does not use third-party services where you can implement data protection. Nevertheless, the technology works through proven network protocols that ensure the security of data transfer.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<h2>Analytics for WebRTC<\/h2>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #333333;\">In the Google Chrome browser, there is a separate page where you can monitor the data transfer using WebRTC technology. It reflects all the statistics of the connection: the number of transmitted packets, the quality of sound and video, the browser load used by the Stun\/Turn server.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<h2>Case Study: Online Dance School<\/h2>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #333333;\">The project for which our company used the WebRTC technology was unique in its own way. We needed to develop an online school for groups learning how to dance. 16 users had to participate in the lesson: one teacher and 15 students.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-6492\" src=\"\/app\/uploads\/2021\/07\/webrtc2.jpg\" alt=\"\" width=\"1521\" height=\"885\" srcset=\"https:\/\/intexsoft.com\/app\/uploads\/2021\/07\/webrtc2.jpg 1521w, https:\/\/intexsoft.com\/app\/uploads\/2021\/07\/webrtc2-300x175.jpg 300w, https:\/\/intexsoft.com\/app\/uploads\/2021\/07\/webrtc2-1024x596.jpg 1024w, https:\/\/intexsoft.com\/app\/uploads\/2021\/07\/webrtc2-768x447.jpg 768w\" sizes=\"(max-width: 1521px) 100vw, 1521px\" \/>\n<p>&nbsp;<\/p>\n<p style=\"text-align: center;\"><em>Screenshot from the project. Teacher&#8217;s view (the given image serves an illustrative purpose)<\/em><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #333333;\">The most difficult task on the project was to achieve the perfect synchronization of 15 video streams for students.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #333333;\">The synchronization issue arose from the fact that each user has a different connection speed, location and Internet service provider. Therefore, our experts have deployed a media server Wowza, that collected all the video streams. Then we placed the media server and the application website on Amazon, which reduced the overload for users&#8217; devices. Calculations, processing, synchronization and multiplexing of video streams are performed on the server; the teacher and the students receive the materials ready for playback.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #333333;\">Synchronization was achieved through FFmpeg \u2013 a tool that allows you to manipulate the transfer of audio and video streams with flexibility and convenience.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-6491\" src=\"\/app\/uploads\/2021\/07\/webrtc4.jpg\" alt=\"\" width=\"1600\" height=\"937\" srcset=\"https:\/\/intexsoft.com\/app\/uploads\/2021\/07\/webrtc4.jpg 1600w, https:\/\/intexsoft.com\/app\/uploads\/2021\/07\/webrtc4-300x176.jpg 300w, https:\/\/intexsoft.com\/app\/uploads\/2021\/07\/webrtc4-1024x600.jpg 1024w, https:\/\/intexsoft.com\/app\/uploads\/2021\/07\/webrtc4-768x450.jpg 768w, https:\/\/intexsoft.com\/app\/uploads\/2021\/07\/webrtc4-1536x900.jpg 1536w\" sizes=\"(max-width: 1600px) 100vw, 1600px\" \/>\n<p>&nbsp;<\/p>\n<p style=\"text-align: center;\"><em>Screenshot from the project. Student\u2019s view (the given image serves an illustrative purpose)<\/em><\/p>\n<p>&nbsp;<\/p>\n<h2>WebRTC implementation<\/h2>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #333333;\">We needed to find a solution to the problem of displaying video streams without the use of third-party systems. We decided to use WebRTC technology and it turned out that it was a perfectly suited solution for video streaming via a browser.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #333333;\">As a result, our specialists successfully implemented the project to create an online dance school. Currently, work on the service is ongoing. We are developing a similar mobile application to meet the needs of the client.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #333333;\">The full case study you can learn here:<\/span><br \/>\n<a href=\"https:\/\/intexsoft.com\/portfolio\/online-dance-school\/\">https:\/\/www.intexsoft.com\/portfolio\/online-dance-school\/<\/a><\/p>\n\n\t\t<\/div>\n\t<\/section>\n\n\n\n<section id=\"\" class=\"authors \">\n\t\t<div class=\"content\">\n\t\t\t<div class=\"authors-container\">\n\t\t\t\t\t\t\t\t\t<h3 class=\"authors-title\">Written by<\/h3>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"authors-info\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"author\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"author-photo\">\n\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/intexsoft.com\/app\/uploads\/2021\/07\/825E8D50-CC0F-46FF-BC64-C4ED5F9B3E1A.jpg\" loading=\"lazy\" alt=\"image\">\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"author-info\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<h4 class=\"author-fullname\"> Alexandra<\/h4>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"author-position text-tn\"> Marketing Manager<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t<\/section>\n\n\n<div class=\"post__share-links\">\n\t\t<div class=\"post__share-container\">\n\t\t\t\t\t\t\t<a class=\"post__share-link\" href=\"https:\/\/www.facebook.com\/sharer.php?u=http:\/\/intexsoft.com\/wp-json\/wp\/v2\/blog\/6482&amp;t=WebRTC: advantages, technical hurdles, and a case study\" target=\"_blank\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"post__share-link-img facebook-white\"><\/span>\n\t\t\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t<a class=\"post__share-link\" href=\"http:\/\/www.linkedin.com\/shareArticle?mini=true&amp;url=http:\/\/intexsoft.com\/wp-json\/wp\/v2\/blog\/6482\" target=\"_blank\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"post__share-link-img linkedin-white\"><\/span>\n\t\t\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:30%\"><section class=\"favorite-posts\">\n\t\t\t<h3 class=\"favorite-posts-title\">FAVORITES OF THE MONTH<\/h3>\n\t\n\t\t\t<div class=\"favorite-posts-items\">\n\t\t\t\t\t\t\t\t\t\t\t<a class=\"favorite-posts-item\" href=\"https:\/\/intexsoft.com\/blog\/ai-in-ecommerce-how-technology-is-changing-the-way-we-shop\/\">\n\t\t\t\t\t<div class=\"favorite-posts-item-date-author\">March 6, 2024\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<h4 class=\"favorite-posts-item-title\">AI in Ecommerce: How Technology is Changing the Way We Shop<\/h4>\n\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t<a class=\"favorite-posts-item\" href=\"https:\/\/intexsoft.com\/blog\/top-7-ecommerce-platforms-for-your-business\/\">\n\t\t\t\t\t<div class=\"favorite-posts-item-date-author\">April 3, 2024\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<h4 class=\"favorite-posts-item-title\">Top 7 Ecommerce Platforms For Your Business<\/h4>\n\t\t\t\t<\/a>\n\t\t\t\t\t<\/div>\n\t<\/section>\n\n<section class=\"contact-form-widget\">\n\t\t\t<h3 class=\"contact-form-widget-title\">Don&#039;t miss our updates<\/h3>\n\t\t\n\t\t\t\n<div class=\"wpcf7 no-js\" id=\"wpcf7-f3988-o1\" lang=\"en-US\" dir=\"ltr\">\n<div class=\"screen-reader-response\"><p role=\"status\" aria-live=\"polite\" aria-atomic=\"true\"><\/p> <ul><\/ul><\/div>\n<form action=\"\/wp-json\/wp\/v2\/blog\/6482#wpcf7-f3988-o1\" method=\"post\" class=\"wpcf7-form init mailchimp-ext-0.5.72 wpcf7-acceptance-as-validation\" aria-label=\"Contact form\" novalidate=\"novalidate\" data-status=\"init\">\n<div style=\"display: none;\">\n<input type=\"hidden\" name=\"_wpcf7\" value=\"3988\" \/>\n<input type=\"hidden\" name=\"_wpcf7_version\" value=\"5.9.6\" \/>\n<input type=\"hidden\" name=\"_wpcf7_locale\" value=\"en_US\" \/>\n<input type=\"hidden\" name=\"_wpcf7_unit_tag\" value=\"wpcf7-f3988-o1\" \/>\n<input type=\"hidden\" name=\"_wpcf7_container_post\" value=\"0\" \/>\n<input type=\"hidden\" name=\"_wpcf7_posted_data_hash\" value=\"\" \/>\n<input type=\"hidden\" name=\"_wpcf7_recaptcha_response\" value=\"\" \/>\n<\/div>\n<div class=\"custom-input_block\">\n    <label class=\"custom-placeholder\" for=\"email\"><\/label>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"email\"><input size=\"40\" maxlength=\"80\" class=\"wpcf7-form-control wpcf7-email wpcf7-validates-as-required wpcf7-text wpcf7-validates-as-email contacts__input\" id=\"email\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"Enter your email...\" value=\"\" type=\"email\" name=\"email\" \/><\/span>\n<\/div>\n<div class=\"contacts__form-checkbox\">\n<span class=\"wpcf7-form-control-wrap\" data-name=\"privace-policy\"><span class=\"wpcf7-form-control wpcf7-acceptance\"><span class=\"wpcf7-list-item\"><label><input type=\"checkbox\" name=\"privace-policy\" value=\"1\" class=\"contacts__checkbox form__checkbox_color_grey\" id=\"privacy-cookie-policy\" aria-invalid=\"false\" \/><span class=\"wpcf7-list-item-label\"><label for=\"privacy-cookie-policy\" class=\"contacts__checkbox-subtitle blog\">\n        I agree to <a target=\"_blank\" href=\"\/privacy-policy\/\">Privacy<\/a> and <a target=\"_blank\" href=\"\/cookie-policy\/\">Cookie Policy*<\/a>\n  <\/label><\/span><\/label><\/span><\/span><\/span>\n<\/div>\n<button class=\"btn btn_color_primary\">\n  Send\n  <svg class=\"form-arrow\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n    <circle class=\"form-arrow__circle\" opacity=\"0.1\" cx=\"8\" cy=\"8\" r=\"7.33333\" stroke=\"white\" stroke-width=\"1.33333\"\/>\n    <circle class=\"form-arrow__circle form-arrow__circle-two\" opacity=\"0.1\" cx=\"8\" cy=\"8\" r=\"7.33333\" stroke=\"white\" stroke-width=\"1.33333\"\/>\n    <path class=\"form-arrow__path\" d=\"M7.33301 10.6665L9.99967 7.99984L7.33301 5.33317\" stroke=\"white\" stroke-width=\"1.33333\" stroke-linecap=\"square\"\/>\n    <path class=\"form-arrow__successful\" d=\"M5.33301 8.66357L7.00228 10.3328L11.335 5.99951\" stroke=\"white\" stroke-width=\"1.33333\" stroke-linecap=\"square\"\/>\n  <\/svg>\n<\/button><div class=\"wpcf7-response-output\" aria-hidden=\"true\"><\/div><p style=\"display: none !important\"><span class=\"wpcf7-form-control-wrap referer-page\"><input type=\"hidden\" name=\"referer-page\" value=\"http:\/\/intexsoft.com\/blog\/what-is-webrtc-advantages-technical-hurdles-and-a-case-study\/\" data-value=\"http:\/\/intexsoft.com\/blog\/what-is-webrtc-advantages-technical-hurdles-and-a-case-study\/\" class=\"wpcf7-form-control wpcf7-text referer-page\" aria-invalid=\"false\"><\/span><\/p>\n<!-- Chimpmatic extension by Renzo Johnson -->\n<\/form>\n<\/div>\n\n\t<\/section>\n\n\t\t\t\t<\/div>\n<\/div>\n\n\n<section id=\"\" class=\"related-posts  \">\n\t\t<div class=\"content\">\n\t\t\t\t\t\t\t<h2 class=\"section-title\">Related Posts<\/h2>\n\t\t\t\t\t\t<ul class=\"posts-content\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/intexsoft.com\/blog\/android-runtime-environment-dvm-vs-art\/\" class=\"our-blog__block-item\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"our-blog__block-item-image\">\n\t\t\t\t\t\t\t\t\t\t<picture>\n\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/intexsoft.com\/app\/uploads\/2021\/08\/640x400-Android_-DVM-vs-ART.jpg\" loading=\"lazy\" alt=\"image\" width=\"446\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t height=\"278\">\n\t\t\t\t\t\t\t\t\t\t<\/picture>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"our-blog__block-item-content\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"our-blog__block-item-content-date\">August 3, 2020<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<h3 class=\"our-blog__block-item-content-title\">Android Runtime Environment: DVM vs ART<\/h3>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"our-blog__block-item-content-subtitle\"> <p>In this article, we will talk about the Android runtime environment. Notably, we promise to be brief and explain in short ART and Dalvik (DVM) differences in Android.<\/p> <\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\n\n\n\n\n\n\n\n\n\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/intexsoft.com\/blog\/what-is-a-technology-stack-choosing-the-right-tech-stack-for-the-project\/\" class=\"our-blog__block-item\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"our-blog__block-item-image\">\n\t\t\t\t\t\t\t\t\t\t<picture>\n\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/intexsoft.com\/app\/uploads\/2021\/08\/640x400-What-Is-a-Technology-Stack_-Choosing-the-Right-Tech-Stack-For-Your-Web-Project-min.jpg\" loading=\"lazy\" alt=\"image\" width=\"446\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t height=\"278\">\n\t\t\t\t\t\t\t\t\t\t<\/picture>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"our-blog__block-item-content\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"our-blog__block-item-content-date\">January 16, 2020<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<h3 class=\"our-blog__block-item-content-title\">Choosing the Right Tech Stack For the Project<\/h3>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"our-blog__block-item-content-subtitle\"> <p>When developing any application, it is always important for clients to get a result, and developers are interested in finding the most optimal way to achieve this result. Application efficiency depends on many factors.<\/p> <\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\n\n\n\n\n\n\n\n\n\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/intexsoft.com\/blog\/tools-for-launching-and-developing-products-on-jvm\/\" class=\"our-blog__block-item\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"our-blog__block-item-image\">\n\t\t\t\t\t\t\t\t\t\t<picture>\n\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/intexsoft.com\/app\/uploads\/2021\/08\/640x400-Tools-for-Launching-and-Developing-Products-on-JVM-min.jpg\" loading=\"lazy\" alt=\"image\" width=\"446\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t height=\"278\">\n\t\t\t\t\t\t\t\t\t\t<\/picture>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"our-blog__block-item-content\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"our-blog__block-item-content-date\">October 21, 2019<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<h3 class=\"our-blog__block-item-content-title\">Tools for Launching and Developing Products on JVM<\/h3>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"our-blog__block-item-content-subtitle\"> <p>It\u2019s no secret that Java is one of the most popular programming languages in the world right now. It was officially launched on May 23, 1995.<\/p> <\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\n\n\n\n\n\n\n\n\n\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t<\/ul>\n\t\t<\/div>\n\t<\/section>\n","protected":false},"author":1,"template":"","blog_category":[18],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v22.9 (Yoast SEO v22.9) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>WebRTC: advantages, technical hurdles, and a case study - IntexSoft<\/title>\n<meta name=\"description\" content=\"WebRTC is a technology designed to transfer streaming data between browsers or applications using point-to-point transmission technology.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/intexsoft.com\/blog\/what-is-webrtc-advantages-technical-hurdles-and-a-case-study\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"WebRTC: advantages, technical hurdles, and a case study\" \/>\n<meta property=\"og:description\" content=\"WebRTC is a technology designed to transfer streaming data between browsers or applications using point-to-point transmission technology.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/intexsoft.com\/blog\/what-is-webrtc-advantages-technical-hurdles-and-a-case-study\/\" \/>\n<meta property=\"og:site_name\" content=\"IntexSoft\" \/>\n<meta property=\"article:modified_time\" content=\"2022-07-19T12:12:26+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"WebRTC: advantages, technical hurdles, and a case study - IntexSoft","description":"WebRTC is a technology designed to transfer streaming data between browsers or applications using point-to-point transmission technology.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/intexsoft.com\/blog\/what-is-webrtc-advantages-technical-hurdles-and-a-case-study\/","og_locale":"en_US","og_type":"article","og_title":"WebRTC: advantages, technical hurdles, and a case study","og_description":"WebRTC is a technology designed to transfer streaming data between browsers or applications using point-to-point transmission technology.","og_url":"https:\/\/intexsoft.com\/blog\/what-is-webrtc-advantages-technical-hurdles-and-a-case-study\/","og_site_name":"IntexSoft","article_modified_time":"2022-07-19T12:12:26+00:00","twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/intexsoft.com\/blog\/what-is-webrtc-advantages-technical-hurdles-and-a-case-study\/","url":"https:\/\/intexsoft.com\/blog\/what-is-webrtc-advantages-technical-hurdles-and-a-case-study\/","name":"WebRTC: advantages, technical hurdles, and a case study - IntexSoft","isPartOf":{"@id":"https:\/\/intexsoft.com\/#website"},"datePublished":"2019-03-28T12:34:00+00:00","dateModified":"2022-07-19T12:12:26+00:00","description":"WebRTC is a technology designed to transfer streaming data between browsers or applications using point-to-point transmission technology.","breadcrumb":{"@id":"https:\/\/intexsoft.com\/blog\/what-is-webrtc-advantages-technical-hurdles-and-a-case-study\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/intexsoft.com\/blog\/what-is-webrtc-advantages-technical-hurdles-and-a-case-study\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/intexsoft.com\/blog\/what-is-webrtc-advantages-technical-hurdles-and-a-case-study\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/intexsoft.com\/"},{"@type":"ListItem","position":2,"name":"WebRTC: advantages, technical hurdles, and a case study"}]},{"@type":"WebSite","@id":"https:\/\/intexsoft.com\/#website","url":"https:\/\/intexsoft.com\/","name":"IntexSoft","description":"...","publisher":{"@id":"https:\/\/intexsoft.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/intexsoft.com\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/intexsoft.com\/#organization","name":"IntexSoft","url":"https:\/\/intexsoft.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/intexsoft.com\/#\/schema\/logo\/image\/","url":"https:\/\/intexsoft.com\/app\/uploads\/2021\/05\/Logo.png","contentUrl":"https:\/\/intexsoft.com\/app\/uploads\/2021\/05\/Logo.png","width":156,"height":33,"caption":"IntexSoft"},"image":{"@id":"https:\/\/intexsoft.com\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/intexsoft.com\/wp-json\/wp\/v2\/blog\/6482"}],"collection":[{"href":"https:\/\/intexsoft.com\/wp-json\/wp\/v2\/blog"}],"about":[{"href":"https:\/\/intexsoft.com\/wp-json\/wp\/v2\/types\/blog"}],"author":[{"embeddable":true,"href":"https:\/\/intexsoft.com\/wp-json\/wp\/v2\/users\/1"}],"wp:attachment":[{"href":"https:\/\/intexsoft.com\/wp-json\/wp\/v2\/media?parent=6482"}],"wp:term":[{"taxonomy":"blog_category","embeddable":true,"href":"https:\/\/intexsoft.com\/wp-json\/wp\/v2\/blog_category?post=6482"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}