Home / Companies / Daily / Blog / March 2023

March 2023 Summaries

10 posts from Daily

Filter
Month: Year:
Post Summaries Back to Blog
Daily's call object is the entry point for interacting with participants, room state, and all other aspects of your Daily-powered video or audio call. Developers may think they need multiple call objects when building features that require users to be present in multiple calls simultaneously, but this approach is actually an anti-pattern that should not be used. Instead, developers can use track subscriptions to manage media tracks and achieve their desired functionality without needing multiple call objects. Track subscriptions allow for more granular control over what participants see and hear, enabling features such as breakout rooms, broadcasting, and observing other participants in the background. However, there are special considerations that may require extra attention when using track subscriptions, including calls with large numbers of participants and sensitive security requirements. By understanding how to use track subscriptions effectively, developers can build complex and engaging features without running into issues with multiple call objects.
Mar 30, 2023 1,600 words in the original blog post.
The author migrated an Agora video call demo to Daily, a new video API platform. The migration involved several key changes, including updating the call client creation logic, replacing Agora's App ID field with a room URL, and changing the codec selection process. The author also updated the device selection functionality to use Daily's `enumerateDevices()` method and `setInputDevicesAsync()` method. Additionally, the author modified the video profile selection logic to use Daily's `setBandwidth()` method, which sets track constraints to the selected video profile. The migration also involved changing the user event handler setup, track subscription logic, and media update logic to work with Daily's API. Overall, the author aimed to demonstrate how to migrate an Agora app to Daily while maintaining its core functionality.
Mar 24, 2023 3,475 words in the original blog post.
In order to protect your React application from potential vulnerabilities, it is essential to take a multi-faceted approach that includes client-side measures, server-side validation, and infrastructure security considerations. One key aspect of this is applying input validation to prevent malicious data from entering your server. This can be achieved through the use of regular expressions to verify user input against expected formats. Libraries such as Formik can also help simplify the process of form input and validation. Additionally, securing against Distributed Denial of Service (DDoS) attacks requires limiting request rates on both client-side and server-side applications. It is also crucial to avoid using vulnerable dependencies in your project by regularly reviewing and auditing your dependencies for security issues. Keeping your React app updated with the latest technologies and best practices can help minimize vulnerabilities. Furthermore, implementing authorization and authentication measures can provide an additional layer of protection against unauthorized access. By following these steps and best practices, you can lower the vulnerability surface area in your applications and ensure a more secure user experience.
Mar 22, 2023 1,751 words in the original blog post.
The concept of "available/selected/switched-on" state transitions is crucial in video communications applications, where participants can be in different states (e.g., available, selected, switched on) and switching between them requires careful consideration. The terminology used in traditional media productions can be applied to WebRTC sessions, but the timing difference between selection and switching activities is essential. Daily's API provides tools for selecting and switching participants, including properties like `videoSettings.preferredParticipantIds` and `videoSettings.omitPaused`. By using these properties, developers can control which participants are shown in a server-rendered stream. Additionally, VCS cloud function overrides can be used to push application-specific logic to Daily's rendering cloud, simplifying client application design and reducing API calls. The concept of "host" and "guest" roles can be applied to WebRTC sessions, allowing for more flexible and customized video communications applications.
Mar 16, 2023 3,788 words in the original blog post.
The Bluetooth standard emerged in the late 1990s and has since evolved to differentiate between various use cases through profiles such as A2DP and HSP/HFP. These profiles cater to different needs, with A2DP optimized for high-quality audio streaming in one direction, while HSP/HFP is designed for hands-free devices like headsets and car systems, providing low-bitrate, low-audio-buffering-delay codecs. Proprietary profiles, implemented by companies like Apple, can offer higher-quality audio and additional features but require both input and output devices to support them. The latest Bluetooth 5.2 specification introduces Bluetooth LE Audio, which promises improved audio quality through the use of LC3 codec, but its adoption is still limited due to hardware requirements. As a user, switching between high-quality profiles can be jarring, and there are ways to mitigate this, such as changing the microphone used in video call applications or selecting devices that support higher-quality profiles.
Mar 14, 2023 1,550 words in the original blog post.
The post provides a walkthrough of migrating Twilio's quickstart demo to Daily's WebRTC video API, covering server and client-side components, event mappings, and core features such as call quality analytics dashboard monitoring. The migration involves replacing Twilio-specific code with equivalent Daily code, including handling active speaker changes and track updates. The process also includes setting up a DOM element for each participant, updating track media streams, and using Daily's powerful monitoring features to analyze participants' call quality.
Mar 10, 2023 3,578 words in the original blog post.
To accurately assess how features and functionality of two different options compare, you typically need to map the vocabulary and paradigms between the frameworks, languages, or APIs you're evaluating. Both Daily and Twilio Video offer equivalent or in many cases better features that are easier to use and give more control over call quality and experience. Daily's Global Mesh Network provides low latency networking, while both platforms support simulcast for improved video quality. When comparing the two platforms, it's essential to consider application primitives like rooms, tokens, participants, and recordings, as well as platform features like Daily's Global Mech Network and Twilio Video's access token system. By understanding these differences, developers can make informed decisions about which platform best suits their needs.
Mar 09, 2023 1,213 words in the original blog post.
The Video Component System (VCS) is a toolkit for creating dynamic recordings in Daily's cloud infrastructure, expanding the boundaries of live video experiences. It supports various recording use cases, including low-cost and simple implementations, and provides a web-like development environment that combines the benefits of headless browsers with production-quality guarantees. VCS code runs inside a JavaScript sandbox and outputs graphics display lists, which are then rendered by C++ code to produce final video output tracks and audio tracks. The pipeline architecture utilizes the GStreamer framework, allowing for complex multimedia pipelines and optimizations such as separate RGBA and YUV color space operations. Daily's recording servers run in clusters across 11 geographic regions, with autoscaling capabilities to handle client device requests within a few seconds. The API surface area of VCS is large, aiming to make easy things easy and hard things possible, with published tutorials, guides, and reference docs available for developers to build on.
Mar 03, 2023 2,222 words in the original blog post.
Daily powers real-time audio and video capabilities for millions of people worldwide, primarily through its APIs and client SDKs used by developers to build audio and video features into applications and websites. The company's infrastructure is critical to delivering reliable video call experiences, especially in scenarios where participants have slow or unstable connections. Simulcast is a technique used to adapt to bandwidth and CPU constraints, allowing for better video quality during multi-participant calls. Daily has implemented simulcast support since 2017 and has devoted significant engineering hours to improving its implementation. The company aims to provide adaptable simulcast configurations that work well for various use cases, while also supporting custom configuration options for applications with specific needs. Daily's infrastructure is built on WebRTC, a standard that allows for flexible routing of video through media servers or peer-to-peer connections. The company has developed best practices for bandwidth management, CPU usage, and server-side simulcast implementation to ensure high-quality video experiences. Video codecs, such as VP8, H.264, and newer Scalable Video Codecs like SVC, play a crucial role in delivering high-quality video streams. Daily is continually working on improving its infrastructure and video codec support to provide the best possible experience for its customers.
Mar 02, 2023 3,225 words in the original blog post.
Daily powers real-time audio and video capabilities for millions of users worldwide through its APIs and client SDKs, primarily catering to developers who build interactive features into applications and websites. The company's infrastructure is designed to support low-latency streaming, with a focus on scalability and flexibility. Interactive Live Streaming (ILS) is the umbrella term for very low-latency streaming to large audiences, which requires sub-200ms latency, flexible client-side manipulation of video and audio streams, and APIs that enable real-time delivery of video to hundreds of thousands of simultaneous viewers. Daily's infrastructure is built around WebRTC, a technology standard that enables real-time, interactive live streaming, and its global network supports up to 100,000 participants in a single session with low latency comparable to 1:1 video calls. The platform allows for flexible layouts, dynamic UX elements, audience participation, and scalability, making it suitable for various use cases such as virtual events, creator economy production studios, social games, and more.
Mar 01, 2023 2,403 words in the original blog post.