自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(152)
  • 资源 (12)
  • 收藏
  • 关注

原创 工具、博客

查行业资料:百度指数谷歌趋势爱站网、semrush、aso100appannie、similarwebadmin5 画图:rrdtools:画出来比较工业highcharts、 echarts:画出来比较好看 赵大神:https://andrewpqc.github.io/...

2018-10-26 09:18:40 353

原创 vlc播放rtp延时越来越大

最近用GB28181调海康的IPC,将ps流解析为es,然后打包rtp,这里得吐槽一下,ps流中的pts打的准一点有那么难吗?还好帧率是稳定的,rtp头部的时戳不能直接用解析出来的pts,索性就自己按帧率计算了(累加3600),结果发现vlc播放延时越来越大,简直无法接受,传输有一定的延时,最终采用当前帧的时戳=上一帧+两帧差值(ms)*90解决,这里还要注意一点,ps流里可能一帧数据打了多个pe...

2018-10-25 18:08:52 3628 2

转载 SIP Using SDP with Offer/Answer Model

根据RFC3261-13.2.1所述,SIP使用的Offer/Answer模型是建立在对话环境下的。RFC中还特意对Offer/Answer交互有限制:1.        初始Offer必须在INVITE消息或者第一个可靠的非失败型响应中。注:当时RFC3261中可靠效应只有2**,接下来将讲到1**(除100外)也可为可靠性效应。2.        如果初始Offer在INVITE消息中...

2018-08-15 22:35:41 230

转载 SIP: From ,Contact, Via 和 Record-Route/Route head字段详解

From: 如果一个SIP消息中没有Contact或者Record-Route头域,那么callee就会根据From头域产生后续的Request。比如:如果 Alice打一个电话给Bob,From头域的内容是 From:Alice<sip:alice@example.org>。那么Bob打给Alice时就会使用 sip:alice@example.org作为To头域和Request-...

2018-08-07 10:43:30 14115

转载 海康码流分析

先取一些数据,在这之前的数据为海康的头,即NET_DVR_SYSHEAD分支,不作描述,直接取NET_DVR_STREAMDATA分支的码流数据,开始如下:00 00 01 BA 46 E6 6C A1 14 01 00 00 03 FE FF FF00 00 00 01 00 00 01 BC 00 5A E0 FF 00 24 40 0E 48 4B 00 01 0E 30 C2 0D A...

2018-07-26 09:39:57 4121 1

原创 GB28181注册认证

说几句GB28181那个上面写的验证算法,完全不知所云,不知哪位"大仙"写的,就想给他说一句:以后写的时候认真点好不,最起码对得起"GB"这两个字母啊,不发牢骚了,往下看所使用的鉴权计算公式是这样的:HA1=md5(username:realm:password)HA2=md5(Method:Uri)RESPONSE=md5(HA1:nonce:HA2) 其中会涉及到如下几...

2018-07-19 09:32:03 4637 1

转载 VS2010下编译libeXosip2.5.0

1. 下载源码http://www.antisip.com/download/exosip2/  下载libexosip2-5.0.0.tar.gz, libosip2-5.0.0.tar.gz在https://c-ares.haxx.se/ 下载c-ares-1.12.0.tar.gz2. 解压三个文件解压在同一个文件夹下面,分别目录是exosip osip c-ares目录...

2018-07-18 15:08:45 436

原创 cpu 运行主频和实际主频不一致

1.查看CPU运行主频与实际主频     grep -E '^model name|^cpu MHz' /proc/cpuinfo     结果:     model name    : Intel(R) Xeon(R) CPU E5-2640 v2 @ 2.00GHz     cpu MHz        : 1200.000     运行主频只有1.2G。2.解决办法:    1....

2018-07-16 10:16:59 5268 1

原创 sdp 详解

