<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Ritchie_Lin的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Ritchie_Lin</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Ritchie_Lin]]></copyright><item><title><![CDATA[流媒体协议-- HTTP-FLV]]></title><link>https://blog.youkuaiyun.com/Ritchie_Lin/article/details/121734898</link><guid>https://blog.youkuaiyun.com/Ritchie_Lin/article/details/121734898</guid><author>Ritchie_Lin</author><pubDate>Sun, 05 Dec 2021 20:42:28 +0800</pubDate><description><![CDATA[HTTP-FLVHTTP-FLV简介分块传输编码请求响应报文分析

HTTP-FLV简介


基于HTTP 1.1 分块传输机制(Chunked transfer encoding)实现直播。


客户端每次请求HTTP-FLV直播流，服务器先发送FLV header、script tag以及audio config tag和video config tag，再发送当前时间点FLV音视频数据。(一header三tag)


HTTP-FLV优缺点：
优点：
a. 服务器兼容性好：基于HTTP协议。
b. 相]]></description><category></category></item><item><title><![CDATA[流媒体网络协议 -- RTSP]]></title><link>https://blog.youkuaiyun.com/Ritchie_Lin/article/details/121734033</link><guid>https://blog.youkuaiyun.com/Ritchie_Lin/article/details/121734033</guid><author>Ritchie_Lin</author><pubDate>Sun, 05 Dec 2021 20:35:28 +0800</pubDate><description><![CDATA[RTSPRTSP介绍1. 与HTTP协议的异同2. RTSP的特性RTSP原理1. RTSP会话交互过程2. RTSP客户端状态机：RTSP请求与回应1.RTSP方法一览：2.RTSP请求和回应信息格式3. 必要方法

RTSP介绍
RTSP（Real Timing Streaming Procotol）全称“实时流协议”，是TCP/IP协议体系下的一个应用层协议，定义了一对多应用程序如何有效地通过IP网络传送多媒体数据， 用于多媒体数据的网络控制。
1. 与HTTP协议的异同
同：

都是使用纯文本来发送]]></description><category></category></item><item><title><![CDATA[流媒体网络协议 -- DASH]]></title><link>https://blog.youkuaiyun.com/Ritchie_Lin/article/details/121733685</link><guid>https://blog.youkuaiyun.com/Ritchie_Lin/article/details/121733685</guid><author>Ritchie_Lin</author><pubDate>Sun, 05 Dec 2021 19:44:01 +0800</pubDate><description><![CDATA[DASHDASH介绍1. DASH工作原理2. DASH相比于HLS的优势：媒体描述文件MPD文件夹解析1. SegmentBase形式：2.  SegmentList形式：3.  SegmentTemplate形式:

DASH介绍
DASH（Dynamic Adaptive Streaming over HTTP）全称为“基于HTTP的动态自适应流”，是一种自适应比特率流技术，
可以是高质量流媒体可以通过传统的HTTP网络服务器以互联网传递，支持TS profile和ISO profile。
类似的方案]]></description><category></category></item><item><title><![CDATA[流媒体网络协议 -- HLS]]></title><link>https://blog.youkuaiyun.com/Ritchie_Lin/article/details/121733309</link><guid>https://blog.youkuaiyun.com/Ritchie_Lin/article/details/121733309</guid><author>Ritchie_Lin</author><pubDate>Sun, 05 Dec 2021 19:19:43 +0800</pubDate><description><![CDATA[HLSHLS介绍1. 原理2. HLS多媒体系统3. HLS的优势和不足：媒体描述文件1. 主播放列表(Master Playlist)2. 媒体播放列表(Media Playlist)3. 播放列表中URL生成规则：4. 扩展实际应用遇到的问题

