<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[一世豁然的专栏]]></title><description><![CDATA[音视频&音视频算法&流媒体开发]]></description><link>https://blog.youkuaiyun.com/Explorer_day</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Explorer_day]]></copyright><item><title><![CDATA[C++设计模式学习笔记]]></title><link>https://blog.youkuaiyun.com/Explorer_day/article/details/104186975</link><guid>https://blog.youkuaiyun.com/Explorer_day/article/details/104186975</guid><author>Explorer_day</author><pubDate>Wed, 05 Feb 2020 19:17:42 +0800</pubDate><description><![CDATA[一、组件协作

Template Method

Strategy

Obsever/Event



二、单一职责

Decorator

Brige



三、对象创建

Factory Method

Abstract Factory

Prototype

Builder



四、对象性能

Singleton

Flyweight



六、接口隔离

Facade

Prox...]]></description><category></category></item><item><title><![CDATA[C++面向对象设计原则学习笔记]]></title><link>https://blog.youkuaiyun.com/Explorer_day/article/details/104181301</link><guid>https://blog.youkuaiyun.com/Explorer_day/article/details/104181301</guid><author>Explorer_day</author><pubDate>Wed, 05 Feb 2020 13:31:24 +0800</pubDate><description><![CDATA[原则一

依赖倒置原则（DIP）：

高层模块（稳定）不应该依赖于底层模块（变化），二者都应该依赖于抽象（稳定）。
	抽象（稳定）不应该依赖于实现细节（变化），实现细节应该依赖于抽象（稳定）。


原则二：

开放封闭原则（OCP）：

对外扩展开放，对更改封闭。
	类模块应该是可扩展的，但是不可修改。


原则三：

单一职责原则（SRP）：

一个类应该仅有一个引起它变化的原因。
	变化的...]]></description><category></category></item><item><title><![CDATA[《TCP/IP详解卷一：协议》学习笔记八]]></title><link>https://blog.youkuaiyun.com/Explorer_day/article/details/72758122</link><guid>https://blog.youkuaiyun.com/Explorer_day/article/details/72758122</guid><author>Explorer_day</author><pubDate>Tue, 26 Nov 2019 14:10:41 +0800</pubDate><description><![CDATA[一、Traceroute程序的操作

1、Traceroute程序可以让我们看到IP数据报从一台主机传到另一台主机所经过的路由。其还可以让我们使用IP源路由选项。



2、为什么不使用IP记录路由选项（RR）而另外开发一个新的应用程序？

1）、原先并不是所有的路由器都支持记录路由选项，因此该选项在某些路径上不能使用。

2）、记录路由一般是单项的选项。

3）、IP首部中留给选项的空间...]]></description><category></category></item><item><title><![CDATA[《离散时间信号处理学习笔记》—线性时不变系统的变换分析（二）]]></title><link>https://blog.youkuaiyun.com/Explorer_day/article/details/103159555</link><guid>https://blog.youkuaiyun.com/Explorer_day/article/details/103159555</guid><author>Explorer_day</author><pubDate>Sat, 23 Nov 2019 13:13:29 +0800</pubDate><description><![CDATA[注：本博客是基于奥本海姆《离散时间信号处理》第三版编写，主要是为了自己学习的复习与加深。



一、最小相位系统

一）、最小相位和全通系统

1、任何有理系统函数都能表示成

式5.1

式中是最小相位系统，是全通系统。

1）、包含H(z)中位于单位圆内的零、极点，再加上H(z)中单位圆外的零点成共轭倒数的那些零点。

2）由全部H(z)中位于单位圆外的零点和与中反射过来的共轭倒数零点相抵消...]]></description><category></category></item><item><title><![CDATA[《离散时间信号处理学习笔记》—线性时不变系统的变换分析（一）]]></title><link>https://blog.youkuaiyun.com/Explorer_day/article/details/90548408</link><guid>https://blog.youkuaiyun.com/Explorer_day/article/details/90548408</guid><author>Explorer_day</author><pubDate>Tue, 19 Nov 2019 19:35:53 +0800</pubDate><description><![CDATA[注：本博客是基于奥本海姆《离散时间信号处理》第三版编写，主要是为了自己学习的复习与加深。





一、LTI系统的频率响应

一）、频率响应相位和群延迟

