《Pro Android Graphics》讀書筆記之第二節

傲慢的上校發表於2014-04-30

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); 


相關文章