摘要:
目前网络上对mp4文件格式的总结已经相当多了,我就不在这里抄别人总结的东西了,想入门的话百度一下会有许多这方面的文章。这里介绍一下其他文章中很少涉及的一种mp4文件结构,即fragment mp4,也有称之为ismv文件的。 想真正了解mp4文件格式的话,有一个开源工具项目可以学习:mp4 expl 阅读全文
摘要:
1. 常用的基本知识 基本概念编解码 编解码器(codec)指的是一个能够对一个信号或者一个数据流进行变换的设备或者程序。这里指的变换既包括将信号或者数据流进行编码(通常是为了传输、存储或者加密)或者提取得到一个编码流的操作,也包括为了观察或者处理从这个编码流中恢复适合观察或操作的形式的操作。编解... 阅读全文
摘要:
本文主要介绍ffmpeg解码器内部管理Video Buffer的原理和过程,ffmpeg的Videobuffer为内部管理,其流程大致为:注册处理函数->帧级释放->帧级申请->清空。1注册get_buffer()和release_buffer()FFAPI_InitCodec()avcodec_a... 阅读全文
摘要:
概述OMX Codec是stagefrightplayer中负责解码的模块。由于遵循openmax接口规范,因此结构稍微有点负责,这里就依照awesomeplayer中的调用顺序来介绍。主要分如下几步:1 mClient->connect2 InitAudioDecoder & InitVideoD... 阅读全文
摘要:
首先必须烂熟于心的几个概念(最权威的解释还是代码): start_time: <!--StartFragment--> The start time of the element is the * running time of the element when it last went to th 阅读全文
摘要:
由于stagefright和openmax运行在两个不同的进程上,所以他们之间的通讯要经过Binder进行处理,本小结不考虑音频这一块,假设视频为MP4封装的AVC编码文件.先简单的看一下stagefright是怎么工作的, stagefright使用event来进行驱动,event调度器和even... 阅读全文
摘要:
学习了解Mutilmedia Framework有一段时间了,今天闲下来稍微整理整理。OMXCodec.cpp类属于libstagefright,在整个MM PF 相当OMX的适配层,供awesomeplayer调用,而OMX.cpp,OMXNoteInstance.cpp等相当于OpenMax中的... 阅读全文
摘要:
- 1. WebbenchWebbench是一个在linux下使用的非常简单的网站压测工具。它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能,最多可以模拟3万个并发连接去测试网站的负载能力。Webbench使用C语言编写, 代码实在太简洁,源码加起来不到600行。... 阅读全文
摘要:
前面两节讲解了自定义Android编译项和创建Product产品配置文件,除了编译和定义产品相关环境变量外,还需要定义Board相关环境变量。1.build/core/config.mk109 # ---------------------------------------------------... 阅读全文
摘要:
通过上篇文章,我们分析了编译android时source build/envsetup.sh和lunch命令,在执行完上述两个命令后, 我们就可以进行编译android了。1. make执行make命令的结果就是去执行当前目录下的Makefile文件,我们来看下它的内容:### DO NOT EDI... 阅读全文