自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

靑い空゛

一歩ずつ歩み続けてはじめて千里の遠くに行き着けるし❀

  • 博客(288)
  • 资源 (10)
  • 收藏
  • 关注

原创 【[issues]】opensips 踩坑 483错误 sip: SIP: SIP/2.0 483 Too Many Hops

在公网服务上搭建开源opensips 配置ip后一直弹 483 错误。

2024-02-27 16:09:18 131

原创 grafana api创建dashboard 记录

直接在ui通过json model 导入,开发自己用还好,但对非开发人员不太友好,故考虑通过api后台自动创建。一个质量监控就搭好了 .

2023-10-13 11:37:49 1323

原创 linux c++ 非阻塞tcp socket client简单实现

需求还需上报下数据,服务本身就是单进程线程安全的,不能用阻塞socket,通过getsockopt() TCP_INFO弄了个简单判断连接存活的方法,数据不是很重要,可靠性要求不高,也可以考虑udp.

2023-07-14 15:38:59 1337

原创 webrtc QOS笔记四 Nack机制浅析

NackModule2::GetNackBatch(kTimeOnly) :kTimeOnly 根据时间判断是否发送nack,在没有打开补偿配置的情况下间隔为一个rtt时间,rtt会动态更新(默认频率1000ms), 初始值为kDefaultRttMs(100ms), 再次发送的时间 resend_delay 默认为一个rtt 时间,即一个rtt时间后没有收到重传回来的nack,就继续发送, 实验阶段增加了补偿配置,可以动态延长resend_delay 延迟, 可以作为改进方案之一, 后面有提.

2023-04-04 11:28:00 768 1

原创 webrtc QOS笔记三 RTT计算,SRS增加XR

完整NTP时间戳用64bits表示,左半32bits表示整数,右半32bits表示小数,一般为了紧凑,取中间32bits表示即可,这时整数与小数分别16bits表示)。记录着上次源SSRC_n发送SR的NTP时间,从收到的SR记录的NTP时间戳获取。记录着上次源SSRC_n发送Receiver Reference Time Report Block的NTP时间,从收到的Receiver Reference Time Report Block记录的NTP时间戳获取。记录着发送该SR的NTP时间戳。

2023-03-22 16:01:29 960

原创 [issues] webrtc 接入SRS丢包率不正确问题

SrsRtcConnection::negotiate_play_capability 里面分配 rtx_ssrc_, rtx_pt, rtx_apt。: SRS暂不支持RTX通道发送nack重传包,重传包以media形式发送,sdk没有区分开来,没有将nack重传包计入丢包统计,得到的实际丢包率远低于实际丢包率。RTX在webrtc SDK里面视频是默认打开RTX的[M88],SRS没有支持,需要先在SRS SDP协商里面解析和分配rtx相关字段.这里简单过来拉流端增加方法。

2023-03-17 09:46:59 223

原创 webrtc QOS笔记二 音频buffer数据不足生成很多gap的问题

webrtc QOS笔记二 音频buffer数据不足生成很多gap的问题

2023-02-23 17:56:29 294

原创 webrtc QOS笔记一 Neteq直方图算法浅读

webrtc qos of neteq histogram

2023-02-16 17:23:35 580

原创 opengl helloworld vscode 调用glfw 绘制三角形

opengl helloworld vscode 调用glfw 绘制三角形

2022-07-06 18:22:28 702

转载 【issue】Git 对库文件权限的管理 git config core.filemode

Git 对库文件权限的管理 git config core.filemode

2022-06-25 13:47:15 2202

原创 k8s学习笔记一(搭建&部署helloworld应用)

k8s学习笔记一(搭建&部署helloworld应用)文章目录k8s学习笔记一(搭建&部署helloworld应用)虚拟机创建三个节点k8s install部署hello world 应用issue 汇总node 一直处理NotReady状态重启系统后虚拟机的网络不通虚拟机创建三个节点这里略过.网络模式用的hostonly系统ubuntu 20.04k8s installset -x#根据规划设置主机名(在3台机上分别运行)hostnamectl set-hostn

