ffmpeg源码简析(一)结构总览

未毕业通过校招进入了某做机的公司从事camera方面的工作。比较悲剧的是做了将近一年的Camera之后,正要研究Camera上下层打通任督二脉的时候,公司架构调整加上OS版本大变动,被调到了多媒体组(不过也好,我对编码解码这块也是向往已久)。以前大学的时候用vitamio写过一个播放器项目,后来ijkplayer 出来之后也实践过一两个小项目,它们都是基于ffmpeg的框架。 悬窗播放视频,让你聊...
阅读(2349) 评论(5)

android系统—储存知识源码分析

1.存储相关名词:RAM Ramdom Access Memory 随机存取存储器 ROM Read Only Memory ROM image 只读存储器镜像 NAND Flash flash内存的一种2.OBBOBB:Opaque Binary BlobAndroid 2.3引入的OBB文件 一种隔离的文件系统 APK分离出的资源文件放在S...
阅读(1255) 评论(0)

ffmpeg必知道的知识点

ffmpegFFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库libavcodec,为了保证高可移植性和编解码质量,libavcodec里很多code都是从头开发的。多媒体视频处理工具FFmpeg有非常强大的功能包括视频采集功能、视频格式转换、视频抓图、...
阅读(2984) 评论(0)

windows下编译最新版ffmpeg3.3-android,并通过CMake方式移植到Android studio2.3中

windows下编译最新版ffmpeg3.3win下编译: 1.下载安装MinGW:http://sourceforge.net/projects/mingw/files/ 2.下载yasm http://yasm.tortall.net/Download.html 3.下载 ffmpeg:https://www.ffmpeg.org/download.html 编辑ffmpeg文件夹下...
阅读(3652) 评论(19)

Windows下编译android版ijkplayer

今天也来编译一下ijkplayer ,并做记录。 先普及一下cygwin和mingw知识 cygwin和mingw都是为用户提供在windows操作系统使用GNU工具的方法,使得在windows上可以编译为linux写的c源代码并运行(让你可以用signal等linux才有的api)。真正的不同在于 1,cygwin大,mingw小 2,cygwin编译后的exe需要cygwin1.dll作...
阅读(1573) 评论(3)

Python教程精华版(二)

类使用class语句来创建一个新类,class之后为类的名称并以冒号结尾,如下实例:class ClassName: '类的帮助信息' #类文档字符串 class_suite #类体 self代表类的实例,而非类类的方法与普通的函数只有一个特别的区别——它们必须有一个额外的第一个参数名称, 按照惯例它的名称是 self。class Test: def prt(self):...
阅读(530) 评论(0)

Python教程精华版(一)

本教程适用于有Java/C++或其他编程语言能力想再学习Python的开发者。 主要罗列出了于其他语言不同的地方行和缩进学习Python与其他语言最大的区别就是,Python的代码块不使用大括号({})来控制类,函数以及其他逻辑判断。python最具特色的就是用缩进来写模块。缩进的空白数量是可变的,但是所有代码块语句必须包含相同的缩进空白数量,这个必须严格执行。如下所示:if True:...
阅读(302) 评论(0)

C++小结(二)

C++ 类,对象类成员函数 类的成员函数是指那些把定义和原型写在类定义内部的函数,就像类定义中的其他变量一样。类访问修饰符 类成员可以被定义为 public、private 或 protected。默认情况下是定义为 private。构造函数 & 析构函数 类的构造函数是一种特殊的函数,在创建一个新的对象时调用。类的析构函数也是一种特殊的函数,在删除所创建的对象时调用。C++ 拷贝构造函数...
阅读(327) 评论(0)

C++小结(一)

#include using namespace std;// main() 是程序开始执行的地方int main() { cout << "Hello World"; // 输出 Hello World return 0; }接下来我们讲解一下上面这段程序:C++ 语言定义了一些头文件,这些头文件包含了程序中必需的或有用的信息。上面这段程序中,包含了头文件 <io...
阅读(481) 评论(0)

C语言小结

C语言小结,适用于有其他编程语言基础的开发者#include int main() { /* 我的第一个 C 程序 */ printf("Hello, World! \n"); return 0; }● 所有的 C 语言程序都需要包含 main() 函数。 代码从 main() 函数开始执行。 ● /* … */ 用于注释说明。 ● printf() 用于格...
阅读(622) 评论(0)

音视频开发术语介绍

视频分辨率标清、高清、720P… 标清:意思就是“标准清晰度”,是物理分辨率在720p以下的视频格式。所谓标清,英文为“Standard Definition”,是物理分辨率在1280P*720P以下的一种视频格式,是指视频的垂直分辨率为720线逐行扫描。具体的说,是指分辨率在400线左右的VCD、DVD、电视节目等“标清”视频格式,即标准清晰度。 高清:而物理分...
阅读(576) 评论(0)

YUV格式解析

YUVYUV是被欧洲电视系统所采用的一种颜色编码方法(属于PAL),是PAL和SECAM模拟彩色电视制式采用的颜色空间。在现代彩色电视系统中,通常采用三管彩色摄影机或彩色CCD摄影机进行取像,然后把取得的彩色图像信号经分色、分别放大校正后得到RGB,再经过矩阵变换电路得到亮度信号Y和两个色差信号B-Y(即U)、R-Y(即V),最后发送端将亮度和色差三个信号分别进行编码,用同一信道发送出去。这种色彩的...
阅读(525) 评论(0)

Android MediaProvider,MediaScanner媒体文件扫描源码解析

关于媒体文件扫描,我们需要弄明白两个问题: 1.什么时候开启媒体文件扫描 2.如何解析媒体文件(音频,视频,图片)信息插入到数据库中,对应code流程我们现在音乐,视频播放器,图库等应用关于音视频图片等信息都是通过多媒体数据库直接查询 在源码 packages\providers\下有个叫MediaProvider(进程名:android.process.media) 它主要处理管理这个媒体...
阅读(1257) 评论(0)

[置顶] android——PowerManagerService源码分析

电源管理架构Android电源管理主要是通过wakelock机制来管理系统的状态,整个android电源管理可以分为四层: 应用接口层:PowerManager中开放给应用一系列接口,应用可以调用PM的接口申请wakelock,唤醒系统,使系统进入睡眠等操作;Framework层:应用调用PowerManager开放的接口,来对系统进行一些列的操作是在PowerManagerService中完成的,...
阅读(2611) 评论(2)

Java I/O流(二)——File,Properties,PrintWriter,IO ,RandomAccessFile,ByteBuffer,nio

File概述文件的操作是非常重要的,我们先来看下他的基本概念•用于将文件或者文件夹封装成对象 •方便对文件和文件夹的操作 •File对象可以作为参数传递给流的构造函数 我们写个小例子先import java.io.File;public class HelloJJAVA { public static void main(String[] args) { // 创建Fi...
阅读(609) 评论(0)
132条 共9页首页 上一页 1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:139279次
    • 积分:2760
    • 等级:
    • 排名:第14430名
    • 原创:130篇
    • 转载:2篇
    • 译文:0篇
    • 评论:99条
    联系方式
    博客专栏
    最新评论