<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[FdviAutoit的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/FdviAutoit</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; FdviAutoit]]></copyright><item><title><![CDATA[优化延迟的网络直播方案——基于WebRTC的低延时直播]]></title><link>https://blog.youkuaiyun.com/FdviAutoit/article/details/133337293</link><guid>https://blog.youkuaiyun.com/FdviAutoit/article/details/133337293</guid><author>FdviAutoit</author><pubDate>Wed, 27 Sep 2023 08:15:27 +0800</pubDate><description><![CDATA[值得注意的是，为了优化延迟，还可以采用一些额外的技术手段，例如使用WebRTC的数据通道传输关键数据、采用适当的编码参数和流控制策略等。通过以上步骤，基于WebRTC的低延时直播方案可以实现实时性较高的音视频传输。值得注意的是，为了优化延迟，还可以采用一些额外的技术手段，例如使用WebRTC的数据通道传输关键数据、采用适当的编码参数和流控制策略等。总结起来，基于WebRTC的低延迟直播方案通过利用浏览器内置的实时通优化延迟的网络直播方案——基于WebRTC的低延时直播。]]></description><category></category></item><item><title><![CDATA[ArCall：一个比你想象中更强大的 WebRTC 库]]></title><link>https://blog.youkuaiyun.com/FdviAutoit/article/details/133333119</link><guid>https://blog.youkuaiyun.com/FdviAutoit/article/details/133333119</guid><author>FdviAutoit</author><pubDate>Wed, 27 Sep 2023 04:53:37 +0800</pubDate><description><![CDATA[ArCall 是一个基于 WebRTC 的库，它在原有的 WebRTC 功能基础上进行了增强，提供了更多强大的功能和更好的性能。它提供了高质量的音视频通信功能、强大的信令服务器和跨平台兼容性，使开发者能够轻松构建出色的实时通信应用程序。高质量音视频通信：ArCall 提供了先进的编解码技术和媒体处理算法，可以实现高质量的音视频通信。强大的信令服务器：ArCall 提供了可靠的信令服务器，用于建立和维护通信会话。方法获取用户的音视频流，并将其发送给其他用户，实现了音视频通话的功能。]]></description><category></category></item><item><title><![CDATA[RtpPacketHistory NackList WebRTC：实现RTP数据包历史记录和NACK列表]]></title><link>https://blog.youkuaiyun.com/FdviAutoit/article/details/133330273</link><guid>https://blog.youkuaiyun.com/FdviAutoit/article/details/133330273</guid><author>FdviAutoit</author><pubDate>Wed, 27 Sep 2023 02:48:21 +0800</pubDate><description><![CDATA[为了解决这个问题，WebRTC使用了一种称为NACK（Negative Acknowledgement）的机制，通过请求发送端重传丢失的数据包。以上是一个简单的实现示例，实际的WebRTC实现可能会更加复杂，并考虑到丢包率、重传策略等因素。然而，通过RtpPacketHistory和NackList的组合，我们可以在WebRTC中实现RTP数据包历史记录和NACK列表的功能，以支持丢失数据包的重传。在本文中，我们将介绍如何实现RTP数据包历史记录和NACK列表功能，以支持WebRTC中的NACK重传。]]></description><category></category></item><item><title><![CDATA[RtpExtensionProcessor WebRTC：实现自定义 RTP 扩展的源代码解析]]></title><link>https://blog.youkuaiyun.com/FdviAutoit/article/details/133329710</link><guid>https://blog.youkuaiyun.com/FdviAutoit/article/details/133329710</guid><author>FdviAutoit</author><pubDate>Wed, 27 Sep 2023 02:20:41 +0800</pubDate><description><![CDATA[而 RtpExtensionProcessor 是 WebRTC 中一个重要的组件，它允许开发者自定义 RTP（Real-time Transport Protocol）的扩展，以适应特定的需求和场景。本文介绍了 RtpExtensionProcessor 在 WebRTC 中的作用和使用方法，并提供了一个示例代码，帮助开发者了解如何实现自定义 RTP 扩展。方法将扩展 ID 添加到要发送的 RTP 数据包中，以及在接收到的 RTP 数据包中读取扩展字段。方法将自定义的扩展字段添加到数据包中。]]></description><category></category></item><item><title><![CDATA[CentOS上搭建WebRTC使用Mediasoup]]></title><link>https://blog.youkuaiyun.com/FdviAutoit/article/details/133327026</link><guid>https://blog.youkuaiyun.com/FdviAutoit/article/details/133327026</guid><author>FdviAutoit</author><pubDate>Wed, 27 Sep 2023 00:35:51 +0800</pubDate><description><![CDATA[Mediasoup是一个基于WebRTC的流媒体服务器，它提供了强大的功能和灵活的API，可用于构建实时通信应用程序。通过在CentOS上搭建Mediasoup服务器并使用WebRTC进行通信，您可以构建强大的实时通信应用程序。Mediasoup提供了灵活的API和丰富的功能，使您能够轻松处理音频、视频和数据流。首先，您需要安装Node.js和Yarn来运行Mediasoup服务器。在您选择的编辑器中，创建一个新的JavaScript文件，命名为。在您选择的编辑器中，创建一个新的HTML文件，命名为。]]></description><category></category></item><item><title><![CDATA[使用xrdp在华为云ECS上远程连接XFCE桌面并实现WebRTC]]></title><link>https://blog.youkuaiyun.com/FdviAutoit/article/details/133321190</link><guid>https://blog.youkuaiyun.com/FdviAutoit/article/details/133321190</guid><author>FdviAutoit</author><pubDate>Tue, 26 Sep 2023 19:08:24 +0800</pubDate><description><![CDATA[在本文中，我们将介绍如何在华为云ECS实例上使用xrdp远程连接到XFCE桌面环境，并通过WebRTC实现远程桌面共享功能。至此，您已经成功配置了华为云ECS实例上的xrdp和WebRTC，实现了远程连接XFCE桌面并启用了远程桌面共享功能。现在，您可以使用任何支持RDP协议的远程桌面客户端连接到您的华为云ECS实例。现在，您已经完成了xrdp和WebRTC的设置，可以启动WebRTC远程桌面共享。接下来，您需要安装xrdp软件包，它将允许您通过远程桌面协议连接到ECS实例。步骤1：创建华为云ECS实例。]]></description><category></category></item><item><title><![CDATA[WebRTC音频帧构造器：rtcFrame库的封装]]></title><link>https://blog.youkuaiyun.com/FdviAutoit/article/details/133318878</link><guid>https://blog.youkuaiyun.com/FdviAutoit/article/details/133318878</guid><author>FdviAutoit</author><pubDate>Tue, 26 Sep 2023 17:58:55 +0800</pubDate><description><![CDATA[总结起来，rtcFrame库提供了一组功能丰富的API，用于构造和处理WebRTC音频帧。我们可以通过创建音频帧构造器、添加采样数据、生成音频帧数据以及使用其他提供的功能，轻松地进行音频帧的操作。为了简化音频帧的构造过程，我们可以使用rtcFrame库的封装。rtcFrame库是一个用于构造和处理音频帧的开源库，它提供了一组功能强大的API，使开发者可以方便地创建和操作音频帧。通过rtcFrame库的封装，我们可以更加便捷地构造和处理音频帧，从而实现高效的WebRTC音频通信。然后，我们可以通过调用。]]></description><category></category></item><item><title><![CDATA[WebRTC的语音活动检测（VAD）过程解析]]></title><link>https://blog.youkuaiyun.com/FdviAutoit/article/details/133314834</link><guid>https://blog.youkuaiyun.com/FdviAutoit/article/details/133314834</guid><author>FdviAutoit</author><pubDate>Tue, 26 Sep 2023 16:33:22 +0800</pubDate><description><![CDATA[在WebRTC中，VAD被广泛应用于实时通信场景，用于识别语音通话中的活跃和非活跃部分。本文将详细解析WebRTC中VAD的过程，并提供相应的源代码示例。VAD是WebRTC中的一个重要组件，用于识别语音信号中的活跃片段，以便更高效地进行音频编解码和传输。在本示例中，我们将使用WebRTC的getUserMedia API。在实际应用中，VAD算法可能更复杂，使用更多的特征和机器学习技术来提高准确性。需要注意的是，本示例仅提供了VAD的基本概述和代码示例，并非完整的实现。]]></description><category></category></item><item><title><![CDATA[macOS Catalina下初始化Licode、安装MQ、启动和进行基本的WebRTC测试]]></title><link>https://blog.youkuaiyun.com/FdviAutoit/article/details/133312953</link><guid>https://blog.youkuaiyun.com/FdviAutoit/article/details/133312953</guid><author>FdviAutoit</author><pubDate>Tue, 26 Sep 2023 15:56:34 +0800</pubDate><description><![CDATA[在macOS Catalina上，我们可以通过以下步骤来初始化Licode、安装MQ、启动和进行基本的WebRTC测试。通过遵循以上步骤，您可以在macOS Catalina上成功初始化Licode、安装MQ、启动服务器并进行基本的WebRTC测试行基本的WebRTC测试。这是一个简单的示例，说明了如何使用Licode进行WebRTC通信。这将启动Licode的各个组件，包括Nuve管理服务器、Erizo控制器和Erizo代理。这将下载并安装RabbitMQ，它是Licode使用的默认消息队列。]]></description><category></category></item><item><title><![CDATA[WebRTC 实时通信技术：打造实时互联网体验]]></title><link>https://blog.youkuaiyun.com/FdviAutoit/article/details/133308796</link><guid>https://blog.youkuaiyun.com/FdviAutoit/article/details/133308796</guid><author>FdviAutoit</author><pubDate>Tue, 26 Sep 2023 14:31:21 +0800</pubDate><description><![CDATA[通过合理利用 WebRTC 的功能和 API，开发者可以轻松地实现实时音视频通信和数据传输，为用户带来更加丰富、沉浸式的应用体验。开发者可以根据自己的需求，使用 WebRTC 构建各种类型的实时应用程序，从简单的音视频聊天应用到复杂的多人会议系统。在对方浏览器中，我们需要实现类似的功能，以便接收到 ICE 候选和 SDP offer 后能够建立连接并进行实时音频通信。在对方浏览器中，我们需要相应地处理接收到的 ICE 候选和 SDP offer，以建立对等连接。事件，将 ICE 候选发送给对方浏览器。]]></description><category></category></item><item><title><![CDATA[WebRTC SDP mslable标签：了解WebRTC会话描述协议中的mslabel属性]]></title><link>https://blog.youkuaiyun.com/FdviAutoit/article/details/133307600</link><guid>https://blog.youkuaiyun.com/FdviAutoit/article/details/133307600</guid><author>FdviAutoit</author><pubDate>Tue, 26 Sep 2023 14:06:01 +0800</pubDate><description><![CDATA[mslabel属性是SDP中的一个字段，用于标识媒体流的标签。它通常与msid属性一起使用，用于唯一标识媒体流。msid属性由三个部分组成：streamid、trackid和mslabel。其中，mslabel用于表示媒体流的标签。其中，是一个字符串，用于标识媒体流的标签。不同的媒体流可以使用不同的标签进行标识。mslabel属性是SDP中的一个字段，用于标识媒体流的标签。它通常与msid属性一起使用，用于唯一标识媒体流。]]></description><category></category></item><item><title><![CDATA[使用WebRTC实现跨平台语音助手功能组件]]></title><link>https://blog.youkuaiyun.com/FdviAutoit/article/details/133303821</link><guid>https://blog.youkuaiyun.com/FdviAutoit/article/details/133303821</guid><author>FdviAutoit</author><pubDate>Tue, 26 Sep 2023 12:15:39 +0800</pubDate><description><![CDATA[通过建立WebRTC连接并传输音频流，我们可以在不同平台之间实现实时的语音交互。然而，要构建一个完整的语音助手功能，还需要进行语音识别和自然语言处理等操作。WebRTC是一种用于实时通信的开放标准，它可以在不需要安装插件或额外软件的情况下，在各种平台上实现音频和视频通信。在本文中，我们将使用WebRTC来构建一个跨平台的语音助手功能组件，使用户可以通过语音与助手进行交互。首先，我们需要设置一个WebRTC连接来处理音频流的传输和通信。在这里，你可以处理远程音频流，例如播放声音或进行语音识别。]]></description><category></category></item><item><title><![CDATA[使用WebRTC录制媒体的功能]]></title><link>https://blog.youkuaiyun.com/FdviAutoit/article/details/133302436</link><guid>https://blog.youkuaiyun.com/FdviAutoit/article/details/133302436</guid><author>FdviAutoit</author><pubDate>Tue, 26 Sep 2023 11:38:25 +0800</pubDate><description><![CDATA[其中的MediaRecorder API可以用于录制媒体，包括音频和视频。本文将介绍如何使用WebRTC的MediaRecorder API来录制媒体，并提供相应的源代码示例。综上所述，我们可以使用WebRTC的MediaRecorder API来录制音频和视频。首先，获取音频和/或视频流，然后创建一个MediaRecorder对象，并为其注册事件监听器来处理录制的数据。接下来，我们需要为MediaRecorder对象注册事件监听器来处理录制的数据。事件的回调函数中，我们可以访问录制的数据。]]></description><category></category></item><item><title><![CDATA[SDP组成：Plan B、Unified Plan和WebRTC]]></title><link>https://blog.youkuaiyun.com/FdviAutoit/article/details/133298836</link><guid>https://blog.youkuaiyun.com/FdviAutoit/article/details/133298836</guid><author>FdviAutoit</author><pubDate>Tue, 26 Sep 2023 10:27:04 +0800</pubDate><description><![CDATA[需要注意的是，SDP仅仅是WebRTC中的一部分，而WebRTC本身涉及的内容更加广泛。在上述SDP中，"m=audio"和"m=video"仍然表示音频和视频流，但现在使用"a=msid"来标识每个媒体流。SDP在WebRTC中扮演着重要的角色，它描述了参与通信的媒体流的特性和参数。上述SDP中，"m=audio"和"m=video"分别表示音频和视频流，而"a=mid:audio"和"a=mid:video"用于标识每个媒体流。这只是一个简单的示例，实际使用WebRTC需要更详细的配置和处理。]]></description><category></category></item><item><title><![CDATA[WebRTC代码解析：RTP/RTCP模块分析]]></title><link>https://blog.youkuaiyun.com/FdviAutoit/article/details/133294776</link><guid>https://blog.youkuaiyun.com/FdviAutoit/article/details/133294776</guid><author>FdviAutoit</author><pubDate>Tue, 26 Sep 2023 08:59:23 +0800</pubDate><description><![CDATA[的函数，用于处理接收到的RTP数据包。在这个函数中，会对接收到的数据包进行解析，并根据需要进行处理，例如更新统计信息、进行抖动缓冲处理等。文件和其他相关文件的分析，我们可以了解到RTP/RTCP模块在WebRTC中的实现方式和功能。文件中，还有一些其他的辅助类和结构体，用于实现RTP/RTCP模块的各个功能。文件中，还有一些其他的辅助类和结构体，用于实现RTP/RTCP模块的各个功能。文件和其他相关文件的分析，我们可以了解到RTP/RTCP模块在WebRTC中的实现方式和功能。]]></description><category></category></item><item><title><![CDATA[WebGL与WebRTC：创造交互性的网络应用]]></title><link>https://blog.youkuaiyun.com/FdviAutoit/article/details/133292771</link><guid>https://blog.youkuaiyun.com/FdviAutoit/article/details/133292771</guid><author>FdviAutoit</author><pubDate>Tue, 26 Sep 2023 07:45:44 +0800</pubDate><description><![CDATA[WebGL是一种基于JavaScript的图形库，用于在Web浏览器中实现硬件加速的3D图形渲染。它允许开发者通过JavaScript与图形处理单元（GPU）进行交互，从而在Web应用程序中创建高性能的图形和视觉效果。而WebRTC（Web实时通信）则是一种用于在浏览器之间实现实时音频、视频和数据传输的开放式标准。本文将探讨WebGL在WebRTC中的应用，以及如何结合两者创造出交互性的网络应用。]]></description><category></category></item><item><title><![CDATA[WebRTC M89：弃用Plan B SDP语义，推荐使用标准SDP格式Unified Plan]]></title><link>https://blog.youkuaiyun.com/FdviAutoit/article/details/133291286</link><guid>https://blog.youkuaiyun.com/FdviAutoit/article/details/133291286</guid><author>FdviAutoit</author><pubDate>Tue, 26 Sep 2023 04:58:28 +0800</pubDate><description><![CDATA[这样，两个对等端就建立了连接，并可以进行实时通信。Plan B是WebRTC早期版本中使用的一种SDP格式，它采用了一种非标准的语义，用于描述多个媒体流（如音频和视频）之间的关系。总结而言，WebRTC M89版本弃用了Plan B SDP语义，并推荐使用标准SDP格式Unified Plan。开发人员应该更新他们的代码，以适应这个变化，并使用Unified Plan来描述和管理媒体流之间的关系。Unified Plan是一种标准的SDP格式，它提供了更灵活和可扩展的方式来描述多个媒体流之间的关系。]]></description><category></category></item><item><title><![CDATA[WebRTC主席Bernard Aboba接受独家采访]]></title><link>https://blog.youkuaiyun.com/FdviAutoit/article/details/133289180</link><guid>https://blog.youkuaiyun.com/FdviAutoit/article/details/133289180</guid><author>FdviAutoit</author><pubDate>Tue, 26 Sep 2023 03:24:08 +0800</pubDate><description><![CDATA[WebRTC是一项技术标准，它允许Web浏览器之间进行点对点的实时音视频通信，而无需通过插件或额外的软件。近期，我们在WebRTC 1.0标准的基础上，发布了WebRTC 1.0的候选推荐标准（Candidate Recommendation），这是一个重要的里程碑。在WebRTC的发展中，Bernard Aboba扮演着重要的角色，他作为W3C WebRTC工作组的主席，带领着该标准的制定和推动。通过WebRTC，开发者可以轻松实现浏览器之间的实时数据传输，为用户提供更加便捷和丰富的通信体验。]]></description><category></category></item><item><title><![CDATA[WebRTC: Android 应用开发基础]]></title><link>https://blog.youkuaiyun.com/FdviAutoit/article/details/133287269</link><guid>https://blog.youkuaiyun.com/FdviAutoit/article/details/133287269</guid><author>FdviAutoit</author><pubDate>Tue, 26 Sep 2023 01:26:44 +0800</pubDate><description><![CDATA[在上述代码中，我们首先创建了一个音频源（AudioSource）和一个音频轨道（AudioTrack），然后创建了一个视频源（VideoSource）和一个视频轨道（VideoTrack）。接收者收到"offer"后，创建一个包含自己媒体信息的"answer"，并将其发送回发送者。在PeerConnection的回调方法中，你可以处理接收到的远程流，并将其显示在你的Android应用程序中。在上述代码中，我们获取了远程流中的音视频轨道，并将其渲染到本地的音视频视图上。]]></description><category></category></item><item><title><![CDATA[Linux线程模型和线程切换：深入了解Linux中的线程管理和WebRTC]]></title><link>https://blog.youkuaiyun.com/FdviAutoit/article/details/133286059</link><guid>https://blog.youkuaiyun.com/FdviAutoit/article/details/133286059</guid><author>FdviAutoit</author><pubDate>Tue, 26 Sep 2023 00:45:22 +0800</pubDate><description><![CDATA[一旦操作完成，线程将从内核态切换回用户态继续执行。通过了解Linux线程模型和线程切换的原理，以及在实际应用中的使用，我们可以更好地理解并发编程和多线程应用的工作方式。在上面的示例中，我们使用C++的std::thread库创建了三个不同类型的线程：信令线程、网络线程和音视频线程。本文详细介绍了Linux中的线程模型和线程切换的工作原理，并探讨了它们在WebRTC中的应用。Linux线程切换的具体过程包括保存当前线程的上下文（寄存器状态、程序计数器等）、加载下一个线程的上下文，并将控制权转移给下一个线程。]]></description><category></category></item></channel></rss>