自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

轮子工厂

物有本末,事有终始,知所先后,则近道矣。

  • 博客(269)
  • 资源 (9)
  • 收藏
  • 关注

原创 关于VESA的一些简单介绍

名词解释:H Total,Htotal = H Pixels + H Sync time + H Front Porch + H Back PorchH Pixels, 一行中有效的像素H Sync time, 行同步前沿宽度,即从行有效的像素结束到行同步开始的像素。表示水平同步信号的宽度,用VCLK计算。H Front Porch,表示一行的有效数据结束到下一个水平同步信

2017-12-06 13:22:24 18024 10

转载 视频剖析-Video Timing

大家应该都知道,视频看起来是持续动态的,但是实际上是由一系列的静态画面,在很短的时间内更替,在人眼上就产生视觉残留,以至于你的眼睛感觉是动态画面。大家看到的视频中大多数是每秒闪过50~60幅画面,对于电脑画面大概是每秒闪过70~80幅画面。要说timing是什么,先说下一般的图像是怎么显示在屏幕上的。视频源发出的一幅幅的画面,送到屏幕后,屏幕将每一幅画面从上到下逐行的扫描每

2017-12-05 16:44:32 4983

原创 C语言--内存分配(详细解说)

要想完全理解C语言的内存分配,必须要知道计算机的组成和基本原理。1. 计算机的组成计算机的五大组成部分:运算器、控制器、存储器、输入设备和输出设备。我们都知道计算机的处理中心是CPU,它主要由运算器和控制器组成。1.运算器实现算术运算和逻辑运算的部分,主要对数据进行加工处理。2.控制器计算机的指挥中心,它通过地址访问存储器,从存储器中取出指令(程序),并指出下一指令在存储器中的位置,将取出的指令经指

2017-10-25 23:05:02 2471

原创 C语言--堆和栈的区别

1. 申请方式栈(satck):由系统自动分配。例如,声明在函数中一个局部变量int b;系统自动在栈中为b开辟空间。堆(heap):需程序员自己申请(调用malloc,realloc,calloc),并指明大小,并由程序员进行释放。容易产生memory leak. eg:char p; p = (char *)malloc(sizeof(char)); 但是,p本身是在栈中。2.

2017-10-25 22:54:28 514

转载 MCU编译与运行浅谈

学电子的人都知道:使用C语言编写代码后,我们必须将其处理成机器码,才能使之在MCU中执行,这其中的步骤基本概括为“编译->汇编->链接->加载->启动”。 编译和汇编很容易理解,不是我想讲解的重点,这里主要讲“链接->加载->启动”三部分,我会尽量使用浅显的文字进行概括性阐述。很多电子工程师做了半辈子MCU可能还不能完全理解这三部分,不是说这些工程师们脑残,而是即使他们不搞懂这些也不影响他

2017-10-23 21:55:09 5283 2

原创 存储空间分配问题.笔记

图片00IROM1:0x80000000,flash的起始地址0x80000000~0x80002000,合计8k的空间,bootloader程序0x80002000~0x80040000,合计256k的空间,256k的flashIRAM1:0x20000000~0x20010000,合计64k的空间,运行内存ROM主要指:NAND Flash,Nor Flash

2017-10-23 21:23:37 1215

转载 浅谈嵌入式MCU开发中的三个常见误区

