视频编解码:

视频编解码:

视频编解码就是通过制定的压缩技术,将某个视频格式的文件转换成另一种视频格式文件的方式。

视频流传输中最重要的编解码标准有国际电联的H.261,H.263,H.264. 运动静止图像专家组的M-JPEG

  和国际标准化组织运动图像专家组的MPEG,还有被使用的Real-Networks的RealVideo,微软的
  WMV和apple的QuickTime。

硬解码和软解码:PC和phone都有CPU和GPU(显卡):

硬解码:是由显卡核心GPU完成的解码工作,CPU占用底,画质效果比软解码稍差,需对播放器设置

软解码:CPU负责,不受视频格式限制,

android实时视频采集、编码、传输、解码、播放方案:

实时视频采集:

1、通过Android的Camera拍摄预览中设置setPreviewCallBack实现onPreviewFrame接口,实时截取
  每一帧视频流数据。

2、通过Android的mediaRecorder,在setoutputFile函数中绑定Localsocket实现

3、流媒体服务器方式,利用ffmpeg或getStreamer的获取camera视频。

压缩编码:

1、不编码,直接通过socket传输原始YUV420SP视频帧。

2、JPEG,将原始YUV420SP视频帧压缩为JPEG格式,JPEG传输。

3、H.264/AVC将原始YUV420SP视频帧压缩为H.264在传输。

4、MPEG4,将原始YUV420SP视频帧压缩成MPEG4在传输。

传输:

1socket 2http  3、RTP/RTSP  4、流媒体服务器,eg:live555等

解码:与编码对应的解码器。

视频播放:

1、通过Android videoview

2、通过Android mediaPlayer  surfaceview

3、通过canvas直接粘贴帧图。

你可能感兴趣的:(Android基础)