WebRTC is one of the main trends on the multimedia arena in the last few years. The ability of bringing real-time audio and video to WWW browsers opens new horizons for developers to create context aware customized applications for inter-human communications. However, for WebRTC technologies to work seamlessly in WWW applications, it’s necessary to manage with a number of present and future complex challenges.
In this talk, we present the experience of the Kurento Media Server team in creating a WebRTC endpoint for GStreamer. We describe the main problems and limitations basing on current GStreamer status describing which parts of WebRTC standards can be currently implemented with GStreamer and which parts require further evolutions and efforts from the community. We will also describe the plans and drafts that are emerging at different standardization groups, including the WebRTC WG at W3C and the RTCWeb WG at IETF. Basing on this, we will try to forecast how WebRTC technologies in particular, but also how real-time multimedia communications in general, may be evolving in the next couple of years and the activities that the GStreamer community should be considering for adapting to these evolutions.
In particular, we shall introduce in detail topics such as the following:
• The evolution of ICE (Interactive Connectivity Establishment).
• Congestion control for RTC streams.
• Implementing WebRTC security securely
• Implementing and optimizing the AVPF profile for RTP
• Benchmarking WebRTC: stats metrics
• Managing sensor data through DataChannels.
Many network operators still struggle with which type of data-plane encoding they should use for segment routing. The world is hyper-connected and we can’t afford to be late to deliver 5G. Using IPv4, IPv6 and MPLS data-plane encoding keeps us moving forward.
Kurento: a media server architecture and API for WebRTCLuis Lopez
Introducing Kurento for WebRTC Expo 2013 (Paris). Kurento is an Open Source multimedia framework, which provides a Java EE compatible API suitable for adding real-time communication capabilities to any WWW application in a simple and seamless way.
Many network operators still struggle with which type of data-plane encoding they should use for segment routing. The world is hyper-connected and we can’t afford to be late to deliver 5G. Using IPv4, IPv6 and MPLS data-plane encoding keeps us moving forward.
Kurento: a media server architecture and API for WebRTCLuis Lopez
Introducing Kurento for WebRTC Expo 2013 (Paris). Kurento is an Open Source multimedia framework, which provides a Java EE compatible API suitable for adding real-time communication capabilities to any WWW application in a simple and seamless way.
Intro to Single / Two Rate Three Color Marker (srTCM / trTCM)Kentaro Ebisawa
The objective of this document is to provider entry point for people to understand srTCM and trTCM (single / two rate Tree Color Marker).
This document will explain algorithm described in below RFCs, and compare two different algorithm used for trTCM.
RFC 2697 - A Single Rate Three Color Marker
RFC 2698 - A Two Rate Three Color Marker
RFC 4115 - A Differentiated Service Two-Rate, Three-Color Marker with Efficient Handling of in-Profile Traffic
Collaborating with Direct Spend Suppliers in the Life Sciences Industry - 56556SAP Ariba Live 2018
Join this session to learn how a medical devices OEM collaborates with suppliers and contract manufacturing partners on key supply chain processes, including planning and product quality. Learn how to improve productivity and visibility. Hear about the collaboration and onboarding journey, wins, and lessons learned.
Faults always occur in Complex Distributed systems. Important thing is to not allow these faults turn into failures and cause downtimes.
We will discuss some patterns which will help us build resilient distributed systems at Scale
IoT is a new technology that was born a few years ago that based on the internet network which connects all IoT network terminals together to transfer data over the network between terminals (devices) abd take an action according to these data.
5G is a set of emerging global telecommunications standards, generally using high-frequency spectrum, to offer network connectivity with reduced latency and greater speed and capacity relative to its predecessors, most recently 4G LTE (Long-Term Evolution).
Importantly, 5G describes a collection of standards and technologies used to build tomorrow’s cutting-edge network infrastructure. In fact, many of the standards that will be officially considered 5G are still being decided on by working groups like the 3GPP, a collaborative body made up of various telecommunications associations.
APNIC Training Delivery Manager for SEA and SA, Shane Hermoso, presents on the importance of peering and IXPs at the Women in Networking series on 17 November 2021
Mixed-critical adaptive AUTOSAR stack based on VxWorks, Linux, and virtualiza...Andrei Kholodnyi
Since the first release of its standard in 2003, AUTOSAR has established itself as one of the primary software development standards for the global automotive industry. As the automotive industry is a now undergoing one of the significant changes in its history toward autonomous driving, connectivity and electrification new standards are needed to handle the complexity regarding software architecture for controlling the high-end processors, Ethernet communication, and over-the-air updates in the cloud-connected automobiles. The recent advent of the Adaptive AUTOSAR standard can help accommodate the extensive and complex requirements of autonomous driving by enabling a flexible, dynamic, and service based platform while still maintaining the integrity of high degree of functional safety standards and also properly engaging with established platforms. The standard itself replies on some technologies which are already established in the industry such as virtualization, POSIX PSE51, C++11/14 for application development, ISO26262/ASIL compliance, etc.
This presentation provides example of an implementation of mixed critical Adaptive AUTOSAR stack based on VxWorks RTOS, embedded Linux, and virtualization profile from Wind River. As one of the very few solutions available on the market which is already fulfilling the requirements described above, VxWorks is a strong example of a foundational software platform for Adaptive AUTOSAR-based autonomous driving development. We will also explain what challenges we have encounter with during this process and make some suggestions to the AUTOSAR consortium of how to overcome them in the future.
In this webinar, we discuss a feature from mikrotik routerOS that is called fasttrack. This feature will improve routerboard performancce for particular connection. unlike fastpath, using fasttrack requires trigger from firewall filter/mangle.
Correct understanding of connection and connection-tracking is very crucial when configuring the trigger.
The recording is available on youtube (GLC Networks Channel): https://www.youtube.com/channel/UCI611_IIkQC0rsLWIFIx_yg
Open vSwitch Offload: Conntrack and the Upstream KernelNetronome
Offloading all or part of the Open vSwitch datapath to SmartNICs has been shown to not only release CPU resources on the server, but improve traffic processing performance. Recently steps have been made to support such offloading in the upstream Linux kernel. This has focused on creating an OVS datapath using the TC flower filter and utilizing the offload hooks already present here. This presentation focuses on how Connection Tracking (Conntrack) may fit into this model. It describes current work being undertaken with the Netfilter community to allow offloading of Conntrack entries. It continues to link this work with the offloading of Conntrack rules within OVS-TC.
Improving GStreamer performance on large pipelines: from profiling to optimiz...Luis Lopez
When using GStreamer for creating media middleware and media infrastructures performance becomes critical for achieving the appropriate scalability without degrading end-user QoE. However, GStreamer does not provide off-the-shelf tools for that objective.
In this talk, we present efforts carried out for improving the performance of the Kurento Media Server during the last year. We present our main principle: “you cannot improve what you cannot measure”. Developing on it, we introduce different techniques for benchmarking large GStreamer pipelines including callgrind, time profiling, gst-meta profiling, chain-profiling, etc. We present results for different pipeline configurations and topologies. After that, we introduce some evolutions for GStreamer which could be helpful for optimizing performance such as the pervasive use of buffer-lists, the introduction of thread-pools or the appropriate management of queues.
To conclude, we present some preliminary work carried out in the GStreamer community for implementing such optimization and we discuss their advantages and drawbacks.
Developing rich multimedia applications with Kurento: a tutorial for Java Dev...Luis Lopez
This presentation contains a tutorial devoted to showing how Java developers can create rich multimedia applications with Kurento. Java developers will find natural Kurento development model, which is based on standard Java EE technologies and is inspired on the WWW Servlet model.
If you have ever developed a Web application, you may be familiar with this scheme. At the browser, HTML and JavaScript code is in charge of user interaction and generates HTTP requests to the server. This code is usually programmed with the help of APIs such as jQuery, DOM, XHR or others. Upon reception, HTTP requests are processed by some kind of server side technology (e. g.. PHP, Java, Ruby, etc.) using service APIs providing features such as DB access, communications, transactions, XML parsing, and others. As a result, an HTTP response is issued and sent back to the client. Following this scheme, both server and client side APIs are just capabilities simplifying developer work and providing abstractions for programming faster and more efficiently.
Kurento technologies adapt to the Web development model so that, from a programmer perspective, Kurento can be seen just as an additional set of APIs. Developers does not need to learn novel programming schemes and can reuse all their knowledge and previous background on WWW application development. When you need multimedia, just use Kurento APIs. For the rest, use your preferred APIs or reuse previous code. Kurento APIs have been designed for simplicity and Web developers will find them familiar and intuitive. Most of the low level details related to codecs, formats, protocols, profiles and containers are abstracted by the framework. Programmers just concentrate on specifying the sequence of processing steps that they want to execute on the media flows.
Intro to Single / Two Rate Three Color Marker (srTCM / trTCM)Kentaro Ebisawa
The objective of this document is to provider entry point for people to understand srTCM and trTCM (single / two rate Tree Color Marker).
This document will explain algorithm described in below RFCs, and compare two different algorithm used for trTCM.
RFC 2697 - A Single Rate Three Color Marker
RFC 2698 - A Two Rate Three Color Marker
RFC 4115 - A Differentiated Service Two-Rate, Three-Color Marker with Efficient Handling of in-Profile Traffic
Collaborating with Direct Spend Suppliers in the Life Sciences Industry - 56556SAP Ariba Live 2018
Join this session to learn how a medical devices OEM collaborates with suppliers and contract manufacturing partners on key supply chain processes, including planning and product quality. Learn how to improve productivity and visibility. Hear about the collaboration and onboarding journey, wins, and lessons learned.
Faults always occur in Complex Distributed systems. Important thing is to not allow these faults turn into failures and cause downtimes.
We will discuss some patterns which will help us build resilient distributed systems at Scale
IoT is a new technology that was born a few years ago that based on the internet network which connects all IoT network terminals together to transfer data over the network between terminals (devices) abd take an action according to these data.
5G is a set of emerging global telecommunications standards, generally using high-frequency spectrum, to offer network connectivity with reduced latency and greater speed and capacity relative to its predecessors, most recently 4G LTE (Long-Term Evolution).
Importantly, 5G describes a collection of standards and technologies used to build tomorrow’s cutting-edge network infrastructure. In fact, many of the standards that will be officially considered 5G are still being decided on by working groups like the 3GPP, a collaborative body made up of various telecommunications associations.
APNIC Training Delivery Manager for SEA and SA, Shane Hermoso, presents on the importance of peering and IXPs at the Women in Networking series on 17 November 2021
Mixed-critical adaptive AUTOSAR stack based on VxWorks, Linux, and virtualiza...Andrei Kholodnyi
Since the first release of its standard in 2003, AUTOSAR has established itself as one of the primary software development standards for the global automotive industry. As the automotive industry is a now undergoing one of the significant changes in its history toward autonomous driving, connectivity and electrification new standards are needed to handle the complexity regarding software architecture for controlling the high-end processors, Ethernet communication, and over-the-air updates in the cloud-connected automobiles. The recent advent of the Adaptive AUTOSAR standard can help accommodate the extensive and complex requirements of autonomous driving by enabling a flexible, dynamic, and service based platform while still maintaining the integrity of high degree of functional safety standards and also properly engaging with established platforms. The standard itself replies on some technologies which are already established in the industry such as virtualization, POSIX PSE51, C++11/14 for application development, ISO26262/ASIL compliance, etc.
This presentation provides example of an implementation of mixed critical Adaptive AUTOSAR stack based on VxWorks RTOS, embedded Linux, and virtualization profile from Wind River. As one of the very few solutions available on the market which is already fulfilling the requirements described above, VxWorks is a strong example of a foundational software platform for Adaptive AUTOSAR-based autonomous driving development. We will also explain what challenges we have encounter with during this process and make some suggestions to the AUTOSAR consortium of how to overcome them in the future.
In this webinar, we discuss a feature from mikrotik routerOS that is called fasttrack. This feature will improve routerboard performancce for particular connection. unlike fastpath, using fasttrack requires trigger from firewall filter/mangle.
Correct understanding of connection and connection-tracking is very crucial when configuring the trigger.
The recording is available on youtube (GLC Networks Channel): https://www.youtube.com/channel/UCI611_IIkQC0rsLWIFIx_yg
Open vSwitch Offload: Conntrack and the Upstream KernelNetronome
Offloading all or part of the Open vSwitch datapath to SmartNICs has been shown to not only release CPU resources on the server, but improve traffic processing performance. Recently steps have been made to support such offloading in the upstream Linux kernel. This has focused on creating an OVS datapath using the TC flower filter and utilizing the offload hooks already present here. This presentation focuses on how Connection Tracking (Conntrack) may fit into this model. It describes current work being undertaken with the Netfilter community to allow offloading of Conntrack entries. It continues to link this work with the offloading of Conntrack rules within OVS-TC.
Improving GStreamer performance on large pipelines: from profiling to optimiz...Luis Lopez
When using GStreamer for creating media middleware and media infrastructures performance becomes critical for achieving the appropriate scalability without degrading end-user QoE. However, GStreamer does not provide off-the-shelf tools for that objective.
In this talk, we present efforts carried out for improving the performance of the Kurento Media Server during the last year. We present our main principle: “you cannot improve what you cannot measure”. Developing on it, we introduce different techniques for benchmarking large GStreamer pipelines including callgrind, time profiling, gst-meta profiling, chain-profiling, etc. We present results for different pipeline configurations and topologies. After that, we introduce some evolutions for GStreamer which could be helpful for optimizing performance such as the pervasive use of buffer-lists, the introduction of thread-pools or the appropriate management of queues.
To conclude, we present some preliminary work carried out in the GStreamer community for implementing such optimization and we discuss their advantages and drawbacks.
Developing rich multimedia applications with Kurento: a tutorial for Java Dev...Luis Lopez
This presentation contains a tutorial devoted to showing how Java developers can create rich multimedia applications with Kurento. Java developers will find natural Kurento development model, which is based on standard Java EE technologies and is inspired on the WWW Servlet model.
If you have ever developed a Web application, you may be familiar with this scheme. At the browser, HTML and JavaScript code is in charge of user interaction and generates HTTP requests to the server. This code is usually programmed with the help of APIs such as jQuery, DOM, XHR or others. Upon reception, HTTP requests are processed by some kind of server side technology (e. g.. PHP, Java, Ruby, etc.) using service APIs providing features such as DB access, communications, transactions, XML parsing, and others. As a result, an HTTP response is issued and sent back to the client. Following this scheme, both server and client side APIs are just capabilities simplifying developer work and providing abstractions for programming faster and more efficiently.
Kurento technologies adapt to the Web development model so that, from a programmer perspective, Kurento can be seen just as an additional set of APIs. Developers does not need to learn novel programming schemes and can reuse all their knowledge and previous background on WWW application development. When you need multimedia, just use Kurento APIs. For the rest, use your preferred APIs or reuse previous code. Kurento APIs have been designed for simplicity and Web developers will find them familiar and intuitive. Most of the low level details related to codecs, formats, protocols, profiles and containers are abstracted by the framework. Programmers just concentrate on specifying the sequence of processing steps that they want to execute on the media flows.
NUBOMEDIA: an elastic Platform as a Service (PaaS) cloud for interactive soci...Luis Lopez
NUBOMEDIA is the first cloud platform specifically designed for hosting interactive multimedia services. Its architecture is based on media pipelines: chains of elements providing media capabilities such as encryption, transcoding, augmented reality or video content analysis. These chains allow building arbitrarily complex media processing for applications. As a unique feature, from the point of view of the pipelines, the NUBOMEDIA cloud infrastructure behaves as a single virtual super-computer encompassing all the available resources of the underlying physical network. Thanks to this, NUBOMEDIA applications can elastically scale and adapt to the required load preserving Quality of Service (QoS) and Service Level Agreement (SLA) guarantees.
NUBOMEDIA mission is to democratize interactive multimedia communication services by making their creation, deployment and mass-scale exploitation a cheap, rapid and effortless process. To achieve this, we use a strategy composed of two axes. First, NUBOMEDIA exposes its capabilities through a simple to use and intuitive API that can be used by non-expert developers on most popular client platforms such as smartphones and WWW browsers. Second, the NUBOMEDIA infrastructure is released using a flexible and attractive Free Open Source Software license guaranteeing openness and neutrality.
Developing rich multimedia applications with FI-WARE.Luis Lopez
FI-WARE will deliver a novel service infrastructure, building upon elements called Generic Enablers (GEs), which offer reusable and commonly shared functions making it easier to develop Future Internet Applications in multiple sectors. This presentation provides an overview of Kurento: the FI-WARE Generic Enabler that will ease development of advanced multimedia stream processing applications.
FOSDEM 2016 - Creating rich WebRTC Applications with KurentoLuis Lopez
WebRTC is a disruptive media technology bringing real-time multimedia communications to HTML5 standards. WebRTC is currently available for billions of users as a built-in feature of common browsers such as Chrome and Firefox. This makes possible the emergence of a truly open and interoperable technology competing with proprietary conferencing solutions and enabling developers to create specific-purpose WWW peer-to-peer real-time media applications in a simple and seamless manner.
However, WebRTC developers commonly require more than plain peer-to-peer video conferencing. For this, we introduce Kurento (http://www.kurento.org), a Free Open Source Software (FOSS) initiative build on top of GStreamer providing developers a set of high level abstract APIs making possible the creation of HTML5 multimedia-enabled web application. Kurento pushes GStreamer to the limit building a media server with interesting features such as media recording, media mixing for group communications, media adaption and transcoding, media augmentation, integration with computer vision capabilities, etc.
In the talk we will introduce what’s Kurento and how WWW developers can take advantage of it showing the following aspects of the framework:
- First, introducing Kurento Java and JavaScript APIs and we explain how they interact with the signaling plane in an application server. This allows WebRTC application developers to create their application logic using popular technologies such as Java EE or Node.js.
- Second, by presenting a unique media plane written on top of GStreamer. GStreamer is based on the concept of media pipelines, which can be seen as chains of media elements performing operations to a media flow in real-time. Currently there are more than 1000 media elements written for GStreamer implementing many different capabilities such as codecs (e.g. H.264, H.263, VP8, etc.), recorders and players (for storing/recovering media from files), blenders (for augmenting media), filters (i.e. face blurring, face recognition, etc.) and others. Hence, Kurento enables to inject WebRTC streams into a chain of such elements and perform, in real time, the operations the developer wishes.
- Third, introducing and abstraction of all the complexities of signaling, media control and media management through a powerful server-side API that can be used by average developers who do not require particular expertise about multimedia protocols or formats.
In this presentation we introduce Nubomedia (http://www.nubomedia.eu), the first open source PaaS platform capable of acting as an “infinite media server”. Most state-of-the-art media servers just provide three types of capabilities: transcoding, group communications and recording. Nubomedia is a research effort funded by the European Commission which, in addition to these, provides flexible media processing features including computer vision, augmented reality, media blending, media filtering and much more. In a world where plain communications are becoming a commodity, business models based on “just calls” are not really profitable. For this reason, these advanced media processing mechanisms open new opportunities given that they might provide differentiation and added value to applications in many specific verticals including e-Health, e-Learning, security, entertainment, games, advertising or CRMs just to cite a few.
WebRTC services have already permeated in corporate communications in the form of videoconferencing solutions. However, WebRTC has the potential of going beyond and catalyze a new class of services providing more than calls with capabilities such as mass-scale real-time media broadcasting, enriched and augmented video, person-to-machine and machine-to-machine communications. In this talk we introduce the technologies required for implementing these ideas and some early experiments performed in the Kurento open source software community in areas such as entertainment, video surveillance, interactive media broadcasting, gaming or advertising. To conclude, we discuss their potential business applications beyond plain call models.
This presentation was used in the context of a FI-WARE webminar for introducing Kurento. Kurento is a framework for building multimedia and streaming applications based on predefined blocks. Send and receive median through RTP, WebRTC, HTTP and RTSP. Use processing for making face detection, plate recognition or object tracking. Use augmented reality, group communications or media mixing and blending among others. During the webminar, we used Kurento APIs for showing how to create media applications for videoconferencing or video streaming in a simple and seamless manner. We also demonstrated how these applications can be enriched with Kurento's advanced processing capabilities.
Developing rich multimedia applications with Kurento: a tutorial for JavaScri...Luis Lopez
This presentation was carried out at DevCon5'14 (New York) for introducing the Kurento new JavaScript developer APIs. These APIs make possible to create rich video applications supporting WebRTC and HTTP pseudo-streaming (video tag) and leveraging Kurento Media Server capabilities, which include computer vision, augmented reality, group communications and recording.
The future of multimedia communications and services: Kurento and it's roleLuis Lopez
This is a presentation specifically created for the GSMA interest group on WebRTC. This presentations introduces Kurento from the perspective of operators. Kurento is a multimedia development framework. It has been created to ease the life of multimedia application developers. Using multimedia capabilities such as embedding a video onto your app or establishing a video conferencing link between two clients may be tricky, but there is no rocket science there. However, for applications requiring more advanced features things quickly get unmanageable. If you have been involved in multimedia projects, you probably know that features such as interoperable group communications, different communication roles (e. g.. publishers/viewers), video transforming and transcoding, video storage and tagging, integration into legacy video/voice infrastructures, computer vision, augmented reality, integration with external systems and databases and many others, pose quite a complex challenge, which usually requires huge expertise and effort. Specially when real-time communications are involved. If this is your case, Kurento will help you.
WebRTC infrastructures in the large (with experiences on real cloud deployments)Luis Lopez
WebRTC technologies are currently showing their potential for providing peer-to-peer real-time communications in a seamless and scalable way. However, most relevant use cases demanded by users require further features such as group communications, media recording and media interoperability. Providing them requires the presence of WebRTC media infrastructures that are sometimes complex to manage and to scale.
In this talk, we present the experiences of the Kurento.org team creating auto-scalable WebRTC infrastructures in the large. Following results generated by the NUBOMEDIA and FIWARE research projects, we introduce stateless and stateful scalability models, which provide different scalability definitions and properties. Stateless models are suitable services requiring large number of WebRTC sessions with few participants each. Such models are commonly deployed today and they are compatible with current state-of-the-art on RTP topologies (e.g. following SFU or MCU architectures). On the other hand, stateful models are capable of scaling to very large sessions (with thousands or hundred of thousands of participants) but require new types of RTP topologies beyond plain SFU and MCU models.
During the talk, we also show how to deploy such stateful and stateless infrastructures on top of IaaS clouds such as Amazon or OpenStack so that their scalability can be automatically managed. We also present the different KPIs that auto-scaling algorithms may use as well as our experiences on the accuracy and appropriateness of them. To conclude, we introduce some real-word problems on such deployments related to infrastructure monitoring and instrumentation, fault-tolerance and fault resilience mechanism and security issues.
Recording and media manipulation of WebRTC streamsLuis Lopez
This presentation introduces Kurento technologies to developers at the WebRTC Conference & Expo 2014 in San Jose. It focuses on Kurento Client APIs and on its capabilities for recording and manipulating the audio and video streams in WebRTC sessions.
elasticRTC -- how to have your own WebRTC cloud scaling to be billions in min...Luis Lopez
Creating WebRTC applications is simple, but making them scalable in a robust and efficient way isn’t. Due to this, many application developers do not dare to use their own infrastructures and instead prefer to leverage third party clouds for creating their scalable WebRTC services. These clouds are private and usually expose some kind of API that developers consume for accessing WebRTC communication capabilities such as group-communications, media recording or media transcoding. This model is very convenient for creating simple vertical applications, but it also has some drawbacks. First, these clouds billing models are based on pay-per-minute schemes that are not always compatible with the business models desired by application developers. Second, the exposed APIs tend to be restrictive and limit the freedom of developers for innovating. Third, these clouds, being fully private, cannot be extended or customized for specific needs developers may have.
In this talk, we propose an alternative solution to private WebRTC PaaS models based on leveraging novel cloud orchestration technologies such as Cloud Formation or Heat Templates for enabling developers to create their very own platform on top of public clouds. We analyze the technological ingredients required for enabling such models and present some experiments and production deployments showing how any developer may bring her own IaaS cloud for growing on it a full featured WebRTC platform with elastic scalability and full control on the billing and on the underlying technology evolution.
Mid-level review of server infrastructure that is required and often used with WebRTC, including signaling servers, NAT traversal servers (STUN and TURN), media servers, and WebRTC Gateways.
Presented at the WebRTC Japan Conference in Tokyo.
Ericsson Research recently released its web browser Bowser and the underlying framework OpenWebRTC as free and open source. OpenWebRTC is a cross-platform WebRTC client framework that can be used to build both native WebRTC apps and browser back-ends. Bowser is built on top of OpenWebRTC. When first released in October of 2012, Bowser was the world's first WebRTC-enabled browser for mobile devices. It is still the only WebRTC enabled browser on iOS. OpenWebRTC is the world’s second independent Open Source WebRTC implementation
WebRTC for Mobile - Challenges and SolutionsAmir Zmora
Running WebRTC on Mobile devices is still a challenge. There is no "one size fits all" solution. This presentation was presented by Amir Zmora at the WebRTC 2014 conference in Paris
WebRTC Webinar & Q&A - W3C WebRTC JS API Test Platform & Updates from W3C Lis...Amir Zmora
On September 19-23 there was the W3C TPAC meeting in Lisbon. Dan will cover some of the highlights of the recent Lisbon WebRTC meeting, including what items are the sticking points, where work is focusing, progress estimates, and thoughts on what might go into the next version of WebRTC after 1.0 is finished.
Alex will cover the W3C testing platform: "Test The Web Forward". W3C, unlike IETF, is developing and maintaining a complete test suite for all its JS APIs. No specification is actually accepted by W3C and final without the corresponding test suite. Topics that will be addressed include what this testing platform implements, its status with respect to WebRTC and now it is used by different browser vendors as an indication of their compliance with the standards.
As always, we encourage you to submit your general WebRTC related questions beforehand in the Questions & Topics section to make sure we answer them during the session.
Event sponsored by WebRTC.Ventures & Blacc Spot Media
Media processing with serverless architectureKensaku Komatsu
Practical study of how to make AI/ML media processing leveraging WebRTC technology. In this slide, I explained how to bind WebRTC GW and media processing with serverless container architecture. I also explained Pros & Cons of this architecture for applying media.
This slide was for RTC conference Korea 2018 https://rtckorea.com/ .
RTBkit Meetup - Developer Spotlight, Behind the Scenes of RTBkit and Intro to...Datacratic
Join us for a Virtual RTBkit Meetup to kick off 2015 with knowledge, best practices and tips from the RTBkit developer community.
Agenda:
- RTBkit Developer Speaker Spotlight with Nicolas Emiliani - RTB Technical Lead, Motrixi
- RTBkit Behind the Scenes Update
- Intro to the RTBkit Stack
- Open Q&A
Join us for this virtual meetup from the comfort of your home or office. Virtual seats are limited so register early to claim your spot.
WebRTC is a free, open project that provides browsers and mobile applications with Real-Time Communications (RTC) capabilities via simple APIs. It was released by Google in 2011 and it is becoming more famous day by day.
describing and comparing different protocols when it come to deploying apis on edge computing devices.
5 different categories are analyzed and 7 protocols are examined
Upperside Webinar- WebRTC from the service provider prism-finalAmir Zmora
A Webinar I did with Victor Pascual Avila (Quobis) and Sebastian Schumann (Slovak Telekom) for Upperside Conferences. Webinar talks about the different approaches service providers can take with WebRTC, what developers need and some actual examples of things Slovak Telekom has done.
Recording of this Webinar can be found here: https://attendee.gotowebinar.com/register/5051075414841550849
WebRTC Standards & Implementation Q&A - The Internals of WebRTC Browsers Impl...Amir Zmora
A lot has been written about the lack of interoperability between browsers when it comes to WebRTC. Why is it so complicated? What's keeping Google from moving the standard way from SDP Plan B to Unified Plan?
All about the C++ internals of WebRTC in browsers by guest speaker Alex Gouaillard.
Xpdays: Kubernetes CI-CD Frameworks Case StudyDenys Vasyliev
A set of flexible and comprehensive operation principles to cover all stages of a modern application life cycle.
Almost any Customer wants the Setup to be compatible with existing infrastructure. It assumes a Bare Metal, Private or Public Cloud. In special cases even offline setup, for example, Airports, Fintech sector or Telecom operators. The main requirements are: Scalability, High Availability, Security Compliance, Professional Service.
So, we should cover all three tiers: Infrastructure, Control Plane and Application Plane. Market leaders are Drone, Argo and Knative. And our story we called Cloud Flex Framework.
With the publication of the WebRTC specification as a Candidate Recommendation, the work has hit a new milestone. In this session Dan will talk about what this means for WebRTC1.0, including feature stability and testing, and also what is being considered as work for beyond version 1.0.
WebRTC webinar talking about the status of Simulcast in the standards and browser implementations. We also explain what simulcast is, the use cases and what simulcast isn't. Webinar is part of the monthly WebRTC live Q&A sessions by Alex Gouailard, Dan Burnett and Amir Zmora
Hybrid and Multi-Cloud Strategies for Kubernetes with GitOpsSonja Schweigert
One of the biggest advantages Kubernetes has to offer is that it is agnostic to infrastructure and capable of managing diverse workloads running on different compute resources. This allows organizations to manage multiple developer platforms, who can operate across many environments such as on premise, hybrid and multiple clouds.
Streamlined processes and automation is pivotal for operations when managing clusters at scale and maintaining security and policy checks. Paul Curtis, Principal Solutions Architect will demonstrate GitOps and Weave Kubernetes Platform in a hybrid and multi-cloud setup.
Learn how to:
Use model-driven automation to increases reliability and stability across environments
Simplify multi-cluster management with GitOps
Enable developers to push code to production daily (self-service)
Improve utilization and capacity management through Kubernetes platforms on cloud and on-premise infrastructure
Hybrid and Multi-Cloud Strategies for Kubernetes with GitOpsWeaveworks
One of the biggest advantages Kubernetes has to offer is that it is agnostic to infrastructure and capable of managing diverse workloads running on different compute resources. This allows organizations to manage multiple developer platforms, who can operate across many environments such as on premise, hybrid and multiple clouds.
Streamlined processes and automation is pivotal for operations when managing clusters at scale and maintaining security and policy checks. Paul Curtis, Principal Solutions Architect will demonstrate GitOps and Weave Kubernetes Platform in a hybrid and multi-cloud setup.
Learn how to:
Use model-driven automation to increases reliability and stability across environments
Simplify multi-cluster management with GitOps
Enable developers to push code to production daily (self-service)
Improve utilization and capacity management through Kubernetes platforms on cloud and on-premise infrastructure
Similar to Implementing a WebRTC endpoint in GStreamer: challenges, problems and perspectives (20)
APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024APNIC
Ellisha Heppner, Grant Management Lead, presented an update on APNIC Foundation to the PNG DNS Forum held from 6 to 10 May, 2024 in Port Moresby, Papua New Guinea.
This 7-second Brain Wave Ritual Attracts Money To You.!nirahealhty
Discover the power of a simple 7-second brain wave ritual that can attract wealth and abundance into your life. By tapping into specific brain frequencies, this technique helps you manifest financial success effortlessly. Ready to transform your financial future? Try this powerful ritual and start attracting money today!
1.Wireless Communication System_Wireless communication is a broad term that i...JeyaPerumal1
Wireless communication involves the transmission of information over a distance without the help of wires, cables or any other forms of electrical conductors.
Wireless communication is a broad term that incorporates all procedures and forms of connecting and communicating between two or more devices using a wireless signal through wireless communication technologies and devices.
Features of Wireless Communication
The evolution of wireless technology has brought many advancements with its effective features.
The transmitted distance can be anywhere between a few meters (for example, a television's remote control) and thousands of kilometers (for example, radio communication).
Wireless communication can be used for cellular telephony, wireless access to the internet, wireless home networking, and so on.
Bridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptxBrad Spiegel Macon GA
Brad Spiegel Macon GA’s journey exemplifies the profound impact that one individual can have on their community. Through his unwavering dedication to digital inclusion, he’s not only bridging the gap in Macon but also setting an example for others to follow.
# Internet Security: Safeguarding Your Digital World
In the contemporary digital age, the internet is a cornerstone of our daily lives. It connects us to vast amounts of information, provides platforms for communication, enables commerce, and offers endless entertainment. However, with these conveniences come significant security challenges. Internet security is essential to protect our digital identities, sensitive data, and overall online experience. This comprehensive guide explores the multifaceted world of internet security, providing insights into its importance, common threats, and effective strategies to safeguard your digital world.
## Understanding Internet Security
Internet security encompasses the measures and protocols used to protect information, devices, and networks from unauthorized access, attacks, and damage. It involves a wide range of practices designed to safeguard data confidentiality, integrity, and availability. Effective internet security is crucial for individuals, businesses, and governments alike, as cyber threats continue to evolve in complexity and scale.
### Key Components of Internet Security
1. **Confidentiality**: Ensuring that information is accessible only to those authorized to access it.
2. **Integrity**: Protecting information from being altered or tampered with by unauthorized parties.
3. **Availability**: Ensuring that authorized users have reliable access to information and resources when needed.
## Common Internet Security Threats
Cyber threats are numerous and constantly evolving. Understanding these threats is the first step in protecting against them. Some of the most common internet security threats include:
### Malware
Malware, or malicious software, is designed to harm, exploit, or otherwise compromise a device, network, or service. Common types of malware include:
- **Viruses**: Programs that attach themselves to legitimate software and replicate, spreading to other programs and files.
- **Worms**: Standalone malware that replicates itself to spread to other computers.
- **Trojan Horses**: Malicious software disguised as legitimate software.
- **Ransomware**: Malware that encrypts a user's files and demands a ransom for the decryption key.
- **Spyware**: Software that secretly monitors and collects user information.
### Phishing
Phishing is a social engineering attack that aims to steal sensitive information such as usernames, passwords, and credit card details. Attackers often masquerade as trusted entities in email or other communication channels, tricking victims into providing their information.
### Man-in-the-Middle (MitM) Attacks
MitM attacks occur when an attacker intercepts and potentially alters communication between two parties without their knowledge. This can lead to the unauthorized acquisition of sensitive information.
### Denial-of-Service (DoS) and Distributed Denial-of-Service (DDoS) Attacks
Multi-cluster Kubernetes Networking- Patterns, Projects and GuidelinesSanjeev Rampal
Talk presented at Kubernetes Community Day, New York, May 2024.
Technical summary of Multi-Cluster Kubernetes Networking architectures with focus on 4 key topics.
1) Key patterns for Multi-cluster architectures
2) Architectural comparison of several OSS/ CNCF projects to address these patterns
3) Evolution trends for the APIs of these projects
4) Some design recommendations & guidelines for adopting/ deploying these solutions.
Implementing a WebRTC endpoint in GStreamer: challenges, problems and perspectives
1. Implementing a WebRTC
endpoint in GStreamer:
challenges, problems and
perspectives
8-9 October 2015
Dublin, Ireland
Conference 2015
Miguel París
Jose A. Santos
santoscadenas@gmail.com
mparisdiaz@gmail.com
2. 2
Who we are
José Antonio Santos Cadenas
●
Software Engineer
●
Telematic Systems Master's
●
Developer at Naevatec (Madrid,
Spain)
●
Kurento Media Server (KMS)
manager
●
Integrating with client APIs
●
santoscadenas@gmail.com
Miguel París
●
Software Engineer
●
Telematic Systems Master's
●
Researcher at Universidad Rey
Juan Carlos (Madrid, Spain)
●
Kurento real-time manager
●
mparisdiaz@gmail.com
●
Twitter: @mparisdiaz
3. What is WebRTC
3
●
WebRTC is a new movement bringing RTC to the WWW
●
It is based on standards
●
Supported by Chrome & Firefox
●
Windows Edge added partial support recently
●
Safari is rumored to be on the way of providing it
●
FOSS implementations for Smartphone platforms (iOS and Android)
●
More tan 1B devices currently support WebRTC
Developing
RTC applications
for the WWW
Before WebRTC After WebRTC
Begin End
• Unified APIs
• Standards
• FOSS
• Multiplatform
4. WebRTC standards
4
●
Standard APIs: Standardized by the WebRTC WG at W3C
Media Capture APIs
●
Standardize APIs for media capture
PeerConnection APIs (WebRTC 1.0 almost finished)
●
Standardize API for P2P media communications
●
Media = Audio + Video + Data
●
DataChannel API: low latency
WebRTC stats
●
RTP stats for inbound and outbound directions
●
encode/decode stats
●
DataChannel stats
5. Implementing WebRTC in GStreamer
5
●
Deep interest in the GStreamer community
●
Several implementations
OpenWebRTC (Ericsson)
●
Design for working as part of client applications
Kurento Media Server (Kurento.org)
●
Design for working as part of media server infrastructures
Main differences between them:
OpenWebRTC captures media from camera and mic. KMS doesn't
OpenWebRTC renders to display and speakers. KMS doesn't
OpenWebRTC encodes/decodes audio/video. KMS only if needed.
7. Interactive Connectivity Establishment
ICE I
7
●
Using libnice (NiceSrc and NiceSink)
Involved RFCs:
RFC 5245: Interactive Connectivity Establishment
(ICE): A Protocol for Network Address Translator (NAT)
Traversal for Offer/Answer Protocols
RFC 5389: Session Traversal Utilities for NAT (STUN)
RFC 5766: Traversal Using Relays around NAT (TURN):
Relay Extensions to Session Traversal Utilities for NAT
(STUN)
8. Interactive Connectivity Establishment
ICE II
8
●
Our experience with libnice
0.1.7 version seem to be stable, but lack many
required features
0.1.10 version incorporate relevant features but seem
not to provide the appropriate stability yet
●
Leaks of TCP sockets
●
Connection states
●
Connectivity problems (Fails 1/1000)
Fixed in 0.1.13 ? (we have to check it)
9. ICE III
9
●
What next needed in ICE for WebRTC?
IPv6 shall be mandatory in WebRTC.
We need to check IPv6 support in libnice
draft-ietf-rtcweb-transports-09 (mandates IPv6 support)
HTTP CONNECT protocol for TURN might be important in
corporate networks (connectivity)
draft-hutton-httpbis-connect-protocol-00
STUN consent freshness may become mandatory for
WebRTC. This may require some adjustments on libnice for
supporting consent negotiation (security)
Draft-ietf-rtcweb-stun-consent-freshness-16
ICE stated published through events
ICE state should be reported as specified in the WebRTC
1.0 WG draft
10. DTLS / SRTP I
10
●
Using dtlssrtp(dec|enc) bins
dtls(dec|enc) manages DTLS handshake
srtp(dec|enc) decrypts/encrypts RTP packets
●
Involved RFCs:
RFC 5764: Datagram Transport Security (DTLS)
Extension to Establish Keys for the Secure Real-time
Protocol (SRTP)
RFC 3711: The Secure Real-time Transport Protocol
(SRTP)
11. DTLS / SRTP II
11
●
What next for WebRTC?
New cryptographic framework for group communications
This is under definition at the Privacy Enhanced RTP Conferencing (PERC) IETF
WG
Only early drafts here
draft-jones-perc-private-media-framework-00
draft-jones-perc-private-media-reqts-00
draft-mattsson-perc-srtp-cloud-00
draft-westerlund-perc-webrtc-use-case-00
PERC shall provide in the next few months (improve efficiency)
Enabling unicast group communications without requiring infrastructure to
decipher
New mechanisms enabling unicast group communications without
requiring infrastructure to cipher once per RTC session.
These may require re-factoring of current DTLS stack
DTLS state published through events.
Full connectivity requires ICE connectivity + successful DTLS handshake.
DTLS is being incorporated by the W3C in the WebRTC 1.0 spec as event
generator dealing with connection health
12. Congestion control I
12
●
This is an essential feature for providing satisfactory QoE for WebRTC users
How does it work?
Bandwidth estimator
Based on packet delay (useful RTP ExtHdr: abs-send-time)
Based on packet loss
REMB (Receiver Estimated Maximum Bitrate)
GStreamer does not provide any kind of features for this off the self
How Kurento estimates bandwidth?
on-sending-rtcp
Get packet-loss, bytes-sent, etc. from RtpSession stats
Advantages: simple
Drawbacks
Reactive and not predictive
Requires packet loss to detect BW constraints
Getting RtpSession stats quite inefficient
13. Congestion control II
13
●
For having satisfactory congestion control we should look to the following
drafts
draft-alvestrand-rmcat-remb-03: REMB mechanism implemented by
Chrome
draft-ietf-rmcat-cc-requirements-09: Congestion Control Requirements
for Interactive Real-Time Media
draft-ietf-avtcore-rtp-circuit-breakers-10: Multimedia Congestion Control:
Circuit Breakers for Unicast RTP Sessions
●
In summary, congestion control should:
be predictive
be efficient
be fair
"break the circuit" (drop the BW) in case of evidence of huge congestion
This is to avoid breaking other types of traffic.
14. DataChannels
14
●
Kurento has DataChannels support
●
Protocols: DTLS-SCTP
●
Drafts
draft-ietf-rtcweb-data-channel
draft-ietf-rtcweb-data-protocol
draft-ietf-mmusic-data-channel-sdpneg
Impl. based on sctp(dec|enc) provided by Ericsson
What have Kurento done?
Fixed problems when using Gstreamer 1.4
Fixed a lot of bugs
Implementation of the DataChannel protocol
AppSrc, AppSink
15. Thank you
Suggestions, comments and complains:
mparisdiaz@gmail.com
santoscadenas@gmail.com
http://www.kurento.org
http://www.github.com/kurento
info@kurento.org
Twitter: @kurentoms
http://www.nubomedia.eu
http://www.fi-ware.org
http://ec.europa.eu