自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 流媒体协议-- HTTP-FLV

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. 相

2021-12-05 20:42:28 1618

原创 流媒体网络协议 -- RTSP

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协议的异同同:都是使用纯文本来发送

2021-12-05 20:35:28 6100 1

原创 流媒体网络协议 -- DASH

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。类似的方案

2021-12-05 19:44:01 7539 1

原创 流媒体网络协议 -- HLS

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下载的媒体分片(

2021-12-05 19:19:43 3673

原创 封装格式 -- FLV

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例子--

2021-12-05 16:50:38 429

原创 编解码格式 -- AAC

AAC音频基础:AAC的特点1. 数据组织格式:2.数据帧3.带ADTS的AAC特点ADTS1. 结构2. ADTS固定头部信息示意图:关键信息3. ADTS可变头部信息示意图:关键信息:4. 举个例子:问题:音频基础:采样率(samplerate):定义了每秒从连续信号中提取并组成离散信号的采样个数,单位为Hz。采样周期:即采样率的倒数,表示采样点之间的时间间隔。采样位数:记录采样点数据的精度,一般是8bits或16bits。码率(kbps) = 采样率(kHz) x 采样位数(bits/采

2021-12-05 15:58:17 1625 2

原创 YUV格式

YUV&&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

2021-12-05 15:34:20 140

原创 编解码格式 -- H264

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)预测和

2021-12-05 14:35:34 3433

原创 封装格式 -- MP4

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类型计算片源播放时长

2021-12-04 18:31:36 853

原创 封装格式--TS

TS基础知识TS packet的大小TS封装过程PES packet内部结构如下图关键栏位TS packet内部结构关键栏位PSI/SI基础知识ES流(Elementary Stream):基本码流,不分段的音频、视频或其它信息的连续码流。PES流(Packeted Elementary Stream):打包的基本码流,把基本码流(ES)分割成段,并加上头部信息打包而成。PS流(Program Stream):节目流,将具有共同时间基准的一个或多个PES复合并打包而成的单一数据流。PS包的长

2021-11-18 00:13:17 2102

原创 排 序 总 结

冒泡排序解析比较两个相邻的数字,将较大者放在高位,直到将未排序序列中的最大者放在未排序序列的最高位,也就是排好序的序列的之后,直到所有数字都排好序。这个过程类似水中气泡往上浮,故而叫冒泡法。时间复杂度:O(N2)空间复杂度:O(1)代码实现// 升序void BubbleSort(vector<int> &nums){ int vecSize = nums.size(); // i 表示排好序的数字数量,所以只需要排好(vecSize-1)个数字就可以了

2021-05-16 15:40:08 68

原创 leetcode-树

Tree模板问题描述:解析:代码实现:94. 二叉树的中序遍历问题描述:给定一个二叉树的根节点 root ,返回它的 中序 遍历。解析:代码实现:递归:class Solution {private: void inOrder(TreeNode* node, vector<int> &iVec) { if (node == nullptr) return; inOrder(n

2021-05-04 17:12:46 349

原创 leetcode-链表

StringTree783. 二叉搜索树节点最小距离给你一个二叉搜索树的根节点 root ,返回 树中任意两不同节点值之间的最小差值 。解析:如果对节点的值进行排序,那某个值与其相邻的两个值的差值中的最小值就是该值与其它值差值的最小值,那实际上只要对排序后的值进行遍历,就可以找出最小值。给定的树是二叉搜索数,即对于每个节点,父节点的值大于左子节点的值,且小于右子节点的值。所以如果对其进行中序遍历,那遍历的值是升序的。所以解题思路就是先对二叉树进行中序遍历,将节点的值保存到数组中,此时,数组

2021-04-22 22:20:30 269

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除