自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(48)
  • 资源 (18)
  • 收藏
  • 关注

转载 Android Render(一)Activity窗口构成和绘制解析

阅读者三篇Android绘制文章,会让你对理解Android绘制有帮助:Android Render(一)Activity窗口构成和绘制解析 Android Render(二)7.1源码硬件加速下draw绘制流程分析 Android Render(三)supportVersion 27.0.0源码RecyclerView绘制流程解析一、Activity窗口构成这里我们会介绍到Acti...

2019-05-07 15:57:13 842

转载 视频格式封装——H264

转自:http://blog.csdn.net/yangzhongxuan/article/details/8003494http://blog.csdn.net/gl1987807/article/details/11946025名词解释场和帧 : 视频的一场或一帧可用来产生一个编码图像。在电视中,为减少大面积闪烁现象,把一帧分成两个隔行的场。片:...

2019-05-05 17:39:10 561

转载 Android视频直播的实现(推流完整实现001)

http://blog.csdn.NET/huaxun66/article/details/53427771http://blog.csdn.net/huaxun66/article/details/53427771最近一段时间,视频直播可谓大火。在视频直播领域,有不同的商家提供各种的商业解决方案,包括软硬件设备,摄像机,编码器,流媒体服务器等。本文要讲解的是如何使用一...

2019-05-05 16:39:15 5294

转载 FFMPEG视音频编解码零基础学习方法

原文:https://blog.csdn.net/leixiaohua1020/article/details/15811977原文有很多链接.在CSDN上的这一段日子,接触到了很多同行业的人,尤其是使用FFMPEG进行视音频编解码的人,有的已经是有多年经验的“大神”,有的是刚开始学习的初学者。在和大家探讨的过程中,我忽然发现了一个问题:在“大神”和初学者之间好像有一个不可逾越的鸿...

2019-05-05 16:04:54 300

转载 YUV420P的像素数据编码为H.264的压缩编码数据

本文介绍一个最简单的基于FFMPEG的视频编码器。该编码器实现了YUV420P的像素数据编码为H.264的压缩编码数据。编码器代码十分简单,但是每一行代码都很重要,适合好好研究一下。弄清楚了本代码也就基本弄清楚了FFMPEG的编码流程。下面附一张使用FFmpeg编码视频的流程图。使用该流程,不仅可以编码H.264的视频,而且可以编码MPEG4/MPEG2/VP8等等各种FFmpeg支持的视频。...

2019-05-05 15:49:50 972

转载 MPEG4Extractor分析

Android Stagefright MPEG4Extractor分析视频播放的基本流程播放器从DataSource获取媒体数据,通过Demuxer分离音视频轨道,分别送到相应的音视频解码器,最后将解码后的数据输出到音视频设备。在Stagefright里,MediaExtractor即是用于分离音视频轨道的Demuxer。它是一个抽象类,声明了方法sp<Me...

2019-04-29 17:41:09 1217

转载 MP4解析

mp4文件格式解析目前MP4的概念被炒得很火,也很乱。最开始MP4指的是音频(MP3的升级版),即MPEG-2 AAC标准。随后MP4概念被转移到视频上,对应的是MPEG-4标准。而现在我们流行的叫法,多半是指能播放MPEG-4标准编码格式视频的播放器。但是这篇文章介绍的内容跟上面这些都无关,我们要讨论的是MP4文件封装格式,对应的标准为ISO/IEC 14496-12,即信息技术视...

2019-04-29 17:40:36 1733

原创 颜色空间表示方式YUV,RGB

