自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

幽雨雨幽

专注等于充实

  • 博客(760)
  • 资源 (4)
  • 论坛 (2)
  • 收藏
  • 关注

原创 日志切割之Logrotate

https://www.cnblogs.com/clsn/p/8428257.html#auto-id-0

2021-07-29 15:58:09 1

原创 libevent

简介:Libevent 是一个用C语言编写的、轻量级的开源高性能事件通知库,主要有以下几个亮点:事件驱动( event-driven),高性能;轻量级,专注于网络,不如 ACE 那么臃肿庞大;源代码相当精炼、易读;跨平台,支持 Windows、 Linux、 *BSD 和 Mac Os;支持多种 I/O多路复用技术, epoll、 poll、 dev/poll、 select 和 kqueue 等;支持 I/O,定时器和信号等事件;注册事件优先级。Libevent 已经被广泛的应用,作为底层的网络.

2021-07-08 11:47:11 13

原创 zlog

http://hardysimpson.github.io/zlog/UsersGuide-CN.html#htoc33zlog是一个高可靠性、高性能、线程安全、灵活、概念清晰的纯C日志函数库。

2021-07-08 10:46:36 32

原创 ffmpeg 源码学习

1.avformat_network_init()初始化网络2.av_log_set_callbackAVLog是FFmpeg的日志输出工具。在FFmpeg中所有的日志输出不是通过printf()函数而是通过av_log()函数。av_log()会最终调用fprintf(stderr,…)函数将日志内容输出到命令行界面上。但是在一些非命令行程序(MFC程序,Android程序等)中,av_log()调用的fprintf(stderr,…)就无法将日志内容显示出来了。对于这种情况,FFmpeg..

2021-07-08 10:41:45 18

原创 ubuntu20.04 sshd 配置root 登录

背景:1. 安装openssh-serverapt-get install openssh-server2. 配置/etc/ssh/sshd_config, 开启允许root 登录LoginGraceTime 2mPermitRootLogin yes3. 重启ssh 服务systemctl restart sshd问题: 使用root 登录ssh -p 22 root@10.20.9.205root@10.20.9.205's password:Pe..

2021-07-05 18:51:27 67

原创 libevent

官网:https://libevent.org/教程:Programming with Libevent

2021-07-02 14:13:24 10

转载 ECS vs K8S

ECS vs. Kubernetes 类似而又不同C2Container Service (ECS)和Kubernetes (K8s)都解决了同样的问题:跨越主机集群管理容器。ECS和Kubernetes之间的斗争让我想起了vi和Emacs之间的编辑器之战:激烈的讨论集中于技术问题和个人信仰上。接下来的问题将帮助你明智的选择。考虑到问题和答案包含了我的主张——ECS和K8s之间的区别,基于我最近项目上的经验。它合适吗?一个容器是一个隔离的元素。但是跨主机集群启动容器只是挑战的一小部分。你..

2021-06-11 17:32:32 42

原创 ZLMediaKit_wiki

https://github.com/ZLMediaKit/ZLMediaKit/wiki/zlmediakit%E9%AB%98%E5%B9%B6%E5%8F%91%E5%AE%9E%E7%8E%B0%E5%8E%9F%E7%90%86

2021-06-02 11:22:42 71

转载 ZLMediaKit高并发实现原理

项目介绍ZLMediaKit是一套高性能的流媒体服务框架,目前支持rtmp/rtsp/hls/http-flv流媒体协议。该项目已支持linux、macos、windows、ios、android平台,支持的编码格式包括H264、AAC、H265(仅rtsp支持H265);采用的模型是多线程IO多路复用非阻塞式编程(linux下采用epoll、其他平台采用select)。该框架基于C++11开发,避免使用裸指针,减少内存拷贝,代码精简可靠,并发性能优异,在linux平台下,单一进程即可充分利用多核CP

2021-06-02 10:57:09 55

原创 C++11

http://c.biancheng.net/view/7918.html

2021-06-01 17:21:04 16

转载 使用GitLab CI和Docker进行容器应用自动化部署

