- 博客(163)
- 资源 (17)
- 收藏
- 关注
转载 FFMPEG音视频解码流程&MP4音视频文件流读取(转)
1.播放多媒体文件步骤通常情况下,我们下载的视频文件如MP4,MKV、FLV等都属于封装格式,就是把音视频数据按照相应的规范,打包成一个文本文件。我们可以使用MediaInfo这个工具查看媒体文件的相关信息。所以当我们播放一个媒体文件时,通常需要经过以下几个步骤①解封装(Demuxing):就是将输入的封装格式的数据,分离成为音频流压缩编码数据和视频流压缩编码数据。封装格式种类...
2018-09-23 20:15:55 8036 3
转载 FFmpeg实时解码H264
原文地址:http://blog.csdn.net/qq_41051855/article/details/79051667 ffmpeg的解码过程在前面已经稍微总结了下,这里主要是测试一下用ffmpeg如何进行实时的解码。 在解码之前,我们先做好准备工作,调用摄像头。编码的过程中,进行入队出队操作,出队后的数据交给解码器,进行解码。 接下来依次介绍各个模块。1.调用摄像头:[c...
2018-03-15 13:51:06 2823 1
转载 Opus FEC小结
版权声明:本文为博主原创文章,未经博主允许不得转载。 http://blog.csdn.net/xy_kok/article/details/73649776 前向纠错也叫前向纠错码(Forward Error Correction,简称FEC),是增加数据通讯可信度的方法。在单向通讯信道中,一旦错误被发现,其接收器将无权再请求传输。FE...
2018-02-21 12:15:06 617
转载 Winodws下编译OpenH264 for Windows
简介OpenH264 是思科的开源项目,可以编码解码H264,常见的H264编码器还有x264项目。由于OpenH264项目的文档较少,初学的门槛较高,所以整理一些文章来帮忙初学者入门。OpenH264系列文章包括:编译OpenH264 for Windows编译OpenH264 for Android编译OpenH264 for iOS编译OpenH264 for W
2017-12-25 17:01:34 2365
转载 ffplay流程分析
背景说明FFmpeg是一个开源,免费,跨平台的视频和音频流方案,它提供了一套完整的录制、转换以及流化音视频的解决方案。而ffplay是有ffmpeg官方提供的一个基于ffmpeg的简单播放器。学习ffplay对于播放器流程、ffmpeg的调用等等是一个非常好的例子。本文就是对ffplay的一个基本的流程剖析,很多细节内容还需要继续钻研。注:本文师基于ffmpeg-2.0版本进行分析
2017-09-18 14:06:58 1710
转载 如何定位Android NDK开发中遇到的错误
摘要:Android NDK中的错误定位对很多开发者来说是一件头疼的事,本文通过一个Demo程序详细讲解了NDK的错误是如何产生的,以及如何通过命令行工具定位NDK的问题所在。Android NDK是什么?Android NDK 是在SDK前面又加上了“原生”二字,即Native Development Kit,因此又被Google称为“NDK”。众所周知,Android程序运行在Dalv
2017-08-02 09:53:15 523
转载 build.gradle文件详解
apply plugin: 'com.android.application'//说明module的类型,com.android.application为程序,com.android.library为库android { compileSdkVersion 22//编译的SDK版本 buildToolsVersion "22.0.1"//编译的Tools版本 de
2017-07-28 09:47:43 606
转载 Android的.so文件、ABI和CPU的关系
转自:http://blog.csdn.net/xx326664162/article/details/51163905早期的Android系统几乎只支持ARMv5的CPU架构,你知道现在它支持多少种吗?android系统目前支持以下七种不同的CPU架构:ARMv5,ARMv7 (从2010年起),x86 (从2011年起),MIPS (从2012年起),ARMv8,MIPS64和
2017-07-28 09:45:55 453
转载 ActiveX相关
一、ActiveX控件重命名通过新建VS2005中的“MFC ActiveX Control”项目开发的ActiveX控件,需要改名字。 开始在工程配置中修改了输出文件的名字,也修改了*.idl及*.def文件中与控件名字相关的字符串,但是在系统中注册之后显示的仍然是之前的名字。 后来发现控件名字是在工程中以ctrl为后缀的*.cpp文件中的“IMPLEMENT_OLECTLTYP
2017-07-05 15:41:22 461
转载 用GDB调试程序(七)
改变程序的执行——————— 一旦使用GDB挂上被调试程序,当程序运行起来后,你可以根据自己的调试思路来动态地在GDB中更改当前被调试程序的运行线路或是其变量的值,这个强大的功能能够让你更好的调试你的程序,比如,你可以在程序的一次运行中走遍程序的所有分支。 一、修改变量值 修改被调试程序运行时的变量值,在GDB中很容易实现,使用GDB的pr
2017-04-06 18:00:09 340
转载 用GDB调试程序(六)
七、设置显示选项 GDB中关于显示的选项比较多,这里我只例举大多数常用的选项。 set print address set print address on 打开地址输出,当程序显示函数信息时,GDB会显出函数的参数地址。系统默认为打开的,如: (gdb) f #0 set_quo
2017-04-06 17:56:38 299
转载 用GDB调试程序(五)
查看运行时数据——————— 在你调试程序时,当程序被停住时,你可以使用print命令(简写命令为p),或是同义命令inspect来查看当前程序的运行数据。print命令的格式是: print print / 是表达式,是你所调试的程序的语言的表达式(GDB可以调试多种编程语言),是输出的格式,比如,如果要把表达式按1
2017-04-06 17:54:27 449
转载 用GDB调试程序(四)
查看栈信息—————当程序被停住了,你需要做的第一件事就是查看程序是在哪里停住的。当你的程序调用了一个函数,函数的地址,函数参数,函数内的局部变量都会被压入“栈”(Stack)中。你可以用GDB命令来查看当前的栈中的信息。下面是一些查看函数调用栈信息的GDB命令: backtrace bt 打印当前的函数调用栈的所有信息。如:
2017-04-06 17:52:10 306
转载 用GDB调试程序(三)
四、维护停止点上面说了如何设置程序的停止点,GDB中的停止点也就是上述的三类。在GDB中,如果你觉得已定义好的停止点没有用了,你可以使用delete、clear、disable、enable这几个命令来进行维护。 clear 清除所有的已定义的停止点。 clear clear 清除所有设置在函数上的停止点。
2017-04-06 17:31:09 332
转载 用GDB调试程序(二)
GDB的命令概貌———————启动gdb后,就你被带入gdb的调试环境中,就可以使用gdb的命令开始调试程序了,gdb的命令可以使用help命令来查看,如下所示: /home/hchen> gdb GNU gdb 5.1.1 Copyright 2002 Free Software Foundation, Inc. GDB is free s
2017-04-06 14:15:39 333
转载 用GDB调试程序(一)
用GDB调试程序GDB概述————GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具。或许,各位比较喜欢那种图形界面方式的,像VC、BCB等IDE的调试,但如果你是在UNIX平台下做软件,你会发现GDB这个调试工具有比VC、BCB的图形化调试器更强大的功能。所谓“寸有所长,尺有所短”就是这个道理。一般来说,GDB主要帮忙你完成下面四个方面的功能: 1、启动你的
2017-04-04 23:02:53 639
原创 Windows程序崩溃定位
上传资源见:http://download.csdn.net/detail/zwz1984/9800293一、目录说明目录下有三个文件夹:Src、Lib、Tool。Src存放生成dmp文件(崩溃转储文件)所需要的源文件,需要集成到程序源码中的。Lib存放生成dmp文件的依赖库(dbghelp.dll)。现在的Window系统(Win7以上)都已集成了此库;如果系统中没有,则
2017-03-31 16:50:37 2944
原创 视频中字幕的实现(分层窗口)
某客户的视频项目中,需要在视频上加入滚动字幕。粗略想了下,有两种实现方式:1. 在一个窗口上绘制视频帧和字幕实现方式:底层将视频帧数据通过回调传递给上层。上层在渲染窗口中,先绘制视频帧,再绘制上层字幕。这种方法,用惯了GDI绘制的人比较容易想到。但是,这样做并不是一种特别合理的方式。1)视频SDK中需要暴露视频帧数据。2)上层绘制视频帧可能会影响到底层的音视频同步。3)
2017-03-29 09:42:35 1464
原创 视频画中画的实现(窗口剪裁)
在视频后续的研发过程中,采用“图像合成”来实现画中画的模式,逐渐被舍弃。原因有两点:其一、图像合成会占用较多的资源;其二、展示方式不是太灵活(比如:当画中画中小窗口的大小、位置涉及调整时,需要动底层代码)。 在开发视频SDK时,我们通常给底层传入要渲染的窗口句柄;也就是说,窗口的绘制完全交于底层来处理。那画中画如何在上层控制呢?简单的将两个窗口叠加在一起,会因为视频的同时渲染而导
2017-03-26 17:51:58 3430
原创 视频画中画的实现(图像合成)
在研发公司视频的过程中,兄弟部门提了一个需求:在客户端能不能以画中画(或矩阵)的形式来展示双向视频?摄像头采集的原始图像格式是YUV,如果我能把本地采集和远端传输的YUV图像合成到一起,问题就能得到解决。但是,怎么合成还是一头雾水。于是,上网找资料,终于发现了一篇类似的文章《YUV图像合成原理》,见http://blog.csdn.net/zwz1984/article/details/50403
2017-03-26 17:04:55 6461 4
原创 实现一个简单的压测工具
公司开发了一些服务器程序;上生产前需要进行压力测试,测试点包括:并发数、响应时间、吞吐量等指标。领导说,能不能仿照LoadRunner实现一个简单的压测工具(并发数在10000以上,结果指标以曲线图的形式展示)。任务下达后,我琢磨着这两个难点,怎么去实现?一、并发数支持 我使用过压测客户端StressMark,我就想能不能简单的改造下StressMark,来满足现...
2017-03-26 16:20:46 5045 3
转载 设计模式C++实现(15)——观察者模式
软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性:封装、继承、多态,真正领悟设计模式的精髓是可能一个漫长的过程,需要大量实践经验的积累。最近看设计模式的书,对于每个模式,用C++写了个小例子,加深一下理解。主要参考《大话设计模式》和《设计模式:可复用面向对象软件的基础》两本书。本文介绍观察者模式的实现。 观察者模式:定
2017-03-23 16:51:08 252
转载 设计模式C++实现(14)——职责链模式
软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性:封装、继承、多态,真正领悟设计模式的精髓是可能一个漫长的过程,需要大量实践经验的积累。最近看设计模式的书,对于每个模式,用C++写了个小例子,加深一下理解。主要参考《大话设计模式》和《设计模式:可复用面向对象软件的基础》两本书。本文介绍装饰模式的实现。 职责链模式:使多个
2017-03-23 11:01:54 268
转载 设计模式C++实现(13)——中介者模式
软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性:封装、继承、多态,真正领悟设计模式的精髓是可能一个漫长的过程,需要大量实践经验的积累。最近看设计模式的书,对于每个模式,用C++写了个小例子,加深一下理解。主要参考《大话设计模式》和《设计模式:可复用面向对象软件的基础》两本书。本文介绍中介者模式的实现。 中介者模式:
2017-03-23 10:48:38 327
原创 开源一个简单的VC界面库
转摘惯了,一时要主动码字,竟发现无从下笔。简单的说,就是我把工作中一些常用的控件,整理成一个简单的VC界面库。界面库命名为:TzUI,支持控件包括:Static、Button、Edit、Slider、Progress、ComboBox、RadioBox、CheckBox。源码托管在csdn上,地址为:https://download.csdn.net/download/zwz1984...
2017-03-19 22:12:56 3528 7
转载 CODE CSDN Git 配制方法介绍
以前一直使用Github,最近看到CSDN出了CODE代码托管功能,由于国内的阿里云服务器很稳定,而且不会被国墙,所以果断的迁移了,下面就简单的介绍一下CODE的配置使用。其实CSDN的code 何丽萍介绍的很全面了。首先需要下载GIT客户端,http://git-scm.com/downloads。。。 然后再code.csdn.net上面创建一个项目,如果你的项目已经存
2017-03-19 21:57:27 279
转载 设计模式C++实现(12)——备忘录模式
软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性:封装、继承、多态,真正领悟设计模式的精髓是可能一个漫长的过程,需要大量实践经验的积累。最近看设计模式的书,对于每个模式,用C++写了个小例子,加深一下理解。主要参考《大话设计模式》和《设计模式:可复用面向对象软件的基础》两本书。本文介绍备忘录模式的实现。 备忘录模式:在不
2017-03-18 21:27:49 267
转载 设计模式C++实现(11)——装饰模式
软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性:封装、继承、多态,真正领悟设计模式的精髓是可能一个漫长的过程,需要大量实践经验的积累。最近看设计模式的书,对于每个模式,用C++写了个小例子,加深一下理解。主要参考《大话设计模式》和《设计模式:可复用面向对象软件的基础》两本书。本文介绍装饰模式的实现。 装饰模式:动态地给
2017-03-16 21:00:54 238
转载 设计模式C++实现(10)——桥接模式
软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性:封装、继承、多态,真正领悟设计模式的精髓是可能一个漫长的过程,需要大量实践经验的积累。最近看设计模式的书,对于每个模式,用C++写了个小例子,加深一下理解。主要参考《大话设计模式》和《设计模式:可复用面向对象软件的基础》两本书。本文介绍桥接模式的实现。 [DP]书上定义:
2017-03-15 20:28:42 266
转载 设计模式C++实现(9)——享元模式
软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性:封装、继承、多态,真正领悟设计模式的精髓是可能一个漫长的过程,需要大量实践经验的积累。最近看设计模式的书,对于每个模式,用C++写了个小例子,加深一下理解。主要参考《大话设计模式》和《设计模式:可复用面向对象软件的基础》(DP)两本书。本文介绍享元模式的实现。 举个围棋
2017-03-15 20:20:50 311
转载 设计模式C++实现(8)——代理模式
软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性:封装、继承、多态,真正领悟设计模式的精髓是可能一个漫长的过程,需要大量实践经验的积累。最近看设计模式的书,对于每个模式,用C++写了个小例子,加深一下理解。主要参考《大话设计模式》和《设计模式:可复用面向对象软件的基础》(DP)两本书。本文介绍代理模式的实现。 [DP]
2017-03-14 22:43:34 294
转载 设计模式C++实现(7)——外观模式、组合模式
软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性:封装、继承、多态,真正领悟设计模式的精髓是可能一个漫长的过程,需要大量实践经验的积累。最近看设计模式的书,对于每个模式,用C++写了个小例子,加深一下理解。主要参考《大话设计模式》和《设计模式:可复用面向对象软件的基础》(DP)两本书。本文介绍外观模式和组合模式的实现。
2017-03-13 20:46:38 274
转载 设计模式C++实现(6)——建造者模式
软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性:封装、继承、多态,真正领悟设计模式的精髓是可能一个漫长的过程,需要大量实践经验的积累。最近看设计模式的书,对于每个模式,用C++写了个小例子,加深一下理解。主要参考《大话设计模式》和《设计模式:可复用面向对象软件的基础》(DP)两本书。本文介绍建造者模式的实现。 建造者模
2017-03-12 14:29:23 279
转载 【设计模式】——原型模式VS模板方法模式
不知道何种原因总是把原型模式和模板方法模式搞混,着实很苦恼啊!不知道大家是否有同样的困扰,有的话治疗,没有的话预防啊。故该文章进行详细对比学习!原型模式 所谓的原型模式:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。 解释:从一个对象再创建另外一个可定制的对象,而且不需要知道任何创建的细节。应该注意概念中的拷贝两个字,这是原型模式的精髓所在。原型模式实行的
2017-03-12 14:20:05 577
转载 设计模式C++实现(5)——原型模式、模板方法模式
软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性:封装、继承、多态,真正领悟设计模式的精髓是可能一个漫长的过程,需要大量实践经验的积累。最近看设计模式的书,对于每个模式,用C++写了个小例子,加深一下理解。主要参考《大话设计模式》和《设计模式:可复用面向对象软件的基础》(DP)两本书。本文介绍原型模式和模板方法模式的实现。首先介绍原型模
2017-03-12 14:18:25 262
转载 设计模式C++实现(4)——单例模式
软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性:封装、继承、多态,真正领悟设计模式的精髓是可能一个漫长的过程,需要大量实践经验的积累。最近看设计模式的书,对于每个模式,用C++写了个小例子,加深一下理解。主要参考《大话设计模式》和《设计模式:可复用面向对象软件的基础》(DP)两本书。本文介绍单例模式的实现。 单例的一般实
2017-03-12 14:04:56 266
转载 设计模式C++实现(3)——适配器模式
软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性:封装、继承、多态,真正领悟设计模式的精髓是可能一个漫长的过程,需要大量实践经验的积累。最近看设计模式的书,对于每个模式,用C++写了个小例子,加深一下理解。主要参考《大话设计模式》和《设计模式:可复用面向对象软件的基础》(DP)两本书。本文介绍适配器模式的实现。 DP上
2017-03-06 19:41:15 287
转载 设计模式C++实现(2)——策略模式
软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性:封装、继承、多态,真正领悟设计模式的精髓是可能一个漫长的过程,需要大量实践经验的积累。最近看设计模式的书,对于每个模式,用C++写了个小例子,加深一下理解。主要参考《大话设计模式》和《设计模式:可复用面向对象软件的基础》两本书。本文介绍策略模式的实现。 策略模式是指定义一
2017-03-06 13:50:45 229
转载 设计模式C++实现(1)——工厂模式
软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性:封装、继承、多态,真正领悟设计模式的精髓是可能一个漫长的过程,需要大量实践经验的积累。最近看设计模式的书,对于每个模式,用C++写了个小例子,加深一下理解。主要参考《大话设计模式》和《设计模式:可复用面向对象软件的基础》两本书。本文介绍工厂模式的实现。 工厂模式属于创建型
2017-03-05 22:21:18 291
转载 C++操作Redis的简单例子
相信做过服务端开发的应该都知道Redis的大名,它是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,我们后台是用C++开发的,问了下他们,用的缓存框架有Redis,SSDB,今天看了几个帖子,简单了解Redis的用法。记录一下过程。首先去官网下载最新的Redis源码http://redis.io/解压之后,进入目录编译make
2017-02-06 11:01:00 24560 2
自己整理的一个简单界面库(基于MFC)
2019-12-20
LRLite.zip
2019-12-20
Windows调试(通过dump文件定位崩溃)
2017-03-31
NAT检测程序
2013-04-12
软键盘小程序(第二版)
2013-03-01
网络蜘蛛小程序
2012-01-14
Awicons 是一个搜索,创建,编辑,导入/导出,管理图标,光标,和小型图片的强力工具
2009-08-12
如何用KMDF开发驱动
2009-02-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人