2022-03-23 12:01:43 2218 1

原创 [golang] go中如何监听一组channels

go中如何监听一组channelsreflect.Selectfunc Select(cases []SelectCase) (chosen int, recv Value, recvOK bool)cases := make([]reflect.SelectCase, len(chans))for i, ch := range chans { cases[i] = reflect.SelectCase{Dir: reflect.SelectRecv, Chan: reflect.Valu

2021-08-20 19:54:59 904

原创 [ffmpeg][issues] bit_equal_to_one out of range: 0, but must be in [1,1]

[ffmpeg][issues] goav Dictionary crash double free4.2版本ffmpeg在英伟达440驱动上编码,并使用h265 bsf 比特流滤镜写SEI的时候出现的一个 issues,[AVBSFContext @ 0x558a46855680] bit_equal_to_one out of range: 0, but must be in [1,1]. [AVBSFContext @ 0x558a46855680] Failed to read unit 0 (

2021-08-19 18:01:06 470

原创 ffmpeg protocol concat 进行ts流合并视频的时间戳计算及音画同步方式一点浅析

ffmpeg protocol concat 进行ts流合并视频的时间戳计算及音画同步方式浅析文章目录ffmpeg protocol concat 进行ts流合并视频的时间戳计算及音画同步方式浅析audio 10 video 5s 衔接测试audio 5s video 10s 接着音频短的片尾斜街一段小结ffmpeg 有三种常见的视频合并方式: demuxer,protocol,filter这里有介绍它的使用 :http://trac.ffmpeg.org/wiki/Concatenate#dem

2020-12-26 18:37:20 2245 2

原创 ffmpeg中的像素格式是如何存储的(AVPixFmtDescriptor)

ffmpeg中的像素格式是如何存储的ffmpeg的像素存储方式描述主要定义在了pexdesc.h中,下面看看这个结构体./** * Descriptor that unambiguously describes how the bits of a pixel are * stored in the up to 4 data planes of an image. It also stores the * subsampling factors and number of components.

2020-06-19 00:47:49 1710

原创 如何在ffmpeg中添加一个简单的filter

如何在ffmpeg中添加一个简单的filter文章目录如何在ffmpeg中添加一个简单的filterfilter大体写法yuv模型测试graph dump大体步骤如下:1. 编写filter文件, 比如vf_xxx.c, 放在libavfilter目录下2. 在libavfilter/allfilters.c +++ extern AVFilter ff_vf_xxx3. 修改libavfilter/Makefile +++ OBJS-$(CONFIG_XXX_FILTER) +=

2020-06-14 19:04:49 1068

原创 ffmpeg转码步骤源码实现的一点点浅析

ffmpeg转码步骤源码实现的一点点浅析ffmpeg转码过程对解码的处理封装在process_input()中(process_input()->decode_video()->decode()->avcodec_send_packet()),转码过程中ffmpeg会通过avformat库一包一包的读取avpacket经过avcodec_send_packet()往内部解码器送原始音视频压缩包、这里也提一下,我们都知道avpacket 和 avframe 是ffmpeg的通用帧封装 ,

2020-06-02 22:43:30 687

原创 mp4封装格式各box类型讲解及IBP帧计算

mp4封装格式各box类型讲解及IBP帧计算文章目录mp4封装格式各box类型讲解及IBP帧计算boxftyp boxmoov boxmvhd box (Movie Header Box)trak box (Track Box)tkhd(track header box)mdia (Track Media Structure)mdhd (Media Header Box)PTS和DTS的计算I P B 帧的概念stts(Decoding Time to Sample Box)ctts(Compositio

2020-05-17 22:24:34 1231

原创 mongodb pymongo api 简单测试

mongodb pymongo api 简单测试MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。不管学习什么内容,我们都应该从它的基础开始,掌握它的基础知识,才能用好它。import pymongoi...

2020-05-05 12:17:32 409

原创 dockerfile demo

dockerfile demo文章目录dockerfile demo什么是 Dockerfiledockerfile 指令build go demo镜像什么是 Dockerfile一个构建镜像的文本文件,包含了一条条构建镜像所需的指令,类似脚本。dockerfile 指令• FROM #需定制的镜像,定制的镜像都是基于 FROM 的镜像,例如:FROM ubuntu:...

2020-04-06 18:08:32 440

原创 python 操作 zookeeper 快速入门

python 操作 zookeeper 快速入门文章目录python 操作 zookeeper 快速入门什么是zookeeperpython 操作 zk 快速入门zk节点创建节点查询节点修改节点删除节点什么是zookeeper什么是zookeeper : 这篇zookeeper讲的还满清楚的python 操作 zk 快速入门今年开始接触第五门开发语言了, 以前总听说python 效率低...

2020-03-29 20:32:39 1496

原创 [整理] FFmpeg官方文档树

扫了一遍官方文档,整理张官文树。当然还有很多细节,可以慢慢沿着树根填,有需要可以联系我要ProcessON源文件,我尽量给个最新的出来。官文 : http://ffmpeg.org/documentation.html...

2020-03-25 14:29:47 264

原创 intel硬件视频加速技术简单整理

硬件视频加速技术文章目录硬件视频加速技术intel 硬件加速技术intel 的开源媒体栈**`VA-API`**安装样例**`Intel Quick Sync(QSV)`**API支持情况vaapi/mfx比较安装样例硬件视频加速(Hardware video acceleration) 通过让显卡编解码视频,从而减轻cpu负担并且还能节省电源。在linux上的几种实现:Video Ac...

2020-03-09 18:05:39 2245

原创 网络流媒体协议的联系与区别(RTP RTCP RTSP RTMP HLS)

网络流媒体协议的联系与区别(RTP RTCP RTSP RTMP HLS)文章目录网络流媒体协议的联系与区别(RTP RTCP RTSP RTMP HLS)简结RTP RTCP RTSP 区别与联系RTSP、RTMP、HLS 区别与联系关于直播流媒体各协议层次图基于RTP的流式媒体RTPRTCPRTSPRTSP请求例RTMPRTMP扩展HLS简结RTP RTCP RTSP 区别与联系RT...

2020-03-07 22:47:44 1021

原创 RTMP协议推流交互流程

RTMP协议推流交互流程文章目录RTMP协议推流交互流程RTMP协议推流流程RTMP握手RTMP建立连接RTMP建流&PlayWireshark抓个RTMP流想了解下直播常见协议RTMP,可是看着网文,头疼,这里记录下RTMP协议推流播放的交互流程,细节可以再看规范,感觉会舒服一些。RTMP(Real Time Messaging Protocol 实时消息传输协议)RTMP是由...

2020-03-05 17:52:43 1122

原创 go微服务框架kratos学习笔记十(熔断器)

go微服务框架kratos学习笔记十(熔断器)文章目录go微服务框架kratos学习笔记十(熔断器)什么是熔断熔断器逻辑kratos Breakerkratos 熔断逻辑kratos熔断器使用说明bladmaster client breaker配置说明test什么是熔断假设存在这样的调用链:服务A -> 服务B -> 服务C如果服C crash 或者一些原因导致不可...

2020-03-02 18:57:47 1739

原创 go微服务框架kratos学习笔记九(kratos 全链路追踪 zipkin)

go微服务框架kratos学习笔记九(kratos 全链路追踪 zipkin)文章目录go微服务框架kratos学习笔记九(kratos 全链路追踪 zipkin)zipkin使用demo数据持久化当代的互联网的服务,通常都是用复杂的、大规模分布式集群来实现的。互联网应用构建在不同的软件模块集上,这些软件模块,有可能是由不同的团队开发、可能使用不同的编程语言来实现、有可能布在了几千台服务器,...

2020-02-25 23:21:30 1458

原创 go微服务框架kratos学习笔记八(kratos的依赖注入)

go微服务框架kratos学习笔记八(kratos的依赖注入)文章目录go微服务框架kratos学习笔记八(kratos的依赖注入)什么是依赖注入google wirekratos中的wireProvidersinjector(注入器)Binding Interfaces笔记二提过依赖注入,和如何生成,但没有细讲,本文来简单看看kratos的依赖注入。什么是依赖注入来看一个小程序,创...

2020-02-21 18:20:17 1805

原创 go微服务框架kratos学习笔记七(kratos warden 负载均衡 balancer)

go微服务框架kratos学习笔记七(kratos warden 负载均衡 balancer)文章目录go微服务框架kratos学习笔记七(kratos warden 负载均衡 balancer)demodemo serverdemo client池daoservicep2croundrobingrpc官方负载均衡工作流程源码本节看看kratos的学习负载均衡策略的使用。kratos 的负...

2020-01-19 18:56:11 3130

原创 go笔记--几个例子理解context的作用

go笔记–几个例子理解context的作用文章目录go笔记--几个例子理解context的作用context interface先看一个简单的例程context的作用派生contxt经常在http框架里面看到一个context参数,它是做什么的呢,先简单看看它的定义。context interfacetype Context interface { // Deadline ret...

2020-01-17 18:20:51 1135

原创 go微服务框架kratos学习笔记六(kratos 服务发现 discovery)

文章目录@[toc]discovery 服务服务注册服务发现简测本节介绍kratos的discovery服务发现的使用,稍微看了下grpc的服务发现接口原理,感觉挺复杂的,打算还是抽出来下次单独写一篇原理性质的文章吧。所以先看使用大致过程是1、我们先启动bilibili的discovery服务2、然后服务先向discovery注册一个appid(唯一)3、client根据ap...

2020-01-13 19:31:23 2400 2

原创 2019年终总结&小半年流媒体服务器开发经验总结

2019年终总结&小半年流媒体服务器开发经验总结文章目录2019年终总结&小半年流媒体服务器开发经验总结19年开发小结流媒体服务框架设计登录服开发ffmpeg音视频服务开发音视频控制流媒体服务开发小结rtp处理视频的合成&音视频缓冲区音视频编码回顾19展望20时间转瞬即逝,转眼间19年已经过去了,人愈来愈来老,却不见人心和物质的提升,期望2020年能有一个崭新的自己。...

2020-01-06 23:13:42 2328 3

原创 go微服务框架kratos学习笔记五(kratos 配置中心 paladin config sdk [断剑重铸之日,骑士归来之时])

go微服务框架kratos学习笔记五(kratos 配置中心 paladin config sdk [断剑重铸之日,骑士归来之时])文章目录go微服务框架kratos学习笔记五(kratos 配置中心 paladin config sdk [断剑重铸之日,骑士归来之时])静态配置flag注入在线热加载配置远程配置中心本节看看kratos的配置中心paladin(骑士)。kratos对配置文...

2019-12-30 23:17:58 2266

原创 go微服务框架kratos学习笔记四(kratos warden-quickstart warden-direct方式client调用)

go微服务框架kratos学习笔记四(kratos warden-quickstart warden-direct方式client调用)文章目录go微服务框架kratos学习笔记四(kratos warden-quickstart warden-direct方式client调用)warden directdemo-servergrpc.toml服务注册服务发现client direct 调用...

2019-12-29 12:56:40 1291

转载 go1.13 mod 常见问题

转载于知乎 :https://zhuanlan.zhihu.com/p/980756580,go mod 要求所有依赖的 import path 的path 以域名开头,如果现有项目转1.13的go mod 模式,且不是以域名开头则需要修改。 eg: code.be.mingbai.com/tools/any_test_del_free1, 既然已经更新到...

2019-12-29 00:22:03 3826

原创 go微服务框架kratos学习笔记三(构建单独的http或者rpc demo项目)

文章目录go微服务框架kratos学习笔记三(构建单独的http或者grpc demo项目)grpchttpgo微服务框架kratos学习笔记三(构建单独的http或者grpc demo项目)前面两篇跑通了demo项目,和大概了解了kratos demo整体结构,本篇分别构建一个http和一个grpc微服务单独测试。grpc先从grpc 开始, 上篇没有测试grpc接口,这回来尝试,直接...

2019-12-26 22:01:13 2478 2

原创 go笔记--协程安全map的四种方法

go笔记–协程安全map的四种方法文章目录go笔记--协程安全map的四种方法读写锁sync.mapatomic.Valuechan读写锁这个应该是最简单的方法,读取的时候加读锁,修改的时候加写锁。type LockMap struct { m map[interface{}]interface{} sync.RWMutex}func (lm *LockMap) Get(key...

2019-12-26 12:16:32 1490

原创 go微服务框架kratos学习笔记二(kratos demo 结构)

文章目录apicmdconfigsdaodimodelserverservice上篇文章go微服务框架kratos学习笔记一(kratos demo)跑了kratos demo本章来看看demo项目的整体结构。目录结构├─api # 对外接口├─cmd # main├─configs # 配置├─internal │ ├─dao #数据访问...

2019-12-24 22:56:34 3475

原创 go笔记--rpc和grpc使用

go笔记–rpc和grpc使用文章目录go笔记--rpc和grpc使用rpcserver.goclient.go (sync)client.go (async)grpcprotocserver.goclient.gorpcRPC(Remote Procedure Call,远程过程调用)是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络细节的应用程序通信协议。RPC协议构建于T...

2019-12-19 19:29:45 778

原创 go微服务框架kratos学习笔记一(kratos demo)

文章目录kratos微服务框架学习笔记一(kratos-demo)kratos本体demokratos微服务框架学习笔记一(kratos-demo)今年大部分时间飘过去了,没怎么更博和github,现在开发任务也差不多完成了,会比较轻松,考虑到今后发展,打算看看微服务框架。常见微服务框架主要有这么几个gizmo, a microservice toolkit from The Ne...

2019-12-18 19:08:52 7317

C++Stream风格异步日志(muduo日志)

陈硕 muduo 异步日志的实现, 去除对boost库的依赖,可直接编译使用.

2018-09-13

Linux内核编码风格

这是一份简短的,描述linux内核首选编码风格的文档。编码风格是很个人化的东西,而且 我也不愿意把我的观点强加给任何人,不过这里所讲述的是我必须要维护的代码所遵守的 风格,并且我也希望绝大多数其他代码也能遵守这个风格。所以请至少考虑一下本文所述的观点

2018-06-06

深度探索c++对象模型

深度探索c++对象模型清晰版,带书签~~~~~~~~~~~~~~~~~~~~~~~~~

2018-04-18

Sublime Text3插件控制插件

下载之后将其解压后,将解压文件重新命名为:Package Control 打开Sublime,点击:首选项->浏览程序包,便会打开一个文件夹! 然后删除这个文件夹中已有的”Package Control文件夹”,将刚才自己下载好的并且重新命名的Package Control复制到该文件夹下,然后重新启动Sublime,这样便可以使用Package Control来安装其他插件了。

2018-04-08

libncurses-6.0.tar.gz,libncurses-dev

libncurses-dev 安装方法 ./configure make mkae install

2018-04-04

FastBoot3.1

FastBoot3.1烧写工具,FastBoot3.1烧写工具、FastBoot3.1烧写工具、很重要所以说三遍。

2018-03-15

高质量的C++编程指南

还行。

2016-12-28

Multisim 仿真实例

一些Multisim仿真实例,学习用仿真。

2014-11-04

win-tc win7版

WIN-TC是一个TC2 WINDOWS平台开发工具。该软件使用TC2为内核,提供WINDOWS平台的开发界面,因此也就支持WINDOWS平台下的功能,例如剪切、复制、粘贴和查找替换等。而且在功能上也有它的独特特色例如语法加亮、C内嵌汇编、自定义扩展库的支持等。并提供一组相关辅助工具令你在编程过程中更加游刃有余,如虎添翼。

2014-07-23

空空如也

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

TA关注的人

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