自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

靑い空゛

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

原创 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 94

原创 如何在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 94

原创 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 141

原创 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 212

原创 mongodb pymongo api 简单测试

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

2020-05-05 12:17:32 134

原创 dockerfile demo

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

2020-04-06 18:08:32 94

原创 python 操作 zookeeper 快速入门

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

2020-03-29 20:32:39 153

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

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

2020-03-25 14:29:47 78

原创 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 288

原创 网络流媒体协议的联系与区别(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 232

原创 RTMP协议推流交互流程

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

2020-03-05 17:52:43 94

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

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

2020-03-02 18:57:47 469

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

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

2020-02-25 23:21:30 611

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

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

2020-02-21 18:20:17 960

原创 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 1813

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

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

2020-01-17 18:20:51 412

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

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

2020-01-13 19:31:23 976 1

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

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

2020-01-06 23:13:42 1479

原创 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 736

原创 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 696

转载 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 1197

原创 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 1047

原创 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 239

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

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

2019-12-24 22:56:34 1217

原创 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 330

原创 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 2636

原创 go笔记--json包使用

json包实现了json对象的编解码,参见RFC 4627。Json对象和go类型的映射关系主要通过Marshal和Unmarshal函数实现Marshalfunc Marshal(v interface{}) ([]byte, error)Marshal函数返回v的json编码。Marshal函数会递归的处理值。如果一个值实现了Marshaler接口切非nil指针,会调用其Marshal...

2019-12-15 19:55:37 67

原创 什么是微服务?微服务简单理解

什么是微服务单体系统所有的业务子模块缺点:1、项目过于臃肿当产品规模越来越大,各种的大大小小模块都塞在一个项目中,必然会使整个项目变的臃肿,让开发者难以维护。2、资源难以隔离系统的各个功能模块都依赖于同样的数据库、内存等资源、一旦某个功能模块对资源处理不当,即可能影响整个系统。3、扩展瓶颈模块当系统的访问量越来越大的时候,单体系统可以进行水平扩展,部署多台机器。但是这种扩展并...

2019-12-08 16:39:28 254

原创 golang消息系统nats的消息传递模型介绍

nats的消息传递模型文章目录nats的消息传递模型What is NATS主题式消息(Subject-Based Messaging)主题的层次结构通配符发布订阅(Publish-Subscribe)example请求应答(Request-Reply)example队列组exampleAcknowledgementsexampleWhat is NATSnats是一个go语言开发的开源的...

2019-12-03 18:30:55 390

原创 docker主机与容器的文件共享

docker run -v 参数需要在设置里面的shared drives先打开共享,否则会报:C: drive is not shared. Please share it in Docker for Windows Settings.挂e.g 挂载windows目录/c/server/docker到ubuntu容器的/root/mnt下docker run -it -v /c/ser...

2019-12-03 16:54:41 129

原创 [golang] golang简洁的文件上传与接收服务

最近自己阿里云上的文件共享总是不怎么方便,本来开了samb,感觉也不是很便利,于是只能自己整个简洁点的了。不过用go的话也非常快啦。需要注意的是http post文件一般用的都是multipart表单格式,看一看就好了。uploadhandlepackage mainimport ( "io" "io/ioutil" "net/http" "os" ...

2019-12-01 16:11:00 125

原创 [ffmpeg][goav]ffmpeg代码例子pcmu重采样并转码aac格式

8k双声道的pcmu格式重采样44.1kHz的aac格式例子src : 其中adts包是给aac填充头部的,这里就没给了。package mainimport( "github.com/ailumiyana/goav-incr/goav/avcodec" "github.com/ailumiyana/goav-incr/goav/avutil" "github.com/ailumiy...

2019-11-27 18:33:20 783

原创 [ffmpeg] ffmpeg filter模型介绍及开发指南

[ffmpeg] ffmpeg filter模型介绍及开发指南文章目录[ffmpeg] ffmpeg filter模型介绍及开发指南FFmpeg filter简介滤镜链图介绍滤镜链图(filtergraph)滤镜链(filterchain)滤镜垫(filterpad)滤镜(filter)1、基本滤镜2、 滤镜链3、滤镜链图开发API主要API示例FFmpeg filter简介libavfi...

2019-11-22 15:02:09 967

原创 docker初体验

文章目录docker 安装安装ubuntu容器本地主机与容器互联ssh最近在windows下跑流媒体服务器,但是登录服不太便利移植,决定试用下docker,在docker的ubuntu容器中跑另一个server。Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后...

2019-11-12 18:18:12 106

原创 [ffmpeg][qsv][windows]windows下配置fmpeg英特尔qsv

[ffmpeg][qsv][windows]windows下配置fmpeg英特尔qsv预装mingw和msysMinGW : https://sourceforge.net/projects/mingw/安装与自己系统对应的版本msys 我用的1.0.11 挺小的3m左右 百度有这里有个2 不知道能不能用MSYS2 : https://sourceforge.net/projects...

2019-11-06 12:59:38 583 1

原创 阿里云域名购买和配置

选择域名连接选择个人,然后创建一个模板域名解析然后进入域名控制台

2019-10-31 23:14:26 156

原创 轻量级linux服务器系统资源监控工具netdata

轻量级linux服务器系统资源监控工具netdata最近在找个资源监控工具,发现了netdata,一个可分布式的、 实时、高性能、健壮的系统和应用监控工具。github : https://github.com/netdata/netdata安装缺两个库sudo apt-get install zlib1g-devsudo apt-get install uuid-dev我下的v1....

2019-10-31 16:09:22 212

原创 [ffmpeg][goav][issues] goav Dictionary crash double free

[ffmpeg][goav][issues] goav Dictionary crash double free用goav 配置avoption时的一个buggithub.com/giorgisio/goav/issues/57code : var dict *avutil.Dictionary = &avutil.Dictionary{} er := dict.AvDictSe...

2019-10-31 13:40:31 228

原创 [golang]select优先级

golang 的select 用来同步处理任务非常便利也十分安全,类似于c的epoll和c++里面的eventloop模型。如果select中的通道chan是无缓冲通道,那么很有可能丢失数据,两个定时任务同时发生时,可能只是随机执行了其中一个,另一个通道数据可能就丢失了,那么可以增加优先级来规避这个问题。除了数据丢失外,配置优先级主要还是为了解决随机性问题,如果一个缓冲通道的缓冲区一直是满的,...

2019-10-29 18:39:15 240

原创 [golang]UDP端口池

[golang]UDP端口池)·好久没来csdn了,懒癌犯了,今天1024,水一篇文章吧,哈哈。池子会保存一定范围内数量的udp端口号,get获取一个put放回去一个源码: “github.com/ailumiyana/tools/udp”tools包里面还有一个延迟统计包和一个基于logrus的滚动日志package main import( "github.com/a...

2019-10-24 23:22:49 192

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