自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Android系统攻城狮

CSDN博客专家,专注Android/Linux系统、多媒体技术学习与分享!

  • 博客(52)
  • 资源 (98)
  • 收藏
  • 关注

原创 Android Java到OMX调用流程(十五)

1.frameworks/base/media/java/android/media/MediaPlayer.java public void start() throws IllegalStateException { _start(); } private native void _start() throws IllegalStateException;...

2016-11-29 19:05:05 1057

转载 android中openMax的实现

1.android中用openmax来干啥?有了上一篇AwesomePlayer基本框架及播放流程已经很清楚的看到了,android中的 AwesomePlayer就是用openmax来做(code)编解码,其实在openmax接口设计中,他不光能用来当编解码。通过他的组件可以组成一个完整的播放器,包括sourc、demux、decode、output。但是为什么android只用他来做cod

2016-11-28 20:31:16 575

原创 FFmpeg实战命令(不断更新中...)

ffmpeg -formats //查看所有支持的容器格式ffmpeg -codecs //查看所有编解码器ffmpeg -filters //查看所有可用的filterffmpeg -pix_fmts //查看所有支持的图片格式ffmpeg -sample_fmts //查看所有支持的像素格式ffprobe -i money.mp4 //查看媒体信息格式转换

2016-11-23 14:08:37 2824

原创 v4l2-ctl 控制命令

# v4l2-ctlUsage:Common options: --all display all information available -C, --get-ctrl=[,...] get the value of the controls [VIDIOC_G_EXT_CTRLS] -c, --s

2016-11-22 19:07:46 28439 4

转载 Android 用MediaCodec实现视频硬解码

本 文向你讲述如何用android标准的API (MediaCodec)实现视频的硬件编解码。例程将从摄像头采集视频开始,然后进行H264编码,再解码,然后显示。1、从摄像头采集视频      可以通过摄像头Preview的回调,来获取视频数据。      首先创建摄像头,并设置参数:                      cam = Camer

2016-11-19 20:34:58 1233

原创 Build x264 for android

#!/bin/bashNDK=/home/tools/eclipse/android-ndk-r10ePLATFORM=$NDK/platforms/android-19/arch-armTOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64PREFIX=$(pwd)/android/$CP

2016-11-18 15:15:10 347

原创 V4L2 获取设备支持的分辨率