HLS介绍
HLS（HTTP Live Streaming）全称为http直播流，是一个由Apple公司提出的基于HTTP的媒体流传输协议，用来实现实时音视频流的传输。
1. 原理
服务器将码流切割成一个个小的(通常是10秒一个)可以通过HTTP下载的媒体分片(]]></description><category></category></item><item><title><![CDATA[封装格式 -- FLV]]></title><link>https://blog.youkuaiyun.com/Ritchie_Lin/article/details/121730749</link><guid>https://blog.youkuaiyun.com/Ritchie_Lin/article/details/121730749</guid><author>Ritchie_Lin</author><pubDate>Sun, 05 Dec 2021 16:50:38 +0800</pubDate><description><![CDATA[FLV内部结构1. FLV Header-- 内部结构图-- 关键栏位2. FLV file bodyFLV tag1. 类型2. FLV tag header-- 内部结构图-- 关键栏位3. Audio Tag Body-- 内部结构图-- 关键栏位-- Audio config tag-- Audio raw data tag4. Video Tag Body-- 内部结构图-- 关键栏位-- Video config tag-- Video raw data tag-- video tag例子-- ]]></description><category></category></item><item><title><![CDATA[编解码格式 -- AAC]]></title><link>https://blog.youkuaiyun.com/Ritchie_Lin/article/details/121730294</link><guid>https://blog.youkuaiyun.com/Ritchie_Lin/article/details/121730294</guid><author>Ritchie_Lin</author><pubDate>Sun, 05 Dec 2021 15:58:17 +0800</pubDate><description><![CDATA[AAC音频基础：AAC的特点1. 数据组织格式：2.数据帧3.带ADTS的AAC特点ADTS1. 结构2. ADTS固定头部信息示意图：关键信息3. ADTS可变头部信息示意图：关键信息：4. 举个例子：问题：

音频基础：

采样率(samplerate)：定义了每秒从连续信号中提取并组成离散信号的采样个数，单位为Hz。
采样周期：即采样率的倒数，表示采样点之间的时间间隔。
采样位数：记录采样点数据的精度，一般是8bits或16bits。
码率(kbps) = 采样率(kHz) x 采样位数(bits/采]]></description><category></category></item><item><title><![CDATA[YUV格式]]></title><link>https://blog.youkuaiyun.com/Ritchie_Lin/article/details/121729321</link><guid>https://blog.youkuaiyun.com/Ritchie_Lin/article/details/121729321</guid><author>Ritchie_Lin</author><pubDate>Sun, 05 Dec 2021 15:34:20 +0800</pubDate><description><![CDATA[YUV&amp;&amp;RGBYUV颜色空间YUV和RGB的转化YUV采样格式YUV 4:4:4采样YUV 4:2:2采样YUV 4:2:0采样YUV存储方式基于YUV 4:2:0采样的存储格式YUV 420PYUV 420SP (special planar)

YUV颜色空间
YUV颜色编码采用的是明亮度和色度来表示像素的颜色。其中，
Y表示明亮度(Luminance, Luma)
U和V表示色度，色度定义了颜色的两个方面：色调(U, Chrominance)和饱和度(V, Chroma)
使用YUV]]></description><category></category></item><item><title><![CDATA[编解码格式 -- H264]]></title><link>https://blog.youkuaiyun.com/Ritchie_Lin/article/details/121727632</link><guid>https://blog.youkuaiyun.com/Ritchie_Lin/article/details/121727632</guid><author>Ritchie_Lin</author><pubDate>Sun, 05 Dec 2021 14:35:34 +0800</pubDate><description><![CDATA[H264MPEG编解码格式历史对应关系H264编解码原理视频数据能被大量压缩的原因H264视频编码常见名词帧（frame）场（field）片（slice）宏块（macro block）序列（GOP）序列参数集 SPS(Sequence Parameter Set )图像参数集 PPS(Picture Parameter Set )参考帧H264数据层级的关系SPS、PPS和视频数据间的关系H264的分层结构H264的主要目标H264的规格（profile）H264的等级（level）帧间(intra)预测和]]></description><category></category></item><item><title><![CDATA[封装格式 -- MP4]]></title><link>https://blog.youkuaiyun.com/Ritchie_Lin/article/details/121482970</link><guid>https://blog.youkuaiyun.com/Ritchie_Lin/article/details/121482970</guid><author>Ritchie_Lin</author><pubDate>Sat, 04 Dec 2021 18:31:36 +0800</pubDate><description><![CDATA[MP4前言发展历史MP4在线分析工具MPEG-4MP4解析重要概念BoxTrackSampleChunkBOX详解STBLStsd(sample description)Stts(Decompressing time to sample)：Ctts(composition time to sample):Stss(sync sample):Stsz(sample size):Stsc(sample to chunk):Stco(chunk offset)关键参数的计算确定trak box类型计算片源播放时长]]></description><category></category></item><item><title><![CDATA[封装格式--TS]]></title><link>https://blog.youkuaiyun.com/Ritchie_Lin/article/details/121390882</link><guid>https://blog.youkuaiyun.com/Ritchie_Lin/article/details/121390882</guid><author>Ritchie_Lin</author><pubDate>Thu, 18 Nov 2021 00:13:17 +0800</pubDate><description><![CDATA[TS基础知识TS packet的大小TS封装过程PES packet内部结构如下图关键栏位TS packet内部结构关键栏位PSI/SI
基础知识