1、在各频率点上的频率响应通常为一个复数。若利用极坐标形式来表示频率响应，则系统的输入和输出的博里叶变换的幅度和相位由下式联系；

式5.1

式5.2

其中||代表系统的幅度响应或增益，而为系统的相位响应或相移。式5.1和式5.2所表...]]></description><category></category></item><item><title><![CDATA[WebRTC 开发实践：如何实现 SFU 服务器]]></title><link>https://blog.youkuaiyun.com/Explorer_day/article/details/103140177</link><guid>https://blog.youkuaiyun.com/Explorer_day/article/details/103140177</guid><author>Explorer_day</author><pubDate>Tue, 19 Nov 2019 13:27:30 +0800</pubDate><description><![CDATA[上一篇文章《WebRTC 开发实践：为什么你需要 SFU 服务器》我们了解了 WebRTC SFU 服务器的基本原理和必要性，解决了 What 和 Why，本文则更近一步，探究一下实现 SFU 服务器的关键技术点有哪些 ？重点解决一下 How

1 什么是 SFU ？

首先，我们再看一次 SFU 服务器的定义，什么是 SFU ？

SFU 的全称是：Selective Forwarding Un...]]></description><category></category></item><item><title><![CDATA[WebRTC 开发实践：为什么你需要 SFU 服务器]]></title><link>https://blog.youkuaiyun.com/Explorer_day/article/details/103140065</link><guid>https://blog.youkuaiyun.com/Explorer_day/article/details/103140065</guid><author>Explorer_day</author><pubDate>Tue, 19 Nov 2019 13:13:36 +0800</pubDate><description><![CDATA[当你入门 WebRTC 之后，很快就会接触到一个名词，叫做：SFU，你可能很容易就在网上寻找到很多 SFU 的开源实现，并并兴致勃勃地开始编译、部署和测试这些服务器，但是可曾想过，为啥我们的 WebRTC 应用需要 SFU 服务器 ？

1 WebRTC P2P 通话的网络模型



如图是 WebRTC P2P 模式下的网络拓扑结构，ClientA 和 ClientB 如果能够顺利建立 P2P ...]]></description><category></category></item><item><title><![CDATA[架构设计：基于Webrtc、Kurento的一种低延迟架构实现]]></title><link>https://blog.youkuaiyun.com/Explorer_day/article/details/103120981</link><guid>https://blog.youkuaiyun.com/Explorer_day/article/details/103120981</guid><author>Explorer_day</author><pubDate>Mon, 18 Nov 2019 13:52:22 +0800</pubDate><description><![CDATA[前言

在音视频领域，低延迟交互一直是一个非常重要的需求。
而直播大多基于RTMP协议，其存在1到3秒左右的延迟，基本无法胜任低延迟交互的需求；另外在游戏领域、语音聊天、教育领域，低延迟也是一个非常重要的议题。
下面以直播的连麦架构的设计来简单介绍下整个架构设计的演进流程。

最朴素的连麦架构（基于RTMP）

架构设计



架构解析

连麦端A/B存在多平台特性，例如Android、iOS、P...]]></description><category></category></item><item><title><![CDATA[WebRTC协议简介]]></title><link>https://blog.youkuaiyun.com/Explorer_day/article/details/103065916</link><guid>https://blog.youkuaiyun.com/Explorer_day/article/details/103065916</guid><author>Explorer_day</author><pubDate>Thu, 14 Nov 2019 14:00:07 +0800</pubDate><description><![CDATA[一、ICE

交互式连接建立（ICE）是允许您的Web浏览器与对等方连接的框架。 从对等A到对等B的直接连接根本无法工作有很多原因。 它需要绕过防火墙，以防止打开连接；如果在大多数情况下，您的设备没有公用IP地址，则为您提供一个唯一的地址；如果您的路由器不允许您直接与对等方连接，则需要通过服务器中继数据 。 ICE使用STUN和/或TURN服务器来完成此操作，如下所述。





二、STUN...]]></description><category></category></item><item><title><![CDATA[webrtc信令交互流程]]></title><link>https://blog.youkuaiyun.com/Explorer_day/article/details/102970523</link><guid>https://blog.youkuaiyun.com/Explorer_day/article/details/102970523</guid><author>Explorer_day</author><pubDate>Fri, 08 Nov 2019 11:53:34 +0800</pubDate><description><![CDATA[本博客转载于：https://www.cnblogs.com/fangkm/p/4364553.html



