自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(130)
  • 收藏
  • 关注

原创 FFmpeg 工程之路-多媒体文件处理

章节FFmpeg 代码结构FFmpeg日志系统的使用c 调用 FFmpeg 库avutil 的avlog 函数->testavlog.c运行结果FFmpeg 文件的删除与重命名FFmpeg删除文件-avpriv_io_delete()FFmpeg 重命名文件-avpriv_io_move()FFmpeg处理流数据多媒...

2018-10-25 23:59:00 1368 1

原创 FFmpeg 工程之路-基础开发概述

章节熟练使用 Vim 编辑器 Vim 编辑器核心理念、使用窍门 Vim 处理模式 Vim 常用命令 Vim 基础命令 C语言基础回顾 C语言基础回顾-helloworld 常用基本类型 C语言的常量与变量 常量与变量 C语言内存管理 C语言指针 与 数组 C语言指针 数组 C 指针程序demo->testpoint.c C 自定...

2018-10-24 22:00:00 379

原创 FFmpeg 音视频处理核心技术初体验

章节视频播放器原理 什么是 ffmpeg? ffmpeg 音视频编/解码 流程图 ffmpeg 常用 struct AVFormatContext AVStream AVCodecContext AVCodec AVPacket AVFrame ffmpeg 常用Api av_register_all() avformat_alloc_output_co...

2018-10-22 21:00:00 537

原创 NrwnalrAHY

NrwnalrAHY博客搬家

2022-01-23 22:21:18 167

原创 入驻抖音-短视频分享之路开始啦

技术分享,大厂内推,简历修改,现阿里技术专家,2022开始尝试抖音自媒体,视频干货多多,请大家关注哈~

2022-01-22 23:05:12 267

原创 TCP 流量控制、拥塞控制、timewait

image.png

2021-11-17 22:42:46 296

原创 分布式锁

章节应用场景分布式锁分布式锁类型1 应用场景分布式系统对共享资源的写操作(update) 需要保证数据的一致性、安全性更新2 分布式锁分布式锁具备的条件高可用 加锁解锁高性能 加锁解锁可重入锁失效,防止死锁非阻塞获取锁,不阻塞等待3 分布式锁类型3种方式:DBRedisZookeeper3.1 DB方法 加唯一索引,调用写入记录,调用完删除问题...

2021-11-16 11:42:49 1664

原创 分布式系统 - 一致性及协议

分布式系统一致性常见的一致性方案一致性算法1 Paxos1.1 Paxos 集群角色Proposer - 提出议案Acceptor - 参与角色Learner - 不参与提案, 接收已通过提案1.2 提案选定流程Prepare 阶段Proposer 选择一个提案编号 M,向超过半数的 Acceptor 成员发送prepare 请求Acceptor 接收到prepare ...

2021-11-15 20:04:07 67

原创 GO debug - delve

大纲简介演示多 goroutine 调试core 调试线上 调试1 简介1.1 delve 特性是 GO 语言调试器;该调试器 简单、功能齐全、易用使用、调用,是GO调试器的事实标准;支持并发调试、跨平台;2 演示2.1 下载delvego get github.com/go-delve/delve/cmd/dlv2.2 常用调试命令以下为用来演示的被调试代...

2021-01-05 15:48:11 226

原创 一个简易gopool框架

提纲目标效果图传送门目标在 go 中起协程是非常方便的, 节省资源的, 协程栈大小最大为2KB, 所以乍一看在 go 中设计协程池是多此一举的;但通过 pool 可以提供统一的多任务处理模型,统一管理任务处理过程中的监控、告警;且实现资源隔离(不同协程池处理不同类型任务);最重要的一点: 通过确定数量的 worker 可以实现对大事务请求的异步处理, 提升系统吞吐量, 防止频...

2020-12-25 15:45:55 464

原创 Go并发 - channel & sync.mutex

