easyhao007
码龄11年
关注
提问 私信
  • 博客:54,028
    社区:2,844
    56,872
    总访问量
  • 29
    原创
  • 573,660
    排名
  • 13
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:北京市
  • 加入CSDN时间: 2014-07-08
博客简介:

好过的专栏

查看详细资料
个人成就
  • 获得17次点赞
  • 内容获得3次评论
  • 获得70次收藏
创作历程
  • 2篇
    2022年
  • 3篇
    2021年
  • 7篇
    2020年
  • 4篇
    2019年
  • 2篇
    2017年
  • 7篇
    2016年
  • 4篇
    2015年
  • 10篇
    2014年
成就勋章
TA的专栏
  • RTC
    5篇
  • avformat
    2篇
  • 视频压缩通信
    2篇
  • nginx
    1篇
  • HEVC学习
    5篇
  • rtmpdump源码阅读
  • ffmpeg源码阅读
    13篇
  • codeblocks
  • SDL学习
    2篇
  • 视音频数据处理入门系列文章
    6篇
兴趣领域 设置
  • 服务器
    linux
创作活动更多

2024 博客之星年度评选报名已开启

博主的专属年度盛宴,一年仅有一次!MAC mini、大疆无人机、华为手表等精美奖品等你来拿!

去参加
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

二、webrtc-sfu - 推流篇 - STUN

接上,webrtc推流之前需要找到对端和自己的公网IP以及所处位置,这就需要用到STUN协议,本片文章主要记录STUN协议的内容。
原创
发布博客 2022.07.19 ·
1177 阅读 ·
0 点赞 ·
1 评论 ·
1 收藏

一、webrtc-sfu - 推流篇 - 概览

学习和总结下webrtc推流的过程,仅仅是数据协议层的流程,不包括信令协议(这个也没有统一的规范)。服务器使用的是janus-gateway推流篇一、抓包看总流程大概流程如下:通过STUN协议获取对方的公网IP和端口通过DTLS协议进行握手,设置加密信息等通过RTP和RTCP协议进行数据的传输和数据状态的上报和获取。二、简单了解协议2.1 STUN协议协议标准 - RFC5389参考文档-12.1.1 为什么需要STUN协议?首先需要了解下STUN协议能..
原创
发布博客 2022.05.31 ·
2600 阅读 ·
1 点赞 ·
0 评论 ·
3 收藏

RFC-6184 H264-RTP打包

详细的RFC见RFC-618简介RTP是流协议,所以传输的H264一定是Nal类型的H264数据,Nal的头中有三个字段,分辨是forbidden_zero, nal_ref, nal_unit_type,内涵不再详细说明。RTP头格式中与H264相关的字段如下:M (Mark), 表示当前包是H264 Nal的最后一个包。PT(Payload Type),对于H264该字段应该是通过SDP或则其他信令映射的标示。Sequence Number, 序列号,单调递增。Timestamp 时.
原创
发布博客 2021.08.24 ·
968 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

RFC-5285-RTP-Header-Extensions

简介在RTC3550中提供了一种可扩展RTP头的能力。定义如下图,现有的报头扩展方法允许每个RTP分组最多有一个扩展,由16位标识符和16位长度字段标识,该字段以32位指定报头扩展的长度。这种机制有两个弊端:第一在一个RTP包中只能提供一个扩展头,第二规范并没有给出如何分配16位头扩展标识符以避免冲突的指导。本规范通过定义一种向后兼容和可扩展的方法来在单个RTP分组中携带多个报头扩展元素,从而消除了第一个缺点。通过定义这些扩展元素来消除第二个缺点,这些扩展元素使用URLs命名,在IETF中定义一个
原创
发布博客 2021.08.23 ·
1001 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

RTP控制协议-RTCP

RTCP包组成数据包格式时序规则参与者数据库包格式规范定义了统一的基本包格式,如下:V 版本号,默认为2P 填充,加密使用,类似于RTP的方式,最后一个字节为填充总数IC,item count条目数量,最多为31个,注意MTU的限制,如果超过31个条目,则需要对内容进行分包。PT,Packet Type,包类型,看下面的定义Length, 长度五种RTCP包类型接收方报告(RR)发送方报告(SR)源描述(SDES)成员管理(BYE)应用程序定义(APP)P
原创
发布博客 2021.08.03 ·
205 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

H264 - SPS PPS

H264SPS 序列参数集seq_parameter_set_data() //C Descriptor{ profile_idc; //0 u(8) constraint_set0_flag; //0 u(1) constraint_set1_flag; //0 u(1) constraint_set2_flag; //0 u(1) constraint_set3_flag; //0 u(1) constraint_set4_flag
原创
发布博客 2020.11.23 ·
226 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

FLV封装结构