目录嵌入式MCU与MPU的区分误区一:MCU的程序都是存储在片上Flash上,然后拷贝到RAM中执行的误区二:工程编译生成的下载文件大小即为最终占用Flash的大小误区三:用户应用工程的编译结果建议不能超过MCU片上Flash的80%嵌入式MCU与MPU的区分嵌入式系统中的处理器按照是否集成片上Flash和RAM可以分为MCU(Micro Control

2017-10-21 18:44:38 4699

原创 ROM、RAM、Flash的区别

关键的一些名词:PROM,EPROM,EEPROM,SPD,SRAM,DRAM,RDRAM,SDRAM,DDRSDRAM,NORFlash,NADNFlash,HDD,SSD,SLC,MLC,TLC,eMMC,USF2.0一、 ROM(Read Only Memory)    ROM(Read Only Memory),只读存储器。用来存储和保存数据。ROM数据不能随意更新,但

2017-10-20 22:02:23 11153 2

原创 QT编程基础的一些介绍

1  什么是QT         基于C++语言的框架         一个专注于图形用户界面的框架         一个跨平台的框架         一个艺术级别的开发的工具         2  历史        05年  qt4.0        08年  被nokia收购        09年  开源                qt-pro

2017-09-29 23:19:19 702

转载 Qt学习之路(1):前言

Qt是一个著名的C++库——或许并不能说这只是一个GUI库,因为Qt十分庞大,并不仅仅是GUI。使用Qt,在一定程序上你获得的是一个“一站式”的服务:不再需要研究STL,不再需要C++的,因为Qt有它自己的QString等等。或许这样说很偏激,但Qt确实是一个“伟大的C++库”。我们所使用的Qt,确切地说也就是它的GUI编程部分。C++的GUI编程同Java不同:GUI并不是C++标准的一

2017-09-29 23:15:14 302

转载 Qt下载地址

上Qt官网http://www.qt.io/download/想下载Qt,速度很慢,在这里记录下在Qt官网看到的镜像下载地址:1. 所有Qt版本下载地址:http://download.qt.io/archive/qt/2. 所有Qt Creator下载地址:http://download.qt.io/archive/qtcreator/

2017-09-29 23:02:28 550

转载 王者荣耀:从程序员的角度解密王者荣耀,专业术语把院长看懵了

农药自从上线以来,依靠着强大的产品力以及腾讯的运营能力,在游戏市场上表现可谓是风生水起,根据第三方的调研数据显示,《王者荣耀》渗透率达到22.3%,用户规模达到2.01亿人,每日的日活跃用户(DAU)均值为5412.8万人。 如此可观的数据,令人十分钦佩。当然了,作为技术人,更愿意从技术上了解去一些王者荣耀的实现原理和架构方式,从中找到新的知识领域,扩展自己的知识边界,丰富自己的专业技能。借助

2017-09-13 21:15:05 11622 6

转载 C++面向对象模型初探

C++中的class从面向对象理论出发,将变量(属性)和函数(方法)集中定义在一起,用于描述现实世界中的类。从计算机的角度,程序依然由数据段和代码段构成。C++编译器如何完成面向对象理论到计算机程序的转化?换句话:C++编译器是如何管理类、对象、类和对象之间的关系?具体的说:具体对象调用类写的方法,那c++编译器是如何区分,是那个具体的类,调用这个方法呢?我们先看下面一段代码:

2017-08-17 23:06:57 271

转载 new/delete和malloc/free的区别深入解析

1. malloc()函数1.1 malloc的全称是memory allocation,中文叫动态内存分配。原型:extern void *malloc(unsigned int num_bytes); 说明:分配长度为num_bytes字节的内存块。如果分配成功则返回指向被分配内存的指针,分配失败返回空指针NULL。当内存不再使用时,应使用free()函数将内存块释放。1.

2017-08-16 07:40:52 518

转载 C++对象的动态建立与释放详解(new和delete)

我们知道可以用new运算符可以动态的分配内存,用delete运算符可以释放这些内存。当我们使用new运算符动态的分配一个内存之后,会自动返回一个该内存段的起始地址,也就是指针。=============下面先给出一个new和delete基本应用的例子,回顾一下它的基本用法============#includeusing namespace std;int main(){

2017-08-15 23:09:32 5792

转载 命名空间namespace的概念和使用

为什么需要命名空间(问题提出)命名空间是ANSIC++引入的可以由用户命名的作用域,用来处理程序中 常见的同名冲突。在 C语言中定义了3个层次的作用域,即文件(编译单元)、函数和复合语句。C++又引入了类作用域,类是出现在文件内的。 在不同的作用域中可以定义相同名字的变量,互不于扰,系统能够区别它们。1、全局变量的作用域是整个

2017-08-03 23:04:30 1827 3

转载 面向对象和面向过程的区别

面向对象:用线性的思维。与面向过程相辅相成。在软件开发过程中,宏观上,用面向对象来把握事物间复杂的关系,分析系统。微观上,仍然使用面向过程。“面向过程”是一种是事件为中心的编程思想。就是分析出解决问题所需的步骤,然后用函数把这写步骤实现,并按顺序调用。  ”面向对象“是以“对象”为中心的编程思想。   简单的举个例子:汽车发动、汽车到站。汽车启动是一个事件,汽车到站

2017-08-02 23:12:25 375

转载 面向对象的基本概念

面向对象的基本概念有对象、类、抽象、封装、继承、多态、接口、消息、组件、模式和复用等。 1.对象 对象是由数据及其操作所构成的封装体,是系统中用来描述客观事物的一个封装,是构成系统的基本单位,采用计算机语言描述,对象是由一组属性和对这组属性进行操作的一组服务构成。 对象包含三个基本要素,分别是对象标识、对象状态和对象行为。 每一个对象必须有一个名字以区别于其他对象,这就是对象标识;

2017-08-02 23:09:11 1533

转载 live555移植笔记一 ubuntu下live555+SMplayer在本机搭建rtsp服务器并验证

环境:  ubuntu-11.04-desktop-amd64.iso一,前期准备:1,下载live555  下载源码:http://www.live555.com/liveMedia/public可以下载最新的,我下载的版本是:live.2012.12.24.tar.gz2,安装live555root@microcreat:/w

2017-07-18 13:14:40 2165

转载 怎么样才算是精通 C++?

作者:vczh链接:https://www.zhihu.com/question/19794858/answer/18448868来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。精通C++是一个艰巨的任务。为什么C++比别的语言难学这么多?其实这基本上是因为C++他爹Bjarne Stroustrup说过的一句话“我特别讨厌语言的设计者把自己的喜好

2017-07-01 09:41:09 730

转载 Live555性能优化实践

网上很多文章提到了Live555的单线程任务调度模式,在用作RTSP服务时,导致了在并发量较多或者磁盘性能不佳时会导致性能较差,并发数受限。笔者通过在做基于海思3531编码器和解码器的过程当中(提供基于2路H264+1路AAC的TS流编码(输入为RTSP TS流)和RTSP流媒体解码播放),有以下2点收获,特分享给有需要的同仁。优化1:同步读取数据源修改为异步读取数据源, Fr

2017-06-30 07:15:59 3530 1

转载 VLC对Live555 RTSP视频直播稳定性问题

从不同时间测试来看,2015 VLC安卓版对rtsp兼容不太好,很不稳定;2016年已经稳定下来了,但官网提供的android app还是存在直播时卡机问题,开发人员需要进行提取去掉部分功能才能集成到自己的app中。 若使用live555做为网络直播流媒体服务,当网络延迟造成播放速度快于流下载的速度,即doGetNextFrame函数调用时流还没有传输过来;此时,用户需要增加延迟N毫秒执行

2017-06-30 06:59:00 3120

原创 live555学习之基本类介绍及计划任务深度探讨

liveMedia项目的源代码包括四个基本的库,各种测试代码以及Media Server。四个基本的库分别是:UsageEnvironment&TaskScheduler, groupsock, liveMedia和BasicUsageEnvironment。1,基础类介绍:BasicUsageEnvironment和UsageEnvironment中的类都是用于整个系

2017-06-29 07:49:20 381

转载 linux之学习live555视频笔记

开发板上交叉编译live555步骤笔记交叉编译live555MediaServer流媒体服务器RTP/RTCP, RTSP, SIPluther@gliethttp:~/live$ vi config.armlinux修改为CROSS_COMPILE=arm-linux-如果静态编译还需要做如下设置config.armlinux如下2处加入-static编译选项COMPILE_OPTS

2017-06-29 07:00:03 881

转载 C中如何调用C++函数

前阵子被问及一个在C中如何调用C++函数的问题,当时简单回答是将函数用extern "C"声明,当被问及如何将类内成员函数声明时,一时语塞,后来网上查了下,网上有一翻译C++之父的文章可以作为解答,遂拿来Mark一下。将 C++ 函数声明为``extern "C"''(在你的 C++ 代码里做这个声明),然后调用它(在你的 C 或者 C++ 代码里调用)。例如:// C++ code:e

2017-06-21 07:02:21 439

转载 Eclipse控制台输出信息的控制

当你在Eclipse中 running/debugging一个应用程序的时候,有关该应用程序的运行调试信息及日志信息都会输出到控制台(console )显示,但是Eclipse只会显示最后一部分的日志信息,如果你的应用程序会产生大量的运行调试信息及日志信息,你可能会想保持这些信息到文件中,以便查看分析。有三种方法仅供参考:(1)、我们可以设置Eclipse保存控制台文件。打开Run

2017-06-20 13:27:29 7977 1

转载 Eclipse CDT环境下编写、调试、运行C++程序详谈

前面在《Eclipse下编写C++程序——CDT环境搭建》博文中详细介绍了如何在Eclipse中安装CDT插件搭建C/C++开发环境,考虑到C/C++运行程序与Java、Python有一定的差异,也即在运行之前需要手动编译。下面就详细介绍如何手动编译与运行Eclipse-CDT环境下的C/C++程序(前提是C/C++的编译器MinGW已经在系统中安装成功,推荐下载地址:http://sourcef

2017-06-20 13:26:39 3605 1

转载 使用eclipse编译和管理live555源码

这是一个eclipse使用入门教程:live555使用makefile管理项目,当需要自己添加源码文件时,很麻烦,需要自己修改各文件间的依赖关系.其实我们可以很容易地将live555移植成eclipse自己的c++工程.这样可以让eclipse自动管理文件之间的关系.编译环境是在windows下的Mingw.安装mingw同时会安装MSYS,MSYS是一个命令行程序.要用mingw编译程序

2017-06-20 08:01:13 519

转载 关于ES、PES、PS以及TS码流

一、基本概念1)ES     ES--Elementary  Streams  (原始流)是直接从编码器出来的数据流,可以是编码过的视频数据流(H.264,MJPEG等),音频数据流(AAC),或其他编码数据流的统称。ES流经过PES打包器之后,被转换成PES包。    ES是只包含一种内容的数据流,如只含视频或只含音频等,打包之后的PES也是只含一种性质的ES,如只含视频

2017-06-14 07:00:54 547

转载 C语言中利用setjmp和longjmp做异常处理

错误处理是任何语言都需要解决的问题,只有不能保证100%的正确运行,就需要有处理错误的机制。异常处理就是其中的一种错误处理方式。1 过程活动记录(Active Record)C语言中每当有一个函数调用时,就会在堆栈(Stack)上准备一个被称为AR的结构,抛开具体编译器实现细节的不同,这个AR基本结构如下所示。 每当遇到一次函数调用的语句,C编译器都会产生出汇编代码来在

2017-06-13 21:57:23 474

转载 基于Hi3516A的H265 IPC LIVE555 开发基本原理

1 系统工作原理系统以Hi3516A开发平台(由高分辨率1080 p的AR0330摄像头模块和带千兆以太网功能的Hi3516A控制器模块组成硬件平台,并在硬件平台上烧写了U-Boot、Linux内核和加载了相关 驱动)作为基础,在该平台上开发应用程序。首先,进程A获取来自AR0330摄像头模块的YUV原始视频图像,并使用H265压缩编码算法进行压缩编码获 得H265格式码流,该过程

2017-06-10 22:34:12 5210 2

原创 以live555为例来分析H264码流的打包发送

H.264 视频 RTP 负载格式1. 网络抽象层单元类型 (NALU)NALU 头由一个字节组成, 它的语法如下:      +---------------+      |0|1|2|3|4|5|6|7|      +-+-+-+-+-+-+-+-+      |F|NRI|  Type   |      +---------------+F: 1 个比特.

2017-06-08 21:48:38 2579

转载 live555发送H264

继承关系:H264BufferedPacket->BufferedPacket BufferedPacket用于存储媒体数据的RTP包内容,它的子类具体到媒体类型,如H264BufferedPacket类。值得注意的有两点:  1)构造函数BufferedPacket()中申请了MAX_PACKET_SIZE(10000)大小的unsigned char数组。  2)一个重要函数是