大纲什么是channel什么是mutex使用channel、mutex 实现安全的并发减操作使用channel 实现批量任务处理channel 的本质使用 channel or 并发原语的时机参考资料1 什么是 channel通过学习,总结 channel 的定义 及特性 :1. channel 是控制并发的高级语法 or 数据结构,是一种更高层次的并发控制模型(其实内部封...

2020-12-14 11:35:25 2813

原创 Go组合-垂直组合

章节组合定义作用一个问题传统 oop 实现能力复用与扩展 - (extends or 组合)oop - extendsoop - 组合垂直组合Go 垂直组合实现能力复用与扩展Go 垂直组合 与 传统 oop 优劣对比1 组合1.1 定义Go 语言的组合 分为 垂直组合(类型内嵌-语法糖,类似 oop 继承,但 go中组合的功能 比 继承 在...

2020-12-06 17:57:16 461 1

原创 分享-两个著名学习理论

章节德雷福斯模型刻意练习理论1 德雷福斯模型1.1 什么是德雷福斯模型?新手(Novice):新手需要指令清单,在该技能领域经验很少或者没有经验。这里 提到的经验,指的是通过实施这项技术促进了思维的改变;高级新手(AdvancedBeginner):高级新手不想要全局思维。一旦经过新手的历练, 人们就开始以高级新手的角度看待问题。高级新手能够或多或少地摆脱固定的规则, 可以独...

2020-11-11 17:01:14 347

原创 ffmpeg-解码 gop 段任意一帧

解码数据目标: 将 gop 数据解码为一帧一帧图片多媒体处理流程[图片上传失败...(image-15b43c-1604651923220)]解码处理流程// 获取AVFormatContext AVFormatContext ctx -> avformat_open_input(ctx,srcFile); // AVFormatContext (获取目标流) ...

2020-11-09 11:13:32 841

原创 docker 基本命令

章节常用docker 命令1. 查看 docker infodocker info2. 进入容器交互式内部docker container exec -it [container_id] /bin/bash3. 解决 apt-get 源在国外的问题mv /etc/apt/sources.list /etc/apt/sources.list.bak && \ ...

2020-11-09 11:05:24 103

原创 FFmpeg-抽取视频中 h264 数据

抽取视频数据抽取视频数据需要掌握的基本概念Start code1.抽取视频数据的本质本质: 多媒体中的视频数据是压缩(编码)后的Frame数据,压缩后的视频帧我们称之为 packet,简单起见我们将其称之为视频帧。抽取操作即抽取的是视频帧序列。2.抽取方案方式1: 每一帧加上帧的length读物第一帧的时候读取帧的长度,紧接着第二帧的长度,第二帧;第三帧的长度,第三帧;以...

2020-11-06 16:27:30 1425 1

原创 ffmpeg + cuda(cuvid) 硬解码+像素格式转换(cpu主导)实战

注意:VAAPI 是inter gpu 提供的硬编解码接口VDPAU 是 video decode present api for unixnvdec / ncvid 都是nivida产出的硬解接口,区别在于解码方式,和数据传输方式不同nvenc nivida 硬编接口编译 & 运行linux: gcc -g video_decode_gpu.c `pkg-co...

2020-11-06 16:23:28 5554 3

原创 巧用策略模式-逃离苦力模式

背景解决方案解决方案-1出现的问题解决方案-2如何解决上述问题策略模式伪代码快速理解(只需2分钟)优化后的代码结构解决效果背景最近的主要工作是包装AI 算法,使之成为算法服务集群。说白了就是包装若干算法能力,提供远程调用接口,供各个调用方来调用。算法主要是媒体资源的处理,包括打标签、媒体资源质量提升(分辨率提升、画面质量提升)算法模块比较...

2020-04-06 19:18:49 287

原创 提升内容-kafka consumer 小结(1)

目录kafka consumer消费方式消费分区分配策略消费过程中offset的维护 - 老版本zk节点维护1. 消费方式1.1 broker push这种消费方式由broker主动推送消息给消费者,消费者被动接收消息。缺点: consumer 消费能力不强的情况下可能出现拒绝服务、以及因网络问问题产生的网络拥塞的情况;1.2 consumer pull消费...

2020-03-29 20:26:13 144

原创 提升内功-kafka producer 小结

目录kafka producerkafka 分区策略kafka 数据可靠性保证 - ackkafka 数据一致性保证 - Hw消费一致性存储一致性 同少同重复1 kafka producer1.1 分区策略1.1.1 分区的原因提高并发,以分区 partition 为单位进行读写操作1.1.2 生产者生产消息进入的分区3种策略这三种策略的前提...

2020-03-27 01:17:44 191

原创 拿下红黑树

红黑树红黑树、2-3树的简单定义:实现红黑树的基本结构以及添加操作(维护定义,左旋、右旋、颜色反转)红黑树与BST、AVL 的性能比较及总结;1. 红黑树的简单定义:1.1 基本特性算法导论对红黑树的定义有一定弊端,上来直接看定义,会懵1. 每个节点或者是红色的,或者是黑色的2. 根节点一定是黑色的3. 每一个叶子节点(最后的空节点)是黑色的,这个空节点不同于...

2020-03-01 18:25:44 137

原创 数据结构-映射Map

章节映射 Map基于链表- LinkedList 的映射实现基于二分搜索树- BST 的映射实现链表、二分搜索树实现的映射复杂度分析1. 映射-Map 的基本形态1.Map 是一个顶级容器,map中存储的是键值对元素,key:value2.Map 中的key 不能重复2. 基于链表- LinkedList 的映射实现#!/usr/bin/env python...

2020-02-12 12:53:31 207

原创 数据结构-二叉树、BST(二分搜索树)

章节tree结构简介二叉树详解二分搜索树 - Binary Search Tree1 tree结构简介tree-简介tree 是非线性数据结构tree 是高效的二叉树tree-高效性tree-高效性2 二叉树详解重新认识下tree1. 和链表一样,动态的数据结构class Node { E e; Node l...

2020-02-10 13:55:41 189

原创 数据结构-链表

章节动态数组 & 栈 & 队列 与 链表的不同链表特性 & 图示链表实现 & 各操作时间复杂度分析动态数组 & 栈 & 队列 与 链表的不同动态数组、栈、队列 & 链表重要 动态数组、栈、队列 底层依托的都是静态数组链表是天然的动态数据结构链表重要性 & 简介 & 图示重要性:...

2020-02-06 12:53:56 93

原创 数据结构-队列

章节队列的特性 & 图示数组队列简介与实现循环队列简介与实现队列的特性 & 图示队列是一种FIFO的线性数据结构queue.png数组队列简介与实现实现一个数组队列Queuedef enqueue(val): # 入队列 从队尾入队列def dequeue(): # 出队列 从队首出队列def get_front(): # ...

2020-02-05 14:30:43 134

原创 数据结构-栈

章节栈的标签 & 图示栈的应用场景构建一个栈使用栈结构解决leetcode相关问题1. 栈的标签 & 图示栈是一种线性结构相比数据,栈对应的操作是数组的子集只能从一端add元素、get元素,这一端一般称之为栈顶LIFO 后进先出2. 栈的应用场景2.1 undo 操作undo操作比如撤销 "不法" 的输入操作2.2 程...

2020-02-04 16:17:49 67

原创 数据结构- 数组篇

摘要初衷实现一个静态数组(python 版)1 初衷工作了一段时间后,发现基础实在是太重要了,老话说: 万丈高楼平地起。地基不牢,肯定跑不快,天花板也愈发明显。除了传统互联网业务,其实认知外围还有很多有趣的事情可以去做,而且这些事情更考验基础能力。躬身入局,探索其中的乐趣。 比如我现在做的事情,基本脱离传统互联网业务,遇到了更细微的场景。比如现在做的 ae 二次开发...

2020-01-20 15:59:00 103

原创 AE 二次开发小结

章节ae 软件基本介绍ae 软件基本介绍掌握n个基本概念ae script 基本概念学习ae script 常用操作ae script 二次开发 开发者论坛关于突破认知,学习新知识的方法论1. ae 软件基本介绍要进行基于 ae script 的二次开发,首先要储备一些基础理论或概念。学习新知识的过程是痛苦的,因为要突破原有认知,反人性而为之1.1...

2020-01-19 16:16:45 981

原创 Debug心得分享

目录一个知乎问题?为什么学会Debug 很重要?如何debug-python为例?再论debug的重要性1 新键盘 and 一个知乎问题为什么写这篇博客? 因为我刚买了新键盘,迫不及待想体验下打字6的飞起的感觉,嗯,新键盘还不错。前几天看到在知乎上看到一个问题:知乎问题我的答案也附属在下面;估计你我都有这种感觉:做业务似乎不需要太多的debu...

2020-01-17 15:08:00 342

原创 构建时序图-5分钟理清系统边界、系统交互

业务时序图目录系统时序图设计最终效果时序图设计语法创建时序图-线上工具系统时序图设计1. 最终效果image.png2. 时序图设计语言title adflow sequence diagrams投手->投放系统: 1 receive_delivery_plan()note right of 投手: 投放系统 接收投手上传的投...

2019-10-21 23:45:06 1121

原创 机器学习概论

机器学习概念:使用计算机从历史数据中寻中规律,把这些规律用到对未来自动作出决定,用于做后续的预测。三个要素:计算机,数据,预测统计采样、检验 - 统计学eg:预测气温历史数据1880-至今 收集到数据用模型刻画(拟合) 规律,找到函数->画函数曲线->与历史数据曲线拟合在一起,寻找模型模型比较简单因为数据纬度 比较少 工业中 有很多纬度可视...

2019-10-13 20:07:52 122

原创 ffmpeg-实现视频 metadata(moov) 前置

章节问题分析解决方案结果1、问题1.1 问题描述基于原生 ffmpeg api 封装而成的 libvideo_util 库最终经解码->帧上绘图->编码、生成的视频上传至 rgw 之后,出现线上拖拽访问卡顿的问题。如下图所示:image.png左边 为经过 libvideo_util 库处理生成的视频文...

2018-12-28 14:39:00 4127

原创 mmap 与 video_util 对比

处理方式规格mp4 -> bitmap 序列文件/s映射/s读帧/slibvideo_uitl480* 720p1471 帧无无3.35 +mmap_util480* 720p1471 帧、展开 4.06G8.6+映射基本不耗时11.05 +libvideo_uitl1920 * 1280 p59...

2018-12-13 15:56:00 170

原创 FFmpeg 中的奇巧淫技

章节双视频合并&视频并排显示视频去除音频1、双视频合并&视频并排显示并排显示1.1、命令行如下所示:ffmpeg -i w11.mp4 -i w11.mp4 -filter_complex hstack -c:v libx264 -crf 0 output.mp4-i 表示输入文件libx264 -crf...

2018-12-05 10:48:00 724

原创 Git - 简易教程

小组内部因历史原因一直在使用 SVN 作为代码版本管理工具,近期有将代码迁移到Git的需求,虽然简单但是还是有学习成本的,遂在小组内部做了一次Git分享。以下为 Git 分享的ppt。阅读全文需要5分钟章节Git 简介Git 仓库基本架构基本架构详解Git 基本操作演示Git 分支(branch)Git 撤销操作1、Git简介...

2018-12-05 10:42:00 124

原创 FFmpeg 入门-前置基础

章节像素存储格式 YUV & RGBI、B、P 帧pts & dts音视频开发技术可以做的事情前言在学习音视频编程的过程中,在解决问题的过程中,总会遇到音视频当中的一些专业名词,而解决问题,这些专业名词是必须理解的,否则就会出现云里雾里的感觉-俗称-懵。这给我个人的学习过程带来不小的问题,遂决定将这段时间当中遇到的一些必须...

2018-11-29 20:13:00 337

原创 Go语言实现复杂Restful Api

章节程序运行结果 什么是Restful Api? go 实现复杂 Restful Api 感想0.程序运行结果程序运行结果1.什么是Restful Api关于Restful Api 的概念,请参考维基百科 https://zh.wikipedia.org/wiki/%E8%A1%A8%E7%8E%B0%E5%B1%82%E7%8A%B6%E6%80%81%E8%BD%...

2018-10-24 02:04:00 1178

原创 《将博客搬至CSDN》

《将博客搬至CSDN》

2018-10-24 01:02:00 122

原创 Go语言操作MySQL

章节写在前面go 操作 MySQL感想1.写在前面接下来的记录中会附带记录当日工作学习到的东西,包括且不限于 技术、软实力-沟通、心态、理财、个人思考等2.go 操作MySQL如Java操作数据库,编程逻辑如下:驱动加载、获取连接(connect)、生成Statement || PrepareStatement 对象、sql传参、...

2018-10-21 16:36:00 476

原创 Go语言实现TCP通信

章节go 优势go 实现 TCP 通信1 go 语言优势1.1 go 语言优势go 优势注意:跟本章似乎没有什么联系2 go 实现TCP通信2.1 server.gounix 网络编程步骤:Server->Bind->Listen->Acceptgo 语言实现 socket 编程步骤:Listen...

2018-10-19 15:13:00 7209

空空如也

空空如也

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

TA关注的人

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