WebRTC是HTML5支持的重要特性之一，有了它，不再需要借助音视频相关的客户端，直接通过浏览器的Web页面就可以实现音视频对聊功能。而且WebRTC项目是开源的，我们可以借助WebRTC源码快速构建自己的音视频对聊功能。无论是使用前端JS的WebRTC API接口，还是在WebRT...]]></description><category></category></item><item><title><![CDATA[RTP协议全解析（H264码流和PS流）]]></title><link>https://blog.youkuaiyun.com/Explorer_day/article/details/102399276</link><guid>https://blog.youkuaiyun.com/Explorer_day/article/details/102399276</guid><author>Explorer_day</author><pubDate>Wed, 09 Oct 2019 07:59:41 +0800</pubDate><description><![CDATA[本博客转载于：https://blog.youkuaiyun.com/chen495810242/article/details/39207305/





1、RTP Header解析 

  

                              图一       

1)V：RTP协...]]></description><category></category></item><item><title><![CDATA[OBS源码分析流程梳理]]></title><link>https://blog.youkuaiyun.com/Explorer_day/article/details/91365802</link><guid>https://blog.youkuaiyun.com/Explorer_day/article/details/91365802</guid><author>Explorer_day</author><pubDate>Mon, 10 Jun 2019 11:31:18 +0800</pubDate><description><![CDATA[本博客转载于：https://www.cnblogs.com/JazzerDaxian/p/8480229.html





OBS-Studio是一款非常好用的开源直播推流软件，目前已经发布了很多个版本。但是目前都没看到详细或流程清晰的源码分析介绍。所以，本文以线程为单位对OBS的采集、编码、传输流程进行梳理，一方面能够使我自己更清楚OBS架构和运行流程，另一方面也能方便新手同学。整体的粒...]]></description><category></category></item><item><title><![CDATA[《离散时间信号处理学习笔记》—连续时间信号的采样（四）]]></title><link>https://blog.youkuaiyun.com/Explorer_day/article/details/90313966</link><guid>https://blog.youkuaiyun.com/Explorer_day/article/details/90313966</guid><author>Explorer_day</author><pubDate>Sat, 25 May 2019 16:24:17 +0800</pubDate><description><![CDATA[注：本博客是基于奥本海姆《离散时间信号处理》第三版编写，主要是为了自己学习的复习与加深。





一、在A/D和D/A转换中的过采样和噪声形成

一）、采样直接量化的过采样A/D转换

1、为了研究过采样和量化阶大小之间的关系，考虑图4.1所示的系统。

图4.1

为了分析过采样在该系统中的效果，考虑一个零均值广义平稳的随机过程xa(t)，其功率谱密度记为，自相关函数记为。为了简化讨论，最...]]></description><category></category></item><item><title><![CDATA[《离散时间信号处理学习笔记》—连续时间信号的采样（三）]]></title><link>https://blog.youkuaiyun.com/Explorer_day/article/details/83070208</link><guid>https://blog.youkuaiyun.com/Explorer_day/article/details/83070208</guid><author>Explorer_day</author><pubDate>Sat, 18 May 2019 12:51:07 +0800</pubDate><description><![CDATA[注：本博客是基于奥本海姆《离散时间信号处理》第三版编写，主要是为了自己学习的复习与加深。





一、，模拟信号的数字处理

1、在实际装置中，连续时间信号不是真正带限的，理想滤波器也不能实现，理想的C/D和D/C转换器也仅仅是能够近似的，这些都是分别由模拟到数字（A/D）和数字到模拟（D/A）的转换器来近似完成的。图4.1（b）示出了处理连续时间（模拟）信号数字较为现实的模型。

图4.1...]]></description><category></category></item><item><title><![CDATA[FFmpeg一些感想]]></title><link>https://blog.youkuaiyun.com/Explorer_day/article/details/90203936</link><guid>https://blog.youkuaiyun.com/Explorer_day/article/details/90203936</guid><author>Explorer_day</author><pubDate>Tue, 14 May 2019 12:45:26 +0800</pubDate><description><![CDATA[用了ffmpeg这么多年，感觉其就是一个开源库的集合体。ffmpeg包含的八个库：

1、libswscale（视频像素数据格式转换）

2、libswresample（音频采样数据格式转换）