{//获取摄像头所支持的分辨率    enum v4l2_buf_type type = V4L2_BUF_TYPE_VIDEO_CAPTURE;    struct v4l2_fmtdesc fmt_1;    struct v4l2_frmsizeenum frmsize;    struct v4l2_frmivalenum frmival;    fmt_1

2016-11-17 19:23:29 10195

转载 什么是I帧,P帧,B帧

视频压缩中,每帧代表一幅静止的图像。而在实际压缩时,会采取各种算法减少数据的容量,其中IPB就是最常见的。简单地说,I帧是关键帧,属于帧内压缩。就是和AVI的压缩是一样的。 P是向前搜索的意思。B是双向搜索。他们都是基于I帧来压缩数据。  1、I帧表示关键帧,你可以理解为这一帧画面的完整保留;解码时只需要本帧数据就可以完成(因为包含完整画面)  2、P帧表示的是这一

2016-11-17 13:46:18 648

转载 Linux基于v4l2的视频采集(可用)

Video4linux2(简称V4L2),是Linux中关于视频设备的内核驱动。V4L2较V4L有较大的改动,并已成为2.6的标准接口,函盖video\dvb\FM...,多数驱动都在向V4l2迁移。更好地了解V4L2先从应用入手,然后再深入到内核中结合物理设备/接口的规范实现相应的驱动。V4L2采用流水线的方式,操作更简单直观,基本遵循打开视频设备、设置格式、处理数据、关闭设备,更多的具体操

2016-11-17 10:54:52 3662

原创 编译ffmpeg、SDL、x264开源库 for ubuntu

1、./configure --disable-yasm --disable-static --enable-shared2、make -j83、sudo make install

2016-11-17 09:52:02 557

转载 V4L2摄像头应用编程

Video for Linuxtwo(Video4Linux2)简称V4L2,是V4L的改进版。V4L2是linux操作系统下用于采集图片、视频和音频数据的API接口,配合适当的视频采集设备和相应的驱动程序,可以实现图片、视频、音频等的采集。在远程会议、可视电话、视频监控系统和嵌入式多媒体终端中都有广泛的应用。在Linux下,所有外设都被看成一种特殊的文件,成为“设备文件”,可以象访问普通

2016-11-16 19:24:40 821

转载 Video for linux 2 example (v4l2 demo)

V4L2 API讲解附demo(注:从他人博客整理修正而来)(看完本文后,更简便的api请移步至video for linux 2 API)1. 定义V4L2(Video For Linux Two) 是内核提供给应用程序访问音、视频驱动的统一接口。2. 工作流程:打开设备-> 检查和设置设备属性-> 设置帧格式->

2016-11-16 18:37:30 3836 3

转载 Android Framework下StageFright框架流程解读

1、    StageFright介绍    Android froyo版本多媒体引擎做了变动,新添加了stagefright框架,并且默认情况android选择stagefright,并没有完全抛弃 opencore,主要是做了一个OMX层,仅仅是对 opencore的omx-component部分做了引用。stagefright是在MediaPlayerService这一层加入的,

2016-11-16 13:28:17 536

原创 shell之为源码打patch(四)

#/bin/shCURRENT=`pwd`ANDROID="android_dir"if [ ! -d $ANDROID ];then tar xzvf $CURRENT/android_dir.tar.gz #解压源码到当前目录 cp $CURRENT/patch_dir/android_dir $CURRENT -rf #拷贝patch_dir下同名androi

2016-11-16 11:46:45 2474

原创 shell之30分钟删除文件操作(五)

#!/bin/bashmyFolder=/home/filewhile [ 1 ]do sleep 1s #sleep 1m #sleep 1 minute if [ -d /home/file ];thenecho "$myFolder is exist..." find /home/file -type f -mmin +30 |

2016-11-16 11:12:14 695

转载 linux 下shell中if的“-e,-d,-f”是什么意思

文件表达式-e filename 如果 filename存在,则为真-d filename 如果 filename为目录,则为真 -f filename 如果 filename为常规文件,则为真-L filename 如果 filename为符号链接,则为真-r filename 如果 filename可读,则为真 -w filename 如果 filename可写,则

2016-11-16 10:49:55 1123

原创 shell之sleep指定延时单位(六)

sleep 1 表示默认延时一秒sleep 1s 表示延迟一秒sleep 1m 表示延迟一分钟sleep 1h 表示延迟一小时sleep 1d 表示延迟一天

2016-11-16 10:45:04 19369 1

转载 Android Studio 第一个JNI程序

1.介绍Android Studio + NDK来实现JNI。什么是NDK与JNI技术?NDK:Native Development KitThe NDK is a toolset that allows you to implement parts of your app using native-code languages such as C and C++.(谷

2016-11-15 19:02:55 632

原创 Linux之C标准预定义宏(二十三)

#include int main(){ printf( "所在文件: %s \n", __FILE__ ); printf( "所在日期: %s \n", __DATE__ ); printf( "所在时间: %s \n", __TIME__ ); printf( "所在行数: %d \n", __LINE__ ); printf(

2016-11-15 16:10:27 417

转载 android如何查看cpu的占用率和内存泄漏

在分析内存优化的过程中,其中一个最重要的是我们如何查看cpu的占用率和内存的占用率呢,这在一定程度上很重要,经过查询资料,研究了一下,暂时了解到大概有以下几种方式,如果哪位高手有更好的办法,或者文中描述有错误,还望高手在下面留言,非常感谢!      一、 通过eclipse,ADT开发工具的DDMS来查看(Heap)         在“Devices”窗口中选择模拟器中的一个需

2016-11-14 14:44:58 626

转载 单链表的逆置-C++实现(五十四)

对于单链表的逆置有两种方法可以实现:(1)利用辅助指针 基本思想:在遍历结点过程中,设置辅助指针,用于记录先前遍历的结点。这样依次编译的过程中只需修改其后继结点的next域即可。 实现代码:[cpp]view plaincopyprint?typedefintDat

2016-11-13 21:02:36 726

转载 安卓ashmem(匿名共享内存映射)学习native篇

本文是基于这篇文章之上的:http://blog.csdn.net/u010657219/article/details/41243473先看看之前三个进程的关系:由于这里用到了Binder进程间通信机制,这里再次贴上Android系统的Binder通信设计框架,关于Binder通信的具体分析,请查看Binder通信模块中的一系列文章。MemoryH

2016-11-13 17:01:41 2203

转载 Android Multimedia框架总结(十七)音频开发基础知识

原文链接:http://blog.csdn.net/hejjunlin/article/details/53078828近年来,唱吧,全民K歌,QQ音乐,等成为音频软件的主流力量,音频开发一直是多媒体开发中不可或缺的部分,如为什么这个声音这么不清楚,为什么耳机里有电流声,为什么录音时,有时会碰到奇怪的回声,先看下今天的Agenda:音频开发的主要应用音频开发

2016-11-11 10:29:39 1698

原创 Emacs自带小游戏(二十六)

acs中的游戏M-x tetris俄罗斯方块M-x gomoku五子棋游戏M-x mpuz填数字游戏M-x snake贪吃蛇游戏

2016-11-11 00:27:10 1496

转载 Android系统启动过程

一、开机加电bootloader(汇编语言)进行底层初始化,并加载内核代码,最终跳转到内核的boot程序。二、Linux内核引导  1)kernel核心初始化(内存初始化,打开中断,初始化进程表等等);  2)驱动初始化;  3)启动内核后台(daemons)线程  4)安装根(root)文件系统  5) 启动第一个用户级进程init

