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);
05-11 18:07