容器 Docker 越来越受开发者和运维人员的喜爱,更是作为实践 DevOps 的一个中要工具。同时 Gitlab 提供了免费的代码管理服务,其 gitlab-ci 更是提供了强大的自动化 CI/CD 流程功能。本文以一个静态站点的示例来说明如何使用 gitlab-ci 和 docker 进行容器镜像的构建,以及如何将镜像自动化部署到目标服务器上。如果你想和更多Docker技术专家交流,可以加我微信liyingjiese,备注『加群』。群里每周都有全球各大公司的最佳实践以及行业最新动态。编写Docke

2021-05-31 10:59:49 63

原创 docker 实践

1. 基本概念Docker 包括三个基本概念 镜像(Image) 容器(Container) 仓库(Repository)

2021-05-28 14:20:04 33

原创 Docker 入门教程

原文链接:http://www.ruanyifeng.com/blog/2018/02/docker-tutorial.html

2021-05-28 11:36:45 33

转载 CDN 原理和几种变形(DCDN/ECDN/PCDN/SCDN)

CDN 基本概念CDN 是Content Delivery Network的缩写,翻译为内容分发网络,主要场景是静态资源的下发,他可以解决以下几个问题:高延时,距离服务器较远的用户访问资源延时较高。比如你的服务器在中国,如果美国用户访问就会有较高的网路延迟。 带宽瓶颈,大量用户访问静态资源(图片,视频,css等)导致的服务器带宽拥塞。比如你的服务器上存了一个视频,然后同时有几十个用户来看,对于一般网络配置的服务器都是受不了的。CDN工作原理与架构从这张图可以看到CDN的一个工作流程。

2021-05-27 11:52:53 72

转载 WebRTC 那些常用的缩略词以及部分知识杂谈

WebRTC 那些常用的缩略词以及部分知识杂谈一、 缩略语RTCReal-Time CommunicationSDPSession Description Protocol 会话描述协议ICEInteractive Connectivity Establishment交互式连接建立JSEP...

2021-05-26 10:46:16 21

原创 Clion 远程同步设置

1. Tools--deployment--configure---connection 设置:Mapping 设置:开启自动同步

2021-05-25 14:00:33 79

转载 TCP的三次握手与四次挥手理解及面试题(很全面)

本文经过借鉴书籍资料、他人博客总结出的知识点,欢迎提问序列号seq:占4个字节,用来标记数据段的顺序,TCP把连接中发送的所有数据字节都编上一个序号,第一个字节的编号由本地随机产生;给字节编上序号后,就给每一个报文段指派一个序号;序列号seq就是这个报文段中的第一个字节的数据编号。确认号ack:占4个字节,期待收到对方下一个报文段的第一个数据字节的序号;序列号表示报文段携带数据的第一个字节的编号;而确认号指的是期望接收到下一个字节的编号;因此当前报文段最后一个字节的编号+1即为确认号...

2021-04-15 18:59:08 45

转载 select、poll、epoll之间的区别(搜狗面试)

(1)select==>时间复杂度O(n)它仅仅知道了,有I/O事件发生了,却并不知道是哪那几个流(可能有一个,多个,甚至全部),我们只能无差别轮询所有流,找出能读出数据,或者写入数据的流,对他们进行操作。所以select具有O(n)的无差别轮询复杂度,同时处理的流越多,无差别轮询时间就越长。(2)poll==>时间复杂度O(n)poll本质上和select没有区别,它将用户传入的数组拷贝到内核空间,然后查询每个fd对应的设备状态,但是它没有最大连接数的限制,原因是它是基于链表来存.

2021-04-15 15:03:30 39

转载 理解RTMP、HttpFlv和HLS的正确姿势

需求比协议重要,理解你的需求在前,选择应用的协议在后!第一、是什么?解释这个问题有很大的难度,你所处的角度不同,决定了所需答案的不同。不管怎么样,协议是为了解决问题而生的,它有着天然的指向性。同时,也有着它自身的局限。这三个协议的背后,有着一段凄美的爱情故事。我说说,你听听,在想当初….千禧年的钟声敲响了,人们迈进了一个新的世纪。当时的移动和联通还不能互发信息,手机是什么样咱们心里也多少有点儿数。就在这样的环境里,就在这样一个网络生存条件下,一小撮内心躁动的人开始不安了!它就是Macrome.

