![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
协议簇
Stone_OverLooking
这个作者很懒,什么都没留下…
展开
-
基于RTP的FEC前向丢错算法简介
基于RTP的FEC前向丢错算法简介,作为入门挺不错的,原文链接:http://www.mediapro.cc/?cat=3转载 2017-11-09 16:52:14 · 802 阅读 · 0 评论 -
libsrtp库的编译与测试方法
首先需要去GitHub上下载相关的文件,点击打开链接下载完成后将zip文件解压到自己的目录下cd your path/libsrtp-master./configuremakemake runtestmake install编译完成了。测试的方法是cd test./rtpw_test.sh原创 2017-06-29 13:49:38 · 3839 阅读 · 0 评论 -
RTP-RTCP协议分析
RTP协议分析 一. RTP协议背景..........................................................................................................1二. RTP协议原理及工作机制......................................................转载 2017-08-10 16:44:38 · 343 阅读 · 0 评论 -
FEC详解一
顾名思义,FEC前向纠错,根据收到的包进行计算获取丢掉的包,而和大神沟通的结果就是 纠错神髓:收到的媒体包+冗余包 >= 原始媒体包数据 直到满足 收到的媒体包+ 冗余包 >= 原始媒体包数据 则进入恢复模式,恢复出2 4,然后一次输出2 3 4 5所谓的Qos,也可以理解为抖动缓冲,解决udp包乱序、包重复的问题NAT保活,保持udp连接,简言之:转载 2017-08-31 19:47:00 · 5091 阅读 · 0 评论 -
FEC详解二
前面简单说了一下FEC,以及它的配合使用的方法。下面我想详细说一下FEC算法:曾经有位大神在帖子里这么写着:采用改进型的vandermonde矩阵RS算法.其优点算法运算复杂度更低且解决了利用矩阵构造RS码当矩阵奇异时,构造的纠错码不为RS码的问题。FEC的方案:在RTP或私有协议头上扩展出包组头(Group head),一个Group有k个媒体包和r个冗余包组成,他们在Group转载 2017-08-31 19:48:04 · 6919 阅读 · 0 评论 -
FEC详解三
继续上文讲解:3)标准的RTP头结构如下所示:其中第一个字节中的x标志位是否扩展了RTP头,RTP协议允许用户自定义的扩展,扩展的字段紧挨上述RTP固定头。RTP扩展投中承载如下信息:1).当前包所在的Group组序号,码流由连续的Group组成,每个Group拥有自己的唯一序号。(仅仅是小范围的唯一,序号大于255时,计数清零)2).当前包所在的Group组大小3转载 2017-08-31 19:49:18 · 4492 阅读 · 0 评论 -
TS流相关问题
由于要在crtmpserver中实现Http Live Streaming ,本人花了接近3个星期的时间,研究将H264与AAC打包为TS流并能在Ipad上通过HTML5播放,由于没有任何现成代码可供参考,打包代码全部手写,打包格式主要参考ISO/ICE 18318-1.pdf。期间碰到很多问题,走了不少弯路,符合标准的TS不一定能在Ipad上播放,但是Ipad上播放的TS一定是符合标准的,可以说转载 2017-09-07 18:10:43 · 1252 阅读 · 0 评论 -
udp丢包
自己在做UDP传输时遇到的问题,接收端没设置缓存,结果总是丢包。看到这篇文章设置了一下接收缓存就好int nRecvBuf=32*1024;//设置为32K setsockopt(s,SOL_SOCKET,SO_RCVBUF,(const char*)&nRecvBuf,sizeof(int)); int nRecvBuf=32*1024;//设置为32K转载 2017-09-19 19:01:51 · 487 阅读 · 0 评论 -
GOP/ 码流 /码率 / 比特率 / 帧速率 / 分辨率
GOP/ 码流 /码率 / 比特率 / 帧速率 / 分辨率GOP(Group of picture) 关键帧的周期,也就是两个IDR帧之间的距离,一个帧组的最大帧数,一般而言,每一秒视频至少需要使用 1 个关键帧。增加关键帧个数可改善质量,但是同时增加带宽和网络负载。 需要说明的是,通过提高GOP值来提高图像质量是有限度的,在遇到场景转载 2017-11-01 17:04:28 · 716 阅读 · 0 评论 -
H.264 基础及 RTP 封包详解
一. h264基础概念1、NAL、Slice与frame意思及相互关系 1 frame的数据可以分为多个slice.每个slice中的数据,在帧内预测只用到自己slice的数据, 与其他slice 数据没有依赖关系。 NAL 是用来将编码的数据进行大包的。 比如,每一个slice 数据可以放在NAL 包中。I frame 是自己独立编码,不依赖于其他转载 2017-11-02 17:26:21 · 335 阅读 · 0 评论 -
Android硬编码——音频编码、视频编码及音视频混合
转载自:http://lib.csdn.net/article/liveplay/57099?knId=1546视频编解码对许多Android程序员来说都是Android中比较难的一个知识点。在Android 4.1以前,Android并没有提供硬编硬解的API,所以之前基本上都是采用FFMpeg来做视频软件编解码的,现在FFMpeg在Android的编解码上依旧广泛应用。本篇博客主要讲到转载 2017-11-09 10:23:05 · 416 阅读 · 0 评论 -
Android平台对H264视频硬解码
Android平台对H264视频硬解码 本文讲述如何使用Android标准的API (MediaCodec)实现H264的硬件解码。 原本我们是用JNI调用平台提供的硬件解码接口得到YUV帧,再放入opengl脚本里处理渲染的。可是换了新平台之后,没有拿到底层的接口,所以这两天找在Android上的H264解码方案。前天在友人的提示下找到了MediaCodec这个类,And转载 2017-11-09 10:26:33 · 495 阅读 · 0 评论 -
基于RTP/RTCP的无线视频传输自适应带宽控制
1、RTP/RTCP简介RTP协议是IP网络中针对实时业务的一种传输协议,一般构架在UDP协议之上。另外,它也是一个数据封装协议,实时业务数据封装于RTP包的数据域中。RTP协议的设计目的是提供实时数据传输中的时间戳信息及各数据流(音/视频等)同步功能。RTP提供序列号(Sequence Number)以恢复数据包的顺序,实现丢包检测,为实时传输提供网络拥塞等信息;提供时间戳(Time转载 2017-11-09 15:27:15 · 1638 阅读 · 0 评论 -
RTP、RTCP、FEC包数据结构简介
1. 数据包格式1.1. Interlaced结构STAE模块采用RTP/RTCP进行指令交互和数据发送,同时对RTP/RTCP进行了2种方式的扩展,一种是添加额外的扩展头Interlaced,一种是在RTP/RTCP协议头中进行了扩展,因此STAE的指令是以下的方式存在(均采用网络序) channel=0x00 channel=0x01 channel=0x02...原创 2018-02-22 11:46:57 · 3019 阅读 · 2 评论