2017-06-08 21:18:30 1067

转载 live555 linux 编译

live555 支持 h.264 初步告捷,可以播放,尽管不是很稳定,或者说暂时只能播放 1 帧(主要是我现在还不了解 帧的概念),同时还有 Mal SDP 的传输问题,但还是总结一下,作为参考。liveMedia项目(http://www.live555.com/)1、编译安装下载 source code 到 ubuntu 下解压./genMakefile Linux

2017-06-08 08:11:41 637

原创 Live555服务端与客户端的交互解析

1. 为什么有 RTSP?这要从 RTP 说起。RTP 是实时传输协议。具体请参考 RFC3550(http://www.ietf.org/rfc/rfc3550.txt)。RTP 在实际应用中,是被动推送的方式。即如下图的流程。则将会产生如下对话:(M: Media Server; C: Client)C:谁给我发视频呢?M:我!C:谁让你给我发视频的?M

2017-06-07 22:37:27 3347

原创 主流开源流媒体服务器收集

流媒体解决方案 Live555流媒体平台框架 EasyDarwin实时流媒体播放服务器程序DarwinStreamingSrvr流媒体实时传输开发包 jrtplib多媒体处理工具 ffmpeg多媒体编码工具包LibavFlash流媒体服务器 Red5流媒体服务器 Open Streaming ServerFMS流媒体服务器Wowza流媒体服务器开源流媒体平台

2017-06-03 17:59:45 3406

转载 [RTSP]live555-openRTSP客户端流程

1、创建TaskScheduler和BasicUsageEnvironment类;2、命令行解析,获取流媒体地址和其他选项;3、创建RTSPClient对象;4、如果需要,RTSPClient对象发送OPTIONS命令并解析服务端响应,获取可以使用命令集。5、RTSPClient对象发送DESCRIBE命令,并从获服务端反馈中获取流媒体相关描述SDP字串。6、创建MediaSe

2017-06-03 07:21:01 1920

转载 Visual Studio 2015 的安装与使用

为什么要使用Visual Studio 2015?它是中文的、界面友好、自动补全、实时语法错误提示(上图中波浪线部分)、单步调试……最重要的社区版是免费的!所以你不必再昧着良心使用不合法、老旧的不兼容当代系统的VC++6.0,Come to VS2015 and enjoy it!接下来我将告诉你如何安装以及使用它编写、运行C/C++程序!?获得Visual S

2017-05-29 11:31:03 2971

转载 c++中冒号(:)和双冒号(::)的用法

1.冒号(:)用法(1)表示机构内位域的定义(即该变量占几个bit空间)typedef struct _XXX{unsigned char a:4;unsigned char c;} ; XXX(2)构造函数后面的冒号起分割作用,是类给成员变量赋值的方法,初始化列表,更适用于成员变量的常量const型。struct _XXX{_XXX

2017-05-23 07:36:23 489

转载 H264的打包与发送,SPS、PPS提取与作用

牛逼的视频会议网站:http://wmnmtm.blog.163.com/blog/#m=0++++++++++++++++++++++++++++++++++++++++++++++++++++http://wmnmtm.blog.163.com/blog/static/38245714201192491746701/使用RTP传输H264的时候,需要用到sdp协议描

2017-05-19 13:12:44 2127 1

candictionary_v1_cn.pdf

本词典简要介绍 CAN 技术中使用的词汇和缩写。它并非用于代替任何标准或规范。借助CAN 词典,CAN 新用户可不必查阅标准和规范就能很方便地了解技术文章、手册等。

2020-05-05

字库生成器

字库生成器,可直接生成使用。 无需注册即可使用。。。

2017-11-01

用Eclipse和GDB构建ARM交叉编译和在线调试环境

用Eclipse和GDB构建ARM交叉编译和在线调试环境,很详细,可以参考

2017-05-02

STM32与AVR的IIC通信例程

STM32F103作为主机,AVR的Mega8A作为从机惊醒通信,已验证没有问题,可以直接使用。

2017-03-04

H264文件查看器

查看H264文件结构层次的工具,可以很方面的查看文件的片组信息。

2017-02-28

h264中文协议(中英文对照)H264解码手册

h264中文协议(中英文对照)H264解码手册

2017-02-19

HEVC(H265)标准文档JCTVC-L1003-v9

HEVC(H265)标准文档JCTVC-L1003-v9,纯英文版

2017-02-19

空空如也

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

TA关注的人

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