自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

最胖的棒棒的博客

希望你能够稳重前行,不负韶华。

  • 博客(39)
  • 问答 (1)
  • 收藏
  • 关注

原创 记一次音视频开发工程师面试

最近也是有想进行一些工作上的变动,所以也在四处投递简历,主要的岗位还是音视频开发的岗位,毕竟在这个岗位上自己还是会有一点点技术壁垒的。不过其实说实在的,C++方向上我觉得有几个方向真的很不错:流媒体相关、服务器后台相关、游戏相关。这三个方向上对于语言的要求很难发生变化,C++基本可以维持很久的活力。还是把话题转回到面试,主要是投递的还是音视频开发的岗位,公司的名字我就不写了,防止信息泄露啥的,反正是一个大厂。一共进行了三轮面试(不是总共三轮,而是截至目前进行了三轮。根据对方hr说的,最少要五轮...

2020-09-14 22:53:19 3156 2

原创 WINDOWS下使用ffmpeg库报错“无法打开包括文件:“inttypes.h”: No such file or directory”解决办法

IDE:VS2010ffmpeg版本:4.2报错:解决办法:1、进入到报错的记录里面,也就是common.h注释掉这个头文件,然后编译通过。2、在头文件里面增加几个文件_mingw.h、inttypes.h、stdint.h建议使用第二种方法,文件的位置在:链接: https://pan.baidu.com/s/1ArfSb0b_yAvXyGS5qQ2TrA提取码: qwaq好了,今天就到这里吧。...

2020-06-19 00:31:39 3412

原创 说一说TS码流里面的PCR

问题的起因是这样的:在我刚开始学习的码流的时候,就有人告诉我TS里面的有一个绝对时间叫做PCR,但是我们因为代码原因,都基本不怎么用。后面分析码流的时候基本都是使用EasyICE,然后看到的数据就是下面这样的。我也一直以为这个就是码流的绝对时间22:30:01.733秒。直到有一次无意中发现视频的OSD和这个时间完全对不上,这个PCR对应的实际时间应该是上午10点多的,所以我才去确认了一下...

2020-03-27 07:35:26 2215 2

原创 C++知识体系(全学完就精通)

和一些C++大牛讨要学习技巧,被建议说一定要对C++要系统的学习,要不然学习的效果总是不好,于是找了以下的知识体系。后面会对这些体系加上自己的理解的。就当自己的一个记录啦~会先从C开始,处理基础再学习C++的一些知识点。

2017-03-12 21:57:20 1604

原创 C++坑爹的字符串之从后往前处理字符串

今天在进行代码搬运的时候(^-^),突然发现了这样一个问题。我有一个字符串大概是这种类型的:你好呀^201.202.201.201^。我本身只需要前面的中文呀,但是服务器却智障的给我加上了一个^201.202.201.201^,而且是每一个都有这个,我理所当然的就要去掉了。可是在进行操作的时候却发现没有什么好的方式去完成这个任务。我想要的结果是最好一步完成,但是字符分割函数基本都是从前往后的,我不能

2016-12-08 22:15:47 3003 2

原创 《兄弟》

严格来说,我其实是不能写这个的读后感的,因为这本书我并没有读完,所以很多东西都无法写出。但是我又是可以写这篇读后感的,因为最后的结局我都是知道的。正是因为我知道了结局,所以我想以逃避的方式来不让自己有遗憾。只要我不看到结局,那个铁骨铮铮、正义凛然的宋凡平就不会死掉了。多好的一个人呀,简直是那个黑暗时代的一束光。在我看来那个麻木又愚昧的时代是无法诞生这样的人的。一个会教育孩子的父亲,一个合格的丈夫,一个顶天立地的男人,最终还是敌不过那个时代。为数不多的阳光就这么被吞噬了。他什么都没有做错,但是...

2020-11-15 22:26:05 178

原创 Windows下内存泄漏的定位办法

我们在C++的编码过程中,经常会遇到内存泄漏,这种问题怎么排查呢写下我的思路。 初级版:直接使用工具LeakDiag,这个工具的原理是加载在代码的过程中,记录申请了哪些内存跑了一段时间之后,看看哪些内存是没有被释放的,只要pdb文件加载的争取,最后得出的结论是非常靠谱的。非常建议使用一些这个工具。 中级版:直接使用windbg断点到系统申请内存的地方,然后根据堆栈,找到内存泄漏的代码。 高级版:其实真正的大佬是可以完全分析一块块内存的。大概的案例应...

2020-10-24 10:51:35 781

原创 《大国不易》读后感

最近翻看了老胡的《大国不易》,首先我本人对于老胡是有好感的,感觉他敢说实话,敢于报道新闻,很多消息的第一报道都是从他的微博出来的,再加上这本书的名字确实吸引我。可是实际看上了之后非常的失望,里面分了几个大的章节,大章节里面又分了很多小题目。每一个题目其实就是以前报道的一篇文章,所以整个文章就是以前报道的整理和归纳。我本来还以为是讲述中国发展过程中我们不为人知的心酸历程呢。再说文章,有几个题目是吸引我的,但是文章也基本上是主旋律文章,虽然又一些观点,但是夹杂在官方的文字中,确实有点难以下咽,也...

2020-10-09 22:51:04 522

原创 随便写点_2020年9月8号

最近正式和公司提出了离职的想法,被各种谈话沟通,总的下来挺超过我的预期的。主要有两个事情: 1、本来我觉得我提出了离职会非常的开心,毕竟从一个地方到了另外一个地方嘛,而且薪资还是有一个涨幅。但是真正提出来的感觉竟然是难过。因为想想毕竟是在这里生活工作了四年的地方,本来感觉关系比较好的同事,能无代沟沟通的领导,会经常询问你工作进展的大领导应该是都会变成了你的陌生人,这种感觉着实是不好受的。越来越觉得《肖申克的救赎》把所有的事情都讲明白了。我还只是待了四年,如果是十年,二十年呢?我...

2020-09-08 22:28:47 193

原创 windows下判断exe和dll是32位64位的方法

最近在编译东西的发现网上下载的库老是搞不清楚是32位的还是64位的,包括编译的一些c99的exe也是,总是报错,所以就在此记录一下判断方法(目前没有详细确认lib是怎么判断的)。 最终方法,通过notepad++查看16进制的插件去找关键字。50 45 00 00 4C就是32位的,50 45 00 00 64 86就是64位的。我用vs分别编译出32位64位的exe和dll,亲测有效,下面直接上图: 32位exe:64位exe:32位dll:64...

2020-07-05 11:34:09 981

原创 avformat_open_input代码剖析

今天看一下ffmpeg里面avformat_open_input这个函数,我个人认为这个函数算是在ffmpeg中最重要的函数了,因为其实在执行了这个函数之后,基本上所有的文件信息都就出来了。比如这一段流里面有几股流,每一股流都是什么信息基本都可以看到了。尤其当你是从内存里面读取数据的时候,这个函数就更加的重要了。因为这个函数里面有好几重嵌套,所以我在函数上有一些有加了注释,我会重点讲讲重要的函数。PS:当前我使用的ffmpeg的版本是3.4.7,另外我是以从内存读取数据来重点看的,而不是读取...

2020-06-27 21:04:52 651

原创 ffmpeg下读取内存数据并解析

ffmpeg里读取文件是最基础的操作,但是在很多行业里面,读取文件的操作实际作用的意义不大。还是读取内存的操作作用大一些。其两个之间主要的差距主要是在avformat_open_input的参书中的AVFormatContext->pb里面只要这个pb用avio_alloc_context初始化过了,就可以从内存里面的读取了。但是因为里面的函数是回调函数,而且读取的次数又很多,所以使用过程中还需要注意。#include <stdio.h>#include <iostream&

2020-06-27 16:05:13 1097

原创 解决VS2010下av_register_all程序中断退出的问题

起因是这样的,本来想在我的VS2010上利用ffmpeg写点东西,但是代码才写了一行,编译通过但是运行之后就报如下问题,程序自动退出了。代码和现象如下:#include <stdio.h>#include <iostream>using namespace std; extern "C"{#include "libavcodec/avcodec.h"#include "libavformat/avformat.h"#include "libswscale/

2020-06-21 22:16:54 503

原创 100行代码实现ffmpeg下读取文件帧

话不多说,直接上代码。#include <stdio.h>#include <iostream>using namespace std; extern "C"{#include "libavcodec/avcodec.h"#include "libavformat/avformat.h"#include "libswscale/swscale.h" }; int main(int argc, char* argv[]){ av_regist

2020-06-21 22:04:56 247

原创 C++下如何正确的读取整个文件

#include<iostream>#include <stdlib.h>using namespace std;#define MAXLENTH 2048int main(){ char fileUrl[100] = {"F:\\ffmpeg\\ffmpeg-static\\bin\\Mojito.mp4"}; char TempfileUrl[100] = {"F:\\ffmpeg\\ffmpeg-static\\bin\\Temp.mp4"}; cha.

2020-06-16 07:31:48 924

原创 函数指针和函数指针取地址

故事的起因是这样的,最近在学习ffmpeg,发现一个小伙伴在写ffmpeg取内存数据的时候是这样写的: avio_alloc_context(aviobuffer, 32768, 0, NULL, &read_packet, NULL, NULL); 稍微熟悉一点的小伙伴可以发现问题,read_packet本身就是一个函数指针,但是在这里又使用了取地址符。这样不就是二级指针了吗?但是实际上运行是没有问题的。所以对于这个问题确认了一下,发现这样应该是编译器优...

2020-06-14 16:32:43 1196

原创 boost使用之编译库及遇到的问题

最近因为在学习网络编程相关的东西,准备学习一下boost,毕竟原生的网络编程太麻烦。看了一下其实windows下想使用起来很简单,就是下载库,然后运行脚本,然后运行exe库就出来。在把头文件和库的目录包含进去就可以了。在此详细记录一下:0、预装准备电脑WIN10系统,已经安装了VS2010。1、下载boost文件下载路径:https://www.boost.org/,建议如果是VS2010建议下载1.70.0,不要1.73.0。原因后面再讲。2、运行脚本管理员权限运行命令提示...

2020-05-17 21:23:35 1486

原创 LZPlayer之修改名称

最近播放器的代码写了一部分,不是很多今天一定把写的东西上传出来。以后应该都是会这样,平时的时间编码,到了周末整理一下上传出来。写写这一个周的感想,真的是一定要自己写代码。不是说需要完成多少牛逼厉害的功能,自己写了代码之后对于很多东西的理解就不一样了。具体我描述不出来,但是那种自己内部有货的感觉还是很不错的。 另外说说正事,播放器的名字正式定为“麻雀播放器”。寓意就不说了,英文名字就叫“LZPlayer”吧。logo后面再让设计师小姐姐给搞一个^-^。哈,播放器没有写几行代码,这...

2020-05-10 12:02:00 167

原创 LZPlayer之H264流封装成rfc3984流(Onvif流)

今天这篇文章会先写简单的一部分,后面再补齐。首先,开发这个功能的原因是一般RTSP流里面会有这种要求,RTSP里面一般都是TS流,再就是ES裸流,但是如果真的把H264的流放进去,那一定没有播放器可以播放。这里的裸流其实是H264经过RFC3984封装过后的,也就是我们称之为Onvif流。一般的规则如下:1、SPS、PPS去掉00 00 00 01,剩下的保留。2、期于的NAL单元,去...

2020-04-20 23:28:15 260

原创 LZPlayer开工篇

最近觉得工作了这么多年应该对于自己有一个总结,大佬也说过他当时也是在工作的时候做了一个播放器把什么都弄懂了,所以就想也来做一个汇总,所以就决定做一个播放器:LZPlayer。我知道我做这个一定会出现很多困难,但是我这么多年好像没有那种经历了很多困难最终克服了之后成功的经验,这次无论如何也要尝试一下,给自己最近的这几年做一个总结。好了,话不多说,下面就讲讲我设计的播放器。 ...

2020-04-19 14:40:06 256

原创 爱与死亡

奶奶已经离开我们整一个月了,我其实总是不敢想起这个事情,也不敢谈起这个事情,更加不敢写这个事情。但是我还是觉得我应该写写,所以就写写吧。本来想记录一下当时的过程,但是真的写起来发现很难,总觉的在讲述别人的故事,但是这个是事情确确实实发生在了我的身上。不知道你能不能体会那种心情,一个和你在一起27年的老人,你再也见不到了。过年的时候我们还一起吃我做的海蛎子,都还觉得挺好吃的。甚至前一天...

2020-04-13 23:16:56 171

原创 关于C++实现类外不能访问私有数据的理解

最近在写简单的写点练手的代码,其中有一个就是自己写一个String类,能够实现构造函数、赋值构造函数、符号函数重载以及析构函数。顺便提一句,这个问题如果作为面试应届生的话,还是很不错的一个问题。代码如下:class ZString{private: char* pc_buf;public: ZString(const char *pcbuf); ZString...

2020-04-05 11:06:04 607

原创 说说C++的头文件

这次讲讲C++的头文件吧,第一个问题是头文件的内部到底是什么?其实本质上来说头文件是不存在,当程序在进行编译的时候,其实第一步就把头文件里面所有的内容直接拷贝到源文件里面去了,这样头文件其实就消失了。因为这个拷贝就会导致了第二个问题,如果出现多重依赖的关系,会不会出现编译不通过。答案是会的。比如a.h 定义了一个结构体 stUserInfo,b.h包含了a.h。然后a.cpp又同时包含了...

2020-03-30 23:02:22 320

转载 RTP协议全解析(H264码流和PS流)

写在前面:RTP的解析,网上找了很多资料,但是都不全,所以我力图整理出一个比较全面的解析,其中借鉴了很多文章,我都列在了文章最后,在此表示感谢。互联网的发展离不开大家的无私奉献,我决定从我做起,希望大家支持。原创不易,转载请附上链接,谢谢http://blog.csdn.net/chen495810242/article/details/392073051、RTP He...

2020-03-12 19:36:32 833

原创 windows下判断PTS和DTS是否正常

最近在在处理HLS码流的时候的时候发现我们自己写的ts码流在iPhone上竟然放不了,为了快速响应这个问题,就没有去深究原因而是直接使用了ffmpeg的库去把我们的ts码流再转一下,每一个帧组转换成一个ts文件,这样问题就解决了。但是又发现出了一个新的问题:很多码流经过了ffmpeg之后,只能转出两帧数据,既第一个I帧和下面一个P帧,然后数据就没了。但是我们的ts码流直接放到elec...

2020-03-09 22:41:51 565

原创 关于真相和公平

最近又是发生了很多的事情,国内疫情开始被控制、国外疫情出现增长、xz被黑、美股暴跌……这些事情本来其实应该是各有各的原因,串联不到一起。但是因为都在我身边发生了,所以想写写感受。 1、什么是真相? 随着慢慢长大,慢慢社会,我发现其实真相这个东西很模糊的,有的时候也是不重要的。比如有的时候你掌握着真相,但是那个时候大家已经不在乎这个事情的真相了,那没...

2020-03-08 10:55:35 181

原创 Windows下崩溃问题定位办法

最近在使用windows下的服务器,偶尔从日志中看到一天之中服务器上的几个进程切换了大概有5次左右,我的第一反应就是这些进程崩溃在一天之中崩溃了5次。因为守护进程十几秒就拉起来了,所以本来就数量不多的用户也感知不到。但是这个隐患不能留呀,一定要有一定的措施去处理呀。目前我使用了以下几种办法来做一些简单的处理: 1、查看系统日志,看看是否系统日志有记录。基本操作就是右键“...

2020-02-26 22:34:07 2268 2

原创 过年呆在家的一点感觉

因为疫情,难得在家里过了一次正月十五。确实是人这一辈子有可能只有这一次的体验。因为跟家里人接触的时间很长,足足是平时的好多倍,所以一直有很多感触,想在这里写几个话题。 1、关于“死亡”。 家里有老人生病,是那种治不好的病。虽然有政府的医保可以拿到最新的药,且还是在能承受的范围之内的。但是也只是能延长一个人的寿命,不能完全治愈的。你会看到一个本来健...

2020-02-14 11:26:28 150

原创 谈谈对于C++函数指针和模板的理解

本文想讲解一下如下几个比较容易混淆的概念,希望让其好理解。1、指针函数、函数指针2、指针数组、数组指针3、函数模板、模板函数4、类模板、模板类5、指针常量、常量指针。首先我们先讲解第1和第2两个概念,这两个概念是可以放到一起去考虑的。指针函数和指针数组的这个概念比较简单,其实就是返回值和数组里面的内容是指针,这个概念不容易混淆。记住它们的声明方式都是char *就行,也可以...

2020-02-11 13:59:00 226

原创 关于学习的一点见解

最近因为疫情的事情,无法上班,一直在看一些基础的书,看了发现有很多感触。第一点,C++真的是如果需要深入学习的话东西是真的多,一个static和const就可以扯出很多东西,最后扯到了编译器和链接器的工作原理,我会这几天把我学习的东西整理出 一个东西来,希望能让自己有所收获。另外一个就是如何学习的问题,我发现这个和上学的时候是一个问题,你学的东西或者看到的东西真的就不代表你会了,只...

2020-02-07 15:57:57 177

原创 Windows下常见后缀名详解

.APS:存放二进制资源的中间文件,VC把当前资源文件转换成二进制格式,并存放在APS文件中,以加快资源装载速度。资源辅助文件。.BMP:位图资源文件。.BSC:浏览信息文件,由浏览信息维护工具(BSCMAKE)从原始浏览信息文件(.SBR)中生成,BSC文件可以用来在源代码编辑窗口中进行快速定位。用于浏览项目信息的,如果用source brower的话就必须有这个文件。可以在project op...

2020-02-07 12:16:30 1040

原创 C++的声明和定义与内存

以前在上学的时候,没有仔细的看过这个点,一直认为声明、定义差不多,也没有深入的思考。这次重新巩固的时候,我发现本身这三个点在不同的类型的情况下表现的差别很大。先把最终的结果写上:局部变量:声明和定义在调用的时候同时进行内存分配。全局变量:声明的时候不分配内存,定义的时候分配内存(注意,此处的全局变量是指多个文件调用,使用extern声明的。如果只单个文件调用,还是局部变量一样)。函数:...

2020-02-04 16:31:26 1332

原创 C++中关于static的思考(一)

在复习过程中static是一个最简单也最常见的知识点。而且各种资料都是有这个点的。我在想:各种面试都有这个点,应该绝对不是一个习惯,或者是这个比较好考,里面应该是有很多知识点。下面我希望通过几篇文章把这个东西说的清楚一点。照惯例,要深入的学习一个东西,我们应该按照的流程是:怎么使用?为什么一定要这么使用?还有什么可以发散考虑的?首先来说说怎么使用。在C语言中:1、静态局部变量:一次...

2020-02-04 15:16:27 108

原创 关于博客的重要性

2020年注定会是一个不平凡的一年,美伊冲突、科比去世、新型肺炎,让这个新年没有一个好的开头。而且白毛鹰对我兔子也是虎视眈眈,很害怕后面会有什么大事发生。 这年的肺炎,让每个人都只能窝在家里,好在我确实需要一段时间来巩固一下自己的知识。工作了几年之后,发现很多大学期间埋下的坑依旧会暴露出来,所以真的需要填一下坑了。所以会开一个“C++填坑”的专栏,把自己的一些心...

2020-02-04 14:43:43 160

转载 (转)C++|深入理解声明、定义(实现)、初始化及头、源文件的组织-pf文件

C++|深入理解声明、定义(实现)、初始化及头、源文件的组织-pf文件原文链接:https://www.shangyouw.cn/wenjian/arc52510.html程序是对声明和定义的数据的处理。数据可以声明为变量、常量、数据结构或类的数据成员,处理可以声明或实现为函数,或类的成员方法。我们现代使用的绝大多数计算机都是“存储程序”概念的计算机。也就是说,程序处理的数据和处理数据...

2020-02-04 14:34:48 1220

原创 C++基础巩固之typedef

今天想学习一下typedef,毕竟一直看别人用但是总是没有梳理,今天索性就用一篇文章来梳理一下。 总结typedef有三个用法,每个都会举个例子,然后加上自己的一点体会,有不足之处欢迎指出。 (1)给普通的变量起别名。 typedef int INT; typedef long long LONG; typedef double DOUBLE;这也

2017-02-23 22:43:40 201

原创 C++Primer读书笔记第三章(下)

进入了第三章的下半部分,感觉因为使用的少,所以对这些东西没有什么感觉,也就大概的浏览了一下。 第三章首先讲的是迭代器。就是感觉是数据结构的开始和结尾的一种反馈。但是书中强调了迭代器和指针不是一样的东西,所以对此也比较疑惑,先记录下来。使用的方法是 auto i = s.begin(); i < s.end(); i++ 这种方式。书中写到虽然迭代器和指针不一样,但是仍然可以使用(*i)这种操作。或

2016-12-26 23:29:02 223

原创 C++Primer读书笔记第三章(上)

最近看了很多大牛的博客,发现了其实要提升自己的水平还是要踏实的打好自己的基本功,所以选择了C++Primer作为自己的入门书籍。不过读书总是要记笔记的嘛,要不然读书就没有了自己的作用。另外我发觉自己在看了一些东西杂七杂八的东西之后,发现C++Primer没有那么难了,很多东西其实就是讲的很基础的一点东西,很多东西也没有解析原因,只是教你怎么去用。怪不得说是C++的入门书籍呢,毕竟C++的东西是那么多

2016-12-09 22:51:00 264

原创 写在博客开通之初

想了很久,还是决定要开通博客了。虽然现在我真的是很菜,很多东西都不会。不,应该说的是会的东西很少。- -!。但是大牛都是从菜鸟过来的吧。想用博客记录自己成长的历程,感觉这样会很有意思的。生活嘛~ 总是要有点令人自豪的东西。自己本身也是一个很没有毅力的人,但是我会每周至少写一篇东西,将自己学到的东西都给记录下来并分享出去。这样对自己是一个很好的磨练。小的时候老师总是教导我们:别人问你问题要好好的给别人

2016-12-06 22:30:47 273

空空如也

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

TA关注的人

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