2016-11-10 00:59:19 356

转载 android多媒体框架学习 详解 最新版本

一:多媒体框架概述     jellybean 的多媒体跟以前的版本,通过对比没啥变化,最大的变化是google终于舍得给multimedia建个独立的git了(framework/av),等你好久了!也体现了media 在整个android系统中的重要性!framework/av下都是些C/C++代码(libmedia,libmediaplayerservice,libstage

2016-11-10 00:06:48 11176 1

转载 Android自带硬解码解码类型说明MediaCodec使用必看

一、背景随着Android系统手机性能的不断提升,现阶段大部分手机都自带GPU(承担图形显示的专门硬件),大幅度提高手机显示性能,在视频显示、游戏画面刷新,和高分辨图像显示方面必须使用GPU。GOOGLE在API 16 -4.1版本中增加MediaCodec类,专用于编解码多媒体数据,二、MediaCodec使用方式     MediaCodec总共有三种使用方法,如下图所示:

2016-11-10 00:00:33 14011 2

原创 FFmpeg3.2最新版编译Mediacodec For Android脚本

#!/bin/bashexport TMPDIR=/homeNDK=/project/android-ndk-r10eSYSROOT=$NDK/platforms/android-16/arch-arm/TOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86CPU=armPREFI

2016-11-09 23:34:14 4648 11

原创 Linux之常用命令备忘<不断更新中...>(十七)

1、模糊查找字符串# find . "*" | xargs grep "ro.hardware" -rn --color# find -name "*.rc" | xargs grep "ro.hardware" -rn --color# find -name "*.rc" | xargs grep -rn --color "ro.hardware"//过滤不想看到的字符...

2016-11-09 15:20:23 1740

原创 Android实时打印kernel和App log(七十一)

1、第一种#!/system/bin/sh while [ 1 ] do sleep 1 dmesg >> kernel.log && logcat -v time &done2、第二种<1>.实时不会中端log:# cat /dev/kmsg -n > kernel.log &&am...

2016-11-04 10:08:58 9164 1

原创 Android4.4之Camera2预览流程APP到Driver(十四)

1.APP调用 packages/apps/Camera2/src/com/android/camera/PhotoModule.java private void startPreview() { Log.v(TAG, "startPreview"); mCameraDevice.startPreviewAsync(); mFocu...

2016-11-03 18:59:46 3690

转载 关于指针的引用*&(无十六)

这部分是关于指针的引用*&的说明 1.指针的引用,相当于传递的是:指针的指针,这样指针的数值是可以改变的. 2.而单传递指针,不传递指针的引用,那么指针指向的数据是可以改变,而指针本身是不可以改变的.fun(int*pA);//pA的数值在函数返回后不会变化fun(int*&pA);/

2016-11-03 11:05:22 408

转载 详解c++[指针的指针] 和 [指针的引用](五十五)

展示一下使用指针的指针和指针的引用修改传递给方法的指针,以便更好的使用它。(这里说的指针的指针不是一个二维数组)为什么需要使用它们当我们把一个指针做为参数传一个方法时,其实是把指针的复本传递给了方法,也可以说传递指针是指针的值传递。如果我们在方法内部修改指针会出现问题,在方法里做修改只是修改的指针的copy而不是指针本身,原来的指针还保留着原来的值。我们用下边的代码说明一下问题:

2016-11-03 11:02:44 299

转载 深入讲解Android Property机制

深入讲解Android Property机制1      概述     Android系统(本文以Android 4.4为准)的属性(Property)机制有点儿类似Windows系统的注册表,其中的每个属性被组织成简单的键值对(key/value)供外界使用。     我们可以通过在adb shell里敲入getprop命令来获取当前系统的所有属性内容,而且,我们还可以敲

2016-11-03 00:54:30 697 1

转载 红茶一杯话Binder(ServiceManager篇)

红茶一杯话Binder(ServiceManager篇)1.先说一个大概        Android平台的一个基本设计理念是构造一个相对平坦的功能集合,这些功能可能会身处于不同的进程中,然而却可以高效地整合到一起,实现不同的用户需求。这就必须打破过去各个孤立App所形成的天然藩篱。为此,Android提供了Binder机制。        在Android中,

2016-11-03 00:50:26 881

转载 红茶一杯话Binder(传输机制篇_下)

红茶一杯话Binder(传输机制篇_下)1 事务的传递和处理        从IPCThreadState的角度看,它的transact()函数是通过向binder驱动发出BC_TRANSACTION语义,来表达其传输意图的,而后如有必要,它会等待从binder发回的回馈,这些回馈语义常常以“BR_”开头。另一方面,当IPCThreadState作为处理命令的一

2016-11-03 00:48:46 630

转载 红茶一杯话Binder(传输机制篇_中)

红茶一杯话Binder(传输机制篇_中)1 谈谈底层IPC机制吧        在上一篇文章的最后,我们说到BpBinder将数据发到了Binder驱动。然而在驱动层,这部分数据又是如何传递到BBinder一侧的呢?这里面到底藏着什么猫腻?另外,上一篇文章虽然阐述了4棵红黑树,但是并未说明红黑树的节点到底是怎么产生的。现在,我们试着回答这些问题。1.1 概述

2016-11-03 00:47:26 485

转载 红茶一杯话Binder(传输机制篇_上)

红茶一杯话Binder(传输机制篇_上) 1 Binder是如何做到精确打击的?        我们先问一个问题,binder机制到底是如何从代理对象找到其对应的binder实体呢?难道它有某种制导装置吗?要回答这个问题,我们只能静下心来研究binder驱动的代码。在本系列文档的初始篇中,我们曾经介绍过ProcessState,这个结构是属于应用层次的东西,仅靠它当然无法完

2016-11-03 00:46:23 652

转载 红茶一杯话Binder(初始篇)

红茶一杯话Binder(初始篇)1 什么是Binder?       简单地说,Binder是Android平台上的一种跨进程交互技术。该技术最早并不是由Google公司提出的,它的前身是Be Inc公司开发的OpenBinder,而且在Palm中也有应用。后来OpenBinder的作者Dianne Hackborn加入了Google公司,并负责Android平台的开发

2016-11-03 00:44:33 502

转载 Android之Camera预览

一、命令流程1.APPpackages/apps/Camera/src/com/Android/camera/PhotoModule.Java[java] view plain copy private void startPreview() {    mCameraDevice.setPreviewDisplayAsyn

2016-11-03 00:41:50 599

H.264标准协议(官方中文版)

H.264是一种视频压缩标准,其只规定了符合标准的码流的格式,以及码流中各个语法元素的解析方法。 H.264标准协议是每个从事多媒体工作的码农必备的参考书,欢迎下载。

2020-10-28

HxD_Hex编辑器中文版.zip

HxD is a carefully designed and fast hex editor which, additionally to raw disk editing and modifying of main memory (RAM), handles files of any size. The easy to use interface offers features such as searching and replacing, exporting, checksums/digests, insertion of byte patterns, a file shredder

2020-09-12

MultimediaFrameworkOverview.zip

音视频多媒体框架GStreamer、PulseAudio采用插件式架构,支持多格式编解码器,支持不同编码器、解析器、分离器和复用器作为插件式架构!

2020-09-01

Gstreamer-Openmax-gst-openmax.zip

OpenMAX is a royalty-free, cross-platform API that provides abstractions for routines especially useful for computer graphics, video, and audio.

2020-08-17

GStreamer中文开发手册.zip

GStreamer是一个通用的跨平台的流媒体应用程序框架,基于GObject,以C语言写成。 GStreamer并不受限于音频和视频处理,它能够处理任意类型的数据流,因此任意一种流媒体应用都可以支持,如:MeidaPlayer、A/V Editor、VOIP、RTSP、A/V Coder等等。 GStreamer框架是基于插件(plugin)和管道(pipeline)的体系结构,框架中所有功能模块都是可插拔的组件,可随意安装到任意管道上

2020-07-22

win10removeAll.zip

Win10彻底关闭windows defender,解决无故占用大量CPU和内存问题! 建议保留一个杀毒软件,不管是360、火绒还是什么,至少安装一个保证电脑的安全。

2020-06-25

vcxsrv-64.1.20.8.1.zip

VcXsrv是微软Windows的开源显示服务器。 它使Windows操作系统的用户能够运行为X Window System设计的GUI程序。 VcXsrv可以运行安装了WSL(Linux子系统Linux)的Linux GUI程序。 在bash for Windows中,设置DISPLAY环境变量允许WSL程序使用Windows GUI。

2020-06-20

debug_hybris_demo.zip

libhybris主要作用是为了解决libc库的兼容问题,目的是为了在基于GNU C library的系统运行那些用bionic编译的库(主要是Android下的闭源HAL库)。因为这些系统都是基于glibc生态的,然而现有的硬件厂商提供的driver多是为Android而写的,自然也是用bionic编译的。如何让基于glibc的系统能够重用现有Android的driver呢?这就需要像libhybris这样的兼容层。

2020-06-03

手写Fuchsia第一个app

在研究GN和Ninja时,发现Fuchsia也是用的GN和ninja来构建编译系统的,值得一提的是Android7.0以后放弃了Makefile,开始使用ninja来构建编译系统!

2020-03-16

Linux内核内存Cache机制原理

Linux内核内存Cache机制原理从源码的角度来分析流程,可以帮助Linux内核学习者了结Cache的内存机制!

2020-03-14

第五代加固技术ARM VMP原理实现与应用.zip

随着Android逆向开发的升级,Android应用的安全越来越被重视,第五代加固技术ARM VMP原理实现与应用正在探索中发展。

2020-03-01

AUDIO CODEC DAPM详解.zip

本文目的帮助理解音频系统ALSA中的dapm机制建立和触发过程,在这之中,涉及到音频路径的搭建和选择(相信这部分对于大家来说更有应用意义)。在dapm机制深入分析中,会展现alsa设计者的各种理念及实现技巧,很多细节上的考虑和处理值得我们去学习。

2019-12-30

蓝牙Audio调试.zip

蓝牙协议栈有很多种profile,像HFP、A2DP、HSP等等,他们通讯都是蓝牙模块和CPU或者DSP之间,通过AT指令来发送信息,这篇文档介绍各种profile及支持采样率和通道数据,还有调试方式!

2019-12-27

Universal Serial Bus Device Class Definition for Audio Devices.zip

Universal Serial Bus Device Class Definition for Audio Devices(UAC2.0协议文档),研究usb audio必读,欢迎下载!

2019-11-16

Pixel ROM(sailfish)

最近在玩Pixel,自己花了一周时间下载Android源码,编译出来Pixel root版的ROM,分享给爱玩机的朋友!

2019-10-20

最新windows和linux的adb工具

下载了一份最新windows和linux平台的adb工具,以此提供给更多开发者方便使用!

2019-07-30

基于域名路由策略.zip

目前使用主流的Linux配置都是基于ip设置路由策略,此篇讲解怎么基于域名路由策略,仅供参考!

2019-07-17

busybox.zip

Android debug的时候由于android原生的命令太少,编译了一个busybox分享出来,欢迎下载。

2019-06-25

Audition 2019版

Audition是做音频开发不可或缺的重要的开发工具,分享一个Win10 2019免注册版备用,也欢迎下载。

2019-06-13

802.11 Reason Code中文说明(全)

WIFI断网有很多情况,如果去翻看802.11协议文档,全英文的很费劲,把Deauthentication Reason Codes中文说明放在这里,供大家参考

2019-05-21

H266(VVC)视频编码协议标准pdf

H266(VVC)视频编码协议标准最新版 T-REC-H.266-202204-I!!PDF-E.pdf

2023-10-05

ISO 13818-7 AAC标准协议文档

ISO 13818-7 AAC标准是MPEG-2标准中定义的一部分,详细描述了AAC在MPEG-2传输流中的编码和解码方法。

2023-09-03

word2010中输入简谱

word2010中输入简谱

2023-04-25

Picture auto gen tools

Picture auto gen tools for wechat

2023-03-27

AIDL for HALs测试客户端

AIDL for HALs测试客户端

2023-01-10

彻底禁掉Win10 Defender自启动

彻底禁掉Win10 Defender自启动! 彻底禁掉Win10 Defender自启动! 彻底禁掉Win10 Defender自启动! 开机内存不会占用特别高! 开机内存不会占用特别高! 开机内存不会占用特别高!

2022-12-24

免费DLL修复工具For WIn10/Win11

免费DLL修复工具

2022-10-22

Typora free版本for Ubuntu22.04

Typora free版本for Ubuntu22.04

2022-10-22

gnome-boxes虚拟机跨平台工具

gnome-boxes虚拟机工具 1.Windows和Linux剪切版共享工具 2.Windows和Linux文件共享工具

2022-10-12

android10以上源码中编译java及UI代码

1.增加Android.mk编译方式 2.增加Android.bp编译方式

2022-07-18

企业微信for Linux

企业微信forLinux

2022-06-22

微信for Ubuntu18.04

微信for Ubuntu18.04

2022-06-22

qt_audio_record.tar.gz

花了一天时间研究,在x86与ARM平台验证可用,备忘!

2021-04-28

qt_audio_play.tar.gz

QT之QMediaPlayer播放音频demo

2021-04-28

deepin.com.wechat_2.6.8.65deepin0_i386-OK.zip

deepin for wechat

2021-03-22

capture_test.zip

在Android6.0平台上,UVC Camera使用标准V4L2接口获取视频数据,并保存文件,测试debug调试使用。

2021-03-09

java-7-openjdk-amd64.tar.gz

目前OpenJDK-7-JDK的源已经被废弃了,手动安装的花需要安装一系列的依赖,特别麻烦,这里提供给需要的开发人员.

2021-01-22

Elecard HEVC Analyzer_For_Windows.zip

分享一个Elecard h265分析工具,大家都知道Elecard很贵,不多说了,内附registor.

2021-01-06

push_stream_test.zip

此mp4文件为h264编码格式,用于推流使用.

2020-12-23

JM-H264参考手册

JM:JM通常被认为是H.264标准制定团队所认可的官方参考软件,基本实现了H.264标准的全部特征。JM在运行时的运算过程较为复杂,而且没有采用汇编优化等加速方法,因此运行速度较慢,很难达到实时编解码。通常主要用于编解码技术的科学研究领域。

2020-10-28

空空如也

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

TA关注的人

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