2021-04-14 15:19:06 68

转载 流媒体(视频)服务器调研

这篇文章主要向大家介绍流媒体(视频)服务器调研,主要内容包括基础应用、实用技巧、原理机制等方面,希望对大家有所帮助。标签:javascriptphphtmljavapythonlinuxandroidnginxc++git流媒体服务器调研前言:因为要作一些视频服务器相关的内容,因此先对此部分进行调研javascript注:主要内容来源于相关博客,参考文章和来源均已经说明php摘要:该部分主要涉及流媒体协议、流媒体服务器对比html目录java流媒体服务器调研python常见的

2021-04-14 13:38:35 99

转载 nginx rtmp module 代码详解 各模块主要功能

ngx_rtmp_dash_module http模块里播放MPEG-DASH相关处理ngx_rtmp_mp4_module 主要支持rtmp MP4这块点播相关功能,支持seek操作ngx_rtmp_flv_module 主要是flv文件格式的点播相关功能,支持seek操作ngx_rtmp_play_module rtmp点播相关,支持本地,远程两种方式点播,远程点播http方式,支持flv,mp4两种格式ngx_rtmp_record_module 视频录制默认是flv格式, 支持按时间,按文件

2021-04-13 16:08:50 42

转载 nginx丢弃http包体处理

http框架丢弃http请求包体和上一篇文章http框架接收包体, 都是由http框架提供的两个方法,供http各个模块调用,从而决定对包体做什么处理。是选择丢弃还是接收,都是由模块决定的。例如静态资源模块,如果接收到来自浏览器的get请求,请求某个文件时,则直接返回这个文件内容给浏览器就可以了。没有必要再接收包体数据,get请求实际上也不会有包体。因此静态资源模块将调用http框架提供的丢弃包体函数进行丢包处理。相比接收包体过程, 丢弃包体操作就简单很多了,至少不需要把包体存放到http结构中的requ

2021-04-13 14:43:30 47

转载 HTTP的传输编码(Transfer-Encoding:chunked)

HTTP的传输编码(Transfer-Encoding:chunked)转载自HTTP传输编码增加了传输量,只为解决这一个问题 | 实用 HTTP,本来是将这篇文章收藏在我的有道云笔记的,但是今天复习的时候看着这个标题这尴尬,这里转载一下…...什么是传输编码?传输编码在 HTTP 的报文头中,使用Transfer-Encoding首部进行标记,它就是指明当前使用的传输编码。Transfer-Encoding会改变报文的格式和传输的方式,使用它不但不会减少内容传输的大小,甚至还有可能会...

2021-04-13 14:21:28 139

转载 Http协议Content-Length详解

