自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(41)
  • 资源 (4)
  • 收藏
  • 关注

原创 avc1 vs avc3 in fragment MP4 difference

Amendment 2 of ISO/IEC 14496-15 (AVC file format) is defining a newstructure for fragmented MP4 called "avc3". The principal differencebetween AVC1 and AVC3 is the location of the codec initialisationdata (e.g. SPS, PPS). In AVC1 this data is placed in.

2020-10-06 16:17:04 813

原创 mp4码率

之前有同事说,因为在索引文件的码率表示不准,导致了其码率自动切换出了问题,今天看到一个mp4文件中stsd->avc1->btrt的box,里面描述了平均码率和最大码率,记录下后面看下标准。

2020-10-06 16:14:09 599

转载 FFmpeg filter-DAR、SAR

11.185 setdar, setsarThesetdarfilter sets the Display Aspect Ratio for the filter output video.This is done by changing the specified Sample (aka Pixel) Aspect Ratio, according to the following equation:DAR = HORIZONTAL_RESOLUTION / VERTICAL_RESOL..

2020-09-06 22:56:14 448

转载 一次segfault错误的排查过程(无core文件)

正常运行了几年的程序忽然崩溃了,由于机器没有设置CORE文件,无法从CORE中取得错误信息,程序运行在centOS 7上, 本来对centOS用的也是不熟,只能边查资料边查问题。首先、我需要确认程序是否真的崩溃了,还是别人误操作关闭了。如果程序真的崩溃了,会在系统中留下痕迹,我查了一下,在messages文件中发现了一条信息:xxxxx.o[2374]: segfault at7f0ed0bfbf70 ip 00007f0edd646fe7 sp 00007f0ed3603978 error 4 i

2020-08-21 16:41:49 1201

转载 ffmpage avframe内纯分配方式

https://blog.csdn.net/Blaze_bxh/article/details/80010857https://blog.csdn.net/xionglifei2014/article/details/90693048https://blog.51cto.com/fengyuzaitu/2449744/* encode 1 second of video */for (i = 0; i < 25; i++) { fflush(stdout); /*...

2020-07-16 15:01:37 9600

转载 AVFrame结构中linesize相关博客

http://blog.sina.com.cn/s/blog_88ad690b0100ugih.htmlhttps://blog.csdn.net/download_73/article/details/53302825https://blog.csdn.net/lifei092/article/details/82684217https://blog.csdn.net/beiliufangdegezhe/article/details/41623579https://blog.csdn.n

2020-07-15 15:52:45 439

原创 ffmpeg fifi 和 tee muxer

fifo muxerThe fifo pseudo-muxer allows the separation of encoding and muxing by usingfirst-in-first-out queue and running the actual muxer in a separate thread. Thisis especially useful in combination with the @ref{tee} muxer and can be used tosend d.

2020-05-08 18:18:46 507 1

原创 ffmpeg avformat_open_input函数定义中函数调用图

碰到回调会出现不准的情况,参考下就行。标题

2020-05-08 17:20:57 231

转载 nginx-rtmp-module对于pull指令正确解释

https://github.com/arut/nginx-rtmp-module/issues/1404

2020-04-07 19:39:15 627

原创 mp3/aac audio encoding

2020-04-06 23:14:19 253

转载 linux shell printf

一、Shell printf命令语法printf format-string [arguments...]format-string为描述格式规格的字符串,用来描述输出的排列方式,最好为此字符串加上引号。此字符串包含按字面显示的字符以及格式声明,格式声明时特殊的占位符,用来描述如何显示相应的参数。arguments是与格式声明相对应的参数列表,例如一系列的字符串或变量值。格式...

2020-03-13 12:47:21 291

转载 MPEG Audio结构

This is a brief and informal document targeted to those who want to deal with the MPEG format. If you are one of them, you probably already know what is MPEG audio. If not, jump to http://www.mp3.com/...

2020-03-07 15:41:57 830

转载 【转载】Linux下socket编程 多线程 进程超时阻塞、卡死问题定位

问题背景:工作中遇到一个多线程进程有部分线程(包含主线程)像卡死一样不再处理其他事件,就像无限期休眠了一样知识点:进程、线程、线程锁、条件变量、socket定位工具:strace、htop、gdb问题分析:由于进程还在,用htop查看进程的线程也都在,首先就是想看看每个线程当前处于什么状态用gdb工具查看主线程当前堆栈信息如下可以看到主线程在调用了pthread_jo...