文章目录FLV结构FLV headerFLV TagAudio Tag HeaderVideo Tag HeaderFLV File BodyFLV结构FLV结构video tag - avc video packet![在这里插入图片描述](https://img-blog.csdnimg.cn/20201123110215421.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM
原创
发布博客 2020.11.23 ·
326 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Exp-Golomb 指数哥伦布编码

文章目录1. 熵编码(Entropy encoding)1.1 熵1.2 熵和熵编码1.3 熵编码分类2. 指数哥伦布编码(编码过程)2.1 0阶指数哥伦布编码2.2 K阶指数哥伦布编码3. 指数哥伦布编码(解码过程)3.1 ue(v)H264语法3.2 se(v)3.3 me(v)3.4 te(v)3.4.1 te(v)编码过程3.4.2 te(v)解码过程4. 总结因为指数哥伦布编码(Exponential-Golomb)属于熵编码(Entropy encoding),所以我们先大致介绍一下熵编码,然
转载
发布博客 2020.11.21 ·
2401 阅读 ·
4 点赞 ·
0 评论 ·
10 收藏

Annex-B和AVCC

格式Annex-BAVCC(H.264) 和 HVCCAnnex-BAnnex-B格式 也叫MPEG-2 transport stream format格式(ts格式), ElementaryStream格式。AVCC(H.264)AVCC格式 也叫AVC1格式,MPEG-4格式,字节对齐,因此也叫Byte-Stream Format。用于mp4/flv/mkv, VideoToolbox。结构结构主要有两点区别:SPS和PPS的组织格式数据分隔方式不同Annex-B -结构
原创
发布博客 2020.11.20 ·
2143 阅读 ·
2 点赞 ·
0 评论 ·
9 收藏

AAC 数据格式

AACAAC 数据格式1 ADIF格式1.1 序列语法1.1.1 adif_header2 ADTS格式2.1 adts_sequence2.1.1 adts_frame2.1.1.1 adts_fixed_headerAAC 数据格式AAC是常见的编码格式,编码后的数据封装格式分为两种:ADIF(Audio Data Interchange Format) 和 ADTS(Audio Data Transport Stream), 常见的主要是ADTS封装。1 ADIF格式1.1 序列语法ad
原创
发布博客 2020.11.19 ·
1046 阅读 ·
0 点赞 ·
1 评论 ·
2 收藏

3.1图像的空间域统计特性

3.1图像的空间域统计特性是什么?图像信号(亮度 色度)本身,或则对他们进行某种方式的处理之后的输出值的随机统计特性。如 一行的相邻像素,一列的相邻像素,相邻行对应的像素之间,视频帧间对应的位置往往具有很强的相关性;相关函数直方图如RGB直方图的,行坐标一般位0-255,因为颜色就这么大;纵轴位每个行坐标对应的像素的个数,直观,好看...
原创
发布博客 2020.06.04 ·
533 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

2.1 墒编码基本原理

目录墒编码信息量的概念举个例子墒编码概念墒编码信息量的概念信息量:表示该符号所需要的位数考虑用0和1组成的二进制数码为含有N个符号的某条消息进行编码假设符号 aj在整条消息中重复出现的概率为 Pj ,则该符号的信息量定义为:En = -log2(Pj)举个例子假如信源字符串:aabbaccbaaa,b,c,出现的概率分别为:0.5;0.3;0.2,他们的信息量分别为:Ea=-log2(0.5) = 1Eb=-log2(0.3) = 1.737Ec=-log2(0.2) = 2.
原创
发布博客 2020.05.15 ·
377 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

nginx学习

文章目录nginx热部署nginx热部署备份旧进程文件,替换成新进程文件;启动新版本kill -USR2 pid停止老版本kill -WINCH pid如果新版本有问题,reload可以直接回退到老版本./sbin/nginx -s reload...
原创
发布博客 2019.11.21 ·
138 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

FFmpeg转码一帧(时间戳)

写在前面时间戳 时间基 帧 包 I B P SPS PPS 场 封装格式 编码格式 音频 视频如果上面的这些关键字有些不了解的需要先查资料弄懂ffmpeg转码一帧转码过程此文档中我会主要关注每一步的时间戳是如何处理的,这也是记录这篇文章的原因。读取一帧注册,打开输入,扫描输入信息(av_regigster_all(),avforamt_open_input(),avform...
原创
发布博客 2019.07.04 ·
2522 阅读 ·
2 点赞 ·
0 评论 ·
4 收藏

ffmpeg - 优质博客

基础FFmpeg基础知识叶余-ffmpeg 专栏
原创
发布博客 2019.05.31 ·
3508 阅读 ·
2 点赞 ·
0 评论 ·
15 收藏

数字视频简介

数字视频简介基本术语颜色编码方法深度(bit depth)分辨率宽高比帧率码率码率控制方法(VBR/CBR/ABR)隔行/逐行扫描隔行扫描逐行扫描查看视频信息基本术语颜色编码方法一张图片可以被想象成2D的矩阵。如果我们考虑颜色,我们可以顺着这个思路一张图片想象成3D矩阵,其中另外一个D用于存储颜色数据。如果我们使用原色(红,黄,蓝三色)代表这些颜色,我们可以定义三个平面:第一个代表红色,...
翻译
发布博客 2019.01.21 ·
1474 阅读 ·
3 点赞 ·
0 评论 ·
8 收藏

Source Insight4.0破 解 版

发布资源 2018.05.09 ·
zip

WebRTC零基础开发者教程

发布资源 2018.04.04 ·
zip

ffmpeg 编译

windows编译编译环境准备登陆 http://msys2.github.io/ 或 https://github.com/msys2 下载 msys2安装程序 安装到C/D 盘的根目录下面安装一些必要的库和软件 pacman -S git pacman -S yasmpacman -S makepacman -S mingw-w64-x86_64-gcc 编译下载ffmpeg源
原创
发布博客 2017.10.25 ·
257 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

ffmpeg.c源码阅读

入口函数mainint main(int argc, char **argv){ int i, ret; int64_t ti; init_dynload(); register_exit(ffmpeg_cleanup); setvbuf(stderr,NULL,_IONBF,0); /* win32 runtime needs this */ av_log
原创
发布博客 2017.08.16 ·
656 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多