前言http协议是互联网中最重要的协议之一,虽然看上去很简单,但是实际中经常遇到问题,我们就已经遇到好几次了。有长连接相关的,有报文解析相关的。对http协议不能一知半解,必须透彻理解才行。本文通过一个线上实例,详细介绍http协议中的content-length字段。问题我们的手机App在做更新时会从服务器上下载的一些资源,一般都是一些小文件,更新的代码差不多是下面这样的:static void update() throws IOException { URL url = ne

2021-04-13 13:58:47 135

原创 Linux下进程间通信方式——信号量(Semaphore)

https://www.cnblogs.com/wuyepeng/p/9748552.html

2021-04-09 15:55:24 37

转载 nginx ngx_modules

在ngx_module.h中引用了两个至关重要的外部变量 12 extern ngx_module_t *ngx_modules[];extern char *ngx_module_names[]; ngx_modules跟ngx_module_names定义在ngx_modules.c中,这个文件并不存在于nginx源码中,在编译时执行configure动态生成。ngx_modules数组包含所有的Nginx模块,Nginx.

2021-04-01 14:38:38 31

原创 cdn与服务器的关系_掐指算算: 你的CDN多花了几百万?

https://blog.csdn.net/weixin_42363874/article/details/112067146

2021-03-22 11:36:38 32

转载 des解密不完整,前面几位是乱码的解决办法

在工作中遇到的Des解密问题,第三方发来的数据需要我们进行des解密,但是解密的结果前几位始终是乱码。废了半天劲,终于找到了问题所在。下面先介绍一下des,了解des的同学可以直接看下面的解决办法。Des加密DES全称为Data EncryptionStandard,即数据加密标准。Des加密算法是一种对称加密算法,所谓对称加密算法就是指对明文的加密以及对密文的解密用的是同一个密钥。Des使用一个56位的密钥以及附加的8位奇偶校验位,产生最大64位的分组大小。这是一个迭代的分组密码,使用称为

2021-02-15 18:46:59 92

转载 深入理解Linux IO复用之epoll

作者:后端技术指南针 来自:后端技术指南针0.概述通过本篇文章将了解到以下内容:I/O复用的定义和产生背景Linux系统的I/O复用工具epoll设计的基本构成epoll高性能的底层实现epoll的ET模式和LT模式1.复用技术和I/O复用复用的概念复用技术(multiplexing)并不是新技术而是一种设计思想,在通信和硬件设计中存在频分复用、时分复用、波分复用、码分复用等,在日常生活中复用的场景也非常多,因此不要被专业术语所迷惑。从本质上来说,复用就是为了解决有限资源和...

2021-01-24 16:33:42 274

转载 elasticsearch教程

elasticsearch权威指南中文版链接:https://pan.baidu.com/s/1ckBXkGB0UPUEnacHk_QR2g提取码: yytn这个之前看网页版的把我尴尬症都看出来了,太慢了,还是看pdf舒服Elasticsearch顶尖高手系列-高手进阶篇链接: 链接:https://pan.baidu.com/s/1ji_ncUwxVXGBUBGA_1m8LA提取码: sc1d...

2020-11-15 21:06:11 72

原创 ElasticSearch查询 基础篇

1. 查询表达式查询表达式(Query DSL)是一种非常灵活又富有表现力的 查询语言。 Elasticsearch 使用它可以以简单的 JSON 接口来展现 Lucene 功能的绝大部分。在你的应用中,你应该用它来编写你的查询语句。它可以使你的查询语句更灵活、更精确、易读和易调试。要使用这种查询表达式,只需将查询语句传递给query参数:GET /_search{ "query": YOUR_QUERY_HERE}空查询(empty search)—{}— 在功能上等价...

2020-11-15 18:26:06 682

转载 ElasticSearch查询 第四篇:匹配查询(Match)

《ElasticSearch查询》目录导航:ElasticSearch查询 第一篇:搜索API ElasticSearch查询 第二篇:文档更新 ElasticSearch查询 第三篇:词条查询 ElasticSearch查询 第四篇:匹配查询(Match) ElasticSearch查询 第五篇:布尔查询匹配(Match)查询属于全文(Fulltext)查询,不同于词条查询,ElasticSearch引擎在处理全文搜索时,首先分析(analyze)查询字符串,然后根据分词构建查询,最终.

2020-11-12 12:58:52 126

原创 使用 pyenv 管理 Python 版本

http://einverne.github.io/post/2017/04/pyenv.html

2020-11-11 14:12:08 38

转载 Elasticsearch笔记(七):聚合查询

聚合框架有助于根据搜索查询提供聚合数据。聚合查询是数据库中重要的功能特性,ES作为搜索引擎兼数据库,同样提供了强大的聚合分析能力。它基于查询条件来对数据进行分桶、计算的方法。有点类似于 SQL 中的 group by 再加一些函数方法的操作。聚合可以嵌套,由此可以组成复杂的操作(Bucketing聚合可以包含sub-aggregation)。聚合计算的值可以取字段的值,也可是脚本计算的结果。查询请求体中以aggregations节点的语法定义:"aggregations" : { ...

2020-11-05 13:45:13 1088

转载 Flask-Cache的使用

当一个资源需要从服务器中获取,并且资源比较庞大,服务器可能处理起来比较慢,并且此功能为热门功能,可能用户需要经常访问获取。此时,服务器就可以考虑缓存技术。缓存就是数据交换的缓冲区(称作Cache),当某一硬件要读取数据时,会首先从缓存中查找需要的数据,如果找到了则直接执行,找不到的话则从内存中找。由于缓存的运行速度比内存快得多,故缓存的作用就是帮助硬件更快地运行。接下来将记录一下如何缓存一个Flask的请求,并且记录一下Flask的缓存扩展库Flask-Cache:安装pip install fl

2020-10-26 11:29:43 229

转载 CSRF详解

What's CSRF?CSRF(Cross-site request forgery)跨站请求伪造,也被称为“One Click Attack”或者Session Riding,通常缩写为CSRF,是一种对网站的恶意利用。尽管听起来像跨站脚本(XSS),但它与XSS非常不同,XSS利用站点内的信任用户,而CSRF则通过伪装来自受信任用户的请求来利用受信任的网站。洞的成因就是网站的cookie在浏览器中不会过期,只要不关闭浏览器或者退出登录,那以后只要是访问这个网站,都会默认你已经登录的状态。而在这

2020-10-23 11:20:03 238

转载 http/https监控获取响应时间(DNS解析时间,RRT时间,服务器处理时间等)

有时候为了测试网络情况,需要返回每个阶段的耗时时间,比如DNS解析耗时,建立连接所消耗的时间,从建立连接到准备传输所使用的时间,从建立连接到传输开始所使用的时间,整个过程耗时,下载的数据量,下载速度,上传数据量,上传速度等等有时候为了测试网络情况,需要返回每个阶段的耗时时间,比如DNS解析耗时,建立连接所消耗的时间,从建立连接到准备传输所使用的时间,从建立连接到传输开始所使用的时间,整个过程耗时,下载的数据量,下载速度,上传数据量,上传速度等等。下面的脚本获取以上信息:CURL的资料参见: h.

2020-10-20 17:24:46 719

转载 curl获取站点的各类响应时间(dns解析时间,响应时间,传输时间)

有时候为了测试网络情况,需要返回每个阶段的耗时时间,比如DNS解析耗时,建立连接所消耗的时间,从建立连接到准备传输所使用的时间,从建立连接到传输开始所使用的时间,整个过程耗时,下载的数据量,下载速度,上传数据量,上传速度等等。使用 cURL 获取站点的各类响应时间 – dns解析时间,响应时间,传输时间 curl -o /dev/null -s -w %{http_code}:%{http_connect}:%{content_type}:%{time_namelookup}:%...

2020-10-20 17:19:27 495

原创 js 学习

1.HTML定义了网页的内容 CSS描述了网页的布局 JavaScript网页的行为

2020-10-20 10:58:17 41

原创 python 文档

https://docs.python.org/2.7/contents.html

2020-10-07 20:04:12 50

video_file_format_spec_v10_1.pdf

flv官方文档。The open FLV and F4V file format specification specification documents file format information for storing media content used to deliver streaming audio and video for playback in Adobe Flash Player and Adobe AIR. These video file formats are open, allowing other products and technologies to implement these specifications.

2018-05-14

Lex和Yacc从入门到精通pdf

本系列文档就是专门用来由浅入深的介绍两 个有名的Unix 工 具Lex 和Yacc,并会一步一步的详细解释如何用这两个工具 来实现我们想要的任何 功能的解析程序

2017-12-25

rtmpdump-2.3_add_note

rtmpdump-2.3 add useful notes for developers。rtmpdump is a toolkit for RTMP streams. All forms of RTMP are supported, including rtmp://, rtmpt://, rtmpe://, rtmpte://, and rtmps://.

2017-09-20

ffmpeg基础库编程开发_add_notes.pdf

音视频封装格式,编码格式,ffmpeg基础接口的介绍

2019-05-24

幽雨雨幽的留言板

发表于 2020-01-02 最后回复 2020-01-02

csdn 账号密码登录我的博客,无法登录

发表于 2019-05-21 最后回复 2019-05-21

空空如也

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

TA关注的人 TA的粉丝

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