2020-02-25 14:00:14 1053

转载 linux内存管理之malloc

http://blog.chinaunix.net/uid-20786208-id-4979967.html对于内核的内存管理,像kmalloc,vmalloc,kmap,ioremap等比较熟悉。而对用户层的管理机制不是很熟悉,下面就从malloc的实现入手.( 这里不探讨linux系统调用的实现机制. ) ,参考了《深入理解计算机系统》和一些网上的资料.首先从http://ftp....

2020-02-15 15:42:56 676

原创 c++11之静态断言(static_assert)

https://blog.csdn.net/lixiaogang_theanswer/article/details/99675594https://stackoverflow.com/questions/tagged/static-asserthttps://www.cnblogs.com/guxuanqing/p/10618816.html

2020-02-15 15:36:59 379

转载 浅析静态库链接原理

静态库的链接基本上同链接目标文件.obj/.o相同,但也有些不同的地方。本文简要描述linux下静态库在链接过程中的一些细节。静态库文件格式静态库远远不同于动态库,不涉及到符号重定位之类的问题。静态库本质上只是将一堆目标文件进行打包而已。静态库没有标准,不同的linux下都会有些细微的差别。大致的格式wiki上描述的较清楚:Global header-----------------...

2020-02-13 15:01:11 168

原创 tcmalloc转载总结一

一、tcmalloc是啥子https://blog.csdn.net/hk78787878/article/details/104295891二、tcmalloc为什么快,如何替换系统mallochttps://blog.csdn.net/hk78787878/article/details/104295924三、tcmalloc库使用测试https://blog.csdn.n...

2020-02-13 14:58:32 185

转载 tcmalloc分配内存引起的coredump

现象线上的服务出现coredump,堆栈为:#0 0x000000000045d145 in GetStackTrace(void**, int, int) ()#1 0x000000000045ec22 in tcmalloc::PageHeap::GrowHeap(unsigned long) ()#2 0x000000000045eeb3 in tcmalloc::Page...

2020-02-13 14:57:38 1072

转载 tcmalloc库使用测试

利用LD_PRELOAD来加载tcmalloc库在编译时显式链接tcmalloc库试验试验1:不链接tcmalloc试验2:仅显式链接tcmalloc试验3:显式链接libc和tcmalloc,libc在前试验4:显式链接libc和tcmalloc,tcmalloc在前结论利用LD_PRELOAD来加载tcmalloc库那么用户调用malloc肯定是走到tcmalloc中;...

2020-02-13 14:55:51 553

转载 tcmalloc为什么快,如何替换系统malloc

使用了thread cache,小块的内存分配都可以从cache中分配。多线程分配内存的情况下,可以减少锁竞争。tcmalloc官方文档见:https://gperftools.github.io/gperftools/tcmalloc.htmltcmalloc可以替换大多数系统、不同编译器环境下的内存分配函数(malloc/free/new/delete),针对不同的编译器和操作系统,...

2020-02-13 14:54:33 956

转载 tcmalloc是啥子

动机TCMalloc是一个非常快速的内存管理库,它比glibc2.3的malloc以及其他的一些内存管理库都要更高效。ptmalloc2在2.8GHzP4机器上执行一次malloc/free(分配释放小的内存块)大约耗时300纳秒。相同的执行操作,TCMalloc的实现只需要大约50纳秒。TCMalloc同时也为多线程编程减少了锁的竞争,对于小块内存分配,TCMalloc实际上没有锁开...

2020-02-13 14:53:28 425

转载 内存屏障(Memory barrier)-- 转发

本文例子均在 Linux(g++)下验证通过,CPU 为 X86-64 处理器架构。所有罗列的 Linux 内核代码也均在(或只在)X86-64 下有效。本文首先通过范例(以及内核代码)来解释 Memory barrier,然后介绍一个利用 Memory barrier 实现的无锁环形缓冲区。Memory barrier 简介程序在运行时内存实际的访问顺序和程序代码编写的访问顺序不...

2020-01-27 22:57:59 263

转载 "undefined reference to" 问题解决方法

