Android Digital Video: Formats, Concepts and Optimization

Android Digital Video Formats: MPEG4 H.264 and WebM VP8

H.263 支持老显示器
MPEG4 SP  
supported for commercial video(支持商业视频)
3GP
Google在2.3.3中增加对WebM的支持
video Stream 4.0以后版本号
recommend using MPEG-4 H.264 AVC
WebM 直播流

        

Android VideoView and MediaPlayer Class: Video Players

          

MediaPlayer:在包android.media中。

VideoView:在包android.widget中,direct subclass of the Android SurfaceView(详细介绍请參考书)。

The Foundation of Digital Video: Motion, Frames and FPS

pixels, resolution, aspect ratios, color depth, alpha channels, pixel blending, image compositing, and even data footprint optimization(相似于图片的概念)。

计算影片大小:每帧的大小*帧率*时间

Digital Video Conventions: Bit Rates, Streams, SD, and HD

Internet 2.0 IP infrastructure is 1536 kbits/second (1.5 MBPS, or megabits per second)。

A faster data pipe is at least 2048 kbits/s, or 2 mbits/s or 2 MBPS, and video compressed at this higher bit rate exhibits a higher visual quality level. More modern 4G networks claim to be between 3 and 6 mbits/s(3G networks deliver between 600 kbits/s and 1.5 mbits/s, so, on average, these will be 1.5 mbits/s and classified as a medium data pipe)。

Digital Video Files for Android: Resolution Density Targets

DPI:density pixel imagery

For digital video, this also includes different target bit rates, so that you can try to fit all of the different device screen densities and the different processing power capabilities of single-core through quad-core CPU product offerings。

Optimizing Digital Video: Codecs and Compression

decode  codec

professional solution(专业解决方式(不到1000刀))

EditShare Lightworks 11(open source)

Creating Your Video Assets: Using Terragen 3 3D Software

Planetside

Creating Uncompressed Video: Using VirtualDub Software

VirtualDub Video(须要花费大量时间)

Compressing Your Video Assets: Using Sorenson Squeeze

从AVI到MP4(H264)(文中样例:压缩比达到120:1)

Installing a Video Asset in Android: Using the Raw Folder

Referencing the Video Asset in Your Android Application

Uri splashScreenUri = Uri.parse("android.resource://"+getPackageName()+"/"+R.raw.pag480portrait);
(VideoView)splashScreen.setVideoURI(splashScreenUri);
MediaController splashScreenMediaController = new MediaController(this);

《Pro Android Graphics》读书笔记之第二节的更多相关文章

  1. android内部培训视频_第二节 布局基础

    第二节:布局入门 一.线性布局 需要掌握的属性: 1.orientation:排列方式 vertical:垂直 Horizontal:水平 2.weight:水平布局的权重 3.gravity:子控件 ...

  2. 《Pro Android Graphics》读书笔记之第六节

    Android UI Layouts: Graphics Design Using the ViewGroup Class Android ViewGroup Superclass: A Founda ...

  3. 《Pro Android Graphics》读书笔记之第四节

    Android Procedural Animation: : XML, Concepts and Optimization Procedural Animation Concepts: Tweens ...

  4. 《Pro Android Graphics》读书笔记之第三节

    Android Frame Animation: XML, Concepts and Optimization Frame Animation Concepts: Cels, Framerate, a ...

  5. Android Wear开发 - 数据通讯 - 第二节 : 数据的发送与接收

    本节由介绍3种数据的发送接收:1.Data Items : 比特类型数据,限制100KB以内2.Assets : 资源类型数据,大小无上限3.Message : 发送消息,触发指令 http://de ...

  6. Android Wear开发 - 卡片通知 - 第二节 : 自定义Wear卡片样式

    一.前言说明 在上一节添加Android Wear通知特性我们实现了简单的Android Wear卡片拓展,但是默认提供给我们的多张卡片只能实现简单的文字展示,如果想要自定义布局,添加图片等等,则需要 ...

  7. 《Pro Android Graphics》读第三季度票据

    Android Frame Animation: XML, Concepts and Optimization Frame Animation Concepts: Cels, Framerate, a ...

  8. $《第一行代码:Android》读书笔记——第2章 Activity

    (一)创建活动 1.创建活动类 创建没有Activity的项目,发现src文件夹是空的,手动创建一个包com.jyj.demo1,在包中添加一个名为MainActivity的class,该MainAc ...

  9. $《第一行代码:Android》读书笔记——第3章 UI基础

    (一)Android常用控件及简单用法 1.如下图: 2.补充: (1)margin:外边距:padding:内边距. (2)gravity:子元素的位置:layout_gravity:子元素在父元素 ...

随机推荐

  1. Flume OG 与 Flume NG 的对比

    Flume OG 与 Flume NG 的对比 1.Flume OG Flume OG:Flume original generation 即Flume 0.9.x版本,它由agent.collect ...

  2. [转]发布基于T4模板引擎的代码生成器[Kalman Studio]

    本文转自:http://www.cnblogs.com/lingyun_k/archive/2010/05/08/1730771.html 自己空闲时间写的一个代码生成器,基于T4模板引擎的,也不仅是 ...

  3. 在Swift中,如何像Objective-C定义可选接口?

    Objective-C中的protocol里存在@optional关键字,被这个关键字修饰的方法并非必须要被实现.我们可以通过接口定义一系列方法,然后由实现接口的类选择性地实现其中几个方法.在Coco ...

  4. EasyUI系列学习(一)-入门

    1.什么是jQuery EasyUI jQueryEasyUI是一组基于jQuery的UI插件集合 2.jQueryEasyUI的特点 可以通过html标记来定义用户界面:支持扩展,可根据最近的需求扩 ...

  5. 使用adb命令提示端口被占用

    图是我的65535端口被占用了,一般adb默认使用的是5037端口##方式一   5037为adb默认端口,若5037端口被占用,查看占用端口的进程(使用命令netstat -aon|findstr ...

  6. 11、scala函数式编程

    1.将函数赋值给变量 2.匿名函数 3.高阶函数 4.高阶函数的类型推断 5.Scala的常用高级函数 6.闭包 7.SAM转换 8.Currying函数 9.return 1.将函数赋值给变量 Sc ...

  7. js 获取 checkbox[] 值

    $("#btnAdd1").click(function () { console.log($("form").serialize()); var checkb ...

  8. Java类及成员

    Java类及成员 类 类是对一类事物的的描述,是抽象的概念上的定义:类是创建对象的模板: public class TestClass { public static void main(String ...

  9. LOJ——#6277. 数列分块入门 1

    ~~推荐播客~~ 「分块」数列分块入门1 – 9 by hzwer 浅谈基础根号算法——分块 博主蒟蒻,有缘人可直接观摩以上大佬的博客... #6277. 数列分块入门 1 题目大意: 给出一个长为 ...

  10. 逆元Inv(模板+应用)

    逆元: 如果满足公式,则有a 是 b的逆元同时b也是a的逆元. 逆元的应用: 设c为b在对m取余的意义下的逆元: 在求解公式 (a / b) % m的时候,如果b可能会非常的大,所以会出现爆精度的问题 ...