计算机彩色显示器显示色彩的原理与彩色电视机一样,都是采用R(Red)、G(Green)、B(Blue)相加混色的原理:通过发射出三种不同强度的电子束,使屏幕内侧覆盖的红、绿、蓝磷光材料发光而产生色彩。这种色彩的表示方法称为RGB色彩空间表示(它也是多媒体计算机技术中用得最多的一种色彩空间表示方法)。根据三基色原理,任意一种色光F都可以用不同分量的R、G、B三色相加混合而成。F = r [ R ...

2019-04-29 17:37:58 924

原创 图文详解YUV420数据格式

YUV格式有两大类:planar和packed。对于planar的YUV格式,先连续存储所有像素点的Y,紧接着存储所有像素点的U,随后是所有像素点的V。对于packed的YUV格式,每个像素点的Y,U,V是连续交*存储的。YUV,分为三个分量,“Y”表示明亮度(Luminance或Luma),也就是灰度值;而“U”和“V” 表示的则是色度(Chrominance或Chroma),作用...

2019-04-29 17:37:23 622

原创 I帧、P帧和B帧的特点

I帧:帧内编码帧I帧特点:1.它是一个全帧压缩编码帧。它将全帧图像信息进行JPEG压缩编码及传输;2.解码时仅用I帧的数据就可重构完整图像;3.I帧描述了图像背景和运动主体的详情;4.I帧不需要参考其他画面而生成;5.I帧是P帧和B帧的参考帧(其质量直接影响到同组中以后各帧的质量);6.I帧是帧组GOP的基础帧(第一帧),在一组中只有一个I帧;7.I帧不需要考虑运动矢量;8.I帧...

2019-04-29 17:37:00 659

原创 android 修炼

经过两年的时间,终于完成对Android系统的研究了。Android是一个博大精深的系统,老罗不敢说自己精通了(事实上最讨厌的就是说自己精通神马神马的了,或者说企业说要招聘精通神马神马的人才),但是至少可以说打通了整个Android系统,从最上面的应用层,一直到最下面的Linux内核,炼就的是一种内功修养。这篇文章和大家一起分享这两年研究Android系统的历程,以此感谢大家一直以来的支持和鼓励。...

2019-04-29 17:36:49 509

原创 android的消息处理机制(图+源码分析)——Looper,Handler,Message

android的消息处理机制(图+源码分析)——Looper,Handler,Message作为一个大三的预备程序员,我学习android的一大乐趣是可以通过源码学习google大牛们的设计思想。android源码中包含了大量的设计模式,除此以外,android sdk还精心为我们设计了各种helper类,对于和我一样渴望水平得到进阶的人来说,都太值得一读了。这不,前几天为了了解android...

2019-04-29 17:36:37 291

原创 Android WifiDisplay分析二:Wifi display连接过程

版权声明:本文为博主原创文章,未经博主允许不得转载。目录(?)[-]WifiDisplay之P2P的建立 WifiDisplay之RTSP server的创建这一章中我们来看Wifi Display连接过程的建立,包含P2P的部分和RTSP的部分,首先来大致看一下Wifi Display规范相关的东西。HIDC: Human Interface Device Class ...

2019-04-29 17:36:28 7803

原创 Android WifiDisplay分析三:RTSP交互以及数据传输

http://blog.csdn.net/innost/article/details/8474683http://blog.csdn.net/lilian0118/article/details/22849249http://blog.csdn.net/lilian0118/article/details/22732747http://blog.csdn.net/lilian0118...

2019-04-29 17:36:17 1181

原创 Android下WiFiDisplay功能探究

1WiFiDisplay简介1.1WiFiDisplay概述 WiFiDisplay(WFD)是WiFi联盟在已有技术的基础上,为了加速视/音频的传输分享而提出来的一个新概念。WiFi联盟对此成立了一个认证项目:Miracast-- 用来认证一个设备是否支持WiFiDisplay功能。 下图是WiFiDisplay功能的技术支撑体系,实际上最重要的部分就是WiFi ...

2019-04-29 17:36:09 7174

原创 Android Wi-Fi Display(Miracast)介绍

Android Wi-Fi Display(Miracast)介绍2012年11月中旬,Google发布了Android4.2。虽然它和Android 4.1同属Jelly Bean系列,但却添加了很多新的功能。其中,在显示部分,Android 4.2在Project Butter基础上再接再厉,新增了对Wi-Fi Display功能的支持。由此也导致整个显示架构发生了较大的变化。本文首...

2019-04-29 17:35:59 9274

原创 YV12 and NV12

用videoCapture和IAMStreamConfig拿到的支持的格式列表。发现支持2中图像格式,YV12和NV12。具体是怎么样的内存分布不知道。查了些文档。自己修改了几个图。看出了点端倪YV12先看看 http://www.fourcc.org/yuv.php 上比较标准的定义:YV12This is the format of choice f...

2019-04-29 17:35:47 2140

原创 STC,PCR,DTS,PTS

PTS和DTS是时标,每秒增加90k这个在MPEG2文档中可以查到The PTS/DTS flags in the packet header are set to indicate the presence of PTS alone or both PTS and DTS time stamp. Audio packets may contain several access units a...

2019-04-29 17:35:03 2088

原创 PTS PCR DTS 详解

PTS PCR DTS 详解 MPEG-2 TS/PS同步原理2010-08-11 19:47 一、引言 MPEG-2系统用于视音频同步以及系统时钟恢复的时间标签分别在ES,PES和TS这3个层次中。在ES层,与同步有关的主要是视频缓冲验证VBV(Video Buffer Verifier),用以防止解码器的缓冲器出现上溢或者下溢;在PES层,主要是在PES头信息里出现的显示时间标签PTS(Pre...

2019-04-29 17:34:40 2033

原创 mpeg-2 PSI/SI

近两年来,随着有线电视数字化进程的加快,越来越多的网络运营商开始了数字化的推进工作。数字电视从传输到接收对于我们从事有线网络工作的技术人员来说都是一个全新的概念,与以往的模拟电视技术有着本质的区别,因此我们必须不断更新自己的知识结构以适应新技术的要求。我国的有线数字电视传输是采用欧洲的DVB-C标准。在此标准中规定了使用MPEG-2标准来压缩和传输数字电视信号和数据信息.本文主要从以下几个部分来...

2019-04-29 17:34:21 1298

原创 颜色空间表示方式YUV,RGB

计算机彩色显示器显示色彩的原理与彩色电视机一样,都是采用R(Red)、G(Green)、B(Blue)相加混色的原理:通过发射出三种不同强度的电子束,使屏幕内侧覆盖的红、绿、蓝磷光材料发光而产生色彩。这种色彩的表示方法称为RGB色彩空间表示(它也是多媒体计算机技术中用得最多的一种色彩空间表示方法)。根据三基色原理,任意一种色光F都可以用不同分量的R、G、B三色相加混合而成。F = r [ R ...

2019-04-29 17:33:54 1450

原创 如何成为优秀工作者

如何成为优秀工作者·掌握…… 优秀工作者创造出比普通工作者眩目的工作成绩所依赖的九项策略。·理解…… 主动地提出一些超出你工作范围之外,但对整个组织都有利的、大胆的、建设性的观点。  ·网络…… 优秀工作者用来与那些将使其工作更加有效的专家联络的有效途径。 ·增加…… 通过自我管理你的工作行为以及尝试从不同角度分析一个项目,使你对你的公司更有价值。 ·影响……   利用你优秀的...

2019-04-29 17:21:12 393

原创 TDLS应用与协议

实现TDLS特性协议基本功能过程。协议过程简介TDLS是基于IEEE 802.11z标准。TDLS自动链接配置主要通过几个过程来完成。TDLS Discovery过程TDLS Discovery 过程由一部STA设备通过AP或GO(群组拥有者) 向另外一部STA设备发送一个TDLS Discovery请求帧开始。如果目标设备也兼容TDLS,它将直接向该发送设备回复T

2016-05-29 16:43:57 3593

原创 随机数 权重 概率

有个很简单的思路,你可以试试。生成两次随机数,第一次范围在1到100范围内,设生成的数为x判断x,再用随机数生成y1. 若x在[1,25]内,则生成y时,设置随机数范围为6到92.若x在[26,75]内,则生成y时,随机数范围为10到143.剩余情况,则生成y时,设置范围为15到18得到的y即为你要求的随机数#include#include#incl

2014-04-02 13:08:10 465

原创 Linux下计算进程的CPU占用和内存占用的编程方法

Linux下没有直接可以调用系统函数知道CPU占用和内存占用。那么如何知道CPU和内存信息呢。只有通过proc伪文件系统来实现。proc伪文件就不介绍了,只说其中4个文件。一个是/proc/stat,/proc/meminfo,/proc//status,/proc//stat摘自:http://www.blogjava.net/fjzag/articles/317773.html

2014-03-25 14:38:40 552

原创 关于Gstrteamer udp和 v4l2src测试问题

第一组:接收:gst-launch-0.10 udpsrc port=1234 ! theoradec ! ffmpegcolorspace ! ximagesink发送:gst-launch-0.10 v4l2src ! ffmpegcolorspace ! theoraenc ! udpsink host=127.0.0.1 port=1234这组可以成功显示摄像头图片

2014-02-17 14:43:30 851

原创 GStreamer资料(摄像头采集,视频保存,远程监控)DVR

http://blog.csdn.net/wzwxiaozheng/archive/2010/12/26/6099397.aspxGStreamer资料整理(包括摄像头采集,视频保存,远程监控,流媒体RTP传输)1,gstreamer开发手册,gstreamer官网(这些都不用说了吧)2,gst-launch的用法,这也不用说了吧。(白菜,鸡蛋,西红柿,砖头,鼠标……..)

2014-02-17 14:39:37 1107

原创 gstreamer编程--相关文档及系统配置

学习GStremer编程,整理了些现有的资料与大家分享:GSstreamer文档首页:http://gstreamer.freedesktop.org/documentation/(建议先将Application Development Manual通读一遍,对GStreamer有可整理理解,网上也有中文文档的)GStreamer论坛:http://www.chinavid

2014-01-27 15:56:15 69

原创 用gstreamer实现照相机功能

Camera的主要功能是照相和录像,利用gstreamer,我们可以使Camera的实现更加简单。1、照相 照相的实现一般有两种方法:第一种需要创建两个管道,分别用来预览和照相,预览管道:pipeline = gst_parse_launch("v4lsrc name=src ! xvimagesink name=display", &error);照相管道:photobin = gst_pars

2014-01-27 15:32:13 867 1

原创 Gstreamer时钟

Clocks-----------    GstClock用_get_time()返回单调递增的时间,它的精度和base time取决于时钟实现,但总是以纳秒为单位。既然时钟的基线没有被定义,时钟返回的值本身毫无意义,只有两个时钟之间的差值才有意义。    GstClock返回的时间值被称为absolute_time。Clock Selection~~~~~~~~~~~~~

2014-01-27 15:21:42 622

原创 Gstreamer GstPipeline管道 时钟

GstPipeline管道 翻译自part-gstpipeline.txtGstPipeline------------------------------    GstPipeline是一个顶级的bin,给所有的子元素提供时钟。    GstPipeline也提供一个顶级的GstBus。    GstPipeline基于选择的时钟计算running_time。   

2014-01-27 14:59:10 636

原创 Gstreamer流

Streams----------------------    这篇文档描述在流线程中从一个元素传递到另一个元素的对象。Stream objects ~~~~~~~~~~~~~~    如下的对象可能会出现在流线程中。    - events        - NEW_SEGMENT (NS)        - EOS  (EOS)             

2014-01-27 14:54:05 583

原创 Gstreamer PUSH和PULL模式

gstreamer PUSH和PULL模式,翻译自part-push-pull.txtPUSH-PULL--------------    通畅情况下,一个source element用gst_pad_push()方法推送(push)数据到下游的element。下游对应的pad(sink pad)用chain函数来接收buffer。在PUSH模式下,source element是管

2014-01-27 14:51:56 614

原创 Gstreamer 调度模式

调度------------------------    在Gstreamer中,调度模式是基于pad是主动积极地推送(产生)数据还是从其他的pad拉数据。推模式(PUSH)-------------------------    一个Pad能够产生数据,并且推送给下一个Pad,按这种模式工作的Pad有一个loop函数,loop函数被重复调用直

2014-01-27 14:44:45 580

原创 valgrind 的使用简介 内存泄漏

一  valgrind是什么?Valgrind是一套Linux下,开放源代码(GPL V2)的仿真调试工具的集合。Valgrind由内核(core)以及基于内核的其他调试工具组成。内核类似于一个框架(framework),它模拟了一个CPU环境,并提供服务给其他工具;而其他工具则类似于插件 (plug-in),利用内核提供的服务完成各种特定的内存调试任务。Valgrind的体系结构如下图所示:

2014-01-27 11:16:19 630

原创 关于Segmentation fault (core dumped)几个简单问题的整理

有的程序可以通过编译,但在运行时会出现Segment fault(段错误)。这通常都是指针错误引起的。但这不像编译错误一样会提示到文件一行,而是没有任何信息。一种办法是用gdb的step, 一步一步寻找。但要step一个上万行的代码让人难以想象。 我们还有更好的办法,这就是core file。如果想让系统在信号中断造成的错误时产生core文件, 我们需要在shell中按如下设置: #设置c

2014-01-27 11:10:30 461

原创 y4m to YUV

先要下载一个mencoder,然后 用命令行mencoder **.y4m -ovc raw -of rawvideo -vf format=i420 -o **.yuv就可以啦! mencoder **.y4m -ovc raw -of rawvideo -vf format=i420 -o **.yuvy4m to yuv conversion note1. YUV

2014-01-26 19:42:16 1230

原创 Webkit中HTML5 Video的实现分析 (一) - 基本结构及HTMLMediaElement & MediaPlayer

以下为针对Webkit中HTML5 Video实现原理的分析和学习总结。至于其中的UML图档,可以到下面的github链接中下载。首先预览一下Webkit中和Video相关的主要的类的层次结构:其中主要的类为HTMLMediaElement, MediaPlayer以及RenderVideo(左下角).HTMLMediaElement代表了DOM结点,其继承关系

2014-01-26 19:35:38 809

原创 git rebase

git rebase小计git rebase,顾名思义,就是重新定义(re)起点(base)的作用,即重新定义分支的版本库状态。要搞清楚这个东西,要先看看版本库状态切换的两种情况:我们知道,在某个分支上,我们可以通过git reset,实现将当前分支切换到本分支以前的任何一个版本状态,即所谓的“回溯”。即实现了本分支的“后悔药”。也即版本控制系统的初衷。还有另一种情况,当我们的

2014-01-26 18:00:53 424

原创 git merge 和 git rebase 小结

git merge是用来合并两个分支的。git merge b# 将b分支合并到当前分支同样 git rebase b,也是把 b分支合并到当前分支-----------------------------------他们的 原理 如下:假设你现在基于远程分支"origin",创建一个叫"mywork"的分支。$ git checkout -b my

2014-01-26 17:58:39 584

Android Stagefright MPEG4Extractor分析

MPEG4Extractor的主要功能即是把Movie Box(moov)的信息解析出来,以便在播放的时候能够根据这些信息找到正确的媒体数据。比较重要的数据结构是Track(对应于trak Box)和它包含的SampleTable(对应于stbl Box和其子Box:stsd,stco,co64,stts,stss,stsc,stsz)

2019-04-29

mp4文件格式解析 box说明

MP4文件中的所有数据都装在box(QuickTime中为atom)中,也就是说MP4文件由若干个box组成,每个box有类型和长度,可以将box理解为一个数据对象块。box中可以包含另一个box,这种box称为container box。一个MP4文件首先会有且只有一个“ftyp”类型的box,作为MP4格式的标志并包含关于文件的一些信息;之后会有且只有一个“moov”类型的box(Movie Box),它是一种container box,子box包含了媒体的metadata信息;MP4文件的媒体数据包含在“mdat”类型的box(Midia Data Box)中,该类型的box也是container box,可以有多个,也可以没有(当媒体数据全部引用其他文件时),媒体数据的结构由metadata进行描述。

2019-04-29

mp4文件格式解析 详细介绍mp4文件结构和各结构图内容

mp4文件格式解析, MP4文件中的所有数据都装在box(QuickTime中为atom)中,也就是说MP4文件由若干个box组成,每个box有类型和长度,可以将box理解为一个数据对象块。box中可以包含另一个box,这种box称为container box。一个MP4文件首先会有且只有一个“ftyp”类型的box,作为MP4格式的标志并包含关于文件的一些信息;之后会有且只有一个“moov”类型的box(Movie Box),它是一种container box,子box包含了媒体的metadata信息;MP4文件的媒体数据包含在“mdat”类型的box(Midia Data Box)中,该类型的box也是container box,可以有多个,也可以没有(当媒体数据全部引用其他文件时),媒体数据的结构由metadata进行描述。     下面是一些概念:

2011-06-24

git中文教程 详细介绍使用方法有实例

Git中文教程 详细介绍使用方法有实例,代码管理好工具

2011-06-10

Linux命令大全_linux红联整理

Linux命令大全_linux红联整理 介绍个指令详细参数使用方法和实例

2011-06-10

linux命令大全 详细介绍linux下个命令,使用方法,和使用实例

linux命令大全,详细介绍linux下个命令,使用方法,和使用实例

2011-06-10

Linux多线程编程手册 多线程同步

Linux多线程编程手册 多线程的创建,同步

2011-06-10

Android 应用框架原理与程序设计 36 技

Android 应用框架原理与程序设计 36 技 高焕堂

2011-06-10

git中文教程 详细介绍使用方法有实例

git中文教程 详细介绍使用方法有实例 git-init-db

2011-06-10

嵌入式C C++语言精华

嵌入式C C++语言精华 基于 ARM 的嵌入式 Linux 移植真实体验 BootLoader 操作系统 设备驱动 软件架构 内存操作 屏幕操 键盘操作

2011-06-10

h264 多媒体系统 图像编码

h264 多媒体系统 图像编码 h264语法,建议书

2011-06-09

向文件写结构体,或从文件读取结构体 VC

VC 向文件写结构体,或从文件读取结构体

2011-02-23

linux tcp 循环发数据

linux 利用tcp 循环发数据,附有代码和说明

2011-02-23

linux windows tcp通讯

linux windows 用tcp通讯,附有代码和说明文档

2011-02-23

linux下tcp的通讯

linux下tcp的通讯,包含客户端和服务器端,有源代码和执行文件,还附有说明文档

2011-02-23

VC编程经验总结 基础类,界面,网络编程,进程,线程,DLL,ATL,ActiveX,COM,数据库,硬件,系统,图形算法

VC编程经验总结 基础类,界面,网络编程,进程,线程,DLL,ATL,ActiveX,COM,数据库,硬件,系统,图形算法

2009-06-08

C++编码规范与指导 命名规则,代码风格与版式,版本控制

C++编码规范与指导 命名规则,代码风格与版式,版本控制 对于任何工程项目来说,统一的施工标准都是保证工程质量的重要因素。堪称当今人类最抽象、最复杂的工程——软件工程,自然更加不能例外。 高品质、易维护的软件开发离不开清晰严格的编码规范。本文档详细描述C++软件开发过程中的编码规范。本规范也适用于所有在文档中出现的源码。

2009-06-08

空空如也

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

TA关注的人

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