最近在Linux下编程发现一个诡异的现象,就是在链接一个静态库的时候总是报错,类似下面这样的错误:(.text+0x13):undefinedreferenceto`func' 关于undefined reference这样的问题,大家其实经常会遇到,在此,我以详细地示例给出常见错误的各种原因以及解决方法,希望对初学者有所帮助。1. 链接时缺失了相关目标文件(.o)...

2020-01-17 16:42:42 1106

转载 Linux下__attribute__((visibility ("default")))的使用

在Linux下动态库(.so)中,通过GCC的C++ visibility属性可以控制共享文件导出符号。在GCC 4.0及以上版本中,有个visibility属性,可见属性可以应用到函数、变量、模板以及C++类。限制符号可见性的原因:从动态库中尽可能少地输出符号是一个好的实践经验。输出一个受限制的符号会提高程序的模块性,并隐藏实现的细节。动态库装载和识别的符号越少,程序启动和运行的速度就越快。...

2020-01-17 16:38:58 1862

转载 谈谈Linux应用程序 ABI兼容性

背景最近工作中遇到个问题,就是多个系统跑着不同版本的内核,不同架构的ARM芯片,上层的业务程序能否二进制归一(共镜像)。根据自己对Linux的了解,glibc是否可以在ABI层面做到向前兼容。那个整个系统能否做到呢?这勾起了我的分析和思考。ABI兼容依赖什么试想一下,一个程序从源代码到最终的二进制,有哪些组件参与了编译和链接过程,大概如下:内核导出用户态头文件gcc编译器,gcc...

2020-01-17 16:36:57 982

转载 在应用程序中替换Linux中Glibc的malloc的四种方法

http://blog.csdn.net/littlefang/article/details/6052563打算优化系统的内存分配,接管glibc提供的内存管理,但是整个工程的代码量很大,使用malloc、realloc、calloc和free的地方到处都是,如果自己写好的接口需要重命名所有的调用,先不说工作量,部分没有权限查看代码的.a文件就搞不定了。所以需要替换掉系统的mallo...

2020-01-17 16:31:24 303

转载 深入了解tcmalloc(一):windows环境下无缝拦截技术初探

概述:又到了一个总结提炼的阶段,这次想具体聊聊游戏引擎中使用的内存管理模块tcmalloc组件的使用心得。项目的前期曾经遇到过内存瓶颈,特别是windows系统下的客户端程序在经历长时间运行之后会出现内存占用率很高疑似泄漏的现象,排查了很久都没有找到原因,甚至一度无法定位问题出自游戏脚本层还是引擎层,后来在引擎中链接了tcmalloc组件,通过实时dump程序的内存信息最终找...

2020-01-17 13:11:58 461

转载 将通过find命令找到的文件拷贝到一个新的目录中

将通过find命令找到的文件拷贝到一个新的目录中有这样的一个需求,需要将一部分符合条件的文件从一个目录拷贝到另一个目录中,我通过find命令从源目录查找到符合条件的文件然后使用cp命令拷贝到目标目录:方法一命令如下:find src_dir -name "access.log.2011102[2-6]*" -exec cp {} dst_dir \;拷贝文件到远程主机上的目标目录...

2020-01-13 10:27:12 1678

转载 nm命令输出解释

nm 将找到的符号值使用十六进制缺省表示,并在函数前添加其类型,类型主要有:Value Descripition Note A The symbol's value is absolute, and will not be changed by further linking. 符号绝对,链接过程不会改变 B/b The symbol is in the ...

2020-01-12 22:17:29 1605

原创 git add失效

目录结构深,但是没有git add上去,解决办法:1、清楚git缓存: git rm -r --cached .2、全量添加: git add --all -f :/参考链接:https://stackoverflow.com/questions/17743549/recursively-add-the-entire-folder-to-a-reposito...

2019-12-25 16:59:53 2428

转载 How can i know which unistd.h file is loaded?

The exact rules followed by the gcc compiler for finding include files are explained at: http://gcc.gnu.org/onlinedocs/cpp/Search-Path.htmlA quick command-line trick to find out where an include fil...

2019-12-23 10:37:32 78

转载 为什么python的多线程不能利用多核CPU,但是多线程的确是在并发,而且还比单线程快

python 为什么不能利用多核CPUGIL其实是因为在python中有一个GIL(Global Interpreter Lock),中文为:全局解释器锁。1、最开始时候设计GIL是为了数据安全python为了数据安全设计了这个GIL。2、每个CPU在同一时间只能执行一个线程:(在单核CPU下的多线程其实都只是并发,不是并行,并发和并行从宏观上来讲都是同时处理多路请...

2019-10-31 10:25:47 307

转载 3:2 pulldown

3:2 pulldown, also called 3-2 pulldown, is a method of converting 24 frame per second (fps) motion picture video to 60 fps video, such as NTSC. In 3:2 pulldown, one frame of the film is scanned three ...

2019-10-05 10:51:30 1193

转载 消隐间隔

在将光信号转换为电信号的扫描过程中,扫描总是从图像的左上角开始,水平向前行进,同时扫描点也以较慢的速率向下移动。当扫描点到达图像右侧边缘时,扫描点快速返回左侧,重新开始在第1行的起点下面进行第2行扫描,行与行之间的返回过程称为水平消隐。一幅完整的图像扫描信号,由水平消隐间隔分开的行信号序列构成,称为一帧。扫描点扫描完一帧后,要从图像的右下角返回到图像的左上角,开始新一帧的扫描,这一时间间隔,叫做垂...

2019-09-14 16:33:56 454

原创 ccextractor命令参数说明

CCExtractor 0.88, Carlos Fernandez Sanz, Volker Quetschke.Teletext portions taken from Petr Kutalek's telxcc--------------------------------------------------------------------------Originally base...

2019-07-27 15:29:54 1153

原创 dvbsnoop官方man page

man dvbsnoop : dvbsnoop(1) DVB Analyzer, MPEG Analyzer dvbsnoop(1)Name dvbsnoop - DVB and MPEG stream analyzerSYNOPSIS dvbsnoop [-s mode] [options] pid...

2019-06-05 16:25:55 237

转载 【转】百度网盘高速下载-暴力油猴脚本

大家好,今天给大家介绍的是浏览器的插件,通过这个插件可以使得高速下载百度网盘资源。首先,我们要先下载安装暴力油猴插件,插件下载地址如下:https://dn-shimo-attachment.qbox.me/txv4BohkW70oYYCo/baolihou.crx(复制链接到浏览器打开即可弹出下载窗口下载)下载完成之后我们到浏览器中安装。如果您使用的是非谷歌应用商场下载的插件...

2018-11-22 19:13:17 12498

原创 nginx学习-开篇

工作将近两年,业务熟悉和掌握了。业务上用到的nginx,对nginx的掌握程度只能说是能够熟练使用,对其内部机制只有个大概轮廓。为什么要学习nginx,我总结下来有3点:1、工作需要:业务对其依赖、团队内部无人对其熟悉;2、自我能力提升:nginx作为高性能服务器代码优秀,是一个学习编程语言和服务器架构很好的例子;3、越来越多的公司使用nginx。之前也想对

2017-04-19 15:54:21 583

转载 #!/bin/sh与#!/bin/bash的区别

Linux 中的 shell 有很多类型,其中最常用的几种是: Bourne shell (sh)、C shell (csh) 和 Korn shell (ksh), 各有优缺点。Bourne shell 是 UNIX 最初使用的 shell,并且在每种 UNIX 上都可以使用, 在 shell 编程方面相当优秀,但在处理与用户的交互方面做得不如其他几种shell。Linux 操作系统缺省的 sh

2016-06-30 14:44:01 450

转载 Android学习系列(29)--App调试的几个命令实践

http://www.cnblogs.com/qianxudetianxia/archive/2012/05/14/2497073.html在Android的应用开发中,我们会用到各种代码调试;其实在Android的开发之后,我们可能会碰到一些随机的问题,如cpu过高,内存泄露等,我们无法简单的进行代码调试,我们需要一个系统日志等等,下面我把握工作中碰到的几个常用命令和方法给大家演示实

2016-02-20 23:51:30 206

labuladong pdf

刷题指引

2020-10-16

最权威的Outlook 2010 中的 VBA 入门

适用于outlook的宏开发和基于COM的Add-in

2013-07-23

单片机C语言入门 pdf文档

单片机C语言入门。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

2010-12-28

macfee 安装文件

macfee 安装文件

2010-10-02

空空如也

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

TA关注的人

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