SDP目的就是在媒体会话中,传递媒体流信息,允许会话描述的接收者去参与会话。SDP基本上在internet上工作。他定义了会话描述的统一格式,但并不定义多播地址的分配和SDP消息的传输,也不支持媒体编码方案的协商,这些功能均由下层传送协议完成。典型的会话传送协议包括:SAP(Session Announcement Protocol会话公告协议),SIP(Session Initiation Pr...

2018-07-12 10:42:19 2768

转载 H.264 NAL层解析(0x00000001,编码,打包,NALU)

文章参考自:https://blog.csdn.net/wudebao5220150/article/details/138106711.引言H.264的主要目标:1.高的视频压缩比2.良好的网络亲和性解决方案:VCL  video codinglayer       视频编码层NAL  network abstraction layer  网络提取层VCL:核心算法引擎,块,宏块及片的语法级别的...

2018-07-10 08:35:53 491

转载 sip呼叫里SDP的一些字段的含义

v=0o=- 1 0 IN IP4 164.135.25.51 #local ip ,即本机SIP信令交互地址s=SNS call #用于传递会话主题c=IN IP4 164.135.25.51 #media ip , 即接收RTP流的媒体地址,不一定是本机地址t=0 0 #会话时间,一般由其它信令控制,故填0m=audio 30254 RTP/AVP 0# 音频接收端口(必须为偶数...

2018-07-09 10:19:43 4336

转载 ONVIF客户端搜索设备获取rtsp地址开发笔记(精华篇)

https://blog.csdn.net/gubenpeiyuan/article/details/25618177

2018-07-06 18:17:34 1215

原创 rfc 5766 TURN 中文

摘要   如果一台主机处于NAT后面,那么在一定条件下两台主机无法之间进行通讯。在这种条件下,那么使用中继服务提供通讯是有必要的。这个规范定义了一个名为TURN(使用中继穿越NAT)的协议,它允许一台主机使用中继服务与对端进行报文传输。TURN不同于其它中继协议在于它允许客户机使用一个中继地址与多个对端同时进行通讯。   TURN协议也是ICE(交互式连接建立)协议的组成部分,也可以单独使用。1、...

2018-06-25 14:51:59 862

转载 红黑树

http://blog.csdn.net/chenhuajie123/article/details/11951777

2018-06-14 19:49:21 158

转载 C++ traits

介绍traits的文章很多,但感觉大部分文章的说明都很晦涩难懂,把一个并不很复杂的C++模板的应用描述的过于复杂。忍不住想把自己的理解跟大家分享一下,或许我也只是掌握了一点traits的皮毛而已,但也希望这些皮毛能略微抓住你的眼球,带给你一些启发。首先,介绍traits前,回味一下C++的模板及应用,如果你脑海里浮现出的只是为实现一些函数或类的重用的简单模板应用,那我要告诉你,你out了。最近在整...

2018-06-07 17:33:17 500 1

原创 开源线程池

https://blog.csdn.net/pkueecser/article/details/13380757

2018-03-28 16:47:37 1418

原创 C++ 构造函数笔记

class base{public: base() { cout << "normal construct :"<<this << endl; } base(base &b) { cout << "copy construct this:"<<this<<"  src:&q

2018-03-27 20:01:07 179

转载 数据库的脏读、不可重复读、幻读以及不可重复读和幻读的区别

扫盲介绍数据库的脏读、不可重复读、幻读都和事务的隔离性有关。所以先了解一下事务的4大特性。 事务的4大特性(ACID):原子性(Atomicity):事务是数据库的逻辑工作单位,它对数据库的修改要么全部执行,要么全部不执行。 一致性(Consistemcy):事务前后,数据库的状态都满足所有的完整性约束。 隔离性(Isolation):并发执行的N个事务是隔离的,一个不影响一个,一个事务在没有co...

2018-03-27 15:07:36 288

转载 C++:继承访问属性(public/protected/private)

继承三种方式,只是将影响父类的成员到子类中变成了什么样的属性,在子类中都能访问父类的public 和protected,在类外以对象访问,就只能访问public了• 公有继承(public)公有继承在C++中是最常用的一种继承方式,我们先来看一个示例: 1 #include<iostream> 2 using namespace std; 3 class Father{ 4 pu...

2018-03-26 10:35:22 804

原创 卸载内核

卸载自己编译的内核在/boot目录下,存放着内核文件及镜像: /boot/vmlinuz*KERNEL-VERSION* /boot/initrd*KERNEL-VERSION*​ /boot/System-map*KERNEL-VERSION*​ /boot/config-KERNEL-VERSION​ /lib/modules​ KERNEL-VERSION代表

2018-01-25 11:47:28 534

原创 协方差 相关系数

如何通俗易懂地解释「协方差」与「相关系数」的概念?参考:https://www.zhihu.com/question/20852004

2018-01-10 13:49:14 382

转载 WebRTC基于GCC的拥塞控制(下) - 实现分析

参考:https://www.jianshu.com/p/5259a8659112本文在文章[1]的基础上,从源代码实现角度对WebRTC的GCC算法进行分析。主要内容包括: RTCP RR的数据源、报文构造和接收,接收端基于数据包到达延迟的码率估计,发送端码率的计算以及生效于目标模块。拥塞控制是实时流媒体应用的重要服务质量保证。通过本文和文章[1][2],从数学基础、算法步骤到实现细节,对We

2018-01-10 00:42:52 454

转载 WebRTC基于GCC的拥塞控制(上) - 算法分析

实时流媒体应用的最大特点是实时性,而延迟是实时性的最大敌人。从媒体收发端来讲,媒体数据的处理速度是造成延迟的重要原因;而从传输角度来讲,网络拥塞则是造成延迟的最主要原因。网络拥塞可能造成数据包丢失,也可能造成数据传输时间变长,延迟增大。拥塞控制是实时流媒体应用质量保证(QoS)的重要手段之一,它在缓解网络拥堵、减小网络延迟、平滑数据传输等质量保证方面发挥重要作用。WebRTC通控制发送端数据发送

2018-01-10 00:40:15 614

转载 记录一个软中断问题

前些天发现XEN虚拟机上的Nginx服务器存在一个问题:软中断过高,而且大部分都集中在同一个CPU,一旦系统繁忙,此CPU就会成为木桶的短板。在问题服务器上运行「top」命令可以很明显看到「si」存在异样,大部分软中断都集中在 1 号CPU上,其它的CPU完全使不上劲儿:shell> topCpu0: 11.3%us, 4.7%sy, 0.0%ni, 82.5%id,

2017-12-22 15:25:33 322

转载 pthread_join与pthread_detach细节问题

pthread_t    pthr;pthread_create(&pthr, NULL, thread_handler, NULL);...void* thread_handler(void* arg){    /* do something */    pthread_join(pthr, NULL);} 上面的代码不好使

2017-10-27 09:15:56 547

转载 windows下 webrtc的获得源码和编译

自己安装总结:之前网上的代码已经被全删掉了,会有一个readmewebrtc的下载路径是https://chromium.googlesource.com/external/webrtc/git clone https://chromium.googlesource.com/external/webrtc1、安装了svn小乌龟,但是识别不了svn命令 需要安装  Setup

2017-09-27 14:09:53 2581

转载 Iowait的成因、对系统影响及对策

什么是iowait?顾名思义,就是系统因为io导致的进程wait。再深一点讲就是:这时候系统在做io,导致没有进程在干活,cpu在执行idle进程空转,所以说iowait的产生要满足两个条件,一是进程在等io,二是等io时没有进程可运行。Iowait是如何计算的?先说说用户如何看到iowait吧我们通常用vmstat就能看到iowat,图中的wa就是(标红)这个

2017-09-03 14:51:50 17447

转载 ERROR: module version mismatch

systemtap 进阶执行hello word命令出错:stap -e 'probe begin { log("hello world") exit() }'从错误来看,只是比较时间上有差异,而且差别不大,如果能不比较该时间,或许问题就解决了(其实我们前面犯过一个不大不小的错误)通过stap -v 选项 (可以多些几个v的,v越多信息越详细),如下

2017-08-31 09:12:45 3780

转载 h264 rtp FU-A

总括: 一帧视频数据可以编码成多个H264的NALU, 每个NALU的开头为00 00 00 01; 一个RTP包可以传送 部分、一个或多个 NALU,看NALU的大小而定。 之前写过一篇文章,分析了h264使用rtp进行封包的格式介绍:RTP封装h264 (见下面)。但里面好像没有把拆分以及一些需要注意的情况说清楚,因此这里做补充,也作为自己的备忘(自己记性好像不太好)。

2017-08-04 12:38:36 1667 1

转载 新媒体视频智能拆条技术的研究与应用

1 引言新媒体节目生产实际是对传统媒体节目的二次加工过程,其内容来源主要有传统媒体媒资中心或影视公司成品素材,在拆条和编目后用于IPTV、OTT、手机电视等全媒体应用。如果由人工逐帧预览手动拆条的话,不仅耗时费力也不满足新媒体视听节目快速发布的高标准要求。2 视频自动拆条技术基本原理视频自动拆条技术的基本原理是通过对非结构化的视频数据进行特征或结构分析,然后采用视频分割技术

2017-07-28 11:51:46 4804

转载 linux tcp repair及tcp热迁移

概念比如docker等容器在不同的机器之间无缝迁移(可能由于调度,维护,交割等原因),是常见的需求场景但是又希望不能中断服务,因此各种虚拟机和容器的热迁移就得到很多关注。linux也在3.5版本中引入TCP_REPAIR socket选项来支持热迁移获取状态及还原当需要迁移的时候,为迁移的socket进入repair模式setsockopt设置TCP_PRE

2017-06-28 12:16:39 2469

转载 通过/proc查看Linux内核态调用栈来定位卡死问题

前几天碰到一个问题:一个进程运行过程中挂死了,把gdb挂上去之后bt打印的内容为空,后来通过查看 /proc 文件系统,查看程的调用栈,才发现是发消息给内核态程序时,内核态一直没有响应,导致用户态进程挂死。刚好在网上看到一篇描述通过 /proc 文件系统来定位问题的文章,这篇文章讲解得比较清楚,因此尝试翻译出来。原文地址:Peeking into Linux kernel-land using

2017-05-07 15:13:17 9421

原创 http 206

GET /chapter1.mp4 HTTP/1.1Host: 10.10.31.127Connection: keep-aliveUser-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/21.0.1180.60 Safari/537

2017-03-16 09:11:23 2247

转载 关于“TCP segment of a reassembled PDU”

为什么大家看到这个以后总是会往MSS,TSO上联系呢?也许第一个解释这个的人是个高手,而且以MSS/MTU/TSO的观点解释了这个问题,还有一种可能就是TSO等技术让人觉得太牛逼,毕竟是底层硬件机制吧,抓包机制又是作用于网卡层面的,所以很自然会觉得TSO会有关联。        事实上,这个跟TSO没有关系!跟MSS有一定的关系但不是全部因果关系,在阐述“TCP segment of a re

2017-02-23 14:02:12 1790

原创 ffmpeg推送rtsp交互流程--tcp

ffmpeg将流用tcp rtsp方式推送到easydarwinffmpeg.exe  -i e:\media\mp4\12905527_20151009001316_r_1236038636_20151010163836_0_1236100237.mp4 -vcodec copy -acodec copy -rtsp_transport tcp -f rtsp rtsp://10.10.27

2017-02-21 17:19:09 10221 1

原创 ffmpeg推送rtsp交互流程--udp

OPTIONS rtsp://10.10.27.222:554/push.sdp RTSP/1.0CSeq: 1User-Agent: Lavf57.29.100RTSP/1.0 200 OKServer: EasyDarwin/7.2 (Build/16.1231; Platform/Linux; Release/EasyDarwin; State/Development

2017-02-21 17:02:59 4478

原创 TCP链接的状态

1. TCP连接的状态  首先介绍一下TCP连接建立与关闭过程中的状态。TCP连接过程是状态的转换,促使状态发生转换的因素包括用户调用、特定数据包以及超时等,具体状态如下所示:CLOSED:初始状态,表示没有任何连接。LISTEN:Server端的某个Socket正在监听来自远方的TCP端口的连接请求。SYN_SENT:发送连接请求后等待确认信息。当客户端Socket进行Conne

2017-02-20 12:36:45 663

原创 记录 ID3 tag

苹果hls关于id3 tag的文档https://developer.apple.com/library/content/documentation/AudioVideo/Conceptual/HTTP_Live_Streaming_Metadata_Spec/Introduction/Introduction.html#//apple_ref/doc/uid/TP40010435-CH1-D

2017-02-10 11:42:21 828

转载 浮点数的存储

C语言,对于浮点类型的数据采用单精度类型(float)和双精度类型(double)来存储,float数据占用32bit,double数据占用64bit,我们在声明一个变量float f= 2.25f的时候,是如何分配内存的呢?如果胡乱分配,那世界岂不是乱套了么,其实不论是float还是double在存储方式上都是遵从IEEE的规范的,float遵从的是IEEE R32.24 ,而double 遵从

2017-01-18 10:27:06 287

转载 从UDP的”连接性”说起–告知你不为人知的UDP

很早就计划写篇关于UDP的文章,尽管UDP协议远没TCP协议那么庞大、复杂,但是,要想将UDP描述清楚,用好UDP却要比TCP难不少,于是文章从下笔写,到最终写成,断断续续拖了好几个月。说起网络socket,大家自然会想到TCP,用的最多也是TCP,UDP在大家的印象中是作为TCP的补充而存在,是无连接、不可靠、无序、无流量控制的传输层协议。UDP的无连接性已经深入人心,协议上的无连接性指的是

2017-01-17 16:37:06 810

rfc 4028 sip保活机制

sip保活机制 sip保活机制

2018-10-22

mpeg-2 138181中文

mpeg-2 138181中文

2018-10-22

深入理解https

2017-03-16

gdb使用说明手册

gdb命令使用详细说明

2011-02-15

B_Tree的插入算法

B_树的插入算法,分裂(详细的C++代码)

2009-08-26

空空如也

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

TA关注的人

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