3、libpostproc（后加工）

4、libavutil（工具库）

5、libavformat（封装格式处理）

6、libavfilter（滤波特效处理）

7、libavdevice（各种设备...]]></description><category></category></item><item><title><![CDATA[Qt开发：Qt GUI模块——QAbstractOpenGLFunctions类]]></title><link>https://blog.youkuaiyun.com/Explorer_day/article/details/90173743</link><guid>https://blog.youkuaiyun.com/Explorer_day/article/details/90173743</guid><author>Explorer_day</author><pubDate>Mon, 13 May 2019 15:15:25 +0800</pubDate><description><![CDATA[QAbstractOpenGLFunctions类是一系列类的基类，它们公开每个OpenGL版本和配置文件的所有函数。

头文件：#include &lt;QAbstractOpenGLFunctions&gt;

qmake：QT += gui

开始引入：Qt5.1

被继承：QOpenGLFunctions_1_0, QOpenGLFunctions_1_1, QOpenGLFunction...]]></description><category></category></item><item><title><![CDATA[Qt开发：Qt Widgets模块——QDialog类]]></title><link>https://blog.youkuaiyun.com/Explorer_day/article/details/90172643</link><guid>https://blog.youkuaiyun.com/Explorer_day/article/details/90172643</guid><author>Explorer_day</author><pubDate>Mon, 13 May 2019 15:02:22 +0800</pubDate><description><![CDATA[QDialog类是对话框窗口的基类。

头文件：#include &lt;QDialog&gt;

qmake：QT += widgets

继承：QWidget

被继承：QColorDialog, QErrorMessage, QFileDialog, QFontDialog, QInputDialog, QMessageBox, QProgressDialog, and QWizard

对...]]></description><category></category></item><item><title><![CDATA[I/P/B/SI/SP帧和PTS/DTS的关系]]></title><link>https://blog.youkuaiyun.com/Explorer_day/article/details/87910354</link><guid>https://blog.youkuaiyun.com/Explorer_day/article/details/87910354</guid><author>Explorer_day</author><pubDate>Mon, 25 Feb 2019 00:43:45 +0800</pubDate><description><![CDATA[本博客转载于：https://www.cnblogs.com/xiezhaohai/p/6845159.html

 

 

I frame：帧内编码帧 又称intra picture，I 帧通常是每个 GOP（MPEG 所使用的一种视频压缩技术）的第一个帧，经过适度地压缩，做为随机访问的参考点，可以当成图象。I帧可以看成是一个图像经过压缩后的产物;

P frame: 前向预测编码帧 又称pr...]]></description><category></category></item><item><title><![CDATA[使用Winsock：组播编程]]></title><link>https://blog.youkuaiyun.com/Explorer_day/article/details/83089590</link><guid>https://blog.youkuaiyun.com/Explorer_day/article/details/83089590</guid><author>Explorer_day</author><pubDate>Wed, 17 Oct 2018 22:04:49 +0800</pubDate><description><![CDATA[通过Windows套接字启用多播编程。 Windows套接字通过使用套接字选项或IOCTL，在IPv6和Internet组管理协议版本2（IGMPv2）和3（IGMPv3）上启用多播侦听器发现（MLD）版本1（MLDv1）和2（MLDv2）。 本节介绍Windows实现，解释如何使用Windows套接字启用多播编程，并提供编程示例以说明其用法。

IGMP的第二版本（以下称为IGMPv2）使主机能...]]></description><category></category></item><item><title><![CDATA[使用Winsock：Winsock入门]]></title><link>https://blog.youkuaiyun.com/Explorer_day/article/details/83088488</link><guid>https://blog.youkuaiyun.com/Explorer_day/article/details/83088488</guid><author>Explorer_day</author><pubDate>Tue, 16 Oct 2018 15:36:06 +0800</pubDate><description><![CDATA[以下是Windows套接字编程入门的分步指南。 它旨在提供对基本Winsock函数和数据结构的理解，以及它们如何协同工作。

用于说明的客户端和服务器应用程序是一个非常基本的客户端和服务器。 Microsoft Windows软件开发工具包（SDK）附带的示例中包含更高级的代码示例。

客户端和服务器应用程序的前几个步骤相同。

关于服务器和客户端
	创建一个基本的Winsock应用程序
	正在初...]]></description><category></category></item></channel></rss>