- 博客(131)
- 资源 (17)
- 收藏
- 关注
转载 ffmpeg获取码流信息
1. 码流中的哪些信息值得关注 ?[ ] 是否包含:音频、视频[ ] 码流的封装格式[ ] 视频的编码格式[ ] 音频的编码格式[ ] 视频的分辨率、帧率、码率[ ] 音频的采样率、位宽、通道数[ ] 码流的总时长[ ] 其他 Metadata 信息,如作者、日期等2. 为什么需要拿到这些信息 ?[ ] 码流的封装格式 -> 解封装
2017-08-02 17:44:51 13815 5
转载 ffmpeg av_sample_get_buffer_size
音频一般是采用成PCM格式,而计算PCM格式音频尺寸,就需要如下几个参数。通道数,采样频率,采用格式。通道数:个人理解,就是同时有个几个设备在进行音频的采样,最少为1,一般通道数越多,音质越好。采样频率:(也称为采样速度或者采样频率)定义了每秒从连续信号中提取并组成离散信号的采样个数,它用赫兹(Hz)来表示。采用位数:既然采样频率表示每秒采样的个数,那么如何描述每个
2017-08-02 17:43:28 1619
转载 H264 NAL头解析
NAL全称Network Abstract Layer,即网络抽象层。在H.264/AVC视频编码标准中,整个系统框架被分为了两个层面:视频编码层面(VCL)和网络抽象层面(NAL)。其中,前者负责有效表示视频数据的内容,而后者则负责格式化数据并提供头信息,以保证数据适合各种信道和存储介质上的传输。NAL单元是NAL的基本语法结构,它包含一个字节的头信息和一系列来自VCL的称为原始字节序列载荷(R
2015-12-31 11:58:44 1512
转载 h264帧格式
H264元素的分层结构H.264编码器输出的Bit流中,每个Bit都隶属于某个句法元素。句法元素被组织成有层次的结构,分别描述各个层次的信息。 在H.264 中,句法元素共被组织成 序列、图像、片、宏块、子宏块五个层次。在这样的结构中,每一层的头部和它的数据部分形成管理与被管理的强依赖关系,头部的句法元素是该层数据的核心,而一旦头部丢失,数据部分的信息几乎不可能
2015-12-31 11:50:30 3167
转载 YUV420数据格式
很多人对YUV数据格式不清楚,以至于在做视频的时候出现了一些不可预知的错误(比如说图像带有点、颜色不对等)。今晚是周末放假,我就抽点时间来给大家介绍一下。 提示: 读下面的文字时,希望大家结合图片看,这样更易理解 在YUV420中,一个像素点对应一个Y,一个2X2的小方块对应一个U和V。对于所有YUV420图像,它们的Y值排列是完全相同的,因为只有Y的图像就是灰度图
2015-12-31 11:39:37 968
转载 NAL全称Network Abstract Layer
1、NAL全称Network Abstract Layer, 即网络抽象层。 在H.264/AVC视频编码标准中,整个系统框架被分为了两个层面:视频编码层面(VCL)和网络抽象层面(NAL)。其中,前者负责有效表示视频数据的内容,而后者则负责格式化数据并提供头信息,以保证数据适合各种信道和存储介质上的传输。因此我们平时的每帧数据就是一个NAL单元(SPS与PPS除外)。在实际的
2015-12-31 11:18:11 1267
转载 Android源码下载
windows系统中国国内镜像网站上用repo下载Android5.0源码苦于GFW,终于找到了windows系统中国国内镜像网站上用repo下载Android5.0源码的方法。1.win7上下载并安装VirtualBox2.从ubuntu官网上下载ubuntu桌面版的iso系统镜像我是用的最新的14.103.通过VirtualBox,安装ubuntu14.10的系
2015-12-06 12:16:18 1136
转载 Android自定义view(5)
很多的Android入门程序猿来说对于Android自定义View,可能都是比较恐惧的,但是这又是高手进阶的必经之路,所有准备在自定义View上面花一些功夫,多写一些文章。先总结下自定义View的步骤:1、自定义View的属性2、在View的构造方法中获得我们自定义的属性[ 3、重写onMesure ]4、重写onDraw我把3用[]标出了,所以说3不一定是必须的,当然了大部分
2015-11-04 17:07:41 465
转载 Android自定义View(4)
view的刷新三种得到LinearInflater的方法a. LayoutInflater inflater = getLayoutInflater();b. LayoutInflater localinflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE
2015-11-04 17:04:19 950
转载 Android自定义View(3)
定义组合控件目标:实现textview和ImageButton组合,可以通过Xml设置自定义控件的属性。 通过代码或者通过xml设置自定义控件的属性1.控件布局:以Linearlayout为根布局,一个TextView,一个ImageButton。 Xml代码[html] view plaincopy ?xml versi
2015-11-04 17:02:22 783
转载 Android自定义view(2)
1. reference:参考某一资源ID。 (1)属性定义: background" format = "reference" /> (2)属性使用: android:layout
2015-11-04 16:57:55 1091
转载 Android自定义View(1)
在xml里建立属性,然后java代码里用typedArray获得这些属性,得到属性后,利用属性做一些事.例:得到xml里的color,赋给paint.1.在res/values/下新建attrs.xml[html] view plaincopyxml version="1.0" encoding="utf-8"?> resources> declare-
2015-11-04 16:55:08 518
转载 Android布局属性
1.首先来看看android:layout_gravity和android:gravity的使用区别。android:gravity:这个是针对控件里的元素来说的,用来控制元素在该控件里的显示位置。例如,在一个Button按钮控件中设置如下两个属性,android:gravity="left"和android:text="提交",这时Button上的文字“提交”将会位于Button的左
2015-11-04 15:58:55 919
原创 Android屏幕适配
一、基本概念:1、屏幕大小:屏幕对角线的长度,单位为英寸。1英寸=2.54厘米 比如常见的屏幕尺寸有2.4、2.8、3.5、3.7、4.2、5.0、5.5、6.0等2、屏幕分辩率:横纵方向上像素点个数 比如:1920*10803、屏幕的像素密度:每英寸上像素的个数,单位是dpi(或则ppi(Pixels per inch)),即“dot per inch”的缩写
2015-11-01 23:33:45 692
原创 Activity的启动模式与startActivityForResult的关系
Activity的启动方式分为四种,分别为standard,singleTop,singleTask,singleInstancestartActivityForResult方法能够起效:standard和singleTopstartActivityForResult方法不能够起效:singleTask和singleInstance1、只要将被启动的Activity属性设置为singl
2015-11-01 20:37:02 2450
转载 Activity的启动模式
launchMode在多个Activity跳转的过程中扮演着重要的角色,它可以决定是否生成新的Activity实例,是否重用已存在的Activity实例,是否和其他Activity实例公用一个task里。这里简单介绍一下task的概念,task是一个具有栈结构的对象,一个task可以管理多个Activity,启动一个应用,也就创建一个与之对应的task。Activity一共有以下四种lau
2015-11-01 20:29:25 404
转载 设计模式之单例模式
Singleton模式可以是很简单的,它的全部只需要一个类就可以完成(看看这章可怜的UML图)。但是如果在“对象创建的次数以及何时被创建”这两点上较真起来,Singleton模式可以相当的复杂,比头五种模式加起来还复杂,譬如涉及到DCL双锁检测(double checked locking)的讨论、涉及到多个类加载器(ClassLoader)协同时、涉及到跨JVM(集群、远程EJB等)时、涉及到单
2015-11-01 20:06:47 415
转载 设计模式之观察者
观察者模式 观察者模式 Observer 观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。 这个主题对象在状态上发生变化时,会通知所有观察者对象,让它们能够自动更新自己。 观察者模式的组成 抽象主题角色:把所有对观察者对象的引用保存在一个集合中,每个抽象主题角色都可以有任意数量的观察者。抽象主题提供一个接口
2015-11-01 19:25:11 422
转载 Android内存优化(4)
Android的内存优化是性能优化中很重要的一部分,而避免OOM又是内存优化中比较核心的一点。这是一篇关于内存优化中如何避免OOM的总结性概要文章,内容大多都是和OOM有关的实践总结概要。理解错误或是偏差的地方,还请多包涵指正,谢谢!(一)Android的内存管理机制Google在Android的官网上有这样一篇文章,初步介绍了Android是如何管理应用的进程与内存分配:http
2015-10-31 22:39:38 1141
转载 Android内存优化(2)
android手机给应用分配的内存通常是8兆左右,如果处理内存处理不当很容易造成OutOfMemoryError,我们的产品出现最多的错误也是OutOfMemoryError的异常, 在解决这个异常时在网上发现很多关于OutOfMemoryError的原因的介绍。 OutOfMemoryError主要由以下几种情况造成: 1.数据库的cursor没有关闭。 操作Sqlite数据库
2015-10-31 22:28:37 775
原创 Android 内存优化(1)
不少人认为JAVA程序,因为有垃圾回收机制,应该没有内存泄露。其实如果我们一个程序中,已经不再使用某个对象,但是因为仍然有引用指向它,垃圾回收器就无法回收它,当然该对象占用的内存就无法被使用,这就造成了内存泄露。如果我们的java运行很久,而这种内存泄露不断的发生,最后就没内存可用了。当然java的,内存泄漏和C/C++是不一样的。如果java程序完全结束后,它所有的对象就都不可达了,系统就可以对
2015-10-31 22:22:54 518
原创 Android性能分析工具
1、systrace:在Android4.1以后才出现的工具,采用python脚本实现,可以生成html格式的报告,屏幕渲染时间为16ms,如果超过10ms的话就会产生卡顿。它主要由3部分组成:内核部分:Systrace利用了Linux Kernel中的ftrace功能。所以,如果要使用Systrace的话,必须开启kernel中和ftrace相关的模块。数据采集部分:Andr
2015-10-31 21:34:26 634
转载 Android中布局优化
Android开发中的布局很重要吗?那是当然。一切的显示样式都是由这个布局决定的,你说能不重要吗。要实现一个好的布局,不只是实现了、显示出来就完了,不管层次,堆砌代码也可以实现功能,但是这显然违背了Android布局设计的原则。可能你会说,Android布局设计哪有什么原则,我可以明确告诉你,当然有,只要有利于提高最终效果的方法、意识,我们都可以把它提升为原则。在Android布局设计中,这个最终
2015-10-31 19:47:21 485
原创 Android 通过 Intent 传递类对象
Android 开发笔记——通过 Intent 传递类对象Android中Intent传递类对象提供了两种方式一种是 通过实现Serializable接口传递对象,一种是通过实现Parcelable接口传递对象。要求被传递的对象必须实现上述2种接口中的一种才能通过Intent直接传递。Intent中传递这2种对象的方法:Bundle.putSerializabl
2015-10-31 19:00:24 397
原创 android开发常用网址
http://www.apkbus.com/http://www.eoeandroid.com/http://www.android-studio.org/http://wear.techbrood.com/http://www.androiddevtools.cn/
2015-09-04 17:50:18 585
转载 des c#
#region DES /// /// DES加密 /// /// 加密字符串 /// 密钥 /// public static string DesEncrypt(string code, string key) { st
2015-04-13 16:57:33 463
转载 C# DES加密
第一种: 2 using System; 3 using System.Text; 4 using System.Security.Cryptography; 5 using System.IO; 6 7 /// 8 /// Summary description for EncryptAndDecrypt 9 /// 10 public
2015-04-13 16:51:12 547
转载 C#字符串和十六进制之间的转换方法
/// /// 从汉字转换到16进制 /// /// /// public static string GetHexFromChs(string s) { if ((s.Length % 2) != 0) { s += " ";//空格 //t
2015-04-12 12:18:05 2029
转载 Android开发者必须深入学习的10个应用开源项目
Android开发者必须深入学习的10个应用开源项目Android开发又将带来新一轮热潮,很多开发者都投入到这个浪潮中去了,创造了许许多多相当优秀的应用。其中也有许许多多的开发者提供了应用开源项目,贡献出他们的智慧和创造力。学习开源代码是掌握技术的一个最佳方式。下面推荐几个应用开源项目,这些项目不仅提供了优秀的创意,也可以直接掌握 Android内核的接口使用:1、Android团队提
2015-01-06 09:20:07 1516 2
原创 upnp协议简介(二)
关于DLNA框架 1、Networking & Connectivity为了解决物理设备连通问题,主要依赖于Ethernet,802.11,Ipv4协议栈,Ipv6协议栈。TCP/IP协议栈必须包含Ipv4,TCP,UDP,DHCP,Auto-IP,ARP,ICMP。2、Device Discovery&Control为了解决设备发现和互操作问题,实现所谓的“设备零配置
2014-12-01 14:11:35 4075
原创 upnp协议简介(一)
UPnP全名是Universal Plug and Play,主要是微软在推行的一个标准。简单的来说,UPnP 最大的愿景就是希望任何设备只要一接上网络,所有在网络上的设备马上就能知道有新设备加入,这些设备彼此之间能互相沟通,更能直接使用或控制它,一切都不需要设定,完全的Plug and Play。------------------------------------------------
2014-12-01 14:08:32 62588 5
转载 UPnP基本原理介绍
随着计算机产业以及计算机网络技术的迅猛发展,越来越多嵌入式设备的出现和家庭网络的发展,实现各种设备的互联互通已经成为人们的迫切需求,而实现家庭网络互联互通的关键是家庭网络的中间件技术。业界各大厂商都提出了自己的解决方案,其中以微软提出的UPnP最具有发展前途,也获得了最广泛的支持,目前UPnP基本是家庭网络设备必须支持的特性之一。UPnP是通用即插即用(Universal Plug and P
2014-11-28 11:26:02 30908 1
转载 dlna发现设备
前言:之前有专文介绍了minidlna中的UPNP功能,内中介绍其中包含的SSDP(简单发现协议),SOAP(简单对象访问协议)等几个协议(http://blog.csdn.net/sakaue/article/details/19070735)。本文将根据minidlna的程序流程,概述SSDP的流程,为下一部分ACE实现做铺垫。设备发现的大致流程:首先,根据UPNP的规范:在设
2014-11-28 11:17:48 12108
转载 SSDP 简单服务发现协议
SSDP 简单服务发现协议,是应用层协议,是构成UPnP(通用即插即用)技术的核心协议之一。它为网络客户端(network client)提供了一种发现网络服务(network services)的机制,采用基于通知和发现路由的多播方式实现。SSDP多播地址:239.255.255.250:1900(IPv4),FF0x::C(IPv6)两种类型的SSDP请求消息会通过SSDP多播地址
2014-11-25 11:32:59 33957
转载 Android sdcard插拔事件
有一个问题,在网上被频繁的问到,就是为什么自定义的Receiver总是无法接收到SD卡插拔的事件。而此问题大部分情况下可以通过增加一句代码解决: filter.addDataScheme("file"); // filter是IntentFilter对象那么为什么增加这句代码就可以解决了呢?这个问题尽管有人问到,但是却没有太好的回答。可能是因为对于精通IntentFilter策略的高手们来说,这根
2014-11-21 14:36:13 2009
原创 Android系统SD卡管理
博客声明:1. 使用 android2.1 源码说明问题2. 使用真机,操作系统是 android-2.13. 分享一下学习方法,不是为了测试而测试,请大家举一反三结合 Service 与 Broadcast 监听外部存储设备的状态,通过测试主要想知道在我们操作外部存储设备时候发生了哪些事情、以及 Intent 几个 Action 到底是何意?
2014-11-21 14:15:15 2122
转载 Android app设计指南
1、一些概念模式的定义:每个模式都描述了一个在我们的环境中不断出现的问题,然后描述了该问题的解决方案的核心。通过这种方式,你可以无数次地使用那些已有的解决方案,无需在重复相同的工作。什么是设计模式?设计模式是在某种特别的情况下,针对某种问题的某种典型、通用的解决方法。我们是需要适当了解并学习一些设计模式,在程序开发过程中,总是会涉及到一些框架设计,模块设计之类的东西,如果能很好
2014-11-20 11:02:50 4292
原创 开源项目SlidingMenu的使用
http://www.eoeandroid.com/forum.php?mod=viewthread&tid=262755&extra=page%3D1&page=11. 在github上有一个效果不错的开源库,SlidingMenu 最新的代码下载下来后,会报错:No resource found that matches the given name: attr 'homeAsUp
2014-11-18 17:47:01 617
SharedPreferences跨应用读取数据的源程序
2014-11-13
IOS开发电子书(非扫描版)
2014-09-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人