ES流(Elementary Stream)：
基本码流，不分段的音频、视频或其它信息的连续码流。
PES流(Packeted Elementary Stream)：
打包的基本码流，把基本码流(ES)分割成段，并加上头部信息打包而成。
PS流(Program Stream)：
节目流，将具有共同时间基准的一个或多个PES复合并打包而成的单一数据流。PS包的长]]></description><category></category></item><item><title><![CDATA[排 序 总 结]]></title><link>https://blog.youkuaiyun.com/Ritchie_Lin/article/details/116564255</link><guid>https://blog.youkuaiyun.com/Ritchie_Lin/article/details/116564255</guid><author>Ritchie_Lin</author><pubDate>Sun, 16 May 2021 15:40:08 +0800</pubDate><description><![CDATA[冒泡排序
解析
比较两个相邻的数字，将较大者放在高位，直到将未排序序列中的最大者放在未排序序列的最高位，也就是排好序的序列的之后，直到所有数字都排好序。这个过程类似水中气泡往上浮，故而叫冒泡法。
时间复杂度：O(N2)
空间复杂度：O(1)
代码实现
// 升序
void BubbleSort(vector&lt;int&gt; &amp;nums)
{
    int vecSize = nums.size();
    // i 表示排好序的数字数量，所以只需要排好(vecSize-1)个数字就可以了
]]></description><category></category></item><item><title><![CDATA[leetcode-树]]></title><link>https://blog.youkuaiyun.com/Ritchie_Lin/article/details/116034221</link><guid>https://blog.youkuaiyun.com/Ritchie_Lin/article/details/116034221</guid><author>Ritchie_Lin</author><pubDate>Tue, 04 May 2021 17:12:46 +0800</pubDate><description><![CDATA[Tree
模板
问题描述：
解析：
代码实现：
94. 二叉树的中序遍历
问题描述：
给定一个二叉树的根节点 root ，返回它的 中序 遍历。
解析：
代码实现：
递归：
class Solution {
private:
    void inOrder(TreeNode* node, vector&lt;int&gt; &amp;iVec)
    {
        if (node == nullptr)
            return;
        
        inOrder(n]]></description><category></category></item><item><title><![CDATA[leetcode-链表]]></title><link>https://blog.youkuaiyun.com/Ritchie_Lin/article/details/115658740</link><guid>https://blog.youkuaiyun.com/Ritchie_Lin/article/details/115658740</guid><author>Ritchie_Lin</author><pubDate>Thu, 22 Apr 2021 22:20:30 +0800</pubDate><description><![CDATA[String

Tree
783. 二叉搜索树节点最小距离
给你一个二叉搜索树的根节点 root ，返回 树中任意两不同节点值之间的最小差值 。
解析：

如果对节点的值进行排序，那某个值与其相邻的两个值的差值中的最小值就是该值与其它值差值的最小值，那实际上只要对排序后的值进行遍历，就可以找出最小值。
给定的树是二叉搜索数，即对于每个节点，父节点的值大于左子节点的值，且小于右子节点的值。所以如果对其进行中序遍历，那遍历的值是升序的。
所以解题思路就是先对二叉树进行中序遍历，将节点的值保存到数组中，此时，数组]]></description><category></category></item></channel></rss>